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