寻址方式与基本指令实验.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西安邮电大学 (计算机学院) 课内实验报告 实验名称: 寻址方式与基本指令实验 专业名^|5_; 班 壑 学生姓 学号(8位): 指导教 实验日 实验目的及实验环境 1、熟悉80X86寻址方式及基本指令功能,进一步理解和巩固课堂学习内容。 2、 掌握汇编语言程序设计上机过程,掌握汇编语言源程序结构,为后续汇编语 言程序设计打好基础。 3、 熟悉Microsoft的DEBUG或Borland的Turbo DEBUG调试工具的使用方法。 实验预习要求 1、熟悉汇编语言程序设计上机步骤。 2、熟悉DEBUG调试工具的使用方法。 3、复习80X86操作数寻址方式及基本指令。 4、 了解实验内容,并在实验前根据课堂所学知识回答有关问题,以便在实验中 验证。 实验内容 源程序如下: DATA SEGMENT NUM DB 82H,68H,88H SUM DB? DATA SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,OFFSET NUM MOV AL,[BX] INC BX ADD AL,[BX] INC BX ADD AL,[BX] MOV SUM,AL MOV AH,4CH INT 21H CODE ENDS END START 读懂源程序,使用EDIT生成名为EX11.ASM勺源程序,汇编生成EX11.OBJ 文件和EX11.LST文件,连接生成EX11.EX或件;用EDIT打开EX11.LST文件, 了解.LST文件包含的信息;使用DEBU窿试工具单步执行EX11.EXES序,注意 观察IP值的变化,并回答下列问题。 程序装入后,代码段寄存器 CS的内容为04AFH,代码段第一条可执行指令 MOV AX,DATA对应的机器代码为 8ED8它是一个字节指令、注意观察执行该指令时 IP值的变化 情况,该指令源操作数 DATA勺寻址方式是立即数寻址,其值为 04AEH 执行完MOV DS,AX旨令后,数据段寄存器 DS的内容为04AEH源程序在数据中定义 的数据82H、68H和88H被装入的存储单元的物理地址分别。 程序中第一条 ADD AL,[BX]指令对应的机器代码 0207H,它是一个2指令字节,注意 观察执行该指令时IP值的变化情况;该指令中源操作数的加i房式为寄存器间云寻址,该 操作数所在存储单元的逻辑地址( D0: (B为为04AF:000E,其物理地址为0207;执行完该 指令后(AL) =82H, CF=0,OF=0,ZF=O,SF=0,AF=0,PF=0 ;若两操作数为无符号数,计算结果 是否正确;若灰作数为小符号反,一计算夺果是苔正确: 若计算结果正确,结果是正数还是 负数。 执行完第二条 ADDAL, [BX]指令后(AL) =72H^, CF=), OF=Q ZF=0,SF=0, AF=0, PF=0; 若两操作数为无符号数, 计算结果是否正确错误; 若两操作数为带符号数, 计算结果是否正 确错误。 指令MOV SUM,AL^目的操作数的寻址方式为寄存器寻址。该指令执行完后,注意观 察(DS: 0003H单元中值的变化,该单元的值变为 00H。 源程序如下: STACK SEGMENT stack STL DW 100H DUP⑵ STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK START:MOV AX,STACK MOV SS,AX MOV SP,LENGTH STL MOV AX,0101101100001010B MOV BX,0100110010100011B PUSH AX PUSH BX ADD AX,BX POP AX POP BX AND AX,BX MOV AH,4CH INT 21H CODE ENDS END START 读懂源程序,编辑,汇编,连接生成EX12.ASM EX12.OBJ EX12.LST EX12.EXE 文件;使用DEBU。步执行EX12.EX或件,并回答以下问题。 代码段的前三条指令 MOV AX,STACKMOV SS,AM日 MOV SP,LENGTH STL 的功能为堆栈初始化,试问执行完这三条指令后,堆栈栈底所在单元的逻辑地址 (S0: (S0为04AE:0003H:执行PUSHAX指令后堆栈指针寄存器(S0 = 0100 H,此时,(S0: (SP+6 和(S0: (SD 单元的值为 04AE,5B0AH:执行完 PUSH BX后(S0 =00FCH 此时,(S0: (SP+今和(S0: (S0 单元的值为 5B0A.4CA3 H;执行完POP 树(S0 = 00FCH:执行完POP B对(SR =

文档评论(0)

anlianwei1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档