微机原理及应用 课件 5.23讲移位指令之非循环移位指令90_第1页
微机原理及应用 课件 5.23讲移位指令之非循环移位指令90_第2页
微机原理及应用 课件 5.23讲移位指令之非循环移位指令90_第3页
微机原理及应用 课件 5.23讲移位指令之非循环移位指令90_第4页
微机原理及应用 课件 5.23讲移位指令之非循环移位指令90_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理及应用第五章8086指令系统第二十三讲移位指令之非循环移位指令下面我们来学习移位指令,,移位指令顾名思义就是对寄存器或内存单元中存储的二进制数进行移位移位指令之非循环移位指令移位指令,移位指令顾名思义就是对寄存器或内存单元中存储的二进制数进行移位移位指令之非循环移位指令寄存器二进制数移位内存单元移位指令指令可以实现左移也可以实现右移,左移是LEFT的缩写,所以指令中用L表示,右移是Right的缩写,所以指令中用R表示移位指令左移:LEFT缩写,表示为L指令可以实现左移也可以实现右移,左移是LEFT的缩写,所以指令中用L表示,右移是Right的缩写,所以指令中用R表示移位指令右移:Right缩写,表示为R移位指令可对或内存单八位或16位寄存器元的数进行移位,移位指令进制数移位寄存器八位内存单元十六位移位指令形式上是两个操作数,其中源操作数指明移动的位数,而目的操作数才是要移动的对象,所以,移位指令本质上其实是单操作数指令。形式上为两个操作数本质上为单操作数指令移位指令我们将数据从目的操作数中取出,移动后,再存入目的操作数中,目的操作数目的操作数所以,当目的操作数是存储器操作数时,要说明它的字长目的操作数目的操作数存储器操作数说明字长通常情况下,我们在使用移位指令的时候,是将移位的次数先传送到CL寄存器中,然后将CL作为源操作数来使用。移位指令CL寄存器。还记得我们在学习寄存器的时候说,CX寄存器的特殊用法是用来计数的。这里CL寄存器就是用来存储移动次数的。CL寄存器作用:存储移动次数但是,如果移动的次数是1的话,那么可以直接将源操作数用1这个立即数代替,移位指令分非循环移位和循环移位。移位指令只移动1位指令中写1但是,如果移动的次数是1的话,那么可以直接将源操作数用1这个立即数代替,移位指令分非循环移位和循环移位。移位指令非循环移位循环移位我们先来学习一下非循环移位。移位指令非循环移位循环移位非循环移位的英文对应SHIFT,所以指令以S开头。SHIFT非循环移位SHIFT逻辑移位算术移位。指令分算术移位和逻辑移位,区别就是把操作数看成是有符号数还是无符号数有符号数无符号数SHIFT非循环移位SHIFT如果把操作数看成是有符号数,那么就用算术移位,算术的英文对应Arithmetic,所以,如果是算术左移指令,用SAL表示,如果是算术右移指令,用SAR表示逻辑移位算术移位算术左移指令SAL有符号数算术右移指令SAR无符号数ArithmeticSHIFT非循环移位SHIFT如果把操作数看成是无符号数,那么就用逻辑移位,逻辑的英文对应Logic,所以,如果是逻辑左移指令,用SHL表示,如果是逻辑右移指令,用SHR表示逻辑移位算术移位算术左移指令SAL逻辑左移指令SHL有符号数无符号数算术右移指令SAR逻辑右移指令SHRArithmeticLogicSHIFT非循环移位SHIFT算术移位和逻辑移位的区别是,是否保持符号位不变。我们在后面会详细的说明逻辑移位算术移位算术左移指令SAL算术右移指令SAR逻辑左移指令SHL逻辑右移指令SHR两个移位区别:是否保持符号位不变SHIFT非循环移位SHIFT这四种指令的功能有所不同,但是指令的使用规则是相同的,我们以SAL为例来说明逻辑移位算术移位算术左移指令SAL算术右移指令SAR逻辑左移指令SHL逻辑右移指令SHR功能不同,使用规则相同SAL有两个操作数,其中目的操作数可以是寄存器或存储器操作数,如果是存储器操作数要指定它的字长SALmem/reg寄存器操作数存储器操作数说明字长源操作数可以是1或CL,当移位次数为1时,源操作数就是1这个立即数,当移位次数大于1时,源操作数就是CLSALmem/regCL:移位位数大于1时1:移位位数等于1时下面我们结合几张图来看一下,这四种指令的具体操作,首先,算术左移SAL和逻辑左移SHL的功能是一样的,将数据向左移动一位,是先将最高位移动到CF标志位中,然后其余位按顺序向左移动一位,最后用0填充最低位。由于左移无法保留符号位,所以算术左移和逻辑左移的功能和操作是一模一样的。逻辑移位算术移位算术左移指令SAL算术右移指令SAR逻辑左移指令SHL逻辑右移指令SHR最低位最高位CF0算术/逻辑左移SAL/SHL功能相同算术左移和逻辑左移操作相同再来看算术右移SAR,它的功能是在右移的同时,尽量保持符号位不变。逻辑移位算术移位算术左移指令SAL算术右移指令SAR逻辑左移指令SHL逻辑右移指令SHRCF算术右移SAR最高位最低位功能:右移同时尽量保持符号位不变所以,将数据进行算术右移一位,是先将最低位移动到CF标志位中,然后其余位按顺序向右移动一位,最后用原本的符号位填充最高位。逻辑移位算术移位算术左移指令SAL算术右移指令SAR逻辑左移指令SHL逻辑右移指令SHRCF算术右移SAR最高位最低位最后来看,逻辑右移SHR,它的功能就是向右移位,不用考虑符号位。CF最低位最高位逻辑右移SHR0逻辑移位算术移位算术左移指令SAL算术右移指令SAR逻辑左移指令SHL逻辑右移指令SHR功能:向右移位,不考虑符号位所以,逻辑右移与算术右移的区别是,符号位用0填充,而不是用原本的符号位填充。CF最低位最高位逻辑右移SHR0逻辑移位算术移位算术左移指令SAL算术右移指令SAR逻辑左移指令SHL逻辑右移指令SHR区别:符号位用0填充,不用原符号位填充综上,无论用哪种移位指令,都会影响到CF标志位,当然,还有PF,SF,ZF和OF这些标志位。CF最低位最高位逻辑右移SHR0最低位最高位CF0算术/逻辑左移SAL/SHLCF算术右移SAR最低位最高位标志位:CF标志位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论