微机实验九-数码转换.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
微机实验九-数码转换 本实验旨在让学生掌握计算机常用数据编码之间的相互转换方法,并进一步熟悉DEBUG软件的使用方法。实验内容包括两个部分:一是将ASCII码转换为非压缩型BCD码,二是将BCD码转换为二进制码。 一、将ASCII码转换为非压缩型BCD码 在这个实验中,学生需要编写并调试正确的汇编语言源程序,使之将从键盘输入的一串十进制数转换成非压缩型BCD码。该程序主要包括以下几个步骤: 1. 学生需要定义数据段和堆栈段,分别用来存放输入的十进制数和转换后的BCD码。 2. 接下来,学生需要使用INT 21H功能来从键盘输入十进制数,并将其存放到DATA1单元中。 3. 然后,学生需要将输入的十进制数转换成非压缩型BCD码,并将其存放到DATA2单元中。如果输入的不是十进制数,则将其存放到DATA2单元中的相应单元中。 4. 学生需要使用D命令来检查执行结果。 实验代码如下所示: ```assembly DATA SEGMENT DATA1 DB 21,?,21 DUP(?) DATA2 DB 21 DUP(?) DATA ENDS STACK SEGMENT DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX LEA DX,DATA1 MOV AH,0AH INT 21H LEA SI,DATA1 INC SI MOV CL,[SI] MOV CH,0 INC SI LEA DI,DATA2 LP1: MOV AL,[SI] CMP AL,30H JC LP2 CMP AL,39H JA LP2 SUB AL,30H MOV BL,AL SAVE: MOV [DI],BL INC SI INC DI LOOP LP1 JMP EXIT LP2: MOV BL,0FFH JMP SAVE EXIT: MOV AH,4CH INT 21H CODE ENDS END START ``` 二、将BCD码转换为二进制码 在这个实验中,学生需要编写并调试正确的汇编语言源程序,使之将一个16位存储单元中存放的4位BCD码转换成二进制码。该程序主要包括以下几个步骤: 1. 学生需要定义数据段和堆栈段,分别用来存放BCD码和转换后的二进制码。 2. 接下来,学生需要将BCD码转换成二进制码,并将其存放到DATA2单元中。 3. 学生需要使用D命令来检查执行结果。 实验代码如下所示: ```assembly STACK SEGMENT DB 256 DUP(?) STACK ENDS DATA SEGMENT DATA1 DW 1234H DATA2 DW ? DATA ENDS CODE SEGMENT ASSUME SS:STACK,CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX XOR BX,BX MOV SI,0AH MOV CL,4 MOV CH,3 ; ... ``` 本实验旨在让学生掌握计算机常用数据编码之间的相互转换方法,并进一步熟悉DEBUG软件的使用方法。通过这两个实验,学生可以更好地理解数据编码之间的相互转换方法,并且能够编写和调试正确的汇编语言源程序。
- 粉丝: 72
- 资源: 5万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助