常见汇编指令

下面是一些包含汇编指令 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
相关推荐
达帮主1 天前
25.C语言 递归函数
c语言·开发语言·汇编
aq55356003 天前
Laravel2.x:被遗忘的PHP框架遗珠
开发语言·汇编·c#
lhbian3 天前
C# vs 汇编:编程世界的两极对比
开发语言·汇编·c#
zopple4 天前
汇编、C、C++和Java核心技术对比
c语言·汇编·c++
aq55356005 天前
Laravel7.x重磅升级:十大新特性解析
开发语言·汇编·c#·html
aq55356007 天前
三大编程语言深度对比:C# vs 易语言 vs 汇编
开发语言·汇编·c#
aq55356007 天前
编程语言对比:从汇编到PHP的四大层级解析
开发语言·汇编·php
独小乐9 天前
012.整体框架适配SDRAM|千篇笔记实现嵌入式全栈/裸机篇
c语言·汇编·笔记·单片机·嵌入式硬件·arm·gnu
C++ 老炮儿的技术栈9 天前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
cch891810 天前
Java vs 汇编:高级与低级的终极对决
java·开发语言·汇编