资源描述:
《数码转换实验报告材料微机原理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案实验九数码转换一、实验目的1、掌握计算机常用数据编码之间的相互转换方法。2、进一步熟悉DEBUG软件的使用方法。二、实验内容1.ACSII码转换为非压缩型BCD码编写并调试正确的汇编语言源程序,使之实现:设从键盘输入一串十进制数,存入DATA1单元中,按回车停止键盘输入。将其转换成非压缩型(非组合型) BCD码后,再存入DATA2开始的单元中。若输入的不是十进制数,则相应单元中存放FFH。调试程序,用D命令检查执行结果。2.BCD码转换为二进制码编写并调试正确的汇编语言源程序,使之将一个16位存储单元中存放的4位BCD码
2、DATA1,转换成二进制数存入DATA2字单元中。调试程序,用D命令检查执行结果。3.十六进制数转换为ASCII码编写并调试正确的汇编语言源程序,使之将内存DATA1字单元中存放的4位十六进制数,转换为ASCⅡ码后分别存入DATA2为起始地址的4个单元中,低位数存在低地址的字节中,并在屏幕上显示出来。三、 实验预习1. 复习材料中有关计算机数据编码部分的内容。 2. 按要求编写程序。 四、 实验步骤 1. 编辑源文件,经汇编连接产生EXE文件。文档大全实用标准文案2. 用DEBUG调试、检查、修改程序。五、实验内容1.ACSII码转换
3、为非压缩型BCD码STACK SEGMENT PARA STACK 'STACK' DB 256 DUP(?) ;为堆栈段留出256个字节单位 STACK ENDS DATA SEGMENT PARA 'DATA' ;定义数据段 DATA1 DB 32 ;缓冲区最大长度DB ? DB 32 DUP(?) DATA2 DB 32 DUP(?)
4、 DATA ENDS CODE SEGMENT ;定义代码段ASSUME SS:STACK ASSUME CS:CODE ASSUME DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,DATA1 ;规定:DX存放输入字符串的缓冲区首地址
5、 MOV AH,0AH INT 21H ;字符串输入 AL=键入的ASCII码 LEA SI,DATA1 LEA DI,DATA2 ;DI存放DATA2首地址 INC SI MOV CL,[SI] ;取输入字符串长度 INC SI
6、 ;指向第一个输入字符 LP1: MOV AL,[SI] 文档大全实用标准文案 SUB AL,30H ;输入的字符存为ASCII码,将其转换成十进制数 CMP AL,0 ;若AL<0(AL-0<0),跳转到LP2 JL LP2 CMP AL,9 ;若AL>9(AL-
7、9>0),跳转到LP2 JG LP2 MOV BL,AL ;将AL->BL MOV [DI],BL ;将结果存到DATA2开始的单元中 INC DI INC SI DEC CL JMP LP1 LP2: MOV AL,0FFH ;若输入的不是十进制数,在相应
8、的单元存放FFH ;以字母开头的十六进制数前面需加'0' MOV BL,AL ;将AL->BL MOV [DI],BL