操作数基本类型: 立即数、寄存器操作数、内存操作数
算数运算指令集
指令 | 含义 | 语法 | 意义 |
---|---|---|---|
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