目录 上一页 下一页 附录A

-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

目录 上一页 下一页 附录A