如何将地址转换为字符串?(16 位汇编)

How to convert a address to a string ?(16 bit assembly)

如果我想将像“$”(代表当前地址)这样的地址转换为字符串以便将其显示在控制台上,我该怎么做?

我已经看到很多关于如何使用其他语言执行此操作的示例,但我还没有看到任何在汇编中执行此操作的示例。

这个 DOS 小程序会在屏幕上显示“$”的值。 输出将为“0100”。

 ORG     256
 mov     bx,$
 mov     cx,0404h
.again:
 rol     bx,cl
 mov     dl,bl
 and     dl,0000_1111b
 add     dl,'0'
 cmp     dl,'9'
 jbe     .OK
 add     dl,7
.OK:
 mov     ah,02h
 int     21h       ;Print Character
 dec     ch
 jnz     .again
 mov     ax,4C00h
 int     21h       ;Terminate