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
|