Microprocessador - 8085 conjuntos de instruções

Vamos dar uma olhada na programação do 8085 Microprocessor.

Conjuntos de instruções são códigos de instrução para realizar alguma tarefa. É classificado em cinco categorias.

S.No. Instrução e descrição
1 Instruções de controle

A seguir está a tabela que mostra a lista de instruções de controle com seus significados.

2 Instruções Lógicas

A seguir está a tabela que mostra a lista de instruções lógicas com seus significados.

3 Instruções de ramificação

A seguir está a tabela que mostra a lista de instruções de Ramificação com seus significados.

4 Instruções Aritméticas

A seguir está a tabela que mostra a lista de instruções aritméticas com seus significados.

5 Instruções de transferência de dados

A seguir está a tabela que mostra a lista de instruções de transferência de dados com seus significados.

8085 - Programas de demonstração

Agora, vamos dar uma olhada em algumas demonstrações do programa usando as instruções acima -

Adicionando dois números de 8 bits

Escreva um programa para adicionar dados no local de memória 3005H e 3006H e armazenar o resultado no local de memória 3007H.

Problem demo -

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

Result -

14H + 89H = 9DH

O código do programa pode ser escrito assim -

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"

Trocando as localizações de memória

Escreva um programa para trocar os dados no local da memória 5000M e 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 os números em ordem crescente

Escreva um programa para organizar os primeiros 10 números do endereço de memória 3000H em ordem crescente.

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"