;从键盘输入一个字符显示它的编码,(一共能输入30个字符) ;按Esc键退出. data segment org 1000h h1 db '的编码是$' h2 db '按Esc键退出$' data ends stack segment para stack 'stack' db 100 dup(?) stack ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax mov ax,stack mov ss,ax ;*************************************************** mov cx,50 p1: mov ah,1 int 21h push ax cmp al,1bh jz q1 mov dx,offset h1 mov ah,9 int 21h pop ax mov ah,al push cx mov cl,4 shr al,cl pop cx call z1 mov al,ah and al,0fh call z1 lea dx,h2 mov ah,9 int 21h call z2 ;回车换行 loop p1 ;**************************************************** q1: mov ah,4ch int 21h z1 proc push ax push bx push cx push dx cmp al,9 ja x1 add al,30h jmp x2 x1: add al,37h x2: mov dl,al mov ah,2 int 21h pop dx pop cx pop bx pop ax ret z1 endp z2 proc push ax push bx push cx push dx mov dl,0dh mov ah,2 int 21h mov dl,0ah mov ah,2 int 21h pop dx pop cx pop bx pop ax ret z2 endp code ends end start