86系列微型计算机的指令系统-课件(PPT-精).ppt

86系列微型计算机的指令系统-课件(PPT-精).ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
86系列微型计算机的指令系统-课件(PPT-精)

86系列汇编语言及指令的格式与寻址方式 86系列汇编语言及指令的格式与寻址方式 [标号:] 指令助记符 [操作数,] [;注释] 86系列汇编语言及指令的格式与寻址方式 寻址方式是CPU在存储器中查找相应单元内容的方式,基本的寻址方式有七种 86系列汇编语言及指令的格式与寻址方式 操作数在指令中提供,即所需的数据在指令中即可找到。 该类型数寻址主要用于对寄存器赋值 由于处理器在指令中即可获得数据,不需访问存储器,所以立即数寻址速度较快 立即数必须是8位或16位整数,且必须为源操作数 86系列汇编语言及指令的格式与寻址方式 数据存放在存储器中,需要访问数据的地址由指令直接给出 最简单的访问存储器的方式 默认的段寄存器是DS 实例: 86系列汇编语言及指令的格式与寻址方式 操作数在CPU某一内部寄存器中,CPU访问该寄存器即可得到该操作数 存放数据的寄存器在指令中指出 由于CPU访问自己的内部寄存器即可得到操作数,无需直接访问存储器,因此访问速度较快 寄存器可以为源操作数,也可为目的操作数 86系列汇编语言及指令的格式与寻址方式 数据的地址存放在寄存器中,CPU需访问寄存器得到数据地址以后方可得到数据的绝对地址,再访问存储器相应单元得到数据 默认段寄存器为DS 寄存器中存放的是数据地址的偏移量 寄存器可为BX,SI或DI 86系列汇编语言及指令的格式与寻址方式 将以寄存器内数据为变址,某立即数为附加量的数据相加后形成偏移量,与相应的段寄存器相加后形成绝对地址访问存储单元 地址偏移量由寄存器与立即数或变量组成 立即数为十六位数 86系列汇编语言及指令的格式与寻址方式 将以某段寄存器内容为段地址,某基址存储器(BP或BX)内的内容、变址存储器(SI或DI)相加后形成偏移量得到绝对地址 86系列汇编语言及指令的格式与寻址方式 将以某段寄存器内容为段地址,某基址存储器(BP或BX)内的内容、变址存储器(SI或DI)与某立即数或变量相加后形成偏移量得到绝对地址 86系列汇编语言及指令的格式与寻址方式 传送类指令 传送类指令 传送类指令是指令系统中使用次数最多的一类指令,也是条数最多的一类指令,主要用于数据的传递及交换等场合,传送类指令一般不影响标志位。 传送类指令 传送类指令 堆栈操作类指令最主要的目的在于对数据的保护,如子程序调用与中断调用前的寄存器值的保存与恢复等。堆栈类操作的特点有:堆栈类操作对象必须是字,即十六个字节;数据遵循先进后出原则;PUSH与POP是成对出现,且进栈数据PUSH使用顺序与其弹出顺序恰好相反。 实例: PUSH AX PUSH BX …. POP BX POP AX 传送类指令 XCHG实现内部寄存器、寄存器与存储单元之间的传送,可以为字节或字操作。但该指令不能实现存储单元之间的数据交换。 实例: XCHG AL, BL XCHG BX, CX XCHG AX, [2334H] XCHG [2003H],[2006H] 传送类指令 换码指令主要用于完成字节翻译功能,也被称作查表指令。 该指令无操作数 要求BX中存放表的首地址,AL中为要查找数字的偏移量,执行时将BX与AL相加,得到段内偏移地址。将该地址存储单元内容送AL 表的最大容量为256 BYTES 传送类指令 传送地址码的指令,可用来传送操作数的段地址或偏移地址,共3条指令 传送类指令 LEA指令的功能是将数据所在的段内偏移量送一个寄存器。这时段地址寄存器默认为DS 实例: LEA SI, [2723H] ;将2723H数据单元的段内偏移量送SI,即将2723H送SI LEA SI,SQTBL ;将表SQTBL的段内偏移量送SI 传送类指令 执行该指令时有两个功能:第一将指定存储单元所在段的段地址送段寄存器DS,第二将其所在的段内偏移量送指定的寄存器 实例: LDS SI,SQTBL ;将表SQTBL所在段的段地址送段寄存器DS,将SQTBL在段内的偏移量送SI 传送类指令 与上一指令类似,执行该指令时有两个功能:第一将指定存储单元所在段的段地址送段寄存器ES,第二将其所在的段内偏移量送指定的寄存器 实例: LES SI,SQTBL ;将表SQTBL所在段的段地址送段寄存器ES,将SQTBL在段内的偏移量送SI 传送类指令 对标志位操作的指令共4条 传送类指令 执行该指令时,标志寄存器的低八位传送至AH 传送类指令 与LAHF相反,将AH中的相应位传送至标志位 传送类指令 PUSHF将标志寄存器的16位送入堆栈,低位在前,高位在后,同时堆栈地址指针SP的值加2。POPF与此正好相反 传送类指令 输入/输出指令用来完成累加器AX或AL与I/O端口之间的数据传送功能。 共两条指令 IN指令使CPU从一个八位端口读入一个字节到AL中,也可以从

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档