我正在尝试编写一个将十进制输入转换为十六进制输入和八进制的长程序,依此类推。
我几乎做了所有事情,但我在十六进制部分遇到了一点竞价。 我知道我必须将数字除以16直到系数为0;那么余数是十六进制数。但是,10到15的十六进制数应为A,B,C,D,E和F.
我不确定如何使用push
和pop
执行此操作。
以下是我到目前为止为十六进制部分所做的事情:
hex:
lable:
mov edx, 0
mov ebx, 16
div ebx
push edx
Inc count
cmp eax, 0
jne lable
mov ecx, count
lable2:
pop eax
call writedec
loop lable2
ret
jmp stop
它给了我正确的价值,但是,我需要14例如E,依此类推
有什么想法吗?