最近在学习 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 |