实验一 两个多字节数的加减运算

实验一 两个多字节数的加减运算

ID:1504860

大小:165.50 KB

页数:6页

时间:2017-11-12

实验一 两个多字节数的加减运算_第1页
实验一 两个多字节数的加减运算_第2页
实验一 两个多字节数的加减运算_第3页
实验一 两个多字节数的加减运算_第4页
实验一 两个多字节数的加减运算_第5页
资源描述:

《实验一 两个多字节数的加减运算》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验一多字节数求和运算,字节拆分运算一.实验目的1.熟悉emu8086调试程序的使用。2.编写两个4字节数的加法、减法运算程序,并运用emu8086进行调试。3.编写字节拆分运算程序,并运用emu8086进行调试二.实验目的1.学习数据传送和算术运算指令2.熟悉在PC机上调试程序的方法三.emu8086调试程序的使用1.启动emu8086a.在WINDOWS下双击emu8086图标,启动界面如图1所示,用户可以选择新建文本、程序实例、启动指南、近期文档。2.新建文件单击图1中的“New”选项,软件会弹出如图2所示的选

2、择界面。选择emptyworkspace的选项,打开一个完全空的文档。3.编辑程序如图3所示为编辑程序界面。该编辑界面集文档编辑、指令编译、程序加载、系统工具、在线帮助为一体。编写完程序后,用户只需单击工具栏上的“emulate”按钮即可仿真运行程序。4.仿真运行当用户将程序加载到仿真器后,会同时打开仿真器界面和源程序界面,用户在仿真器界面中也可以同时看到源代码和编译后的机器码。点击的任意一条源程序指令,则对应的机器代码显示为被选显示状态,与此同时,上面的代码指针也会相应变化。用户也可以通过这种操作了解,数据段和堆栈

3、段中各变量或数据在存储器中的情况。用户可以利用工具栏中的“singlestep”按钮进行单步跟踪调试,以便仔细观察各寄存器、存储器、变量、标记位等情况,这对于程序初始调试时十分有用;当程序调试完毕,或需要连续运行观察时,则可以使用“run”按钮;当希望返回上一步操作时,则可以使用“stepback”按钮;若单击“reload”按钮,则仿真器会重新加载程序,并将指令指针指向程序的第一条指令;您也可以利用“load”按钮,从您保存的文件夹中加载其它程序。用户除使用上述工具栏中的按钮进行仿真调试外,还可以利用其菜单中的其它

4、功能进行更高级的调试和设置。一.多字节加法要求:在当前的数据段内(段基址寄存器DS)的偏移地址为1000H处定义4各字节的被加数78H、56H、34H、12H(即被加数为12345678H);在偏移地址2000H处定义4字节加数12H、34H、56H、78H(即加数为78563412H)程序流程:程序清单:MOVSI,1000H;置被加数指针MOVDI,2000H;置加数指针MOVCX,4;数据个数CLC;清进位标志AGAIN:MOVAL,[SI];取被加数ADCAL,[DI];加加数MOV[SI],AL;和送回至加

5、数INCSI;修改数据指针INCDILOOPAGAIN;记数—1=0?五.拆分字符拆字10050H7A10052H10051H0A07程序:MOVAX,1000HMOVDS,AX;数据段基址DS=1000HMOVSI,50H;需拆字的指针SI=50HMOVAL,[SI];取字节给ALANDAL,0FH;屏蔽高4位MOV[SI+1],AL;得到的数据存入10051MOVAL,[SI];再取出需拆字的字节MOVCL,4SHRAL,CL;逻辑右移4次,高4位补0MOV[SI+2],AL;存入10052单元一.实验内容(实验

6、程序及结果写在练习本上)。(1)熟悉emu8086各窗口内容。(2)多字节加法1.在编辑窗口输入多字节加法程序。2.点击“emulate”进行仿真。3.在当前数据段的1000H、2000H偏移地址输入被加数和加数。4.用单步命令逐步运行上述程序,运行过程注意每条指令执行后,指定的寄存器或内存的变化,填入下表。MOVSI,1000H;置被加数指针(SI)=MOVDI,2000H;置加数指针(DI)=MOVCX,4;数据个数(CX)=CLC;清进位标志AGAIN:MOVAL,[SI];取被加数(AL)=ADCAL,[DI

7、];+加数(AL)=MOV[SI],AL;和送回至加数[SI]=INCSI;修改数据指针(SI)=INCDI(DI)=LOOPAGAIN;记数—1=0?(CX)=循环第1次第2次第3次第4次5.运行结束查看和的情况。即在当前的数据段内(段基址寄存器DS)的偏移地址为1000H处定义4各字节的内容(3)拆分字符1.在编辑窗口输入多字节加法程序。2.点击“emulate”进行仿真。3.在数据段中1000H:0050H单元输入数据7A。4.用单步命令逐步运行上述程序,运行过程注意查看每条指令执行后各寄存器及内存的变化。MO

8、VAX,1000H(AX)=MOVDS,AX(DS)=MOVSI,50H(SI)=MOVAL,[SI](AL)=ANDAL,0FH(AL)=MOV[SI+1],AL[SI+1]=MOVAL,[SI](AL)=MOVCL,4SHRAL,CL(AL)=MOV[SI+2],AL[SI+2]=6.查看1000H:0051H、1000H:0052H单元中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。