一.实验目的
掌握键盘接收数据的方法,并了解键盘数据显示时需要转换为ASCII码及转换原理。
二.实验内容
编写程序,将键盘键入的四位十六进制转换为等值的二进制数,并在屏幕上显示。
三.程序流程图
四.实验程序
CRLF MACRO
PUSH AX
PUSH DX
MOV AH,02H
MOV DL,0DH Y
INT 21H
MOV AH,02H
MOV DL,0AH N
INT 21H
POP DX
POP AX
ENDM
DATA SEGMENT
MESS DB 'INPUT HEXNUMBER:','$'
ERROR DB 'INPUT ERROR',0DH,0AH,'$'
DATA ENDS N
STACK SEGMENT
STA DW 32 DUP(?)
TOP DW ? Y
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, ES:DATA, SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV SP,TOP
LLL: MOV AH,09H
MOV DX,OFFSET MESS
INT 21H
MOV DX,OFFSET MESS
INT 21H
CRLF
XOR DX,DX
MOV BL,04H
GGG: MOV AH,01H
INT 21H
CMP AL,0DH
JZ PPP
CMP AL,20H
JZ PPP
CMP AL,30H
JB KKK
SUB AL,30H
CMP AL,0AH
JB GETS
CMP AL,11H
JB KKK
SUB AL,07H
CMP AL,0FH
JBE GETS
CMP AL,2AH
JB KKK
CMP AL,2FH
JA KKK
SUB AL,20H
GETS: MOV CL,04H
SHL DX,CL
XOR AH,AH
ADD DX,AX
DEC BL
JNZ GGG
CRLF
CALL ZHXS
CRLF
JMP LLL
KKK: PUSH DX
CRLF
MOV AH,09H
MOV DX,OFFSET ERROR
INT 21H
POP DX
PPP: CRLF
CALL ZHXS
MOV AX,4C00H
INT 21H
ZHXS PROC
MOV CX,0010H
MOV BX,DX
TTT: ROL BX,1
MOV DL,BL
AND DL,01H
ADD DL,30H
MOV AH,02H
INT 21H
LOOP TTT
RET
ZHXS ENDP
CODE ENDS
END START
四.实验结果:下载本文