第4章_8086_指令系统精品.ppt

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

例:存储器的数据段中有100个字节构成的数组,要求从该数组中找出“$”字符,然后将“$”字符前面的所有元素相加,结果保留在AL寄存器中。 MOV CX, 100 ;初始化 MOV SI, 00FFH LL1: INC SI CMP BYTE PTR [SI], ‘$’ ;找”$”字符 LOOPNE LL1 SUB SI, 0100H ;”$”字符之前字节数 MOV CX, SI MOV SI, 0100H MOV AL, [SI] DEC CX ;相加次数 LL2: INC SI ADD AL,[SI] ;累加”$”字符前的字节 LOOP LL2 HLT 循环控制(六) 指令名称 指令书写格式 (助记符) 中断 溢出中断 中断返回 INT 中断类型码 INTO IRET 中断指令(一) INT 中断类型n 8086/8088系统中允许有256种中断类型(0~255),CPU根据中断类型号, 从内存实际地址为00000H~ 003FFH区中的中断向量表找到中断服务程序的入口地址。 每个类型号含4字节的中断向量,中断向量就是中断服务程序的入口地址。 中断类型n?4,就得到中断向量的存放地址,由此地址开始,前2个单元中存放中断服务程序入口地址的偏移量(即IP),后2个单元中存放着中断服务程序入口地址的段首址(即CS)。 中断指令(二) CPU执行INT指令过程: (SP)←(SP)-2,将标志寄存器F内容入栈; 清除中断标志IF和单步标志TF,以禁止可屏蔽中断和单步中断进入; (SP)←(SP)-2,将当前程序断点的段地址入栈保护; (SP)←(SP)-2,将当前程序断点的偏移地址入栈保护; n?4,从中断入口地址表中获得中断入口的段地址和偏移地址,分别置入段寄存器CS和指令指针IP中,CPU将转向中断入口去执行相应的中断服务程序。 中断指令(三) INTO 为了判断有符号数的加减运算是否产生溢出,专门设计了1个字节的INTO指令,用于对溢出标志OF进行测试; 当OF=1,立即向CPU发出溢出中断请求,并根据系统对溢出中断类型的定义(类型4),可从中断入口地址表中得到类型4的中断服务程序入口地址。 该指令一般安排在带符号的算术运算指令之后,用于处理溢出中断。 中断指令(四) IRET IRET指令总是安排在中断服务程序的出口处。 由它控制从堆栈中弹出程序断点送回CS和IP中,弹出标志寄存器内容送回F中,迫使CPU返回到断点继续执行后续程序。IRET也是一条1字节指令。 中断指令(五) 处理器控制类指令(12条): 对标志位操作(7条) 同步控制(3条) 其它(2条) 指令名称 指令书写格式 (助记符) 清除进位标志 置“1”进位标志 取反进位标志 清除方向标志 置“1”方向标志 清除中断标志 置“1”中断标志 CLC STC CMC CLD STD CLI STI 对标志位操作(一) CLC、STC、CMC指令用来对进位标志CF清“0”、置“1”、 取反操作。 CLD、STD指令用来将方向标志DF清“0”、置“1”。 常用于串操作指令之前。 CLI、STI指令用来将中断标志IF清“0”、置“1”。 当CPU需要禁止可屏蔽中断进 入时,应将IF清“0”,允许可屏蔽中断进入时,应将IF置“1”。 对标志位操作(二) 指令名称 指令书写格式 (助记符) 等待 交权 封锁总线 WAIT ESC LOCK 同步控制(一) 无条件转移(3条) 条件转移(18条) 循环控制(4条) 中断(3条) 无符号数(4条) 单标志(4条) 带符号数(4条) 位条件转移(6条) 程序控制类指令(28条): 指令名称 指令书写格式 (助记符) 无条件转移 调用过程 从过程返回 JMP 目标标号 CALL 过程名 RET 弹出值 无条件转移(一) 只要执行无条件转移指令JMP,就使程序转到指定的目标地址,从目标地址处开始执行指令。 操作数Label是要转移到的目标地址(目的地址、转移地址) JMP指令分成4种类型: ⑴ 段内直接转移 ⑵ 段内间接转移 ⑶ 段间直接转移 ⑷ 段间间接转移 JMP Label ;程序转向Label标号指定的地址 无条件转移(二) JMP Label ;段内直接转移 目

文档评论(0)

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

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

1亿VIP精品文档

相关文档