Ce sont des registres.
a) Il y a les registres de travail :
- AX est un registre de 16 bits appelé Accumulateur
- BX est un registre de 16 bits appelé registre de base
- CX est un registre de 16 bits appelé compteur
- DX est un registre de 16 bits appelé DATA
b) Il y a aussi les registres d'offset :
- SI est un registre de 16 bits appelé Source Index
- DI est un registre de 16 bits appelé Destination Index
- IP est un registre de 16 bits appelé Instruction Pointer
- BP est un registre de 16 bits appelé Base Pointer
- SP est un registre de 16 bits appelé Stack Pointer
c) Il y a aussi des registres FLAG
- Indicateur d'état
- Indicateur de contrôle
Un registre est une mémoire qui a la particularité de pouvoir effectuer des opérations binaires de décalage. Au départ ils s'appelaient registres à décalages et sont à l'origine des liaisons séries RS 232 C ou V24. Le port série du PC
Si je mets dans le registre un mot Word de 16 bits et que je fais un décalage vers la droite ou vers la gauche j’effectue des opérations booléennes.
Comme par exemple : 0111000000011101 donne vers la droite 1011100000001110 et vers la gauche cela donne 1110000000111010 avec cette particularité de décalage série il est possible en combinant les registres de faire toute les opérations booléennes.
Les fonctions logiques NON, ET, OU, XOR (OU exclusif), NAND (NON ET) et NOR (NON OU). Grâce à cela votre PC, BOX, PSP, WII, DS, PS3, XBOX 360, MP3, ECRAN PLAT, Caméscope, APM fonctionnent ............
L'offset est la partie de l'adresse mémoire qui correspond au déplacement. Dans cette adresse mémoire 01011010:01101111 le déplacement est 01101111. Si j'ajoute 1 au déplacement j'aurai comme adresse 00110110:01110000. 01101111 + 1 = 01110000 (Exemple de comptage binaire 1+0=1, 0+1=1, 1+1=10, 1+1+1=11, 1+1+1+1=100, 1+1+1+1+1= 111 ....) voici mon nouvel offset, le déplacement obtenue dans le plan mémoire.
L'offset indiqué dans le post est en Hexadécimale.
Hexadécimale : 1=1, 2=2, 3=3, 4=4, 5=5, 6=6, 7=7, 8=8, 9=9 10=a, 11=b, 12=c, 13=d, 14=e, 15=f. Donc ce chiffre binaire 1111 1111 1111 1111 = ffff, celui ci 1111 0111 0011 001 = f731.
Dans un code binaire on travail avec des puissances de 2 pour le transfert en Hexa (8) il faut inscrire les puissances de 2 de la droite vers la gauche en partant de 2 puissance 0 :
- De la droite vers la gauche 2 puissance 0 =1, 2 puissance 1 = 2, 2 puissance 2, = 4, 2 puissance 3 = 8.
- Le chiffre binaire 1111 = 2 puissance 0 + 2 puissance 1 + 2 puissance 2 + 2 puissance 3 = (1 + 2 + 4 + 8) = 15 = f en Hexa.
- Le chiffre binaire 1011 = (1 + 2 + 0 + 8) = 11 = b en Hexa .......
|
|