📄 7.asm
字号:
OUTRESULT MACRO I ;输出结果
LEA DX,RESULT&I
MOV AH,9
INT 21H
JMP EXIT2
ENDM
CRLF MACRO ;用来打印回车和换行
MOV DL,0DH ;回车
MOV AH,2
INT 21H
MOV DL,0AH ;换行
MOV AH,2
INT 21H
ENDM
;循环输入每个字符。
INNEXT MACRO J
LOCAL NEXT0,TEMP0
PUSH CX
PUSH SI
NEXT0: MOV AH,1
INT 21H
.IF AL==0DH
JMP TEMP0
.ENDIF
MOV MESS&J[SI],AL
INC SI
LOOP NEXT0
TEMP0: CRLF
POP SI
POP CX
ENDM
;.....................................
DATAS SEGMENT
MESS1 DB 10 DUP(?)
RESULT1 DB "!DIFFERENT!","$"
RESULT2 DB "~THE SAME~","$"
DATAS ENDS
EXTRA SEGMENT
MESS2 DB 10 DUP(?)
EXTRA ENDS
CODES SEGMENT
MAIN PROC FAR
ASSUME CS:CODES,DS:DATAS,ES:EXTRA
;...........................................
START:
MOV AX,DATAS
MOV DS,AX
MOV AX,EXTRA
MOV ES,AX
START0: MOV CX,LENGTH MESS1 ;设置CX中的数为字符串中字符个数
MOV SI,0
MOV DI,0
CLD ;清方向标志位,使方向为正方向
INNEXT 1
INNEXT 2
NEXT: MOV AL,ES:[MESS2+DI]
CMP AL,MESS1[SI]
JNZ OUTRESULT1
INC SI
INC DI
LOOP NEXT
OUTRESULT 2
OUTRESULT1: OUTRESULT 1
EXIT2: CRLF
MOV AH,1
INT 21H
.IF AL==' ' ;用空格来控制重新比较
CRLF
JMP START0
.ENDIF
MOV AX,4C00H
INT 21H
MAIN ENDP
CODES ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -