微机原理与接口技术-郭兰英-第3.6章.ppt

微机原理与接口技术-郭兰英-第3.6章.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MOV AX,0703H MOV BL,02H AAD DIV BL AAM 例题 (1)清除DH中的最低三位,而不改变其他位,结果存入DL中; AND DH,0F8H MOV DL,DH (2)把BX中的0~3位清零,5~8位置1,10~12位取反; AND BX,0FFFF0H OR BX,01E0H XOR BX,1C00H 注意:使用串指令前,必须先进行以下设置(初始化) (1)必须事先设置隐含的寄存器; (2)设置方向标志位DF; (3)如果使用重复前缀,还必须把重复次数放入CX中。 调用指令 RET [ n ] 功能: 从栈顶弹出由CALL压入的断点地址,送入IP或CS:IP,以返回断点处继续执行。 如果带参数n(n为偶数),在弹出断点地址后,还需执行:SP ← SP + n(弹出子程序中n个单元的内容) 。 分类: 段内返回:断点IP出栈 段间返回:断点CS、IP出栈 子程序的一般格式 子程序名 PROC [NEAR/FAR] RET 子程序名 ENDP ;子程序体 标号: RET END 标号 ;子程序体 CALL与JMP的区别 JMP指令有去无回。 CALL指令需要返回, 其中利用堆栈保存返回地址。 保护断点: 保护现场:若在主程序中使用的某些寄存器中已经存放了有用的信息,则从子程序返回主程序后,主程序的寄存器值已被修改。解决这个问题的方法是在使用这些不能被破坏的寄存器之前,将其内容保存起来,使用后将其还原。 段内直接寻址 段内转移只修改IP,CS内容不变。 指令码中包含一个8/16位偏移量disp。 转移的目标地址=当前IP+disp 段内短转移:disp为8位,-128~+127 段内近转移:disp为16位,-32768~+32767 注意 当前IP是指从存储器中取出转移指令的IP值(下一条指令的地址)。 disp为带符号数,用补码表示。 又称相对寻址 其他寻址 段内间接寻址 转移的目标地址在一个16位寄存器或16位存储单元中。 段间直接寻址 指令中直接给出转移的目标地址的段地址和偏移量,转移时段地址送CS,偏移量送IP。 段间间接寻址 转移的目标地址是由4个连续字节存储单元(32位)提供。 低地址对应2个字节单元送入IP,高地址对应2个字节单元送入CS。 目标地址的说明 实际编程时,汇编程序会根据目标地址的属性,自动处理成短转移、近转移或远转移。 程序员可用操作符强制成为需要的转移类型。 短转移运算符 SHORT 近转移运算符 NEAR PTR 远(段间)转移运算符 FAR PTR 1.无条件转移指令 JMP label 功能:无条件地转移到指令规定的目标地址label。 分类 段内直接短转移 段内直接近转移 段内间接转移 段间直接转移 段间间接转移 JMP的例子 JMP SHORT AGAIN ( AGAIN 是符号地址) ;段内直接短转移 JMP NEAR PTR LABEL ( LABEL 是符号地址) ;段内直接近转移 JMP WORD PTR [BP][DI] ;段内间接转移 JMP BX ;段内间接转移 JMP FAR PTR NEXT ( NEXT 是符号地址) ;段间直接转移 JMP DWORD PTR [BX][DI] ;段间间接转移 段间间接转移指令的操作数不能是寄存器! 段间转移的范围可达到1MB。 段内直接转移的演示 段内寄存器间接转移的演示 段内存储器间接转移的演示 段间直接转移的演示 段间间接转移的演示 2.条件转移指令 Jcc label 功能:根据指定条件是否成立来确定程序是否转移。 cc表示某种条件。 若条件满足,发生转移 IP←当前IP+8位位移量 否则,顺序执行 label是一个标号,表示一个8位位移量。 label只支持段内直接短转移寻址方式,即相对短转移。 转移条件 JZ/JE Jump on Zero/Equal JNZ/JNE Jump on Not Zero/Equal JS Jump on Sign JNS Jump on Not Sign JP/JPE Jump on Parity/Parity Even JNP/JPO Jump on Not Parity/Parity Odd JO Jump on Overflow JNO Jump on Not Overflow JC/JB/JNAE Jump on Carry/Below/Not Above or Equal JNC/JNB/JAE Jump on Not Carry/Not Below/Above or Equal JBE/JNA Ju

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档