上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
移位操作指令
作者:未知 申领版权
2010年12月12日 共有 1477 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    移位操作指令
    移位操作指令是一组经常使用的指令,它包括算术移位逻辑移位双精度移位循环移位带进位的循环移位等五大类。
    移位指令都有指定移动二进制位数的操作数,该操作数可以是立即数或CL的值。在8086中,该立即数只能为1,但在其后的CPU中,该立即数可以是1··31之内的数。
    1、算术移位指令
    算术移位指令有:算术左移SAL(Shift Algebraic Left)和算术右移SAR(Shift Algebraic Right)。它们的指令格式如下:
    SAL/SAR  Reg/Mem, CL/Imm
    受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。
    算术移位指令的功能描述如下,具体功能下图(a)、(b)所示。
    算术左移SAL把目的操作数的低位向高位移,空出的低位补0;
    算术右移SAR把目的操作数的高位向低位移,空出的高位用最高位(符号位)填补。
    
    

 
    
 
    
 
    
 
    

例5.10 已知(AH)=12H,(BL)=0A9H,试给出分别用算术左移和右移指令移动1位后,寄存器AH和BL的内容。
    解:用算术左移和右移指令移动1位后,寄存器AH和BL的结果如下表所示。
    
    

操作数的初值
    
执行的指令
    
执行后操作数的内容
    
(AH)=12H
    
SAL  AH, 1
    
(AH)=24H
    
(BL)=0A9H
    
SAL  BL, 1
    
(BL)=52H
    
(AH)=12H
    
SAR  AH, 1
    
(AH)=09H
    
(BL)=0A9H
    
SAR  BL, 1
    
(BL)=0D4H
    

下面是学习和理解算术移位指令的控件。它简单、直观地表达了该移位指令的功能,通过它,学习者可准确地掌握计算机系统中该移位指令的含义。
    在该控件中,操作者可随机生成第一操作数,也可自行输入之。为了便于比较,在执行指令前,把原操作数的内容存入“操作前的数据”中。
    
    思考题:下面有两组指令序列,问每组指令执行后,寄存器AX的不会变化吗?
    
    

SAL  AX, 1
    SAR  AX, 1 
    

    
SAR  AX, 1
    SAL  AX, 1
    

 
    
    2、逻辑移位指令
    此组指令有:逻辑左移SHL(Shift Logical Left)和逻辑右移SHR(Shift Logical Right)。它们的指令格式如下:
    SHL/SHR  Reg/Mem, CL/Imm
    受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。
    逻辑左移/右移指令只有它们的移位方向不同,移位后空出的位都补0。它们的具体功能下图(a)、(b)所示。
    
    

 
    
 
    
 
    
 
    

例5.11 已知(AH)=12H,(BL)=0A9H,试给出分别用逻辑左移和右移指令移动1位后,寄存器AH和BL的内容。
    解:用算术左移和右移指令移动1位后,寄存器AH和BL的结果如下表所示。
    
    

操作数的初值
    
执行的指令
    
执行后操作数的内容
    
(AH)=12H
    
SHL  AH, 1
    
(AH)=24H
    
(BL)=0A9H
    
SHL  BL, 1
    
(BL)=52H
    
(AH)=12H
    
SHR  AH, 1
    
(AH)=09H
    
(BL)=0A9H
    
SHR  BL, 1
    
(BL)=54H
    

学习和理解逻辑移位指令的控件。
    
    3、双精度移位指令
    此组指令有:双精度左移SHLD(Shift Left Double)和双精度右移SHRD(Shift Right Double)。它们都是具有三个操作数的指令,其指令的格式如下:
    SHLD/SHRD  Reg/Mem, Reg, CL/Imm        ;80386
    其中:第一操作数是一个16位/32位的寄存器或存储单元;第二操作数(与前者具有相同位数)一定是寄存器;第三操作数是移动的位数,它可由CL或一个立即数来确定。
    在执行SHLD指令时,第一操作数向左移n位,其“空出”的低位由第二操作数的高n位来填补,但第二操作数自己不移动、不改变。
    在执行SHRD指令时,第一操作数向右移n位,其“空出”的高位由第二操作数的低n位来填补,但第二操作数自己也不移动、不改变。
    SHLD和SHRD指令的移位功能示意图如图5.8所示。
    受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)
    
    

 
    
 
    
 
    
 
    

下面是几个双精度移位的例子及其执行结果。
    
    

双精度移位指令
    
指令操作数的初值
    
指令执行后的结果
    
SHLD  AX, BX, 1
    
(AX)=1234H,(BX)=8765H
    
(AX)=2469H
    
SHLD  AX, BX, 3
    
(AX)=1234H,(BX)=8765H
    
(AX)=91A4H
    
SHRD  AX, BX, 2
    
(AX)=1234H,(BX)=8765H
    
(AX)=448DH
    
SHRD  AX, BX, 4
    
(AX)=1234H,(BX)=8765H
    
(AX)=5123H
    

学习和理解双精度移位指令的控件。
    
    4、循环移位指令
    循环移位指令有:循环左移ROL(Rotate Left)和循环右移ROR(Rotate Right)。
    指令的格式:ROL/ROR  Reg/Mem, CL/Imm
    受影响的标志位:CF和OF
    循环左移/右移指令只是移位方向不同,它们移出的位不仅要进入CF,而且还要填补空出的位。具体功能如下图(a)、(b)所示。
    下面是几个循环移位的例子及其执行结果。
    
    

 
    
 
    
 
    
 
    
循环移位指令
    
指令操作数的初值
    
指令执行后的结果
    
ROL  AX, 1
    
(AX)=6789H
    
(AX)=0CF12H
    
ROL  AX, 3
    
(AX)=6789H
    
(AX)=3C4BH
    
ROR  AX, 2
    
(AX)=6789H
    
(AX)=59E2H
    
ROR  AX, 4
    
(AX)=6789H
    
(AX)=9678H
    

学习和理解不带进位的循环移位指令的控件。
    
    5、带进位的循环移位指令
    带进位的循环移位指令有:带进位的循环左移RCL(Rotate Left Through Carry)和带进位的循环右移RCR(Rotate Right)。
    指令的格式:RCL/RCR  Reg/Mem, CL/Imm
    受影响的标志位:CF和OF
    带进位的循环左移/右移指令只有移位的方向不同,它们都用原CF的值填补空出的位,移出的位再进入CF。具体功能如下图(a)、(b)所示。
    下面是几个带进位循环移位的例子及其执行结果。
    
    

 
    
 
    
 
    
 
    
双精度移动指令
    
指令操作数的初值
    
指令执行后的结果
    
RCL  AX, 1
    
CF=0,(AX)=0ABCDH
    
(AX)=579AH
    
RCL  AX, 1
    
CF=1,(AX)=0ABCDH
    
(AX)=579BH
    
RCR  AX, 2
    
CF=0,(AX)=0ABCDH
    
(AX)=AAF3H
    
RCR  AX, 2
    
CF=1,(AX)=0ABCDH
    
(AX)=EAF3H
    

例5.12 编写指令序列把由DX和AX组成的32位二进制算术左移、循环左移1位。
    解:
    学习和理解带进位的循环移位指令的控件。
    
    
    

 

相关新闻

testtest
上善制度的炼成
新时代呼唤管理理论创新——大卫�梯斯与动态能力理论
创业的不变逻辑
创新管理需要回答的5个问题
十一、弥离
十、转院
九、生机
八、传染
七、求血

您可能对这些感兴趣  

干货分享|10本最受国外孩子喜爱的英文词典——上
从孩子的表现看父母的缺点!请家长对号入座,看看你是哪一类?
20条制作PPT的视觉原则
培训简史:培训者必知的历史轨迹
广田丰管理培训生人才培养调查报告
第4讲 作为上司的职业经理
第3讲 作为同事的职业经理
第2讲 作为下属的职业经理
第1讲 培养经理人的管理素养
酒店前台新员工上岗培训计划

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》