如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
东北大学计算机硬件技术基础实验报告专业班级:管理信息0601班姓名:陈菲学号:20060433实验题目:顺序程序设计日期:2008年9月26日一、实验目的(1)掌握顺序程序设计方法;(2)学习数据传送及算术和逻辑运算指令的用法;(3)熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。二、实验内容设X和Y均为8位无符号数,写一个求表达式Z=X+Y值的程序。三、算法描述流程图开始设置数据段地址首地址取X加法X+Y和保存到Z地址结束四、实验步骤1.输入源程序:DSEGSEGMENT;数据段XDW12HYDW34HZDW?DSEGENDSCSEGSEGMENT;代码段ASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEG;段寄存器初值MOVDS,AXMOVAX,XADDAX,Y;求x+y和MOVZ,AX;保存MOVAH,4CHINT21H;程序结束退出CSEGENDSENDSTART2.保存源文件,执行masm汇编源程序,生成obj目标文件,结果无错误。3.执行link连接程序,生成exe可执行文件,结果无错误。4.执行debug调试程序,使用t参数单步执行程序,在AL寄存器中得到计算结果46H,结果正确,执行d参数命令察看Z所在的地址单元中的数据为0002字节单元中存放46H。五、实验结果1.执行masm编译源程序得到如下界面:2.执行link连接程序,生成exe可执行文件得到如下界面:3.执行debug调试程序,使用t参数单步执行程序,在AL寄存器中得到计算结果46H,结果正确,得到如下界面:4.执行d参数命令察看Z所在的地址单元中的数据为0002字节单元中存放46H,得到如下界面:六、思考题本程序没有考虑进位的情况。如果考虑可能产生的进位,应如何修改程序?答:如果考虑进位情况,应该定义Z为DW类型,在程序中执行完ADDAL,Y后,执行ADDC指令。七、扩展题设X和Y均为三字节无符号数,编制程序求其和,并将结果放置在Z开始的存储单元。答:因为X和Y都是三字节的无符号数,所以要给Z定义三个字节的存储空间。具体程序如下:DSEGSEGMENT;数据段XDB12H,34H,56HYDB34H,56H,78HZDB3DUP(?)DSEGENDSCSEGSEGMENT;代码段ASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEG;段寄存器初值MOVDS,AXMOVAL,XADDAL,Y;求x+y和MOVZ,AL;保存MOVAL,X+1ADCAL,Y+1;求x+y和MOVZ+1,AL;保存MOVAL,X+2ADCAL,Y+2;求x+y和MOVZ+2,AL;保存MOVAH,4CHINT21H;程序结束退出CSEGENDS执行debug调试程序,执行d参数命令,在Z对应的存储单元中得到计算结果468ACEH,结果正确。八、实验心得理解了汇编语言中编程的基本步骤,掌握了通过地址对数据赋值的方法。掌握汇编语言编制基本顺序结构的算法,包括地址取值和加法的算法步骤等。这个实验,使我可以在编程中认识到直接通过CPU寄存器地址赋值可以大大提高了程序效率,但我要继续练习熟读汇编语言代码的能力。