Microprocesseur - 8085 jeux d'instructions
Jetons un œil à la programmation du microprocesseur 8085.
Les jeux d'instructions sont des codes d'instructions pour effectuer certaines tâches. Il est classé en cinq catégories.
S.No. | Instruction et description |
---|---|
1 | Instructions de contrôle Le tableau suivant présente la liste des instructions de contrôle avec leur signification. |
2 | Instructions logiques Le tableau suivant présente la liste des instructions logiques avec leur signification. |
3 | Instructions de branchement Le tableau suivant présente la liste des instructions de branchement avec leur signification. |
4 | Instructions arithmétiques Le tableau suivant présente la liste des instructions arithmétiques avec leur signification. |
5 | Instructions de transfert de données Le tableau suivant présente la liste des instructions de transfert de données avec leur signification. |
8085 - Programmes de démonstration
Maintenant, jetons un œil à quelques démonstrations de programmes en utilisant les instructions ci-dessus -
Ajout de deux nombres 8 bits
Écrivez un programme pour ajouter des données à l'emplacement de mémoire 3005H et 3006H et stocker le résultat dans l'emplacement de mémoire 3007H.
Problem demo -
(3005H) = 14H
(3006H) = 89H
Result -
14H + 89H = 9DH
Le code du programme peut être écrit comme ceci -
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"
Échange des emplacements de mémoire
Écrivez un programme pour échanger les données à l'emplacement mémoire de 5000M et 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"
Organiser les nombres dans un ordre croissant
Écrivez un programme pour organiser les 10 premiers nombres de l'adresse mémoire 3000H dans un ordre croissant.
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"