微型计划机原理跟接口技术 第3讲 寻址方式跟指令体系new.pptVIP

微型计划机原理跟接口技术 第3讲 寻址方式跟指令体系new.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微型计划机原理跟接口技术 第3讲 寻址方式跟指令体系new

SCAS 举例 在一个字符串中查找字符“”,并以空格字符进行替换 Extra segment D db ‘I ama student’ Count equ $-d Extra ends Code segment Assume es:extra,cs:code Main proc far Mov ax,extra Mov es,ax Lea di,d Mov cx,count Mov al,’‘ Cld Repnz scasb Jnz exit Dec di Mov byte ptr es:[di],’ ’ Exit: Mov ax,4c00h Int 21h Main endp Code ends End main 控制转移指令 无条件转移指令 条件转移指令 循环指令 子程序调用和返回指令 中断调用和返回指令 无条件转移指令 名称 格式 执行的操作 段 内 直接短跳转 JMP SHORT OPR (IP)←(IP)+8位位移量 直接近跳转 JMP NEAR PTR OPR (IP)←(IP)+16位位移量 间接近跳转 JMP WORD PTR OPR (IP)←(EA) 段 间 直接远跳转 JMP FAR PTR OPR (IP)←OPR的段内偏移地址 (CS)←OPR所在段的段地址 间接远跳转 JMP DWORD PTR OPR (IP)←(EA) (CS)←(EA+2) 条件转移指令 1、根据单个条件标志的设置情况转移 2、比较两个无符号数,并根据比较的结果转移 3、比较两个带符号数,并根据比较的结果转移 4、测试CX的值为0,则转移: JCXZ 根据单个条件标志的设置情况 转移 助记符 测试条件 功能 JZ (或JE) ZF=1 Jump if zero, or equal JNZ (或JNE) ZF=0 Jump if not zero,or not equal JS SF=1 Jump if sign JNS SF=0 Jump if not sign JO OF=1 Jump if overflow JNO OF=0 Jump if not overflow JP PF=1 Jump if parity JNP PF=0 Jump if not parity JC CF=1 Jump if carry JNC CF=0 Jump if not carry 比较两无符号数,根据结果转移 助记符 测试条件 功能 JB (JNAE 或JC) CF=1 且 ZF=0 低于,有进位或不高于等于则转移 JNB (JAE 或 JNC) CF=0 或 ZF=1 不低于,无进位或高于等于则转移 JA (JNBE) CF=0 且 ZF=0 高于则转移 JNA (JBE) CF=1 或 ZF=1 不高于则转移 比较两带符号数,根据结果转移 助记符 测试条件 功能 JL(JNGE) SF≠OF且ZF=0 小于则转移 JNL(JGE) SF=OF 或ZF=1 不小于则转移 JG(JNLE) SF=OF 且ZF=0 大于则转移 JNG(JLE) SF≠OF或ZF=1 不大于则转移 举例 已知三个带符号数存放在AX、BX、CX寄存器中,编程求这三个数的最大值,并存放在AX寄存器中。 Cmp ax,bx Jge next Xchg ax,bx Next: Cmp ax,cx Jge exit Xchg ax,cx Exit: 循环指令 指令名称 测试条件 功能 LOOP (CX)≠0 Loop LOOPZ 或 LOOPE ZF=1且(CX)≠0 Loop while zero, or equal LOOPNZ 或 LOOPNE ZF=0且(CX)≠0 Loop while not zero or not equal LOOP指令工作流程 N Y CX=0? 循环体 CX?CX-1 举例 求数组中各元素的和 统计字符串中空格字符的个数 用循环、跳转、逻辑运算指令来控制PC机的扬声器发声 LOOPE/LOOPZ指令工作流程 Y N CX=0? 循环体 CX?CX-1 ZF=0? Y N LOOPNE/LOOPNZ指令工作流程 Y N CX=0? 循环体 CX?CX-1 ZF=1? Y N 子程序调用指令 名称 格式 执行的操作 段 内 直接近调用 CALL NEAR PTR DST (IP)入栈 (IP)←(IP)+16位位移量 间接近调用 CALL WORD PTR DST (IP)入栈 (IP)←(EA) 段 间 直接远调用 CALL FAR PTR DST (CS)入栈 (IP)入栈 (IP)←DST指定的偏移地址 (CS)

文档评论(0)

my18 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档