;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;Filename: KeyCode.asm
;Function: Display the code of key that you pressed
;Author : Purple Endurer
;
;Date Log
;-----------------------------------
;02-05-2003 Created!
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
codeseg segment
;===================================
assumecs: codeseg, ds:codeseg
org100h
;-----------------------------------
@main proc near
mov dx, offset strHeader
mov ah, 09h
int 21h
mov ah, 0
int 16h
push ax
mov dl, al
mov cx, 4
shr dl, cl
call showhex
pop dx
push dx
and dl, 0fh
call showhex
mov dx, offset strSpace
mov ah, 09h
int 21h
pop dx
mov dl, dh
push dx
mov cl, 4
shr dl, cl
call showhex
pop dx
and dl, 0fh
call showhex
mov ax,4c00h
int 21h
main endp
;--------------------
showhex proc near
cmp dl, 9
jg @ga
add dl, '0'
jmp @show
@ga:
add dl, 'A'- 0ah
@show:
mov ah, 2
int 21h
ret
showhex endp
;----------------------
strHeader db "ASCII ScanCode", 0dh, 0ah, '$'
strSpace db 8 dup (' '), '$'
;======================
codeseg ends
end @main
这是一个简单的汇编语言程序,用于显示用户按下键盘键的代码。程序首先输出标题信息,然后读取键盘输入,并将ASCII扫描码转换为十六进制形式显示出来。此程序有助于理解键盘输入在计算机中的基本处理方式。
1286

被折叠的 条评论
为什么被折叠?



