You are on page 1of 12

Instrucciones ASSEMBLER 8086

ARITMETICAS
SUMA: ADD op1, op2 (op1 := op1 + op2) ADC op1, op2 (op1 := op1 + op2 + carry flag) RESTA: SUB op1, op2 (op1 := op1 + op2) SBB op1, op2 (op1 := op1 + op2 + carry flag)

ARITMETICAS
MULTIPLICACION: MUL op (AX := AX * op) IMUL op (AX := AX * op) DIVISION: DIV op (AX := AX * op) IDIV op (AX := AX * op)

ARITMETICAS
INCREMENTO: INC op (op := op + 1) DECREMENTO: DEC op (op := op -1) COMPARACION: * CMP op1, op2 (op1 op2)

ARITMETICAS
DESPLAZAMIENTOS: SAL op, cant SAR op, cant ROTACIONES: ROL op, cant ROR op, cant

LOGICAS
Complemento a 2 NEG op (op := op ) Negacion NOT op (op := op) AND AND op1, op2 (op1 := op1 ^ op2) OR OR op1, op2 (op1 := op1 v op2)

LOGICAS
DESPLAZAMIENTO: SHL op, cant SHR op, cant

MANEJO DE FLAGS
CLEAR CARRY CLC (CF = 0) SET CARRY STC (CF = 1)

SALTOS
Salto Incondicional JMP op1 (IP := op1) Salto si CF = 1 (Carry Flag) JC op1 (IP := IP + op1) Salta si CF = 0 JNC op1 (IP := IP + op1)

SALTOS
Salto si ZF = 1 (Zero Flag) JZ op1 (IP := IP + op1) Salto si ZF = 0 JNZ op1 (IP := IP + op1) Salto si OF = 1 (Overflow Flag) JO op1 (IP := IP + op1) Salto si OF = 0 (Overflow Flag) JNO op1 (IP := IP + op1)

SALTOS
Salto si SF = 1 (Sign Flag = 1, negativo) JS op1 (IP := IP + op1) Salto si SF = 0 (Sign Flag = 1, positivo) JNS op1 (IP := IP + op1)

MANEJO DE PILA
Agregar a la Pila PUSH op1 ([SS:SP] := op1) Sacar de la Pila POP op1 (op1 := [SS:SP]) Apila las Flags PUSHF ([SS:SP] := flags) Restaurar las flgas con los valores de la Pila POPF (flags := [SS:SP])

You might also like