Intel微处理器chapter05章节幻灯片.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文档。上传文档
查看更多
* 例 30 * Not指令和 NEG指令 NOT是逻辑取反, 或1的补 NOT 指令使字节、字或双字的所有位取反 NEG是算术符号取反, 或2的补 NEG指令对一个数求2的补码,这意味着将有符号数的算术符号由正变为负,或者由负变为正 * * * 移位指令 把寄存器或存储单元中的数向左或向右放置,即移动 4种不同类型的移位指令: (1) 逻辑左移是把0移入最低位 (2) 逻辑右移是把0移入最高位 (3) 算术左移和逻辑左移相同 (4) 算术右移是把符号位复制到数字中 移位指令和循环移位指令 * 逻辑移位操作用于无符号数,而算术移位操作作用于有符号数 一种形式用立即数计算移位次数,另一种形式是将移位次数装入寄存器CL 移位指令 * * 例 31 * 例 32 * 双精度移位指令 用于80386和跟高档型号的微处理器 SHLD(左移)和SHRD(右移)指令有三个操作数 SHRD AX, BX, 12指令将AX寄存器逻辑右移12位,BX的右边12位移入AX的左边12位中,而BX的内容保持不变 SHLD EBX, ECX, 16指令向左移位EBX,移位以后,ECX的最左边16位移入EBX的最右边16位,操作数ECX的内容保持不变 * 循环移位指令 将寄存器或存储器中的二进制数据从一端循环移位到另一端,或者通过进位标志位从一端循环移动到另一端 循环计数可以是立即数,或者装入CL寄存器中 * * 例 33 将寄存器DX, BX和AX中48位数据向左移1位的程序 * 位扫描指令 只用于80386~Pentium微处理器中 位扫描指令BSF(向前位扫描)和BSR (向后位扫描)均扫描整个数据,有哪些信誉好的足球投注网站首先遇到的值为1的位 BSF指令从最低位向高位扫描数据,而BSR从最高位向低位扫描数据 如果遇到值为1的位,都将零标志位置1,并且把该位的位置放入目标操作数。如果没有遇到值为1的位(也就是数据为全0),则零标志为被清0 例如:EAX,则 BSF EBX,EAX指令,从最低位向左扫描EAX,首先遇到的1的位置是第29位,所以,把29送入EBX中,并将零标志置1。同样的数值,用BSR指令,则EBX中的值是30,ZF=1。 * 串比较指令 SCAS(串扫描)和CMPS(串比较)指令可以在存储区中查找一个常数,或者比较两个存储区的内容 SCASB, SCASW或SCAD指令是比较使用的操作码,都是附加段中由DI寻址的存储单元的内容与AL,AX或EAX相比较 像其他串指令一样,SCAS指令用方向标志(D)选择对DI是自动加1还是自动减1 在指令前用条件重复前缀,指令就会重复执行, 例如REPNE / REPNZ(不等于则重复)或REPE / REPZ(等于则重复) * 串比较指令 CMPSB, CMPSW或CMPSD指令的比较是在数据段内由SI寻址的存储单元的内容和附加段内由DI寻址的存储单元的内容之间进行 * 例 34 在长为100字节的存储区内有哪些信誉好的足球投注网站关键字 00H * 例 35 跳过存储器数组中的ASCII码空格符。假定DI寄存器已经寻址到ASCII码字符串,而且串长度是256字节或更短些 * 例 36 比较两个存储区,以检查是否有匹配的内容。当CX寄存器变成0或出现不等条件时,CMPSB指令就停止执行。CMPSB指令结束后,若标志位指示相等,则两个串匹配;如果CX不为0,或标志位指示不相等,则两个串不匹配 * 第二次实验: 1、两个数组的多位数加法操作(比如数组是100个字节的数据等),可以考虑数组中的数据既可以是二进制数,也可以是十进制数。 2、编程完成以下公式的运算:(假设公式中的所有变量均为16位有符号的数) 1)W=X+Y*300 要求乘积的高位在W中,低位在R中 2)W=P / (Q-15) 要求商存入W,余数存入R * 小结 1、加法和加法 指令可以是8、16或32位,指令影响状态标志(C、A、S、Z、P和O标志) 2、加1 和 减1 指令,不影响进位标志 3、乘法和除法指令,要注意操作数的符号的问题 4、BCD码算数运算,要进行十进制调整。十进制调整分成两类:压缩的BCD码调整和非压缩的BCD码调整 5、逻辑运算指令,CF和OF清零 6、有8种不同的位移和循环位移指令,位移的次数可以是立即数,也可以是由CL指出的位移次数 7、SCAS 和 CMPS 指令是串操作指令,可以用前缀(REPE / REPNE)进行重复操作 * 余数的处理 1、直接截断法 2、四舍五入法:对无符号除法的结果,要求用余数与除数的一半进行比较 例 18 一个指令序列: AX 内容除以BL内容, 无符号除法结果四舍五入 * 3、余数转换成小数形式:先把商

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档