主题:高手帮忙
lyfx1015
[专家分:0] 发布于 2007-06-19 17:41:00
从键盘输入两数,为变量WORDX,WORDY,并比较,如果相等则调用子程序EQUAL,不相等则调用子程序NOEQUAL,子程序EQUAL完成输出一字符串“EUQAL!”,子程序NOEQUAL完成输出输出一字符串“NO EUQAL!”
回复列表 (共3个回复)
沙发
gangswitch [专家分:0] 发布于 2007-06-19 21:18:00
data segment
num1 db 'abcd1234'
num2 db 'abcd1243'
num3 db 'equcl
num4 db 'noequcl
data ends
;
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
;
mov cl,8; 设置比较次数
mov si,offset num1
mov di,offset num2
;
again: mov al,[si]
cmp al,[di]
jne here2; 不相等则跳转
inc si
inc di
dec cl
cmp cl,0; 是否全部比较
je here1;
jmp again; 没有全部比较但未出现不相等,继续比较
;
here1: mov dl,'equcl'
mov ah,02h
int 21h
jmp stop
here2: mov dl,'noequcl'
mov ah,02h
int 21h
stop: mov ah,4ch
int 21h
code ends
end start
板凳
lyfx1015 [专家分:0] 发布于 2007-06-20 17:13:00
是两个变量,还要用到子程序的调用
3 楼
liangbch [专家分:1270] 发布于 2007-06-20 22:22:00
.model small
data segment
num1 dw 12345
num2 dw 12335
mess1 db 'EUQAL!$'
mess2 db 'No EUQAL!$'
data ends
;
code segment
assume cs:code,ds:data
equsub proc near
mov dx,offset mess1
mov ah,9
int 21h
ret
equsub endp
noequsub proc near
mov dx,offset mess2
mov ah,9
int 21h
ret
noequsub endp
start:
mov ax,data
mov ds,ax
mov ax,num1
cmp ax,num2
jnz case2
case1:
call equsub
jmp thisExit
case2:
call noequsub
thisExit:
mov ax,4c00h
int 21h
code ends
end start
我来回复