将十进制转换为十六进制程

时间:2013-10-17 03:49:10

标签: assembly x86 base-conversion

我正在尝试编写一个将十进制输入转换为十六进制输入和八进制的长程序,依此类推。

我几乎做了所有事情,但我在十六进制部分遇到了一点竞价。 我知道我必须将数字除以16直到系数为0;那么余数是十六进制数。但是,10到15的十六进制数应为A,B,C,D,E和F.

我不确定如何使用pushpop执行此操作。

以下是我到目前为止为十六进制部分所做的事情:

  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,依此类推

有什么想法吗?

0 个答案:

没有答案