微机原理与接口技术设计实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一:编写程序,比较两个字符串STRING1和STRING2所含的字符是否相同,若字符相同则显示“Match”,否则显示“NoMatch”

参考程序:

DATASEGMENT

STRING1DB'HAPPYASM'

LENEQU$-STRING1

STRING2DB'HAPPYASM'

MESSAGE1DB'MATCH',0DH,0AH,'$'

MESSAGE2DB'NOMATCH',0DH,0AH,'$'

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,ES:DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

LEASI,STRING1

LEADI,STRING2MO

VCX,LEN

COMPARE:

MOVAL,[SI]

MOVBL,[DI]

CMPAL,BL

JNEDISMATCH

INCSI

INCDI

LOOPCOMPARE

MATCH:LEADX,MESSAGE1

JMPDISP

DISMATCH:LEADX,MESSAGE2

DISP:MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验二:编写程序,从键盘输入一串字符,以‘$’或回车结束,将其中的小写字母转变为大写字母,其余字符不做转换,原样输出,结果显示在屏幕上。

参考程序:

DATASEGMENT

BUFDB50

DB?

DB50DUP(?)

INPUTSTRINGDB'PLEASEINPUTASTRING:','$' OUTPUTSTRINGDB'OUTPUTSTRINGIS:','$' ENTERSTRINGDB0DH,0AH,'$'

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

LEADX,INPUTSTRING

MOVAH,09H

INT21H

LEADX,BUF

MOVAH,0AH

INT21H

LEADX,ENTERSTRING

MOVAH,09H

INT21H

LEABX,BUF

ADDBX,2

NEXT1:MOVAL,[BX]

INCBX

COMPARE:CMPAL,24H

JZDISPCMPAL

,61H

JBNEXT1

CMPAL,7AH

JANEXT1

SUBAL,20H

MOV[BX-1],AL

JMPNEXT1

DISP:LEADX,OUTPUTSTRING

MOVAH,09H

INT21H

LEADX,BUF+2

MOVAH,09H

INT21H

MOVAH,4CH

INT21HC

ODEENDS

ENDSTART

实验三:利用子程序方法编写程序,设有10个无符号数的字节序列,查找该序列中的最大值和最小值,并把结果显示在屏幕上。

参考程序1:(针对一位10进制数)

STACKSEGMENTSTACK

DW256DUP(?)TOPLA

BELWORD

STACKENDSDATASEGMENT

BUFDB00H,01H,02H,03H,04H

DB05H,06H,07H,08H,09H

COUNTEQU$-BUF

ENTERSTRINGDB0DH,0AH,'$'

MAXSTRINGDB'THEMAXIMUNNUMBERIS:','$'

MINSTRINGDB'THEMINIMUNNUMBERIS:','$'

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,SS:STACK

START:MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

LEASP,TOP

MOVSI,OFFSETBUF

MOVCX,COUNT

CALLBRANCH

PUSHAX

LEADX,MAXSTRING

MOVAH,09H

INT21H

POPAXMOVDL,

AH

ADDDL,30H

PUSHAX

MOVAH,02H

INT21H

LEADX,ENTERSTRING

MOVAH,09H

INT21H

LEADX,MINSTRING

MOVAH,09H

INT21H

POPAX

MOVDL,ALADDD

L,30H

MOVAH,02HINT

21H

MOVAH,4CH

INT21H

BRANCHPROCNEAR

JCXZNEXT4

PUSHSI

PUSHCX

PUSHBX

MOVBH,[SI]

MOVBL,BH

CLD

NEXT1:LODSB

CMPAL,BHJBE

NEXT2

MOVBH,ALJMP

NEXT3

NEXT2:CMPAL,BL

JAENEXT3

MOVBL,AL

NEXT3:LOOPNEXT1

MOVAX,BX

POPBX

POPCX

POPSIN

EXT4:RET

BRANCHENDP

CODEENDS

ENDSTART

参考程序二:(针对两位十六进制数或无符号数)

相关文档
最新文档