发布时间 : 星期三 文章微机原理实验报告更新完毕开始阅读
NEXT:
MOV AL, [SI] ;开始传输数据 MOV ES:[DI], AL INC SI INC DI DEC CX JNZ NEXT PUSH ES
POP DS ;将附加段寄存器的段值赋给数据段寄存器 MOV DX, OFFSET MSD MOV AH, 9 INT 21H
MOV AX, 4C00H ;利用DOS功能调用返回DOS状态 INT 21H
CODE ENDS END START
将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:
MOV BX, 0 MOV CX, LEN
NEXT: MOV AL, MSR[BX]
MOV ES:MSD[BX], AL INC BX LOOP NEXT
四、实验步骤
1. 运行Tddebug软件,选择Edit菜单编写实验程序;
2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、
连接;
3. 使用Rmrun菜单中的Run,运行程序,观察运行结果; 4. 使用Rmrun菜单中的Debug,调试程序,观察调试过程中,
数据传输指令执行后,各寄存器及数据区的内容; 5. 更改数据区中的数据,考察程序的正确性。
五、实验报告内容及要求
写出程序调试过程及运行情况。 1将参考程序写入轻松汇编编辑框。
2点击保存,然后编译,结果框显示编译成功。
第 5 页
3点击生成,显示链接成功。 4点击运行,显示如图:
第 6 页
实验三 数码转换程序实验
一、实验目的
掌握不同进制数及编码相互转换的程序设计方法。
二、实验所用设备
PC微机一台。
三、实验内容
计算机输入设备输入的信息一般是由ASCII码或BCD码表示的
数据或字符,CPU用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。计算机与外设间的数码转换关系如图3-1所示,数码对应关系如表3-1所示。
图3-1 计算机与外设间的数码转换关系
1.将ASCII码表示的十进制数转换为二进制数
程序如下:
DATA SEGMENT ;定义源数据段 MSR DB \ LEN EQU $-MSR DATA ENDS
CODE SEGMENT ;定义代码段 ASSUME CS:CODE, DS:DATA
第 7 页
START: MOV AX, DATA MOV DS,AX
MOV SI, OFFSET MSR MOV CX,LEN-1
MOV AL, DS:[SI] ;开始传输数据 MOV AH,0 SUB AX,30H NEXT1: MOV BX, 0AH
MUL BX ; 将AX中的数乘以10,所得的结果高位保存到DX中,低位保存到AX中 INC SI
MOV DL,DS:[SI] MOV DH,0
SUB DX,30H ;将数字对应的ASCII码转换成响应的二进制数
ADD AX,DX DEC CX JNZ NEXT1
MOV CL,16 ; CL用作循环NEXT2的计数器,因为5位十进制数转化成二进制只有十六位,所以循环次数为16次 MOV BX,AX NEXT2: ROL BX,1 MOV DL,BL AND DL,01H
ADD DL,30H ;把BX中的数以二进制形式输出 MOV AH,2H INT 21H DEC CL JNZ NEXT2 MOV AX,4C00H INT 21H CODE ENDS
END START
写出程序调试过程及运行情况。 1将参考程序写入轻松汇编编辑框。
2点击保存,然后编译,结果框显示编译成功。 3点击生成,显示链接成功。 4点击运行,显示如图:
5改变程序中待转换的十进制数,调试运行后观察实验结果,可看到相应的二进制转换结果。
第 8 页