汇编 shl和shr指令的使用
2016-08-28 08:30
1841 查看
shl和shr是逻辑移位指令。
shl是逻辑左移指令,它的功能为:
(1)将一个寄存器或内存单元中的数据向左移位;
(2)将最后移出的一位写入CF中;
(3)最低位用0补充。
指令:
mov al,01001000b
shl al,1 ;将al中数据左移一位
执行后(al)=10010000b,CF=0。
注意:
如果移动位数大于1时,必须将移动位数放在cl中。
比如,指令:
mov al,01010001b
mov cl,3
shl al,cl
执行后(al)=10001000b,因为最后移出的一位是0,所以CF=0。
shr是逻辑右移指令,它和shl所进行的操作刚好相反。
shl是逻辑左移指令,它的功能为:
(1)将一个寄存器或内存单元中的数据向左移位;
(2)将最后移出的一位写入CF中;
(3)最低位用0补充。
指令:
mov al,01001000b
shl al,1 ;将al中数据左移一位
执行后(al)=10010000b,CF=0。
注意:
如果移动位数大于1时,必须将移动位数放在cl中。
比如,指令:
mov al,01010001b
mov cl,3
shl al,cl
执行后(al)=10001000b,因为最后移出的一位是0,所以CF=0。
shr是逻辑右移指令,它和shl所进行的操作刚好相反。
相关文章推荐
- 汇编指令--移位操作SHL、SHR、CAL、CAR
- Linux操作系统的简单指令及如何使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。
- SHL与SHR指令
- 1.2.在linux环境实践,使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。并熟悉相关指令。
- SHL、SHR指令的区别
- 80386(win32汇编) .if .else .endif 伪指令的使用
- Win32ASM学习[13]:移位指令SHL,SHR,SAL,SAR,ROL,ROR,RCL,RCR,SHLD,SHRD
- 浅析arm汇编中指令使用学习
- 汇编语言中loop指令的使用
- 一个卓有成效的汇编优化范例--使用SSE2指令优化进制转化
- 使用PMULHW或PMADDWD指令对RGB颜色转换至YCbCr颜色的汇编优化
- 学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD
- 汇编移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR
- 初学 Delphi 嵌入汇编[18] - SHL 与 SHR
- mips汇编程序中的.set指令使用
- Win32 汇编 - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD
- 浅析arm汇编中^、!、cxsf符号和movs等指令使用学习-之1
- ARM汇编中^、!、cxsf符号和movs等指令使用
- 汇编指令之shl
- 一文读懂除法溢出-使用汇编重定向0号中端(除法错误中断,比如,执行div指令产生的除法溢出)