Je suis coincé sur un problème concernant les devoirs du code assembleur

U

upopads

Guest
Cette question est pour ma classe de microcontrôleurs embarqués dans le livre Fundamentals des microcontrôleurs et des applications dans les systèmes embarqués par Ramesh S. Gaonkar c'est le chapitre 5 sur les opérations de la branche.Je suis à une perte de ce que le code est demandé, j'ai besoin d'aide pour résoudre le problème particulier de comprendre ce Cyl moyens dans le code.

Question:
5,22 Combien de fois est Loop1 exécutés dans les instructions suivantes?

MOVLW 0x32
Movwf REG2, 0
Loop1: DECF REG2, 1-4 Cyl
BNZ Loop1 - 8 / 4 Cyl

D'autres questions qui sont source de confusion pour moi:

Combien de fois est exécutée si Loop1 BNZ est modifié pour BZ

Combien de fois est Loop1 exécuté si les instructions BNZ est modifié pour BNC

Combien de fois est Loop1 exécuté si l'instruction DECF REG2, 1 est remplacé par DECF REG2, 0

 
Salut,

Vais essayer de vous répondre première question, bien que je ne comprends pas l'utilisation / sens de la 1-4cyl ou 8 / 4 Cyl moi-même (un peu étrange pour un cours de débutants?)Code:

MOVLW 0x32; charges W avec la valeur hexadécimale 32Movwf REG2, 0; déplace la valeur de W à, et la stocke dans la variable REG2, l', 0 désigne le REG2 est en accès à la mémoireLoop1 DECF REG2, 1-4 Cyl; Ce décrémente la valeur contenue dans REG2 par hex 01

, La nouvelle valeur est enregistrée dans REG2

; Le résultat de l'opération DECF changements les bits respectifs du registre d'état.Loop1 BNZ - 8 / 4 Cyl; ici le statut peu reg Zero est testé, si le résultat est zéro, alors sortir de la routine, pour ne pas aller; tour à Loop1 et décrémenter la valeur REG2 nouveau.

 
langage d'assemblage est une chose nouvelle pour moi, donc je suis un débutant, mais ce que vous avez dit m'a donné plus de précisions bien que ce que je avait à l'origine parce que le livre n'a pas vraiment expliquer l'instruction à tous les Cyl.Génie n'est malheureusement pas particulièrement forte à mon collège et je suis électriques.

Question:
5,22 Combien de fois est Loop1 exécutés dans les instructions suivantes?

Donc, de ce que je comprends la réponse est de 50 parce que la conversion de 32Hex en décimal est compris entre 50 et nous sommes décrémenter la valeur décimale par un.

MOVLW 0x32
Movwf REG2, 0
Loop1: DECF REG2, 1-4 Cyl
BNZ Loop1 - 8 / 4 CylD'autres questions qui sont source de confusion pour moi:

Combien de fois est exécutée si Loop1 BNZ est modifié pour BZ?

Je pense que 49 parce que, quand = 1 fin de la boucle de A à Z

Combien de fois est Loop1 exécuté si les instructions BNZ est modifié pour BNC

Je pense que 50-32 = 18 fois parce que 11111 en base 2 converti en décimal est 32 et depuis le 110001 est de 50 en décimal, qui est de 32 à Hex le report se produit après la dernière transition de la 5e chiffre au chiffre 6 e de l'équation.Combien de fois est Loop1 exécuté si l'instruction DECF REG2, 1 est remplacé par DECF REG2, 0

Probablement parce que la mémoire à zéro de la Banque d'accès n'est pas utilisé ou quelque chose mais je dois la recherche à celui-ci un peu plus loin.Ajouté après 7 minutes:Je ne laboratoire ont MP sur mon ordinateur et il est conforme cependant je ne peux pas exécuter du code à exécuter correctement le logiciel que j'utilise pour démo problèmes.La présentation power point conçu pour nous aider à notre programme de micro-contrôleurs à l'aide de l'Assemblée n'explique pas comment faire fonctionner un programme simple en utilisant le logiciel correctementAjouté après 15 secondes:Je ne laboratoire ont MP sur mon ordinateur et il est conforme cependant je ne peux pas exécuter du code à exécuter correctement le logiciel que j'utilise pour démo problèmes.La présentation power point conçu pour nous aider à notre programme de micro-contrôleurs à l'aide de l'Assemblée n'explique pas comment faire fonctionner un programme simple en utilisant le logiciel correctement

 
Salut,
Citation:

Question:

5,22 Combien de fois est Loop1 exécutés dans les instructions suivantes?Donc, de ce que je comprends la réponse est de 50 parce que la conversion de 32Hex en décimal est compris entre 50 et nous sommes décrémenter la valeur décimale par un.
 

Welcome to EDABoard.com

Sponsor

Back
Top