Vous êtes sur la page 1sur 2

CONJUNTO DE INSTRUCCIONES DEL MICROPROCESADOR 8085

Descripcin Cdigo Nemotcnico B* C* Descripcin Mueva el contenido del Reg. C al Reg. A Mueva el contenido del Reg. D al Reg. A Mueva el contenido del Reg. E al Reg. A Mueva el contenido del Reg. H al Reg. A Mueva el contenido del Reg. L al Reg. A Mueva el contenido de M al Reg. A* Mueva el contenido del Reg. A al Reg. A CARGA INMEDIATA DE LOS REGISTROS Mueva data al Registro A Mueva data al Registro B Mueva data al Registro C Mueva data al Registro D Mueva data al Registro E Mueva data al Registro H Mueva data al Registro L Mueva data a la memoria* CARGA Y ALMACENAMIENTO (load y store) Cargue el apuntador de la pila con data16 Cargue los registros B y C con data16 Cargue los registros D y E con data16 Cargue los registros H y L con data16 Cargue H y L con el contenido de addr Cargue el Reg. A con el contenido de addr Cargue Reg. A con el contenido de la posicin de memoria definida por B y C Cargue Reg. A con el contenido de la posicin de memoria definida por D y E Almacena Reg. A en la posicin de memoria definida por los Reg. B y C Almacena Reg. A en la posicin de memoria definida por los Reg. D y E Almacena Reg. A en la direccin Almacena Regs. H y L en la direccin Mueva el contenido de H y L al stack pointer 2 - INSTRUCCIONES LOGICAS Y ARITMETICAS SUMAS O ADICIONES Sume el Reg. B al Reg. A Sume el Reg. C al Reg. A Sume el Reg. D al Reg. A Sume el Reg. E al Reg. A Sume el Reg. H al Reg. A Sume el Reg. L al Reg. A Sume el contenido de M al Reg. A* Sume el Reg. B y el acarreo al Reg. A Sume el Reg. C y el acarreo al Reg. A Sume el Reg. D y el acarreo al Reg. A Sume el Reg. E y el acarreo al Reg. A Sume el Reg. H y el acarreo al Reg. A Sume el Reg. L y el acarreo al Reg. A Sume el contenido de M y el acarreo al Reg. A* Sume el Reg. A y el acarreo al Reg. A Sume data al registro A Sume data y el acarreo al registro A Sume los Regs. B y C a los Regs. H y L Sume los Regs. D y E a los Regs. H y L Sume los Regs. H y L a los Regs. H y L Sume el apuntador de la pila a los Regs. H y L RESTAS O SUSTRACCIONES Reste el Reg. B del Reg. A Reste el Reg. C del Reg. A Reste el Reg. D del Reg. A Reste el Reg. E del Reg. A Reste el Reg. H del Reg. A Reste el Reg. L del Reg. A Reste el contenido de M del Reg. A* Reste el Reg. A del Reg. A Reste el Reg. B y el prstamo del Reg. A Reste el Reg. C y el prstamo del Reg. A Reste el Reg. D y el prstamo del Reg. A Reste el Reg. E y el prstamo del Reg. A Resta el Reg H y el prstamo del Reg. A Resta el Reg H y el prstamo del Reg. A 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D SUB B SUB C SUB D SUB E SUB H SUB L SUB M SUB A SBB B SBB C SBB D SBB E SBB H SBB L 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 7 4 4 4 4 4 4 4 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E C6 CE 09 19 29 39 ADD B ADD C ADD D ADD E ADD H ADD L ADD M ADC B ADC C ADC D ADC E ADC H ADC L ADC M ADC A ADI data ACI data DAD B DAD D DAD H DAD SP 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 4 4 4 4 4 4 7 4 4 4 4 4 4 7 4 7 7 10 10 10 10 31 01 11 21 2A 3A 0A 1A 02 12 32 22 F9 LXI SP, data16 LXI B, data16 LXI D, data16 LXI H, data16 LHLD addr LDA addr LDAX B LDAX D STAX B STAX D STA addr SHLD addr SPHL 3 3 3 3 3 3 1 1 1 1 3 3 1 10 10 10 10 16 13 7 7 7 7 13 16 6 3E 06 0E 16 1E 26 2E 35 MVI A, data MVI B, data MVI C, data MVI D, data MVI E, data MVI H, data MVI L, data MVI M, data 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 10 Cdigo 79 7A 7B 7C 7D 7E 7F Nemotcnico MOV A, C MOV A, D MOV A, E MOV A, H MOV A, L MOV A, M MOV A, A B* 1 1 1 1 1 1 1 C* 4 4 4 4 4 7 4

1 - INSTRUCCIONES PARA TRANSFERENCIA DE DATOS MOVIMIENTOS AL REGISTRO B Mueva el contenido del Reg. B al Reg. B Mueva el contenido del Reg. C al Reg. B Mueva el contenido del Reg. D al Reg. B Mueva el contenido del Reg. E al Reg. B Mueva el contenido del Reg. H al Reg. B Mueva el contenido del Reg. L al Reg. B Mueva el contenido de M al Reg. B* Mueva el contenido del Reg. A al Reg. B MOVIMIENTOS AL REGISTRO C Mueva el contenido del Reg. B al Reg. C Mueva el contenido del Reg. C al Reg. C Mueva el contenido del Reg. D al Reg. C Mueva el contenido del Reg. E al Reg. C Mueva el contenido del Reg. H al Reg. C Mueva el contenido del Reg. L al Reg. C Mueva el contenido de M al Reg. C* Mueva el contenido del Reg. A al Reg. C MOVIMIENTOS AL REGISTRO D Mueva el contenido del Reg. B al Reg. D Mueva el contenido del Reg. C al Reg. D Mueva el contenido del Reg. D al Reg. D Mueva el contenido del Reg. E al Reg. D Mueva el contenido del Reg. H al Reg. D Mueva el contenido del Reg. L al Reg. D Mueva el contenido de M al Reg. D* Mueva el contenido del Reg. A al Reg. D MOVIMIENTOS AL REGISTRO E Mueva el contenido del Reg. B al Reg. E Mueva el contenido del Reg. C al Reg. E Mueva el contenido del Reg. D al Reg. E Mueva el contenido del Reg. E al Reg. E Mueva el contenido del Reg. H al Reg. E Mueva el contenido del Reg. L al Reg. E Mueva el contenido de M al Reg. E* Mueva el contenido del Reg. A al Reg. E MOVIMIENTOS AL REGISTRO H Mueva el contenido del Reg. B al Reg. H Mueva el contenido del Reg. C al Reg. H Mueva el contenido del Reg. D al Reg. H Mueva el contenido del Reg. E al Reg. H Mueva el contenido del Reg. H al Reg. H Mueva el contenido del Reg. L al Reg. H Mueva el contenido de M al Reg. H* Mueva el contenido del Reg. A al Reg. H MOVIMIENTOS AL REGISTRO L Mueva el contenido del Reg. B al Reg. L Mueva el contenido del Reg. C al Reg. L Mueva el contenido del Reg. D al Reg. L Mueva el contenido del Reg. E al Reg. L Mueva el contenido del Reg. H al Reg. L Mueva el contenido del Reg. L al Reg. L Mueva el contenido de M al Reg. L* Mueva el contenido del Reg. A al Reg. L 68 69 6A 6B 6C 6D 6E 6F MOV L, B MOV L, C MOV L, D MOV L, E MOV L, H MOV L, L MOV L, M MOV L, A 1 1 1 1 1 1 1 1 4 4 4 4 4 4 7 4 60 61 62 63 64 65 66 67 MOV H, B MOV H, C MOV H, D MOV H, E MOV H, H MOV H, L MOV H, M MOV H, A 1 1 1 1 1 1 1 1 4 4 4 4 4 4 7 4 58 59 5A 5B 5C 5D 5E 5F MOV E, B MOV E, C MOV E, D MOV E, E MOV E, H MOV E, L MOV E, M MOV E, A 1 1 1 1 1 1 1 1 4 4 4 4 4 4 7 4 50 51 52 53 54 55 56 57 MOV D, B MOV D, C MOV D, D MOV D, E MOV D, H MOV D, L MOV D, M MOV D, A 1 1 1 1 1 1 1 1 4 4 4 4 4 4 7 4 48 49 4A 4B 4C 4D 4E 4F MOV C, B MOV C, C MOV C, D MOV C, E MOV C, H MOV C, L MOV C, M MOV C, A 1 1 1 1 1 1 1 1 4 4 4 4 4 4 7 4 40 41 42 43 44 45 46 47 MOV B, B MOV B, C MOV B, D MOV B, E MOV B, H MOV B, L MOV B, M MOV B, A 1 1 1 1 1 1 1 1 4 4 4 4 4 4 7 4

MOVIMIENTOS DE LOS REGISTROS A LA MEMORIA Mueva el contenido del Reg. B a memoria* Mueva el contenido del Reg. C a memoria* Mueva el contenido del Reg. D a memoria* Mueva el contenido del Reg. E a memoria* Mueva el contenido del Reg. H a memoria* Mueva el contenido del Reg. L a memoria* Mueva el contenido del Reg. A a memoria* MOVIMIENTOS AL REGISTRO A Mueva el contenido del Reg. B al Reg. A 78 MOV A, B 1 4 70 71 72 73 74 75 77 MOV M, B MOV M, C MOV M, D MOV M, E MOV M, H MOV M, L MOV M, A 1 1 1 1 1 1 1 7 7 7 7 7 7 7

Descripcin Resta el contenido de M. y el prstamo del Registro A Resta el Reg A y el prstamo del Reg. A Resta data del Registro A Resta data y el prstamo del Reg. A INCREMENTOS Incremente el Registro A Incremente el Registro B Incremente el Registro C Incremente el Registro D Incremente el Registro E Incremente el Registro H Incremente el Registro L Incremente los Registros B y C Incremente los Registros D y E Incremente los Registros H y L Incremente el contenido de M* Incremente el apuntador de la pila DECREMENTOS Decremente el Registro A Decremente el Registro B Decremente el Registro C Decremente el Registro D Decremente el Registro E Decremente el Registro H Decremente el Registro L Decremente los Registros B y C Decremente los Registros D y E Decremente los Registros H y L Decremente el contenido de M* Decremente el apuntador de la pila OPERACIN LOGICA AND Haga un AND lgico entre Reg. B y Reg. A Haga un AND lgico entre Reg. C y Reg. A Haga un AND lgico entre Reg. D y Reg. A Haga un AND lgico entre Reg. E y Reg. A Haga un AND lgico entre Reg. H y Reg. A Haga un AND lgico entre Reg. L y Reg. A Haga un AND lgico entre el contenido de M y el Reg. A* Haga un AND lgico entre Reg. A y Reg. A Haga un AND lgico entre data y Reg. A

Cdigo 9E 9F D6 DE

Nemotcnico SBB M SBB A SUI data SBI data

B* C* 1 1 2 2 7 4 7 7

Descripcin OTRAS Rotar el Registro A a la derecha Rotar el Registro A a la izquierda Rotar el Reg. A a la der. con acarreo Rotar el Reg. A a la izq. con acarreo Complemente A Fijar la bandera e acarreo Complementar la bandera de acarreo Haga un ajuste decimal a A

Cdigo

Nemotcnico

B*

C*

3C 04 0C 14 1C 24 2C 03 13 23 34 33

INR A INR B INR C INR D INR E INR H INR L INX B INX D INX H INR R INX SP

1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 6 1 6 1 6 1 10 1 6

0F 07 1F 17 2F 37 3F 27

RRC RLC RAR RAL CMA STC CMC DAA

1 1 1 1 1 1 1 1

4 4 4 4 4 4 4 4

3 - INSTRUCCIONES DE CAMBIO DE SECUENCIA EN EL PROGRAMA SALTOS Salte incondicionalmente a la direccin Salte a addr si hay acarreo Salte a addr si no hay acarreo Salte a addr si es cero Salte a addr si no es cero Salte a addr si hay paridad impar Salte a addr si hay paridad par Salte a addr si el signo es positivo Salte a addr si el signo es negativo Mueva los Regs. H y L al contador de programa LLAMADAS Llame a la subrutina de la direccin Llame a la subrutina si hay acarreo Llame a la subrutina si no hay acarreo Llame a la subrutina si es cero Llame a la subrutina si no es cero Llame a la subrutina si hay paridad impar Llame a la subrutina si hay paridad par Llame a la subrutina si es positivo Llame a la subrutina si es negativo RETORNOS Retorne incondicionalmente Retorne si hay acarreo Retorne si no hay acarreo Retorne si es cero Retorne si no es cero Retorne si hay paridad impar Retorne si hay paridad par Retorne si el signo es positivo Retorne si el signo es negativo REINICIACIONES (RESTARTS) C9 D8 D0 C8 C0 E0 E8 F0 F8 RET RC RNC RZ RNZ RPO RPE RP RM 1 1 1 1 1 1 1 1 1 10 6/12 6/12 6/12 6/12 6/12 6/12 6/12 6/12 CD DC D4 CC C4 E4 EC F4 FC CALL addr CC addr CNC addr CZ addr CNZ addr CPO addr CPE addr CP addr CM addr 3 3 3 3 3 3 3 3 3 16 9/18 9/18 9/18 9/18 9/18 9/18 9/18 9/18 C3 DA D2 CA CA E2 EA F2 FA E9 JMP addr JC addr JNC addr JZ addr JNZ addr JPO addr JPE addr JP addr JM addr PCHL 3 3 3 3 3 3 3 3 3 1 10 7/10 7/10 7/10 7/10 7/10 7/10 7/10 7/10 8

3D 05 0D 15 1D 25 2D 0B 1B 2B 35 3B

DCR A DCR B DCR C DCR D DCR E DCR H DCR L DCX B DCX D DCX H DCR M DCX SP

1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 6 1 6 1 6 1 10 1 6

A0 A1 A2 A3 A4 A5 A6 A7 E6

ANA B ANA C ANA D ANA E ANA H ANA L ANA M ANA A ANI data

1 1 1 1 1 1 1 1 2

4 4 4 4 4 4 7 4 7

OPERACIN LOGICA OR Haga un OR lgico entre Reg. B y Reg. A Haga un OR lgico entre Reg. C y Reg. A Haga un OR lgico entre Reg. D y Reg. A Haga un OR lgico entre Reg. E y Reg. A Haga un OR lgico entre Reg. H y Reg. A Haga un OR lgico entre Reg. L y Reg. A Haga un OR lgico entre el contenido de M y el Reg. A* Haga un OR lgico entre Reg. A y Reg. A Haga un OR lgico entre data y Reg. A OR EXCLUSIVO Haga un OR Exclusivo entre Reg. B y Reg. A Haga un OR Exclusivo entre Reg. C y Reg. A Haga un OR Exclusivo entre Reg. D y Reg. A Haga un OR Exclusivo entre Reg. E y Reg. A Haga un OR Exclusivo entre Reg. H y Reg. A Haga un OR Exclusivo entre Reg. L y Reg. A Haga un OR Exclusivo entre el contenido de M y el Reg. A* Haga un OR Exclusivo entre Reg. A y Reg. A Haga un OR Exclusivo entre data y Reg. A COMPARACION Compare Registro B con Registro A Compare Registro B con Registro A Compare Registro B con Registro A Compare Registro B con Registro A Compare Registro B con Registro A Compare Registro B con Registro A Haga un OR Exclusivo entre el contenido de M y el Reg. A* Compare Registro B con Registro A Compare data con Reg. A B8 B9 BA BB BC BD BE BF FE CMP B CMP C CMP D CMP E CMP H CMP L CMP M CMP A CPI data 1 1 1 1 1 1 1 1 2 4 4 4 4 4 4 7 4 7 A8 A9 AA AB AC AD AE AF EE XRA B XRA C XRA D XRA E XRA H XRA L XRA M XRA A XRI data 1 1 1 1 1 1 1 1 2 4 4 4 4 4 4 7 4 7 Inserte los Regs. B y C en la pila Inserte los Regs. D y E en la pila Inserte los Regs. H y L en la pila Inserte el contenido del PSW en la pila Recupere los Regs. B y C de la pila Recupere los Regs. D y E de la pila Recupere los Regs. H y L de la pila Recupere PSW de la pila Intercambie H y L con el tope de la pila Mueva Regs. H y L al apuntador de la pila Deshabilite las interrupciones Habilite las interrupciones No opere (no funcione) Para la operacin del microprocesador Pase la seal del puerto port al Reg. A Pase el Reg. A al puerto port Leer mascarilla de interrupcin Fijar mascarilla de interrupcin
Notas: B*: Nmero de bytes ocupados en el cdigo objeto. C*: Nmero de ciclos o estados de reloj (T) empleados por la instruccin Cuando hay mas de dos espscificaciones (7/10, 9/18, 6/12) la primera corresponde al nmero de estados cuando no se produce bifurque y el segundo cuando s se produce addr: direccin de memoria (16 bits). data: dato de 8 bits (un Byte). data16: Un dato de 16 bits (2 Bytes) *: la direccin de memoria (M) est especificada por el contenido de los registros H y L

B0 B1 B2 B3 B4 B5 B6 B7 F6

ORA B ORA C ORA D ORA E ORA H ORA L ORA M ORA A ORI data

1 1 1 1 1 1 1 1 2

4 4 4 4 4 4 7 4 7

Reinicie en la posicin 0 Reinicie en la posicin 1 Reinicie en la posicin 2 Reinicie en la posicin 3 Reinicie en la posicin 4 Reinicie en la posicin 5 Reinicie en la posicin 6 Reinicie en la posicin 7

de interrupcin de interrupcin de interrupcin de interrupcin de interrupcin de interrupcin de interrupcin de interrupcin

C7 CF D7 DF E7 EF F7 FF

RST 0 RST 1 RST 2 RST 3 RST 4 RST 5 RST 6 RST 7

1 1 1 1 1 1 1 1

12 12 12 12 12 12 12 12

4 - INSTRUCCIONES DE PILA, ENTRADA/SALIDA Y DE CONTROL C5 D5 E5 F5 C1 D1 E1 F1 E3 F9 F3 FB 00 76 DB D3 20 30 PUSH B PUSH D PUSH H PUSH PSW POP B POP D POP H POP PSW XTHL SPHL DI EI NOP HLT IN port OUT port RIM SIM 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 12 12 12 12 10 10 10 16 16 6 4 4 4 6 10 10 4 4

Vous aimerez peut-être aussi