10-11微机原理与应用11.pptVIP

  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文档。上传文档
查看更多
目标地址寻址方式 相对寻址方式 提供目标地址相对于当前指令指针EIP的位移量 目标地址(转移后的EIP)=当前EIP+位移量 相对寻址都是段内转移,最常用、最灵活 直接寻址方式 直接提供目标地址 目标地址(转移后的CS和EIP)=指令操作数 间接寻址方式 指示寄存器或存储单元 目标地址来自寄存器或存储单元、间接获得 寄存器间接寻址:用寄存器保存目标地址 存储器间接寻址:用存储单元保存目标地址 无条件转移指令JMP 无条件转移:程序无条件改变执行顺序 JMP指令相当于高级语言的goto语句 JMP label ;程序转向label标号指定的地址 ;段内相对寻址,段间直接寻址 JMP reg16/reg32 ;程序转向寄存器指定的地址 ;寄存器间接寻址 JMP mem16/mem32 ;程序转向存储单元指定的地址 ;存储器间接寻址 JMP指令的4种类型 1. 段内转移、相对寻址 标号指明目标地址,指令代码包含位移量 2. 段内转移、间接寻址 通用寄存器或主存单元包含目标指令的偏移地址 3. 段间转移、直接寻址 标号包含目标指令的段地址和偏移地址 4. 段间转移、间接寻址 16位段用双字存储单元包含目标地址 32位段用3字存储单元包含目标地址 [例题5-1]无条件转移程序-1 ;数据段 0000 0000 nvar dw ? ;代码段 0010 EB 01 jmp labl1 0012 90 nop 0013 B8 FF02 labl1: mov ax,type labl1 0016 E9 0001 jmp near ptr labl2 0019 90 nop 001A B8 0020 R labl2: mov ax,offset labl3 001D FF E0 jmp ax 001F 90 nop 0020 B8 002B R labl3: mov ax,offset labl4 0023 A3 0000 R mov nvar,ax 0026 FF 26 0000 R jmp nvar 002A 90 nop [例题5-1]无条件转移程序-2 ;数据段 0002fvar dd ? ;代码段 002B B8 FF05 labl4: mov ax,type far ptr labl5 002E EA ---- 0034 R jmp far ptr labl5 0033 90 nop 0034 B8 0047 R labl5: mov ax,offset labl6 0037 A3 0002 R mov word ptr fvar,ax 003A BA ---- R mov dx,seg labl6 003D 89 16 0004 R mov word ptr fvar+2,dx 0041 FF 2E 0002 R jmp fvar 0045 90 nop 0046 labl6: 目标地址的范围:段内 段内转移——近转移(near) 在当前代码段64KB范围内转移( ±32KB范围) 不需要更改CS段地址,只要改变IP偏移地址 jmp near ptr label jmp ax 段内转移——短转移(short) 转移范围可以用一个字节表达,在段内 -128~+127范围的转移 jmp label 目标地址的范围:段间 段间转移——远转移(far) 从当前代码段跳转到另一个代码段,可以在1MB范围 需要更改CS段地址和IP偏移地址 目标地址必须用一个32位数表达,叫做32位远指针,它就是逻辑地址 条件转移指令Jcc 根据指定的条件确定程序是否发生转移 Jcc label ;条件满足,发生转移;否则,顺序执行下一条指令 LABEL表示目标地址,采用段内相对寻址方式 16位80x86微处理器:只是-128~+127间的短转移 32位IA-32微处理器:达到32位的全偏移量 条件转移指令不影响标志,但要利用标志 cc表示利用标志判断的条件,16种、两类 单个标志状态作为条件 两数大小关系作为条件 转移条件cc:单个标志状态 JZ/JE ZF=1 Jump if Zero/Equal JNZ/JNE ZF=0 Jump if Not Zero/Not Equal JS SF=1 Jump if Sign JNS SF=0 Jump if Not Sign JP/JPE PF=1 Jump if Parity/Parity Even JNP/JPO PF=0 Jump if Not Parity/Parity Odd JO OF=1 Jump if Overflow JNO OF=0 Jump if Not Overflow JC CF=1 Jump

文档评论(0)

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

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

1亿VIP精品文档

相关文档