我正在学习NASM,我没有任何经验。我制作了这个ITOA代码,我的想法是在第一个循环中将余数(dl)移动到缓冲区的第三个字节(“ - 00-”),在缓冲区的第二个字节中移动剩余部分(dl): / p>
itoa:
mov rax, rbx
mov rsi, 2
mov r9d, 10
mydiv:
div r9d ;divide my number with 10
and dl, 00001111b
mov [result + rsi], dl ;move the remainder to my buffer
dec rsi ;decrease rsi to move the remainder to the second byte in the nxt loop
xor rdx,rdx ;clean rdx
cmp rax,0 ;if my quotient is 0, print the buffer, if not, repeat the process
jz print
jmp mydiv
但是当我尝试代码时,我得到一个浮点异常!请帮助我,我真的想学习在NASM中使用div。