求高手帮忙分析一下这个子程序~有几个步骤不明白~
这个好像是个16进制转10进制并且输出的~~dis proc ;转换子程序(SI指针由外部提供,方便选择要显示的东西)
;proc是定义子程序的伪指令,它和endp 分别表示子程序定义的开始和结束两者必须成对出现。
lodsw (这个指令有什么用?)
mov bx,3 ;数据在十进制时的是三位数所以计数部分BX置三(这里为什么要用BX?不用CX?)
ZL1: cwd (这里为什么要用CWD)
div M ;M=10为什么要除10?
push dx
dec bx
jnz ZL1 ;结果不为0则转移
mov bx,3
ZL2:pop dx
add dl,30h ;这里有什么用?
dec bx
mov ah,2 ;这里有什么用?
int 21h
jnz ZL2
mov DL,20H ;这里有什么用?
mov ah,2
int 21h
ret
dis endp
页:
[1]