题目
1、将data段的数值以十进制的形式显示出来
2、调用10.1的显示程序(用0来开辟足够的data空间)
3、将2进转10进
思路
1、转为十进,只取除法的余数,push dx余数进栈
2、jcxz来控制字符长度,使用其他寄存器暂存和恢复cx的值,通过差额取得长度
3、栈内情况
代码
assume cs:code,ds:data
data segment
db 10 dup(0)
data ends
code segment
start: mov ax,12666
mov bx,data
mov ds,bx
mov si,0
mov bx,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str
mov ax,4c00h
int 21h
dtoc: mov bp,sp
mov bx,0ah
s: mov dx,0
div bx
push dx
mov cx,ax
jcxz s1
jmp short s
s1:mov cx,sp
push bp
push cx
pop dx
s2: mov cx,dx
add word ptr ss:[bp-2]