-274- | PC机汇编语言实战精解 | ![]() |
|||||||||||||||||||
main msg start: exit: main hex16o loop1: |
org proc jmp db mov mov int mov int cmp jz call jmp mov int endp proc push push mov mov rol mov and add daa adc daa mov int mov |
100h far start 0dh,0ah,'Press any key.. ah,9 dx,offset msg 21h ah,0 16h al,ESC_KEY exit hex16o start ah,4ch 21h near bx cx ch,4 cl,4 ax,cl bx,ax ax,0fh al,90h al,40h ah,0eh 10h ax,bx |
;跳过数据区 .',0dh,0ah,24h ;显示字符串MSG ;等待键盘输入 ;输入的是ESC键吗? ;是ESC键,转EXIT结束进程 ;调用HEX16O输出所按键的ASCII码 ;转START继续 ;结束程序 ;输出ASCII码的程序 ;保存寄存器 ;输出4个字符 ;将AX寄存器的高4位移至低4位 ;暂存移位后的结果 ;保存AX寄存器的低4位 ;AL寄存器加上90H ;对计算结果进行调整 ;AL寄存器再上40H及CF标志 ;再次对计算结果进行调整 ;调用10H中断的0EH功能输出AL中的字符 ;取回移位后的结果 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |