《汇编语言程序设计》第10章80x86和pentium指令嘿系统简介.pptVIP

《汇编语言程序设计》第10章80x86和pentium指令嘿系统简介.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文档。上传文档
查看更多
《汇编语言程序设计》第10章80x86和pentium指令嘿系统简介

80386的新增指令 10.3 指令系统 (3)数的传送与扩展指令 格式1: MOVSX 寄存器,寄存器.存储器地址 功能:传送有符号数到目的寄存器中,并将符号扩展到操作数的所有位。 格式2: MOVZX 寄存器,寄存器.存储器地址 功能:传送无符号数到目的寄存器中,并用0进行扩展。 80386的新增指令 10.3 指令系统 (4)双精度移位指令 格式1:SHLD 寄存器.存储器地址,寄存器,CL.立即数 功能:双精度左移指令,第一个操作数左移N(第三个操作数指出)位,其右边空出位由第二个操作数的左边N位填补,CF保持第一个操作数最后一次的移出位。 格式2:SHRD 寄存器.存储器地址,寄存器,CL.立即数 功能:双精度右移指令,参见SHLD。 80386的新增指令 10.3 指令系统 (5)条件设置类指令 这类指令用于测试指定的标志位所处的状态,根据测试结果,将指定的一个8位寄存器或内存单元置1或0: 结果为真,8位寄存器或内存单元置1; 结果为假,8位寄存器或内存单元置0。 这类指令有:SETA.SETNBE,还有SETAE.SETNC、SETB.SETNAE.SETC、SETNA.SETBE、SETE.SETZ、SETG.SETNLE、SETGE.SETNL、SETL.SETNGE、SETLE.SETNG、SETNE.SETNZ、SETNO、SETNS、SETO、SETP.SETPE、SETPO.SETNP、SETS等。 80386的新增指令 10.3 指令系统 格式:SETE 8位寄存器.内存单元 功能:如果ZF=1则寄存器.存储器地址=1,否则寄存器.存储器地址=0。 80386的新增指令 10.3 指令系统 2.增强功能的指令 (1)转换指令 (2)字符串操作指令 (3)整数乘指令IMUL (4)堆栈操作指令 (5)中断返回指令IRETD 80386的新增指令 10.3 指令系统 (1)转换指令 CDQ:转换在EAX中带符号的双字到EDX,EAX中为带符号的四字。它把EAX中的符号位扩展到EDX中的所有位来实现转换。 CWDE:把字转换为双字。它把AX中的符号位扩展到EAX中的其他位来把AX中的字转换成EAX中的双字。 80386的新增指令 10.3 指令系统 (2)字符串操作指令 字符串操作指令CMPSD、INSD、LODSD、MOVSD、OUTSD、SCASD、STOSD 可见它们是在字符串操作指令CMPS、INS、LODS、MOVS、OUTS、SCAS、STOS各指令后加D,变成了对双字的操作,类似于加B对字节操作、加W对字操作。仍然是由寄存器DS:SI指向源串,ES:DI指向目标串。 80386的新增指令 10.3 指令系统 (3)整数乘指令IMUL 在80286中,IMUL有两种格式: IMUL 16位寄存器,立即数 IMUL 16位寄存器,16位存储器,立即数 在80386中,新增一种格式: IMUL 寄存器,寄存器.存储器 ;注意源和目标操作数位数必须相同 80386的新增指令 10.3 指令系统 (4)堆栈操作指令 在80286中, PUSHA———把8个寄存器值压入堆栈, POPA———从堆栈中弹出数据恢复8个寄存器的值。 上述两个指令对8个16位的寄存器进行堆栈操作,在80386中要对相应的8个32位寄存器进行堆栈操作,需使用PUSHAD、POPAD指令。在80386中要对32位的标志寄存器EFLAG寄存器进行堆栈操作,需使用PUSHFD、POPFD指令。 80386的新增指令 10.3 指令系统 (5)中断返回指令IRETD 我们前面学过的IERT指令从堆栈中弹出16位的指针,要从堆栈中弹出32位的指针,必须使用IRETD,以从堆栈中弹出一个双字的指针。 80486的新增指令 10.3 指令系统 1. 字节交换指令BSWAP 2. 比较与交换指令CMPXCHG 3. 交换与相加指令XADD 4. cache管理指令 80486的新增指令 10.3 指令系统 1. 字节交换指令BSWAP 本指令用于将32位通用寄存器的双字以字节为单位,高低字节进行交换。 80486的新增指令 10.3 指令系统 2. 比较与交换指令CMPXCHG 本指令将存放在8位、16位、32位寄存器或存储器中的第一操作数与累加器AL、AX、EAX的内容进行比较: 如相等,则ZF=1,并将存放8位、16位、32位寄存器中的第二操作数送第一操作数的存储单元; 如不相等,则ZF=0,并将第一操作数送相应累加器。 80486的新增指令 10.3 指令系统 3. 交换与相加指令XADD 本指令将存放在8位、16位、3

您可能关注的文档

文档评论(0)

181****7523 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档