0% encontró este documento útil (0 votos)
54 vistas2 páginas

Cartilla Intel

Este documento proporciona una cartilla reducida de las instrucciones del microprocesador Intel 8086/8088. Explica las operaciones básicas como suma, resta, multiplicación, división y lógicas, así como instrucciones de control de flujo, E/S, banderas y direccionamiento de memoria.

Cargado por

Sofi Suárez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
54 vistas2 páginas

Cartilla Intel

Este documento proporciona una cartilla reducida de las instrucciones del microprocesador Intel 8086/8088. Explica las operaciones básicas como suma, resta, multiplicación, división y lógicas, así como instrucciones de control de flujo, E/S, banderas y direccionamiento de memoria.

Cargado por

Sofi Suárez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Cartilla reducida Intel 8086/8088

Instrucciones:
Instrucción Op1 Op2 Operación Flags
ADD r, m r,m,i op1 = op1 + op2 O, S, Z, P, C, A
ADC r, m r,m,i op1 = op1 + op2 + c O, S, Z, P, C, A
SUB r, m r,m,i op1 = op1 - op2 O, S, Z, P, C, A
SBB r, m r,m,i op1 = op1 - op2 - c O, S, Z, P, C, A
Si r de 8 bits: AX = AL * op1
MUL r O, S, Z, P, C, A
Si r de 16 bits: [Link] = AX * op1
Si r de 8 bits: AL = AX div op1
AH = AX mod op1
DIV r O, S, Z, P, C, A
Si r de 16 bits: AX = [Link] div op1 DX =
[Link] mod op1
NEG r, m op1 = not op1 + 1 O, S, Z, P, C, A
CBW AX = AL (Se expande el signo)
INC r, m op1 = op1 + 1 O, S, Z, P, A
DEC r, m op1 = op1 - 1 O, S, Z, P, A

AND r, m r, m, i op1 = op1 and op2 S, Z, P, C = 0, OF = 0, A


OR r, m r, m, i op1 = op1 or op2 S, Z, P, C = 0, OF = 0, A
XOR r, m r, m, i op1 = op1 xor op2 S, Z, P, C = 0, OF = 0, A
NOT r, m op1 = not op1
CMP r, m r, m, i op1 == op2 (Se setean las flags, op1 no cambia) O, S, Z, P, C, A
SAL r, m 1, CL op1 se desplaza op2 lugares a la izquierda. O, S, Z, P, C, A
op1 se desplaza op2 lugares a la derecha.
SAR r, m 1, CL O, S, Z, P, C, A
Mantiene el signo.
SHL r, m 1, CL op1 se desplaza op2 lugares a la izquierda. O, S, Z, P, C, A
SHR r, m 1, CL op1 se desplaza op2 lugares a la derecha. O, S, Z, P, C, A
ROL r, m 1, CL op1 rota op2 lugares a la izquierda. O, C
ROR r, m 1, CL op1 rota op2 lugares a la derecha. O, C
MOV r, m r, m, i op1 = op2 (No mueve memoria-memoria)

IN AL, AX i, DX op1 = in(op2)


OUT i, DX AL, AX out(op1) = op2
CLC - Apaga la flag de carry. C=0
STC - Enciende la flag de carry. C=1
CLI - Deshabilita interrupciones. I=0
STI - Habilita interrupciones. I=1
Si es near: IP = op1 Si es
JMP a, R, M, A, W
far: CS:IP = op1
Si es near: PUSH IP, IP = op1
CALL a, R, M, A, W
Si es far: PUSH CS, PUSH IP, CS:IP = op1
Si es near: POP IP
RET a, R, M, A, W
Si es far: POP IP, POP CS
Instrucción Op1 Op2 Operación Flags
JA-JNBE d Si (CF == 0 && ZF == 0) IP = IP + op1
JB-JNAE-JC d Si (CF == 1) IP = IP + op1
JNB-JAE d Si (CF == 0) IP = IP + op1
JBE-JNA d Si (CF == 1 || ZF == 1) IP = IP + op1
JE-JZ d Si (ZF == 1) IP = IP + op1
JG-JNLE d Si (ZF == 0 && SF == OF) IP = IP + op1
JGE-JNL d Si (SF == OF) IP = IP + op1
JL-JNGE d Si (SF != OF) IP = IP + op1
JNG-JLE d Si (ZF == 1 || SF != OF) IP = IP + op1
JNC d Si (C == 0) IP = IP + op1
JNE-JNZ d Si (Z == 0) IP = IP + op1
JNO d Si (O == 0) IP = IP + op1
JNS d Si (S == 0) IP = IP + op1
JO d Si (O == 1) IP = IP + op1
JS d Si (S == 1) IP = IP + op1

PUSHF, PUSH CS, PUSH IP CS:IP =


INT 0x00 ... 0xFF I = 0, T = 0
Mem[op1 * 4]
IRET - POP IP, POP CS, POPF Todas.
PUSH R, M SP = SP - 2, Mem[SP] = op1

POP R, M op1 = Mem[SP], SP = SP + 2


PUSHF - SP = SP - 2, Mem[SP] = flags
POPF - flags = Mem[SP], SP = SP + 2 Todas.

Referencia sobre tipo de parámetros:


• A - Dirección absoluta inmediata (4 bytes) • R - Registro de uso general (de 16 bits)
• a - Dirección absoluta inmediata (2 bytes) • m - Palabra de memoria (1 o 2 bytes)
• i - Operando inmediato (1 o 2 bytes) • M - Palabra de memoria (2 bytes)
• d - Desplazamiento inmediato (1 byte) • W - Doble palabra de memoria (4 bytes)
• r - Registro de uso general (de 8 o 16 bits) • _X, _H, _L - Registro específico

Flags:
• OF – Overflow • ZF – Zero
• IF – Interrupt • PF – Parity
• TF – Trap • CF – Carry
• SF – Sign • AF – Auxiliary Carry
Leyenda:
flag Afectada por operación - flag Resultado indeterminado - flag = valor Valor resultante

Direccionamiento de memoria:
Cuando el operando es m, M o w
• Directo : Operando inmediato. La dirección está en la instrucción.
• Indirecto: En alguna de las tres siguientes formas
{ BX | BP} [ {+ SI | DI} ] [ + desplazamiento ]
{+ SI | DI} [ + desplazamiento ]
desplazamiento

También podría gustarte