对于机器来说,它是看不懂我们认为定义的数字的,必须要先转换为人与机器的转换协议,就是ASCII码,所以需要先转换再显示
这里将用到之前两节中用到的子函数
代码如下:
assume cs:code, ds:data
data segment
db 10 dup(0)
dd 197514
data ends
code segment
start: mov bx, data
mov ds, bx
mov ax, ds:[10]
mov dx, ds:[12]
mov si, 0
call dtoc
mov dh, 8
mov dl, 3
mov cl, 2
call show_str
mov ax, 4C00H
int 21H
dtoc: push sp
push ds
push es
push bx
push cx
push bp
push si
push di
push dx
push ax
mov bp, sp ;[bp]是ax, [bp+2]是dx
mov di, 0
mov bx, [bp] ;将要显示的数值的低位取出
mov si, [bp + 2] ;将要显示的数值的高位取出
s1: mov ax, bx