- 7
- 0
- 约4.77千字
- 约 4页
- 2021-11-11 发布于福建
- 举报
从键盘分别输入两个字符串 (不必等长),然后进行比较, 若两个字符串有相同的字符,
则显示 “MATCH” ,若字符都不相同则显示 “NO MATCH”。
CRLF MACRO
MOV AH,2
MOV DL,0DH
INT 21H
MOV AH,2
MOV DL,0AH
INT 21H
ENDM
S_SHOW MACRO STRING
MOV AH,9
MOV DX,OFFSET STRING
INT 21H
ENDM
S_IN MACRO BUFF
MOV AH,10
MOV DX,OFFSET BUFF
INT 21H
ENDM
DATA SEGMENT
MESS1 DB MATCH,0DH,0AH,$
MESS2 DB NO MATCH,0DH,0AH,$
MESS3 DB INPUT STRING1:,0DH,0AH,$
MESS4 DB INPUT STRING2:,0DH,0AH,$
STR1 DB 100,?,100 DUP(0)
STR2 DB 100,?,100 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
S_SHOW MESS3
S_IN STR1
CRLF
S_SHOW MESS4
S_IN STR2
CRLF
MOV CL,STR1+1
MOV SI,OFFSET STR1+2
AGAIN: MOV AL,[SI]
MOV CH, STR2+1
MOV DI,OFFSET STR2+2
NEXT: CMP AL,[DI]
JE MA TCH
INC DI
DEC CH
JNZ NEXT
INC SI
DEC CL
JNZ AGAIN
S_SHOW MESS2
JMP EXIT
MATCH: S_SHOW MESS1
EXIT:
MOV AH,01H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
从键盘上输入 4 位十六进制数,将其转换为 16 位二进制数并在显示器上显示出来。要
求输入的数字字符串以回车键结束。如果输入的数字超过 4 个,则以最后输入的 4 个为准。
若按下的键不是十六进制数字字符,则显示出错信息。
C_SHOW MACRO CHAR MOV AH,2
MOV DL,CHAR INT 21H
ENDM
S_SHOW MACRO STRING MOV AH,9
MOV DX,OFFSET STRING INT 21H
ENDM
S_IN MACRO BUFF
MOV AH,10
原创力文档

文档评论(0)