我正在制作一个简单的程序,通过重复分割方法将十六进制数转换为十进制数。
xor rbx,rbx
xor rdx,rdx
mov bx,0Ah
divide:
div bx
flag11:
push rdx
dec r8
jnz divide
给出的输入是1234.从ascii转换为hex后rax中的值是
rax 0x1234 4660
这是正确的。前两次分裂过程顺利进行,但在第三次分裂之后,这就是发生的事情:
rax 0x999e 39326
注册4,寄存器中有一个随机值。为什么会发生这种情况,我该如何解决呢?