显示按下的键的编码的汇编源代码

来源:互联网 发布:名词解释 软件生存周期 编辑:程序博客网 时间:2024/04/29 23:48

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;Filename: KeyCode.asm
;Function: Display the code of key that you pessed
;Author  : Purple Endurer
;
;Date        Log
;-----------------------------------
;02-05-2003  Created!
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

codeseg segment
;===================================
 assume cs: codeseg, ds:codeseg
 org 100h
;-----------------------------------
 @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

原创粉丝点击