[assembleur] carry
bolo972
Messages postés
87
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'ai un algo j'aimerais des explications sur quelque lignes.
je ne comprends pas cette partie
Qqn pourrait m'expliquer
merci
j'ai un algo j'aimerais des explications sur quelque lignes.
Programme Générateur Pseudo Aléatoire Début : BH <- 12h boucle: AL <- BH Si (AL = 0) alors AL <- 0FFh Fin Si (cmp et Jxyz, le h signifie hexadécimal en assembleur) AL <- AL ET 0B8h (utiliser l'instruction AND de l'assembleur) BL <-0 CX <- 8 Répéter Décaler AL à droite de 1 rang (utiliser l'instruction SHR de l'assembleur) Si Carry = 1 alors BL <- BL + 1 Fin Si CX <- CX-1 Jusqu'à CX = 0 (utiliser l'instruction LOOP de l'assembleur) Carry <- Bit 0 de BL (utiliser l'instruction SHR de l'assembleur) rotation de BH à droite avec le carry de 1 rang (utiliser l'instruction RCR) Aller à l'étiquette boucle (instruction jmp de l'assembleur) Fin
je ne comprends pas cette partie
Carry <- Bit 0 de BL (utiliser l'instruction SHR de l'assembleur) rotation de BH à droite avec le carry de 1 rang (utiliser l'instruction RCR) Aller à l'étiquette boucle (instruction jmp de l'assembleur)
Qqn pourrait m'expliquer
merci
A voir également:
- [assembleur] carry
- Logiciel assembleur - Télécharger - Édition & Programmation
- Carry it easy - Télécharger - Gestion de fichiers
- Carry it Easy +Plus U3 Edition - Télécharger - Gestion de fichiers
- Assembleur pdf - Guide
- Assembleur - Forum Programmation
1 réponse
Salut,
Bon je suis pas sur, mais je me suis dit qu'en explicant
ce que j'en comprends tu y trouverais peut-être ton
compte.
Carry <- Bit 0 de BL (utiliser l'instruction SHR de l'assembleur)
La valeur du carry bit du registre est défini par l'opération BL
qui doit être "branch long" ou quelque chose du genre. Je ne
connais pas l'instruction SHR ? "shifthighregister"?
Sur un test BL, BLO,BLH le résultat est envoyé dans le carry
bit pour savoir si l'on doit brancher dans un sens ou dans l'autre.
rotation de BH à droite avec le carry de 1 rang (utiliser l'instruction RCR)
ici une rotation à droite est une division par 2 de BH, pour décaler
dans un sens ou dans l'autre (multiplié/divisé), il faut conserver
la retenu pour l'insérer dans le décalage. RCR "RotateCarryRight"
(calcul binaire, addittion,soustraction,multiplication,division,
complément à 1 et complément à 2).
Aller à l'étiquette boucle (instruction jmp de l'assembleur)
Le travail est terminé, retourne au main.
Lupin
Bon je suis pas sur, mais je me suis dit qu'en explicant
ce que j'en comprends tu y trouverais peut-être ton
compte.
Carry <- Bit 0 de BL (utiliser l'instruction SHR de l'assembleur)
La valeur du carry bit du registre est défini par l'opération BL
qui doit être "branch long" ou quelque chose du genre. Je ne
connais pas l'instruction SHR ? "shifthighregister"?
Sur un test BL, BLO,BLH le résultat est envoyé dans le carry
bit pour savoir si l'on doit brancher dans un sens ou dans l'autre.
rotation de BH à droite avec le carry de 1 rang (utiliser l'instruction RCR)
ici une rotation à droite est une division par 2 de BH, pour décaler
dans un sens ou dans l'autre (multiplié/divisé), il faut conserver
la retenu pour l'insérer dans le décalage. RCR "RotateCarryRight"
(calcul binaire, addittion,soustraction,multiplication,division,
complément à 1 et complément à 2).
Aller à l'étiquette boucle (instruction jmp de l'assembleur)
Le travail est terminé, retourne au main.
Lupin