Base Instructions
144 x86 instructions in this extension - showing 100 per page, page 1 of 2 - click any row for encoding, pseudocode, and full documentation.
| Mnemonic | Syntax | Format | Summary |
|---|---|---|---|
| adc | ADC r/m, r | Legacy | Adds operands and the Carry Flag (CF). |
| add | ADD r/m, r | Legacy | Adds src to dest and stores result in dest. |
| and | AND r/m, r | Legacy | Performs bitwise AND. |
| bsf | BSF r, r/m | Legacy | Scans for LSB set to 1. |
| bsr | BSR r, r/m | Legacy | Scans for MSB set to 1. |
| bswap | BSWAP r32 | Legacy | Reverses the byte order of a register (Endian swap). |
| bswap | BSWAP r | Legacy | Reverses the byte order of a 32/64-bit register. |
| bt | BT r/m, r | Legacy | Selects a bit and stores it in CF. |
| btc | BTC r/m, r | Legacy | Stores bit in CF and complements the bit. |
| btr | BTR r/m, r | Legacy | Stores bit in CF and clears bit to 0. |
| bts | BTS r/m, r | Legacy | Stores bit in CF and sets bit to 1. |
| call | CALL rel | Legacy | Push EIP/RIP and jump to target. |
| cbw | CBW | Legacy | Sign-extends AL into AX. |
| clc | CLC | Legacy | Sets the CF flag to 0. |
| cld | CLD | Legacy | Sets DF to 0 (String operations increment). |
| cli | CLI | Legacy | Disables maskable hardware interrupts. |
| cltd | CLTD | Legacy | Sign-extends EAX into EDX:EAX (also CDQ). |
| cmc | CMC | Legacy | Toggles the CF flag. |
| cmp | CMP r/m, r | Legacy | Subtracts src from dest and updates flags (dest not modified). |
| cmps | CMPSB | Legacy | Compares byte/word at [ESI] with [EDI]. |
| cmpsd | CMPSD | Legacy | Compares doubleword at [ESI] with [EDI]. |
| cmpsw | CMPSW | Legacy | Compares word at [ESI] with [EDI]. |
| cmpxchg | CMPXCHG r/m, r | Legacy | Compares accumulator with dest; if equal, dest = src; else accumulator = dest. |
| cmpxchg8b | CMPXCHG8B m64 | Legacy | Atomically compares EDX:EAX with memory; swaps if equal. |
| cpuid | CPUID | Legacy | Returns processor information based on EAX value. |
| cwd | CWD | Legacy | Sign-extends AX into DX:AX. |
| cwtl | CWTL | Legacy | Sign-extends AX into EAX (also CWDE). |
| dec | DEC r/m | Legacy | Decrements the operand by 1. |
| div | DIV r/m | Legacy | Unsigned divide (AX / src). |
| enter | ENTER imm16, imm8 | Legacy | Creates a stack frame for procedure parameters. |
| hlt | HLT | Legacy | Stops instruction execution and places processor in HALT state. |
| idiv | IDIV r/m | Legacy | Signed divide (AX / src). |
| imul | IMUL r, r/m | Legacy | Signed multiply. |
| in | IN AL, imm8 | Legacy | Reads data from an I/O port into AL/AX/EAX. |
| in | IN AL/AX/EAX, DX | Legacy | Reads data from I/O port specified in DX. |
| inc | INC r/m | Legacy | Increments the operand by 1. |
| ins | INSB | Legacy | Reads string from I/O port to memory at [EDI]. |
| insd | INSD | Legacy | Reads doubleword from I/O port to memory at [EDI]. |
| insw | INSW | Legacy | Reads word from I/O port to memory at [EDI]. |
| int | INT imm8 | Legacy | Calls to interrupt procedure. |
| int1 | INT1 | Legacy | Single byte opcode (0xF1) used for In-Circuit Emulation. |
| int3 | INT3 | Legacy | Calls to interrupt vector 3 (Debugger breakpoint). |
| iret | IRET | Legacy | Returns from an interrupt, exception, or task handler. |
| iretd | IRETD | Legacy | Returns from interrupt (32-bit operand size). |
| ja | JA rel | Legacy | Jump if CF=0 and ZF=0 (Unsigned >). |
| jb | JB rel | Legacy | Jump if CF=1 (Unsigned <). |
| je | JE rel | Legacy | Jump if ZF=1 (Same as JZ). |
| jecxz | JECXZ rel | Legacy | Jumps if ECX register is 0. |
| jg | JG rel | Legacy | Jump if ZF=0 and SF=OF (Signed >). |
| jl | JL rel | Legacy | Jump if SF!=OF (Signed <). |
| jmp | JMP rel | Legacy | Unconditional jump to target. |
| jne | JNE rel | Legacy | Jump if ZF=0 (Same as JNZ). |
| jno | JNO rel | Legacy | Jump near if overflow flag is 0. |
| jnp | JNP rel | Legacy | Jump near if parity flag is 0 (Odd parity). |
| jns | JNS rel | Legacy | Jump near if sign flag is 0 (Positive). |
| jo | JO rel | Legacy | Jump near if overflow flag is 1. |
| jp | JP rel | Legacy | Jump near if parity flag is 1 (Even parity). |
| js | JS rel | Legacy | Jump near if sign flag is 1 (Negative). |
| lahf | LAHF | Legacy | Loads bits 0, 2, 4, 6, and 7 of EFLAGS into AH. |
| lea | LEA r, m | Legacy | Computes effective address and stores in register. |
| leave | LEAVE | Legacy | Releases stack frame (MOV ESP, EBP; POP EBP). |
| lfs | LFS r, m | Legacy | Loads pointer into FS and register. |
| lgs | LGS r, m | Legacy | Loads pointer into GS and register. |
| lods | LODSB | Legacy | Loads byte/word/dword from [ESI] into AL/AX/EAX. |
| lodsd | LODSD | Legacy | Loads doubleword from [ESI] into EAX. |
| lodsw | LODSW | Legacy | Loads word from [ESI] into AX. |
| loop | LOOP rel | Legacy | Decrements ECX/RCX and jumps if not zero. |
| loope | LOOPE rel | Legacy | Decrements count; jumps if count!=0 and ZF=1. |
| loopne | LOOPNE rel | Legacy | Decrements count; jumps if count!=0 and ZF=0. |
| lss | LSS r, m | Legacy | Loads pointer into SS and register. |
| mov | MOV r/m, r | Legacy | Copies data from source to destination. |
| movsd | MOVSD | Legacy | Moves doubleword from [ESI] to [EDI]. |
| movsw | MOVSW | Legacy | Moves word from [ESI] to [EDI]. |
| movsx | MOVSX r, r/m | Legacy | Copies and sign-extends a smaller value to a larger register. |
| movzx | MOVZX r, r/m | Legacy | Copies and zero-extends a smaller value to a larger register. |
| mul | MUL r/m | Legacy | Unsigned multiply (AX = AL * src). |
| neg | NEG r/m | Legacy | Negates value (0 - operand). |
| nop | NOP | Legacy | Does nothing (alias for XCHG EAX, EAX). |
| not | NOT r/m | Legacy | Reverses bits of operand. |
| or | OR r/m, r | Legacy | Performs bitwise OR. |
| out | OUT imm8, AL | Legacy | Writes data from AL/AX/EAX to an I/O port. |
| out | OUT DX, AL/AX/EAX | Legacy | Writes data to I/O port specified in DX. |
| outs | OUTSB | Legacy | Writes string from memory at [ESI] to I/O port. |
| outsd | OUTSD | Legacy | Writes doubleword from memory at [ESI] to I/O port. |
| outsw | OUTSW | Legacy | Writes word from memory at [ESI] to I/O port. |
| pause | PAUSE | Legacy | Improves performance of spin-wait loops (alias for REP NOP). |
| pop | POP r/m | Legacy | Loads operand from stack and increments SP. |
| popf | POPF | Legacy | Pops stack into EFLAGS. |
| push | PUSH r/m | Legacy | Decrements SP and stores operand on stack. |
| pushf | PUSHF | Legacy | Pushes EFLAGS onto stack. |
| rcl | RCL r/m, imm8 | Legacy | Rotates bits left through Carry Flag. |
| rcr | RCR r/m, imm8 | Legacy | Rotates bits right through Carry Flag. |
| rdtsc | RDTSC | Legacy | Reads the time-stamp counter into EDX:EAX. |
| rdtscp | RDTSCP | Legacy | Reads TSC into EDX:EAX and Processor ID into ECX. |
| rep movs | REP MOVS m, m | Legacy | Moves ECX bytes/words from [ESI] to [EDI]. |
| rep stos | REP STOS m | Legacy | Fills [EDI] with AL/AX/EAX for ECX repeats. |
| repe cmps | REPE CMPS m, m | Legacy | Compares [ESI] and [EDI] until mismatch or ECX=0. |
| repne scas | REPNE SCAS m | Legacy | Scans [EDI] for AL/AX/EAX until match or ECX=0. |
| ret | RET | Legacy | Pop EIP/RIP and resume execution. |
| rol | ROL r/m, imm8 | Legacy | Rotates bits left. |