第三章 8086指令系统与汇编语言.pptVIP

  1. 1、本文档共305页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 8086指令系统与汇编语言

第三章 8086指令系统及汇编语言 ;本章学习的主要内容及要求;本章难点: 1、段地址与源操作数之间的关系; 2、各寻址方式之间的差异; 3、指令执行后对标志位的影响; 4、指令与控制信号之间的联系; 5、汇编语言编写应用程序的基本设计方法; 本章的学习方法: 课前认真预习,课后请认真复习并请多看课本和参考书中的习题与练习题。;问题的提出: 什么是软件?为什么计算机的运行必须依靠软件来完成?软件都有那些形式?什么是汇编语言? 软件:能控制计算机完成指定工作任务的二进制代码集,这个代码集称为机器指令或机器语言。软件有很多种形式,如常用的高级语言(C、C++等),所有的高级语言编写的程序最终都必须被解译为机器指令(有序的二进制代码集),因为计算机只能接受二进制代码。;汇编语言:是一种将机器语言按其特定的功能符号化,使其便于记忆和理解的计算机语言。;指令的组成;指令的助记符格式;指令的操作码和操作数;寻址与寻址方式;操作数的来源;指令中的操作数直接存放在机器代码中,紧跟在操作码之后(操作数作为指令的一部分存放在操作码之后的主存单元中),这种操作数被称为立即数imm。 可以是8位数值(00H~FFH) 也可以是16位数值(0000H~FFFFH) 立即数寻址方式常用来给寄存器赋值; MOV AX, F58AH ; (字操作) F58AH称为立即数 助记符 目的 源 (16位操作数) H表示为十六进制数 dst src 完成的操作:AX F58AH MOV AH, F5H (字节操作) F5H称为立即数(8位操作数) MOV AL, 8AH (字节操作) 8AH称为立即数 完成的操作:AH F5H , AL 8AH;立即寻址操作过程示意如图3-2 ;指令对立即数格式的要求;2、 直接寻址方式; 直接寻址方式的操作数的16位偏移地址(有直接地址值和标号两种形式)直接包含在指令中,它与操作码一起存放在代码段中的操作码之后。 段地址DS隐含,也可指定其它段,必须需在指令中指明。 存储器物理地址地址为:DS:偏移地址 或 ES:偏移地址。 例: MOV AX,ES:[2000H] (读数据,RD线为低电平) 将ES:2000H单元内容送入AX。 例: MOV AX,LABLE 或 MOV AX,[LABEL] 将标号为LABLE(存放操作数单元的符号地址) ,即DS:LABLE中的内容送入AX。LABLE必须在段定义中指明。; 例:MOV AX,(2000H); 字操作 其过程如图3.3所示。指令中的16位段内偏移地址的低字节在前,高字节在后。 MOV AL,(2000H); 字节操作 MOV AH,(2001H); 字节操作 此两条指令的功能与字操作指令的功能相同! 16位段内偏移地址直接包含在指令中 ; 图3-3 直接寻址;3、寄存器寻址方式;例如:MOV AX,BX ;AX BX MOV BX,AX ;BX AX MOV AL,BH ;AL BH MOV AH,AL ;AH AL MOV DS,AX ;DS AX MOV SI,AX ;SI AX 注意:目的和源寄存器的 位数必须相同,不同 位数寄存器之间不能传送数据处理 如: MOV BX,AH 如果要将数据送入段寄存器(CS、DS、ES、SS),必须先将这个数送入一个非段寄存器,然后在送到段寄存器;段寄存器写入方法: MOV CS,3000H ; 错! MOV AX,3000H ; (该指令不影响RD和WR控制线均为高电;平) MOV CS,AX ;正确(在使用中不允许随便修改CS的内容!) MOV SS,1000H ;处理错! MOV DI,1000H MOV SS,DI ;正确 , (该指令不影响RD和WR控制线均为高电;平);4、 寄存器间接寻址方式;注意:寄存器间接寻址要用方括号或圆号括起来,以便与寄存器操作数相区别。 例: MOV AX,[BX];将由BX决定的存储单元的内容送到AX寄存器,要求对BX事前定义。;操作数在存储器中,指令中寄存器内容作为操作数所在单元的有效地址。

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档