[英]my assembly language comparing characters give the wrong result
比較字符時,我的預期輸出是“不相等”-但是tasm顯示的輸出始終是“相等”。
我的程序比較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
您忘記初始化DS
:
...
main:
mov ax, cdata
mov ds, ax
mov dl,'a'
mov bl, 'b'
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.