问题是要求用户输入任何数字。并将输入的数字与预定义的常数进行比较。然后输出一条消息,表明输入的数字大于或小于或等于定义的数字。在这个例子中,我的预定义数字是 27。
我的代码是:
.MODEL small
.STACK 100h
.DATA
promptmsg DB 'Please enter a number [1..100]',13,10,'$'
greatermsg db 'You have entered a greater number', 13, 10, '$'
lessmsg db 'You have entered a lesser number', 13 , 10, '$'
correctmsg db 'You have hit the right number', 13, 10, '$'
numbr dw 27
.CODE
.startup
mov ax,@data
mov ds,ax
lea dx, promptmsg
mov ah,9
int 21h
mov ah, 0ah
int 21h
mov ah, 9
int 21h
mov bx, numbr
cmp ax, bx
jb lesser
ja greater
correct:
mov dx, offset correctmsg
mov ah, 09h
int 21h
jmp endexe
greater:
mov dx, offset greatermsg
mov ah, 09h
int 21h
jmp endexe
lesser:
mov dx, offset lessmsg
mov ah, 09h
int 21h
endexe:
mov ah,4ch ;DOS terminate program function
int 21h ;terminate the program
END
如果我输入任何数字,无论它大于或小于或等于预定义的数字,它总是跳到更大。我的代码是否有任何问题,无法识别我的输入号码?