Set de Instrucciones
Enviado por olivero69 • 25 de Marzo de 2012 • 1.786 Palabras (8 Páginas) • 857 Visitas
Set de Instrucciones
Conjunto de Instrucciones
Explicación de cada instrucción
Cuando me refiero a los registros "r" (ya sea r1,r2 o simplemente r) estoy hablando de cualquier registro propio del 8085, A(Acumulador), o los registros B,C,D,E,H,L de 8 bits respectivamente. Estos registros se pueden agrupar por parejas BC,DE,HL (rp) y así formar registros de 16 bits para direccionar una posición de memoria directamente(16 BITS), siendo el par HL el mas importante por tener instrucciones que trabajan directamente con el.
Todas las anteriores:
BYTE= VALOR ENTRE 0 Y FF (0 Y 255 EN DECIMAL)
DOBLE BYTE= DOS BYTES PARA FORMAR 16 BITS
DIRECCION = 16 BITS o 2 BYTES
**Instrucciones Aritmético lógicas:
instrucción código explicación
ADD r 10000RRR Suma al acumulador el registro r y el Resultado queda en el acumulador.
ADD M 10000110 Suma al acumulador el contenido de la posición apuntada por HL y resultado en
acumulador.
ADI 11000110 Suma al acumulador el 2º byte de la Instrucción y resultado en acumulador.
ADC r 10001RRR Suma al acumulador el registro r y el Carry, resultado en acumulador.
ADC M 10001110 Suma a acumulador el contenido de la Posición apuntada por HL y el carry,
result. en acumulador.
ACI 11001110 Suma al acumulador el 2º byte de la Instrucción y el carry y resultado en
acumulador.
SUB r 10010RRR Resta al acumulador el contenido del Registro r y lo deja en el acumulador.
SUB M 10010110 Resta al acumulador el contenido de la Posición que apunta HL y resultado al
acumulador.
SUI 11010110 Resta al acumulador el 2º byte de la
instrucción.
SBB r 10011RRR Resta al acumulador el registro r + el carry.
SBB M 10011110 Resta al acumulador el contenido de la Posición que apunta HL.
SBI 11011110 Resta al acumulador el 2º byte + el carry.
INR r 00RRR100 Incrementa en 1 el registro r.(Z;S;P;AC)
INR M 00110100 Incrementa en 1 el contenido de la Posición que apunta HL (Z;S;P;AC)
DCR r 00RRR101 Decrementa en 1 el registro r (Z;S;P;AC)
DCR M 00110101 Decrementa en 1 el contenido de la Posición que apunta HL (Z;S;P;AC)
INX rp 00RR0011 Incrementa en 1 el par rp de registros.BC,DE,HL
DCX rp 00RR1011 Decrementa en 1 el par rp de registros.BC,DE,HL
DAD rp 00RR1001 Suma a HL el par de registros rp (CY a veces).
DAA 00100111 Los 8 bits del acumulador se ajusta a BCD=decimal.(flags)
ENTRE PARENTESIS() FLAGS AFECTADOS POR LA INSTRUCCION.
Todas las anteriores:
Instrucción código (Hex) instrucción código (Hex)
ADD A 87 ADC A 8F
ADD B 80 ADC B 88
ADD C 81 ADC C 89
ADD D 82 ADC D 8A
ADD E 83 ADC E 8B
ADD H 84 ADC H 8C
ADD L 85 ADC L 8D
ADD M 86 ADC M 8E
SUB A 97 SBB A 9F
SUB B 90 SBB B 98
SUB C 91 SBB C 99
SUB D 92 SBB D 9A
SUB E 93 SBB E 9B
SUB H 94 SBB H 9C
SUB L 95 SBB L 9D
SUB M 96 SBB M 9E
INR A 3C DCR A 3D
INR B 04 DCR B 05
INR C 0C DCR C 0D
INR D 14 DCR C 15
INR E 1C DCR D 1D
INR H 24 DCR H 25
INR L 2C DCR L 2D
INR M 34 DCR M 35
INX B 03 DCX B 0B
INX D 13 DCX D 1B
INX H 23 DCX H 2B
INX SP 33 DCX SP 3B(SP=STACK POINTER)
ADI BYTE C6 DAD B D9
ACI BYTE CE DAD D 19
SUI BYTE D6 DAD H 29
SBI BYTE DE DAD SP 39
DAA 27
**Intrucciones lógicas:
Instrucción código Explicación
ANA r 10100RRR AND entre el acumulador y el registro r (flags, CY=0,AC=1)
ANA M 10100110 AND entre el acumulador y el contenido
De la posición apuntada por HL (flags Ídem)
ANI 11100110 AND entre el acumulador y el 2º byte de La instrucción (flags ídem)
XRA r 10101RRR OR Exclusiva entre el acumulador y el registro r (flags,CY y AC=0)
XRA M 10110110 OR Exclusiva entre el acumulador y el contenido de la posición de HL(flags
ídem)
XRI 11101110 OR Exclusiva entre el acumulador y el 2º Byte de la instrucción(flags ídem)
ORA r 10110RRR OR entre el acumulador y el registro r(flags ídem)
ORA M 10110110 OR entre el acumulador y el contenido de la posición apuntada por HL(flags ídem)
ORI 11110110 OR entre acumulador y 2º byte de la instrucción(ídem)
CMP r 10111RRR Compara el acumulador con el registro r no laterando el contenido del
acumulador(si A=1 Z=1,si A<r CY=1,flags)
CMP M 10111110 Compara el acumulador con el contenido de la posición apuntada por HL (flags
ídem)
CPI 11111110 Compara el acumulador con el 2º byte de la instruc.(ídem)
RLC 00000111 Rotación del contenido del acumulador un lugar a la izquierda(flags, CY y bit 0=
valor bit 7 del acumulador)
RRC 00001111 Rotación del contenido del acumulador un lugar a la derecha(flags, CY y bit 7=
bit 0 del acumulador)
RAL 00010111 Rotación del acumulador un lugar a la izquierda intercalando el CY (CY)
RAR 00011111 iden anterior pero a la derecha (CY)
CMA 00101111 Complementa el contenido edl acumulador bit a bit
CMC 00111111 Complementa el contenido del carry CY(CY)
STC 00110111 Fija CY a 1 (CY)
todas ellas:
instrucción código instrucción código
ANA A A7 XRA A AF
ANA B A0 XRA B A8
ANA C A1 XRA C A9
ANA D A2 XRA D AA
ANA E A3 XRA E AB
ANA H A4 XRA H AC
ANA L A5 XRA L AD
ANA M A6 XRA M AE
ORA A B7 CMP A BF
ORA B B0 CMP B B8
ORA C B1 CMP C B9
ORA D B2 CMP D BA
ORA E B3 CMP E BB
ORA H B4 CMP H BC
ORA L B5 CMP L BD
ORA M B6 CMP M BE
CMA 2F RLC 07
STC 37 RRC 0F
CMC 3F RAL 17
RAR 1F
ANI BYTE E6
XRI BYTE EE
ORI BYTE F6
CPI BYTE
...