汇编语言课件(清华版)--第三章 80x86的指令系统和寻址方式.pptVIP

汇编语言课件(清华版)--第三章 80x86的指令系统和寻址方式.ppt

  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文档。上传文档
查看更多
第3章 指令系统和寻址方式 3.1 概述 3.2 80x86的寻址方式 3.3 80x86的指令系统 1.指令系统和寻址方式 指令系统:计算机是通过执行指令序列来解决问题的,因而每种计算机都有一组指令集供给用户使用,这组指令集就成为计算机的指令系统。 寻址方式:CPU在处理一条指令时,必须从指令码中得到两种信息(1)执行什么操作?(2)从哪里得到操作数?寻找指令中操作数的方式(数据寻址)或寻找指令转移地址的方式(程序存储器寻址),即寻址方式。 2.计算机中指令的格式(组成) 操作码字段:指示计算机将要执行的操作 操作数字段:指出在指令执行操作的过程中所需要的操作数。如加法指令除需要指定做加法操作外,还需提供加数和被加数。 操作数字段可以有一个、两个或三个,通常称为一地址、二地址或三地址指令。80x86的大多数运算型指令用的是二地址指令,少数使用三地址指令。 3.80x86CPU的指令系统的基本指令 包括数据传送类指令、算术运算类指令、位操作类指令、串操作类指令、控制转移类指令、处理机控制类指令。第三节将分别介绍这些指令的语句格式和功能。 4.8086CPU的指令的共同的规律 大多数数据传送类指令、算术运算类指令、位操作类指令及串操作类指令,其双操作数指令有相同的语句格式和操作规定。 语句格式:[标号:] 操作符 OPD, OPS [;注释] 算术运算和位操作类指令的部分单操作数指令有相同的语句格式和操作规定。 语句格式:[标号:] 操作符 OPD [;注释] 3.2 80x86的寻址方式 3.2.1 与数据有关的寻址方式 3.2.2 与转移地址有关的寻址方式 3.2.1 与数据有关的寻址方式 立即寻址 寄存器寻址 偏移地址 直接寻址 寄存器间接寻址 变址寻址 基址变址寻址 1.立即寻址 立即寻址方式中,指令操作码和操作数都在存储器代码段中。 汇编格式:n(n为立即操作数,是用8位或16位二进制补码表示的有符号数) 功能:操作数存放在存储器,指令操作码下一单元的内容为立即操作数n。即操作数的地址是与指令操作码相邻的下一单元的地址。 图形表示: 【例1】 MOV AX,3064H 指令执行之后,(AX)=3064H 2. 寄存器寻址 该寻址方式的操作数在指令指明的寄存器中。 汇编格式:R (R表示寄存器名/号)。 功能:操作数直接存放在寄存器R中。 图形表示: 【例2】 ADD AX,BX 执行前:( AX)=1234H,(BX)=5620H 执行: (AX)+ (BX)? AX 执行后:(AX) = 6854H,(BX)内容不变 【以上两种综合举例】 下列程序执行后,(AX)=?,(BX)=? MOV AX,1234H MOV BX,5678H ADD AX,BX 该程序中MOV指令为数据传送指令操作符,ADD指令为加法指令操作符,三条指令皆为双操作数指令。第一、二条指令AX、BX皆为目的操作数地址,为寄存器寻址方式。第三条指令中,AX为目的操作数地址,BX为源操作数地址。源地址和目的地址皆为寄存器寻址方式。 图形表示: 执行:1234H→AX 5678H→BX (AX)+(BX)→AX 执行后:(AX)=68ACH,(BX)=5678H 偏移地址(有效地址EA) 位移量:存放在指令中的一个8位、16位或32位的数,但不是立即数,而是一个地址。 基址:存放在基址寄存器中的内容。通常用来指向数据段中数组或字符串的首地址。 变址:存放在变址寄存器中的内容。通常用来访问数组中的某个元素或字符串中的某个字符。 比例因子:是386及其后继机型新增加的寻址方式的一个术语,其值可以是1,2,4,8。 EA=基址+(变址×比例因子)+位移量 后面的几种寻址方式中的操作数都在除代码段以外的存储器区中,因此要解决的问题就是如何取得操作数的偏移地址,从而得到物理地址,进而取出操作数。 注意:80x86中为了使指令字不要过长,规定双操作数指令的两个操作数中,只能有一个使用存储器寻址方式,这就是为什么一个变量常常要先送到寄存器的原因。 3. 直接寻址 汇编格式:①含有变量的地址表达式。 ②段寄存器名:[EA] 。 功能:指令操作码下一个字单元的内容是操作数的偏移地址EA。 图形表示: 【例3】 寄存器和存储器内容为:(AX)=1212H,BUF为数据段定义的变量,其偏移地址是2000H,(DS)=3000H,(32000H)=3050H。 执行指令:MOV AX ,BUF 执行后:(AX)=? 4. 寄存器间接寻址 寄存器间接寻址方式中,寄存器的内容为操作数的偏移地址EA,操作数在存储器中。 汇编

文档评论(0)

专业好文档 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6110200002000000

1亿VIP精品文档

相关文档