c语言调汇编程序比较字符串,用汇编语言实现两个字符串的输入并比较,输出不同字符的个数,要用MACRO比较...

用汇编语言实现两个字符串的输入并比较,输出不同字符的个数,要用MACRO比较0

dcebd7a0de6265b6ccae5ead692f1eab.pngzhuhaix2014.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值