我有一个将数字转换为 ASCII 的例程。问题是数字检查,不起作用。
.loop1:
xor edx,edx ;0
mov ebx,10 ;divisor
div ebx ;eax = eax/ebx
add edx,48 ;eax += 48
cmp edx,'0' ;if(edx < '0')
jl error ; error()
cmp edx,'9' ;if(edx > '9')
jg error ;error()
push edx ;put value into STACK
add esi,1
test eax,eax
jz loop2
jmp loop1
问题是:
cmp edx,'0'
jl error
cmp edx,'9'
jg error
即使对于mov eax,msg
哪里 msg
的msg db "abc"
代码也不会去error
套路。
如何解决这个问题?