Bonjour,

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

merci