操作数基本类型: 立即数、寄存器操作数、内存操作数
算数运算指令集
| 指令 | 含义 | 语法 | 意义 |
|---|---|---|---|
| INC | 操作数+1 | inc eax | eax + 1 |
| DEC | 操作数-1 | dec eax | eax - 1 |
| ADD | 长度相同的源操作数和目的操作数相加 | add eax, ebx | eax = eax + ebx |
| SUB | 长度相同的目的操作数减去源操作数 | sub eax, ebx | eax = eax - ebx |
| NEG | 将操作数取补,符号取反 | neg eax | eax = - eax |
数据相关运算符和伪指令
| 指令 | 含义 | 语法 | 含义 |
|---|---|---|---|
| OFFSET | 返回数据标号的偏移量 | mov esi, OFFSET buffer | 将buffer的地址移到esi |
| PTR | 重写被声明过的操作数大小 | mov ax,WORD PTR (12345678h) | 将(12345678h)中低16位传给ax,ax = (5678h) |
| TYPE | 返回变量单个元素大小 | TYPE BYTE = 1 TYPE WORD = 2 | BYTE 1个字节 WORD 2个字节 |
| LENGTHOF | 计算元素个数 | LENGTHOF(1, 2, 3)= 3 | (1, 2, 3)中有三个元素 |
| SIZEOF | 返回变量总大小 即TYPE * LENGTHOF | SIZEOF(WORD 1, 2, 3) | (WORD 1, 2, 3)的大小为2 * 3 = 6 |
无条件跳转:JMP
条件跳转: LOOP
本文详细介绍了汇编语言中的基本指令集,包括算术运算指令如加、减、增、减、取补等,以及数据相关运算符和伪指令如OFFSET、PTR、TYPE、LENGTHOF、SIZEOF等。此外,还解释了无条件跳转和条件跳转指令的使用。

667

被折叠的 条评论
为什么被折叠?



