Bonjour,
voici un algo
sur cette ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 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
on fait un masque d'apres l'explication de ce programe
Code : Sélectionner tout - Visualiser dans une fenêtre à part AL <- AL ET 0B8h (utiliser l'instruction AND de l'assembleur)
qqn peut m'expliquer pourquoi ce sonts les bits 7.5.4.3 qui sont gardée car moi je trouve pour 0B8 => 10111000On garde avec un masque (0B8h) les bits 7,5,4,3 du nombre précédent.
merci
Partager