最近在学习 16位汇编编程,所以顺便将每日所学记录下来,一方面为了巩固学习的知识,另一方面也为同样在学习汇编开发的童鞋们提供一份参考。
运行环境:
- 操作系统: Windows 10家庭版
 - 编译器:Windows XP Debug
 
位移指令
将操作移动一位或多位,分为逻辑移位和算术移位,分别具有左转和右转操作
逻辑位移
1  | SHL reg/mem,1/CL  | 
demo:
1  | ;左移  | 
左移操作:

demo:
1  | ;右移操作  | 
右移操作:

算术移位
SAL 与 SAR 指令的操作数类型与 SHL 和 SHR 指令完全相同;
SAR算术右移高位补符号位
循环移位指令
将操作数从一段移出的位返回到另一端形成循环,分成不带进程和带进程,分别具有左移和右移操作
1  | ROL reg/mem ;不带进位循环左移  | 
demo:
1  | 0B26:0100 B8EEFF MOV AX,FFEE  | 
