-322- | PC机汇编语言实战精解 | ![]() |
|||||||||||||||||||
next: main code TEST2.ASM PUBLIC data ascii data code hex2asc loop1: |
push mov mov mov mov int mov int call cmp jnz ret endp ends end hex2asc segment assume db ends segment assume proc push push push mov mov push mov rol |
ax ax,data ds,ax dx,offset msg ah,9 21h ah,0 16h hex2asc al,1bh next main PARA PUBLIC 'DATSEG' ds:data '0123456789ABCDEF' PARA PUBLIC 'CODE' cs:code far ax bx cx bx,offset ascii cx,4 cx cl,4 ax,cl |
;初始化DS寄存器 ;输出字符串MSG ;等待键盘输入 ;调用HEX2ASC输出扫描码及ASCII码 ;是ESC键吗? ;若不是ESC键,转NEXT继续接收按键 ;若是ESC键则结束进程 ;告之编译程序过程HEX2ASC ;用于被外部的过程调用 ;HEX2ASC是一个具有FAR属性的过程 ;保存寄存器 ;BX寄存器指向ASCII码表 ;显示4位十六进制数 ;CX寄存器压入堆栈暂存 ;准备处理4个Bit ;将AX寄存器的高4位移至低4位 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |