资源描述
东 北 大 学
计算机硬件技术基础实验报告
专业班级:
姓名:
学号:
实验题目:
顺序程序设计
日期:
年月日
一、实验目的
(1) 掌握顺序程序设计方法;
(2) 学习数据传送及算术和逻辑运算指令的用法;
(3) 熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。
二、实验内容
设X和Y均为16位无符号数,写一个求表达式Z=X+Y值的程序。
三、算法描述流程图
开始
设置数据段地址
首地址取X
加法X+Y
和保存到Z地址
结束
四、实验步骤
1. 输入源程序:
DSEG SEGMENT ;数据段
X DW 3425H
Y DW 4168H
Z DW ?
DSEG ENDS
CSEG SEGMENT ;代码段
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG ;段寄存器初值
MOV DS,AX
MOV AX,X
ADD AX,Y ;求x+y和
MOV Z,AX ;保存
MOV AH,4CH
INT 21H ;程序结束退出
CSEG ENDS
END START
2. 保存源文件,执行masm汇编源程序,生成obj目标文件,结果无错误。
3. 执行link连接程序,生成exe可执行文件,结果无错误。
4. 执行debug调试程序,使用t参数单步执行程序,在AL寄存器中得到计算结果46H,结果正确,执行d参数命令察看Z所在的地址单元中的数据为0002字节单元中存放46H。
五、实验结果
运行结果为75,8D
六、思考题
本程序没有考虑进位的情况。如果考虑可能产生的进位,应该如何修改程序?
七、扩展题
设X和Y均为三字节无符号数,编制程序求其和,并将结果放置在Z开始的存储单元。
DSEG SEGMENT ;
X DB 33H,48H,79H
Y DB 25H,26H,48H
Z DB 3 DUP(?)
DSEG ENDS
CSEG SEGMENT ;
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG ;
MOV DS,AX
MOV AL,X
ADD AL,Y
MOV Z,AL
MOV AL,X+1
ADC AL,Y+1
MOV Z+1,AL
MOV AL,X+2
ADC AL,Y+2
MOV Z+2,AL
MOV AH,4CH
INT 21H
CSEG ENDS
END START
八、实验心得
1.计算机实验锻炼了我的动手实践能力,让我对课堂所学8086汇编语言程序理论知识有了更深理解,也发现了新的不足,引发出一些疑问需要进一步的学习。
2. 熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程,基本掌握了顺序程设计的方法。
展开阅读全文