实验九 数码转换一、实验目得1、掌握计算机常用数据编码之间得相互转换方法。2、进一步熟悉 DEBUG 软件得使用方法。二、实验内容1、 ACSII 码转换为非压缩型 BCD 码编写并调试正确得汇编语言源程序,使之实现:设从键盘输入一串十进制数,存入 DATA1单元中,按回车停止键盘输入。将其转换成非压缩型(非组合型) BCD 码后,再存入 DATA2 开始得单元中。若输入得不就是十进制数,则相应单元中存放 FFH。调试程序,用 D 命令检查执行结果。2、 BCD 码转换为十六进制码编写并调试正确得汇编语言源程序,使之将一个 16 位存储单元中存放得 4 位 BCD 码DATA1,转换成十六进制数存入 DATA2 字单元中。调试程序,用 D 命令检查执行结果。3、 十六进制数转换为 ASCII 码编写并调试正确得汇编语言源程序,使之将内存 DATA1 字单元中存放得 4 位十六进制数,转换为 ASCⅡ 码后分别存入 DATA2 为起始地址得 4 个单元中,低位数存在低地址得字节中,并在屏幕上显示出来。三、 实验预习1、 复习材料中有关计算机数据编码部分得内容。 2、 按要求编写程序。 四、 实验步骤 1、 编辑源文件,经汇编连接产生 EXE 文件。2、 用 DEBUG 调试、检查、修改程序。五、实验内容1、 ACSII 码转换为非压缩型 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(?) DATA ENDS CODE SEGMENT ; 定义代码段ASSUME SS:STACK ASSUME CS:CODE ASSUME DS:DATA START:MOV AX,DATA MOV DS,AX LEA DX,DATA1 ; 规定:DX存放 输入字符串得缓冲区首地址MOV AH,0AH INT 21H ; 字符串 输入AL=键入得ASCII 码 LEA SI,DATA1 LEA DI,DATA2 ; DI存放DATA2 首地址 INC SI MOV CH,0 MOV CL,[SI] ; 取输入字 符串长度 INC SI ; 指向第 一个输入字符LP1:MOV AL,[SI] SUB AL,30H ; 输入得字符存为ASCII码, 将其转换成十进制数CMP AL,0 ; 若AL<0(AL0<0),跳转到LP2 JL LP2 CMP AL,9 ; 若AL>9(AL9>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 ; 若输入得不就是十进制数,在相应得单元存放FFH ...