Está en la página 1de 2

Cartilla reducida Intel 8086/8088

Instrucciones: Instruccin Op1


ADD ADC SUB SBB MUL r, m r, m r, m r, m r

Op2
r,m,i r,m,i r,m,i r,m,i

Operacin
op1 = op1 + op2 op1 = op1 + op2 + c op1 = op1 - op2 op1 = op1 - op2 - c Si r de 8 bits: AX = AL * op1 Si r de 16 bits: DX.AX = AX * op1 Si r de 8 bits: AL = AX div op1 AH = AX mod op1 Si r de 16 bits: AX = DX.AX div op1 DX = DX.AX mod op1 op1 = not op1 + 1 AX = AL (Se expande el signo) op1 = op1 + 1 op1 = op1 - 1 op1 = op1 and op2 op1 = op1 or op2 op1 = op1 xor op2 op1 = not op1 op1 == op2 (Se setean las flags, op1 no cambia)

Flags
O, S, Z, P, C, A O, S, Z, P, C, A O, S, Z, P, C, A O, S, Z, P, C, A O, S, Z, P, C, A

DIV NEG CBW INC DEC AND OR XOR NOT CMP SAL SAR SHL SHR ROL ROR MOV IN OUT CLC STC CLI STI JMP CALL RET r, m r, m r, m

r r, m r, m r, m r, m, i r, m, i r, m, i r, m r, m r, m, i r, m r, m r, m r, m r, m r, m r, m

O, S, Z, P, C, A O, S, Z, P, C, A O, S, Z, P, A O, S, Z, P, A S, Z, P, C = 0, OF = 0, A S, Z, P, C = 0, OF = 0, A S, Z, P, C = 0, OF = 0, A O, S, Z, P, C, A O, S, Z, P, C, A O, S, Z, P, C, A O, S, Z, P, C, A O, S, Z, P, C, A O, C O, C

1, CL op1 se desplaza op2 lugares a la izquierda. op1 se desplaza op2 lugares a la derecha. 1, CL Mantiene el signo. 1, CL op1 se desplaza op2 lugares a la izquierda. 1, CL op1 se desplaza op2 lugares a la derecha. 1, CL op1 rota op2 lugares a la izquierda. 1, CL op1 rota op2 lugares a la derecha. r, m, i op1 = op2 (No mueve memoria-memoria)

AL, AX i, DX op1 = in(op2) i, DX AL, AX out(op1) = op2 a, R, M, A, W a, R, M, A, W a, R, M, A, W Apaga la flag de carry. Enciende la flag de carry. Deshabilita interrupciones. Habilita interrupciones. Si es near: IP = op1 Si es far: CS:IP = op1 Si es near: PUSH IP, IP = op1 Si es far: PUSH CS, PUSH IP, CS:IP = op1 Si es near: POP IP Si es far: POP CS, POP IP C=0 C=1 I=0 I=1

Instruccin
JA-JNBE JB-JNAE-JC JNB-JAE JBE-JNA JE-JZ JG-JNLE JGE-JNL JL-JNGE JNG-JLE JNC JNE-JNZ JNO JNS JO JS INT IRET PUSH POP PUSHF POPF

Op1
d d d d d d d d d d d d d d d

Op2

Operacin
Si (CF == 0 && ZF == 0) IP = IP + op1 Si (CF == 1) IP = IP + op1 Si (CF == 0) IP = IP + op1 Si (CF == 1 || ZF == 1) IP = IP + op1 Si (ZF == 1) IP = IP + op1 Si (ZF == 0 && SF == OF) IP = IP + op1 Si (SF == OF) IP = IP + op1 Si (SF != OF) IP = IP + op1 Si (ZF == 1 && SF != OF) IP = IP + op1 Si (C == 0) IP = IP + op1 Si (Z == 0) IP = IP + op1 Si (O == 0) IP = IP + op1 Si (S == 0) IP = IP + op1 Si (O == 1) IP = IP + op1 Si (S == 1) IP = IP + op1 PUSHF, PUSH CS, PUSH IP CS:IP = Mem[op1 * 4] POP IP, POP CS, POPF SP = SP - 2, Mem[SP] = op1 op1 = Mem[SP], SP = SP + 2 SP = SP - 2, Mem[SP] = flags flags = Mem[SP], SP = SP + 2

Flags

0x00 ... 0xFF R, M R, M -

I = 0, T = 0 Todas.

Todas.

Referencia sobre tipo de parmetros: A - Direccin absoluta inmediata (4 bytes) a - Direccin absoluta inmediata (2 bytes) i - Operando inmediato (1 o 2 bytes) d - Desplazamiento inmediato (1 byte) r - Registro de uso general (de 8 o 16 bits) Flags: OF Overflow IF Interrupt TF Trap SF Sign

R - Registro de uso general (de 16 bits) m - Palabra de memoria (1 o 2 bytes) M - Palabra de memoria (2 bytes) W - Doble palabra de memoria (4 bytes) _X, _H, _L - Registro especfico ZF Zero PF Parity CF Carry AF Auxiliary Carry

Leyenda: flag Afectada por operacin - flag Resultado indeterminado - flag = valor Valor resultante Direccionamiento de memoria: Cuando el operando es m, M o w Directo : Operando inmediato. La direccin est en la instruccin. Indirecto: En alguna de las tres siguientes formas { BX | BP} [ {+ SI | DI} ] [ + desplazamiento ] {+ SI | DI} [ + desplazamiento ] desplazamiento

También podría gustarte