Discuz!NT
欢迎 游客 , 注册 | 登录 | 会员 | 界面 | 简洁版本 | 在线 | 帮助
商都网教育宝典宝库

发表新主题 回复该主题
本主题被查看1463次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第   上一主题   下一主题
标题: 三级PC技术:汇编实现显示键盘ASCII值源代码
-[尕硴]
超级版主
UID: 71
来自:
精华: 130
积分: 14003
帖子: 12909
注册: 2007-10-22 17:59:00
状态: 在线
威望: 444.00
金钱: 3355.00 元
只看楼主 2007-11-16 09:50
三级PC技术:汇编实现显示键盘ASCII值源代码
code segment public 
    assume cs:code,ds:code 
    jmp start 
    msg  db ’This program can show you the ASCII of characters or key combinations’,0dh,0ah 
        db ’    I hope it would help you’,0dh,0ah 
        db ’          press ESC(ASCII 1bh) to exit!~~’,0dh,0ah 
        db ’                          kinglin 03.11.27’,0dh,0ah 
        db 0dh,0ah,24h 
    save db ? 
start: 
    mov ax,cs 
    mov ds,ax 
    lea dx,msg 
    mov ah,09h 
    int 21h 
loop1: 
    mov ah,07h          ;input character 
    int 21h 
    mov save,al 
    cmp save,01bh          ;is ESC?? 
    jz done            ;yes,jmp done 
    cmp save,00h          ;is key combination? 
    jnz show        ;no,jmp 
    mov ah,07h             
    int 21h 
    mov save,al 
show: 
    mov bl,save        ;save al 
    mov cl,04h          ;get high 4 bit 
    shr bl,cl     
    cmp bl,09h        ;is greater than 09h? 
  jbe changdec      ;below or equal,then jmp 
    add bl,07h        ;greater then add 07h 
changdec:               
    add bl,30h        ;show 
    mov dl,bl 
    mov ah,02h 
    int 21h 
    mov al,save 
    and al,0fh        ;get low 4 bit   
    cmp al,09h       
    jbe chdec 
    add al,07h 
chdec: 
    add al,30h 
    mov dl,al 
    mov ah,02h 
    int 21h
  mov dl,’ ’ 
    mov ah,02h 
    int 21h 
loop loop1 
done: 
    mov ah,4ch 
    int 21h 
code ends 
    end start
#1  
发表新主题 回复该主题
本主题被查看1463次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第







现在的时间是 2008-10-13 11:00:10

版权所有 商都网教育宝典
         Powered by Discuz!NT 1.0.6666    Copyright © 2001-2008 Comsenz Inc.
Processed in 0 seconds