用汇编语言实现两个字符串的输入并比较,输出不同字符的个数,要用MACRO比较0
zhuhaix2014.02.18浏览140次分享举报
我编写了,但是通不过,显示宏的SI不能够传入进去,求大神指导,在国外没有办法找人帮
COMPARE MACRO REG1,REG2,REG3,REG4
LOCAL COMP,CON
XOR CX,CX
MOV CX,REG3
COMP:
INC REG1
INC REG2
CMP [REG1],[REG2]
JZ CON
INC REG4
CON: LOOP COMP
POP REG5
ENDM
DATA SEGMENT
STRING1 DB 120,0,120DUP(0),'$'
STRING2 DB 120,0,120DUP(0),'$'
STRING3 DB 0AH,0DH,'$'
STRING4 DB "Numbers of different characters:",'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA DX,STRING1
MOV AH,0AH
INT 21H
MOV SI,DX
LEA DX,STRING3
MOV AH,09H
INT 21H
LEA DX,STRING2
MOV AH,0AH
INT 21H
MOV DI,DX
MOV AX,[SI+1]
CMP AX,[DI+1]
JA GIVE
MOV CX,[DI+1]
JMP NEXT
GIVE:MOV CX,[SI+1]
NEXT:INC SI
INC DI
XOR BX,BX
COMPARE SI,DI,CX,BX
POP AX
LEA DX,STRING3
MOV AH,09H
INT 21H
MOV DX,STRING4
MOV AH,09H
INT 21H
MOV DX,BX
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START