Intel 8080 如何将十进制数转换为二进制数并打印出来

Intel 8080 How to convert decimal number to binary and print it

我正在 Intel 8080 上做一些程序,最后我在寄存器 E 中有一个数字。我需要将这个数字转换为二进制并将其打印到终端。

现在我将其打印为十进制:

mov a,e
adi '0' 
call putchar
call newline
hlt

有人可以帮我怎么做吗?泰

算法是 - 将数字向左旋转八次。 MSB 移动到 CY 标志。根据 CY 标志值打印数字 1 或 0。 代码假定子例程 putchar 保留寄存器 C E

          MVI   c,8   
LOOP:     MOV   a,e   
          RLC           ;rotation to left will print from MSB
          MOV   e,a   
          MVI   a,'0'   
          JNC   zero   
          MVI   a,'1'   
ZERO:     
          CALL   putchar   
          DCR   c   
          JNZ   loop   
          CALL   newline   
          HLT