微型计算机汇编语言程序设计.ppt

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

* 控制转移指令可实现远转移、近转移、短转移。 CALL、RET、JMP指令可实现全部存储空间内的转移;条件转移指令、循环控制指令只能实现短转移;中断指令能够实现远转移。 当目标地址在段内直接给出时,控制转移指令采用相对寻址方式。 所有控制转移指令均不影响标志位。 对无符号数和带符号数的大小的比较,应采用不同的条件转移指令,相应根据不同条件进行判断。 第2节 8086/8088指令系统 控制转移指令小结 * 该类指令专门用于处理器的控制,形式上均不带操作数。 除了本身对某个标志位进行置/复位操作的指令外,其它指令均不影响标志位。 第2节 8086/8088指令系统 处理器控制指令 * 对进/借位标志CF的操作: STC ;使CF =1 CLC ;使CF =0 CMC ;将CF取反 对方向标志DF的操作: STD ;使DF =1,串操作指令指针自动减量修改 CLD ;使DF =0,串操作指令指针自动增量修改 对中断标志IF的操作: STI ;使IF =1,开放可屏蔽中断INTR CLI ;使IF =0,关闭INTR 第2节 8086/8088指令系统 单个标志置/复位指令 * 格式:HLT 功能:使CPU进入低功耗模式,不进行任何操作 怎样解除暂停状态? RESET信号有效→系统重启动,进入正常工作模式; NMI或INTR( IF=1时 )信号有效→系统执行中断服务子程序,中断返回到HLT的下一条指令。 第2节 8086/8088指令系统 处理器暂停指令HLT * 格式:WAIT 功能:使CPU处于等待状态,直至/TEST引脚有效时才继续执行下一条指令。一般用于实现主机与外设的同步。 怎样解除等待状态? /TEST信号变为有效电平; NMI或INTR( IF=1时 )信号有效,同样可以转入中断服务子程序,但断点是WAIT指令本身的地址:即中断信号不能解除等待态! 第2节 8086/8088指令系统 等待指令WAIT * 格式:NOP 不做任何操作! 仍然占用指令周期,因此常被用于软件延时程序中。 第2节 8086/8088指令系统 空操作指令NOP * 只能出现在以下以存储器为目操作数的指令之前: ADD/ADC/SUB/SBB 存储器,通用寄存器或立即数 INC/DEC/NEG/NOT 存储器 AND/TEST/OR/XOR 存储器,通用寄存器或立即数 XCHG 存储器,通用寄存器 XCHG 通用寄存器,存储器 功能: 使加有LOCK前缀的指令在执行期间保持/LOCK引脚上的有效电平,即封锁总线权,不允许其它总线主设备控制总线。 第2节 8086/8088指令系统 总线封锁指令前缀LOCK * 存储器操作数的段超越前缀 共有DS:、ES:、SS:、CS:四种,必须加在存储器操作数之前。如 DS:[BP] 改变存储器操作数默认使用的段寄存器,但不影响EA 串操作指令的重复前缀:仅在串操作指令之前有效。 总线封锁指令前缀:仅在最大工作方式下有效。 前缀不能单独使用!一条指令可同时带多个有效前缀,各前缀的先后次序无关紧要。但当有多个同一类型的前缀时,以最后一个为准。 第2节 8086/8088指令系统 指令前缀小结 * 8086/8088的指令系统概述 第2节 8086/8088指令系统 8086/8088指令 * * * * 第2章 微型计算机指令系统 第2章 微型计算机指令系统 * 直接寻址(Direct Addressing) 1.含义: 存储单元的有效地址EA(即:操作数的偏移地址)直接由指令给出。 2.特点: 机器码中,有效地址存放在代码段中指令的操作码之后,而该地址单元中的数据总是存放在存储器中(数据段)。须先求出操作数的物理地址,再从存储器中取得操作数。 操作数的物理地址=16×DS + EA 3.作用:实现对存储单元的读/写操作。 第1节 8086的寻址方式 * 控制转移指令可实现三种范围的跳转: 近转移(near):段内转移,相对偏移量为1个字,取值范围 -32768~ +32767; 短转移(short):段内转移,相对偏移量为1字节,取值范围-128~ +127; 转移时,仅改变IP寄存器的内容,段地址CS的值不变。 远转移(far):段间转移,目标地址与正常顺序的IP值不在同一个代码段内。 转移时,CS和IP的值都要改变 近转移、短转移采用特殊的“相对寻址方式”来获得转移的目标地址。 第2节 8086/8088指令系统 控制转移指令概述 * 格式

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档