0

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

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

我不确定如何使用pushand来做到这一点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,依此类推

任何想法?

4

0 回答 0