数値を 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
これを修正する方法は?