微机系统及接口技术(钱晓捷)第三章.ppt

微机系统及接口技术(钱晓捷)第三章

堆栈传递参数,例3.21的堆栈 例3.20 向显示器输出有符号十进制数(续1) write proc ;显示有符号10进制数的通用子程序 push ax ;入口参数:共享变量wtemp push bx push dx mov ax,wtemp ;取出显示数据 test ax,ax ;判断数据是零、正数或负数 jnz write1 mov dl,0 ;是零,显示“0”后退出 mov ah,2 int 21h jmp write5 例3.20 向显示器输出有符号十进制数(续2) write1: jns write2 ;是负数,显示“-” mov bx,ax ;AX数据暂存于BX mov dl,- mov ah,2 int 21h mov ax,bx neg ax ;数据求补(绝对值) write2: mov bx,10 push bx ;10压入堆栈,作为退出标志 例3.20 向显示器输出有符号十进制数(续3) write3: cmp ax,0 ;数据(商)为零,转向显示 jz write4 sub dx,dx ;扩展被除数DX.AX div bx ;数据除以10:DX.AX÷10 add dl,30h ;余数(0 ~ 9)转换为ASCII码 push dx ;数据各位先低位后高位压入堆栈 jmp write3 write4: pop dx

文档评论(0)

1亿VIP精品文档

相关文档