微机实验--十六进制数转换为二进制数程序 下载本文

内容发布更新时间 : 2024/6/6 3:28:45星期一 下面是文章的全部内容请认真阅读。

一、实验目的

掌握键盘接收数据的方法,并了解键盘数据显示时需要转换为ASCII码及转换原理。 二、实验内容

编写程序,将键盘键入的四位十六进制数转换为等值的二进制数,并在屏幕上显示。

三、程序流程图

开始 显示“请输入十六进制数” 4→接收字符 Y是“回车”,“空格”? N是十六进制数? 转换成等值二进制数 显示出错信息 转换值送入DX低四位 显示以转换的二进制数 BX-1=0? N结束 Y显示16位二进制数 十六进制数转换为二进制数程序流程图

四、实验源程序 CRLF MACRO PUSH AX PUSH DX MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H POP DX POP AX ENDM DATA SEGMENT

MESS DB 'INPUT HEXNUMBER:','$' ERROR DB 'INPUT ERROR',0DH,0AH,'$' DATA ENDS STACK SEGMENT STA DW 32 DUP(?) TOP DW ? 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 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 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