寻址方式与基本指令与字符及字符串输入输出实验

寻址方式与基本指令与字符及字符串输入输出实验

ID:30842842

大小:258.86 KB

页数:12页

时间:2019-01-04

寻址方式与基本指令与字符及字符串输入输出实验_第1页
寻址方式与基本指令与字符及字符串输入输出实验_第2页
寻址方式与基本指令与字符及字符串输入输出实验_第3页
寻址方式与基本指令与字符及字符串输入输出实验_第4页
寻址方式与基本指令与字符及字符串输入输出实验_第5页
资源描述:

《寻址方式与基本指令与字符及字符串输入输出实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验目的及实验环境实验目的:1、熟悉80x86寻址方式及基本指令的功能,进一步理解和巩固课堂学习内容。2、掌握汇编语言程序设计上机过程,掌握汇编语言源程序结构,为后续汇编语言程序设计打好基础。3、熟悉Microsoft的DEBUG或Borland的TurboDEBUG调试工具的使用方法4、学习和掌握字符及字符串的输入输出方法。5、掌握顺序程序的设计方法。6、进一步掌握调试工具的使用方法。实验环境:80x86系列微型计算机一台以及进行汇编语言程序设计所必需的编程工具(文本编辑器、ASM.EXE.LINK.EXE、DEBUG.EXE)

2、二.实验内容1、读懂源程序;编辑、汇编、连接生成・ASM、・OBJ、.LST、.EXE文件;使用DEBUG单步执行文件,并回答以下问题;指出指令的错误原因,上机运行,观察汇编程序给出的出错信息,改正后再上机验证。2、从键盘输入两个一位十进制数,计算这两个数Z和,并将结果在屏幕上显示出来。三.方案设计(一)寻址方式与基本指令实验1、读懂下列源程序,使用EDIT生成名为EX11.ASM的源程序,汇编生成EXH.OBJ文件和EX11.LST文件,连接生成EX11.EXE文件;用EDIT打开EX11.LST文件,了解.LST文件包含的信息

3、;使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值的变化,并回答下列问题。(1)程序装入后,代码段寄存器CS的内容为—076BH,代码段第一条可执行指令MOVAX,DATA对应的机器代码为B86A07II,它是一个3字节指令,注意观察执行该指令时1P值的变化情况,该指令源操作数DATA的寻址方式是立即数寻址,其值为076Ao(2)执行完MOVDS,DATA指令后,数据段寄存器DS的内容为076AH,源程序在数据段中定义的数据82H、68H和88H被装入6勺存储单元6勺物理地址分别为076A0H、076A1II和0

4、76A2Ho(3)程序中第一条ADDAL,[BX]指令对应的机器代码为0207H,它是一个2字节指令,注意观察执行该指令时TP值的变化情况;该指令中源操作数的寻址方式为寄存器间接寻址该操作数所在存储单元的逻辑地址(DS):(BX)为076A:10000,其物理地址为076A0H;执行完该指令后(AL)二—EA__H,CF=—0—,0F—0_,ZF__0__,SF__0__,AF—0—,PF—0—;若两操作数为无符号数,计算结果是否正确—正确—?若两操作数为带符号数,计算结果是否正确—正确_?若计算结果正确,结果是正数还是负数—正数

5、—?(4)执行完第二条ADDAL,[BX]指令后(AL)二—72__H,CF=—1—,OF__1_,ZF—0,SF—0—,AF__1,PF_1;若两操作数另主符号数,计算结果是否正确—否—?若两操作数为带符号数,计算结果是否正确—否—?(5)指令MOVSUM,AL中目矗操作数的寻址方式为—寄存器寻址。该指令执行完后,注意观察(DS):OOO3H单元中值的变化,该单元甬值变为72HoDATASEGMENTNUMDB8211,6811,8811SUMDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA

6、START:MOVAX,DATAMOVDS,AXMOVBX,OFFSETNUMMOVAL,[BX]TNCBXADDAL,[BX]INCBXADDAL,[BX]MOVSUM,ALMOVAH,4CHINT2111CODEENDSENDSTART2、读懂下列源程序;编辑、汇编、连接生成EX12.ASM、EX12.OBJ,EX12.LST、RX12.EXE文件;使用DEBUG单步执行EX12.EXE文件,并冋答以下问题。(1)代码段的前三条指令MOVAX,STACK>MOVSS,AX和MOVSP,LENGTHSTL的功能为堆栈初始化,试问

7、执行完这三条指令后,堆栈栈底所在单元的逻辑地址(SS):(SP)为__11BC:O1OO;执行PUSHAX指令后堆栈指针寄存器(SP)二—OOFE—H,此时,(SS):(SP+1)和(SS):(SP)单元的值为—(EEBC:00EF+l)和(EEBC:OOEF)H;执行完PUSHBX后(SP)=—OOFC—II,此时,(SS):(SP+1)和(SS):(SP)单元的值为_(EEBC:00FC+l)和(EEBC:OOEC)_H;执行完POPAX后(SP)=__OOFEH;执行完POPBX后(SP)二__0100__H;此时(AX)二

8、—43A3—H,(BX)二—5B0A—H。请读者通过看堆栈操祜指令执行情况的观察,进一步掌握进、出栈操作过程。(2)执行ADDAX,BX指令后(AX)=—A7ADII,CF二__0__,OF—0—,ZF—0—,SF—0—,AF—0—,PF—1—(注

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

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

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