常见汇编指令

下面是一些包含汇编指令 MOV、PUSH、POP、LEA、LDS、ADD、ADC、INC、SUB、SBB、DEC、CMP、MUL、DIV、AND、OR、XOR、NOT、TEST、SHL、SAL、SHR、SAR、ROL、ROR、RCL、RCR、LODS、MOVS 的例题。这些例题展示了每条指令的用法及其作用。

1. MOV 指令

assembly 复制代码
MOV AX, BX   ; 将寄存器 BX 的值复制到寄存器 AX
MOV AX, [SI] ; 将 SI 寄存器指向的内存位置的值加载到 AX
MOV [DI], AX ; 将 AX 的值存储到 DI 寄存器指向的内存位置

2. PUSH 指令

assembly 复制代码
PUSH AX     ; 将寄存器 AX 的值压入堆栈
PUSH BX     ; 将寄存器 BX 的值压入堆栈

3. POP 指令

assembly 复制代码
POP AX      ; 从堆栈弹出一个值到寄存器 AX
POP BX      ; 从堆栈弹出一个值到寄存器 BX

4. LEA 指令

assembly 复制代码
LEA DX, [BX+SI] ; 将有效地址 BX+SI 加载到 DX
LEA AX, [BP+2]  ; 将 BP+2 的地址加载到 AX

5. LDS 指令

assembly 复制代码
LDS SI, [BP]    ; 加载 DS:SI 指针,用 BP 指向的内存内容

6. ADD 指令

assembly 复制代码
ADD AX, BX     ; 将 BX 的值加到 AX
ADD AL, 5      ; 将 5 加到 AL

7. ADC 指令

assembly 复制代码
ADC AX, BX     ; 带进位的 AX 加 BX

8. INC 指令

assembly 复制代码
INC AX         ; 将 AX 加 1
INC [SI]       ; 将 SI 指向的内存位置的值加 1

9. SUB 指令

assembly 复制代码
SUB AX, BX     ; 将 BX 从 AX 中减去
SUB AL, 10     ; 将 10 从 AL 中减去

10. SBB 指令

assembly 复制代码
SBB AX, BX     ; 带借位的 AX 减去 BX

11. DEC 指令

assembly 复制代码
DEC AX         ; 将 AX 减 1
DEC [SI]       ; 将 SI 指向的内存位置的值减 1

12. CMP 指令

assembly 复制代码
CMP AX, BX     ; 比较 AX 和 BX
CMP AL, 10     ; 比较 AL 和 10

13. MUL 指令

assembly 复制代码
MUL BX         ; 无符号乘法 AX = AL * BX 或者 DX:AX = AX * BX

14. DIV 指令

assembly 复制代码
DIV BX         ; 无符号除法 AX = DX:AX / BX

15. AND 指令

assembly 复制代码
AND AX, BX     ; 按位与 AX 和 BX
AND AL, 0Fh    ; 按位与 AL 和 0Fh

16. OR 指令

assembly 复制代码
OR AX, BX      ; 按位或 AX 和 BX
OR AL, 0Fh     ; 按位或 AL 和 0Fh

17. XOR 指令

assembly 复制代码
XOR AX, BX     ; 按位异或 AX 和 BX
XOR AL, 0Fh    ; 按位异或 AL 和 0Fh

18. NOT 指令

assembly 复制代码
NOT AX         ; 按位取反 AX

19. TEST 指令

assembly 复制代码
TEST AX, BX    ; 按位与 AX 和 BX,但不存储结果,只修改标志位
TEST AL, 01h   ; 测试 AL 的最低位

20. SHL 指令

assembly 复制代码
SHL AX, 1      ; 左移 AX 中的所有位,移出位进入进位标志
SHL AX, CL     ; 左移 AX 中的所有位,移位数由 CL 指定

21. SAL 指令

assembly 复制代码
SAL AX, 1      ; 算术左移 AX 中的所有位

22. SHR 指令

assembly 复制代码
SHR AX, 1      ; 逻辑右移 AX 中的所有位
SHR AX, CL     ; 逻辑右移 AX 中的所有位,移位数由 CL 指定

23. SAR 指令

assembly 复制代码
SAR AX, 1      ; 算术右移 AX 中的所有位

24. ROL 指令

assembly 复制代码
ROL AX, 1      ; 循环左移 AX 中的所有位

25. ROR 指令

assembly 复制代码
ROR AX, 1      ; 循环右移 AX 中的所有位

26. RCL 指令

assembly 复制代码
RCL AX, 1      ; 通过进位标志循环左移 AX 中的所有位

27. RCR 指令

assembly 复制代码
RCR AX, 1      ; 通过进位标志循环右移 AX 中的所有位

28. LODS 指令

assembly 复制代码
LODSB          ; 将 DS:SI 指向的字节加载到 AL,并递增或递减 SI
LODSW          ; 将 DS:SI 指向的字加载到 AX,并递增或递减 SI

29. MOVS 指令

assembly 复制代码
MOVSB          ; 将 DS:SI 指向的字节移动到 ES:DI 指向的位置,并递增或递减 SI 和 DI
MOVSW          ; 将 DS:SI 指向的字移动到 ES:DI 指向的位置,并递增或递减 SI 和 DI
相关推荐
我在人间贩卖青春5 天前
汇编之伪指令
汇编·伪指令
我在人间贩卖青春5 天前
汇编之伪操作
汇编·伪操作
济6175 天前
FreeRTOS基础--堆栈概念与汇编指令实战解析
汇编·嵌入式·freertos
myloveasuka5 天前
汇编TEST指令
汇编
我在人间贩卖青春5 天前
汇编编程驱动LED
汇编·点亮led
我在人间贩卖青春5 天前
汇编和C编程相互调用
汇编·混合编程
myloveasuka6 天前
寻址方式笔记
汇编·笔记·计算机组成原理
请输入蚊子6 天前
《操作系统真象还原》 第六章 完善内核
linux·汇编·操作系统·bochs·操作系统真像还原
myloveasuka6 天前
指令格式举例
汇编·笔记·计算机组成原理
我在人间贩卖青春7 天前
汇编之分支跳转指令
汇编·arm·分支跳转