汇编之算术移位指令
2016-07-27 15:35
330 查看
算术移位指令分为算术左移SAL和算术右移SAR,指令格式如下:
SAL/SAR Reg/Mem, CL/lmm
受影响的标志位位CF、OF、PF、SF、和ZF。
1.算术左移把目的操作数的低位向高位移,空出的低位补0
举例1:(AH)=12H,执行SAL AH,1指令后,(AH)=24H
详细解释:AH化为二进制数为00010010,左移一位后为00100100,即为24H
举例2:(BL)=0A9H,执行SAL BL,1后,(BL)=52H
详细解释:BL化为二进制为10101001,左移一位后为01010010,即为52H
2.算术右移把目的操作数的高位向低位移,空出的高位用高位(符号位)填补。
举例1:(AH)=12H,执行SAR AH,1指令后,(AH)=09H
详细解释:AH化为二进制数为00010010,右移一位后为00001001,即为09H
举例2:(BL)=0A9H,执行SAR BL,1后,(BL)=0D4H
详细解释:BL化为二进制为10101001(此时高位为1),右移一位后为11010100(最高位的1是用高位填补得来的),即为0D4H
SAL/SAR Reg/Mem, CL/lmm
受影响的标志位位CF、OF、PF、SF、和ZF。
1.算术左移把目的操作数的低位向高位移,空出的低位补0
举例1:(AH)=12H,执行SAL AH,1指令后,(AH)=24H
详细解释:AH化为二进制数为00010010,左移一位后为00100100,即为24H
举例2:(BL)=0A9H,执行SAL BL,1后,(BL)=52H
详细解释:BL化为二进制为10101001,左移一位后为01010010,即为52H
2.算术右移把目的操作数的高位向低位移,空出的高位用高位(符号位)填补。
举例1:(AH)=12H,执行SAR AH,1指令后,(AH)=09H
详细解释:AH化为二进制数为00010010,右移一位后为00001001,即为09H
举例2:(BL)=0A9H,执行SAR BL,1后,(BL)=0D4H
详细解释:BL化为二进制为10101001(此时高位为1),右移一位后为11010100(最高位的1是用高位填补得来的),即为0D4H
相关文章推荐
- 【通讯术语】RADIUS
- hdu 1527 取石子游戏 (威佐夫博奕)
- Node.js exports 和 require 两个对象
- hdu 4027(线段树区间开方求和)
- 你听说过哪些坑人 or 赚钱的歪点子?真是骗局太多,傻子都不够用啊!
- SqlServer_Sql防止注入
- 通用权限管理设计 之 数据库结构设计
- mariadb多源复制中只同步1个库
- Using Visual Studio to Debug JavaScript in IE
- 破解Idea 16注册机
- 相机模型与标定(十二)--opencv圆形标志点检测算法
- python 实战 登录注册
- html img图片标签alt和title属性
- 3326顺序表应用3:元素位置互换之移位算法
- 孤傲苍狼 只为成功找方法,不为失败找借口! javaweb学习总结(十五)——JSP基础语法 任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语
- 欢迎使用CSDN-markdown编辑器
- error C2665: 2 个重载中没有一个可以转换所有参数类型
- Unity实现画线条功能
- [LeetCode练习题-C语言]169. Majority Element
- 谈谈maven配置