第5章 8086指令系统和汇编语言 - 副本.ppt

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

* 本章结束 谢 谢 ! * * * * * * * * * 例题 2、编写一段指令序列,测试AL的内容,若低4位全为0,就转移去NEXT执行程序,否则按顺序执行。 解: TEST AL, 0FH JZ NEXT … NEXT: … * 4、循环控制指令 循环指令的作用是控制某程序段反复执行多次。 指令格式:LOOP dst8 指令功能:CX-1→CX,若CX≠0,就转去dst循环执行程序;若CX=0,顺序执行后续程序。 不影响标志位。 实际上,该指令可以等价两条指令: DEC CX ;CX-1→CX JNZ dst ;ZF=0,转向dst执行 * 例题 3、请编写指令序列,确定AL中“1”的个数。 解 XOR AH,AH ;累加器清零 MOV CX,08H ;设置循环次数 Stat:ROL AL,1 ;AL循环左移1位,即AL ;的最高位送CF JNC Lp ;CF=0,转移到Lp INC AH ;CF=1,AH+1→AH Lp: LOOP Stat ;CX-1→CX,CX≠0, ;返回到Stat执行 HLT ;程序段结束 * 4、过程调用和返回指令 程序设计时,往往把某些具有独立功能的程序编写成独立的程序模块,称之为子程序,可以方便地供其他程序调用。 (1)调用指令 指令格式:CALL dst(子程序名) 指令功能:无条件地转移去执行子程序; (2)返回指令 指令格式:RET 指令功能:在子程序结尾处必须有这条指令,保证子程序结束后返回原断点。 * (1)段内转移 段内转移又称近转移。 ①“NEAR”指明在同一段的转移,此时只需修改IP寄存器的值。 ②“SHORT”指明在同一段内更短距离的转移(8位:-128 —— +127)。 * (2)段间转移 段间转移又称远转移。 “FAR”指明要转到另一个逻辑段执行程序,其转移地址由新的段基址CS和偏移地址IP组成。 * (3)控制转移指令的寻址方式 相对寻址:把当前IP值增加(或减少)某一值。 绝对寻址:以新的值完全取代当前的IP值。 ① 段内直接寻址 ② 段内间接寻址 ③ 段间直接寻址 ④ 段间间接寻址 绝对寻址 相对寻址 * ① 段内直接寻址 这种寻址方式的转移指令,直接给出一个相对位移量。 指令转向的有效地址为当前IP寄存器内容和指令中给出的8位或16位位移量之和,即(IP)←(IP)+位移量。 若位移量为8位,则为短转移(short) 。 因为位移量是相对于当前的IP值来计算的,所以段内直接寻址又称相对寻址。 * ② 段内间接寻址 这种寻址方式,指令转向的有效地址是由指令中指定的一个16位通用寄存器或一个字存储单元的内容提供,以直接取代IP寄存器的内容。 * ③ 段间直接寻址 在这种寻址方式中,指令中直接给出了转向目标的段基址和段内偏移地址。 发生转移时,只要用指令中给出的段基址取代CS寄存器内容,用指令中给出的偏移地址取代IP寄存器的内容,就可完成从一个代码段到另一个代码段的转移。 * ④ 段间间接寻址 在这种寻址方式中,指令中给出一个存储单元地址,用该地址所指的两个相邻字单元的内容(32位)来取代IP和CS中的内容,以达到段间转移的目的。 存储单元的地址可以用操作数寻址方式中除立即数寻址方式和寄存器寻址方式以外的任何一种寻址方式取得。 * 1、标志位操作指令 (1)进位标志位清零指令(Clear Carry Flag) 指令格式: CLC 指令功能: 0→CF, 不影响其他标志位。 (2)进位标志位置1指令(Set Carry Flag) 指令格式: STC 指令功能: 1→CF, 不影响其他标志位。 * 1、标志位操作指令 (3)进位标志取反指令(Complement Carry Flag)

文档评论(0)

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

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

1亿VIP精品文档

相关文档