Microprocesador: conjuntos de instrucciones 8085

Echemos un vistazo a la programación del microprocesador 8085.

Los conjuntos de instrucciones son códigos de instrucciones para realizar alguna tarea. Se clasifica en cinco categorías.

S.No. Instrucción y descripción
1 Instrucciones de control

A continuación se muestra la tabla que muestra la lista de instrucciones de control con sus significados.

2 Instrucciones lógicas

A continuación se muestra la tabla que muestra la lista de instrucciones lógicas con sus significados.

3 Instrucciones de ramificación

A continuación se muestra la tabla que muestra la lista de instrucciones de ramificación con sus significados.

4 Instrucciones aritméticas

A continuación se muestra la tabla que muestra la lista de instrucciones aritméticas con sus significados.

5 Instrucciones de transferencia de datos

A continuación se muestra la tabla que muestra la lista de instrucciones de transferencia de datos con sus significados.

8085 - Programas de demostración

Ahora, echemos un vistazo a algunas demostraciones de programas usando las instrucciones anteriores:

Sumar dos números de 8 bits

Escriba un programa para agregar datos en la ubicación de memoria 3005H y 3006H y almacene el resultado en la ubicación de memoria 3007H.

Problem demo -

(3005H) = 14H 
   (3006H) = 89H

Result -

14H + 89H = 9DH

El código del programa se puede escribir así:

LXI H 3005H   : "HL points 3005H" 
MOV A, M      : "Getting first operand" 
INX H         : "HL points 3006H" 
ADD M         : "Add second operand" 
INX H         : "HL points 3007H" 
MOV M, A      : "Store result at 3007H" 
HLT           : "Exit program"

Intercambio de ubicaciones de memoria

Escriba un programa para intercambiar los datos en la ubicación de memoria de 5000M y 6000M.

LDA 5000M   : "Getting the contents at5000M location into accumulator" 
MOV B, A    : "Save the contents into B register" 
LDA 6000M   : "Getting the contents at 6000M location into accumulator" 
STA 5000M   : "Store the contents of accumulator at address 5000M" 
MOV A, B    : "Get the saved contents back into A register" 
STA 6000M   : "Store the contents of accumulator at address 6000M"

Organizar números en orden ascendente

Escriba un programa para organizar los primeros 10 números de la dirección de memoria 3000H en orden ascendente.

MVI B, 09         :"Initialize counter"      
START             :"LXI H, 3000H: Initialize memory pointer" 
MVI C, 09H        :"Initialize counter 2" 
BACK: MOV A, M    :"Get the number" 
INX H             :"Increment memory pointer" 
CMP M             :"Compare number with next number" 
JC SKIP           :"If less, don’t interchange" 
JZ SKIP           :"If equal, don’t interchange" 
MOV D, M 
MOV M, A 
DCX H 
MOV M, D 
INX H             :"Interchange two numbers" 
SKIP:DCR C        :"Decrement counter 2" 
JNZ BACK          :"If not zero, repeat" 
DCR B             :"Decrement counter 1" 
JNZ START 
HLT               :"Terminate program execution"