比较字符时,我的预期输出是“不相等” - 但是,显示的输出总是“相等”。
我的程序比较dl和bl中的值,如果相等则显示相等,如果不相等则显示不相等
...但即使等于或不等于输出总是相等的,我现在不在问题所在
title compare.program
cstack segment para stack 'stack'
dw 200h
cstack ends
cdata segment para 'data'
msg1 db 'equal $'
msg2 db 'not equal $'
cdata ends
ccode segment para 'code'
Assume cs:ccode,ds:cdata,ss:cstack
main:
mov dl,'a'
mov bl, 'b'
compare:
cmp dl,bl
je correct
jmp wrong
correct:
mov ah,09
lea dx,msg1
int 21h
mov ah,4ch
int 21h
wrong:
mov ah,09
lea dx,msg2
int 21h
mov ah,4ch
int 21h
ccode ends
end main
答案 0 :(得分:1)
您忘记初始化DS
:
...
main:
mov ax, cdata
mov ds, ax
mov dl,'a'
mov bl, 'b'
...