
|
auteur :
Hdd34 | Un bit, ou binary digit en abrégé (chiffre binaire), est un nombre pouvant prendre la valeur 0 ou 1. 8 bits forment un octet (byte en Anglais) ; 16 bits un mot (word en Anglais) et 32 bits un double-mot (double-word en Anglais).
Pour 64 bits, on pourra trouver en Anglais le mot quad.
|
|
auteur :
Hdd34 | Un Ko est un kilo-octet : il contient 1024 octets. Son équivalent en anglais est KB pour kilo-byte. Il ne faut pas confondre avec kb, kilo-bits, qui contient 1024 bits, soit 128 octets. Il faut donc 8 kb pour faire un KB.
|
|
auteur :
Hdd34 | Ils indiquent dans quelle base est exprimé ce nombre. Dans la vie de tous les jours, nous utilisons la base 10, la base décimale (on dispose de 10 chiffres). Cette base est repérée par le symbole " d " à la fin d'un nombre, par exemple 10d. En informatique, il est souvent plus pratique d'utiliser la base hexadécimale, qui dispose de 16 chiffres (de 0 à 9 puis de A à F). Elle est repérée par le symbole " h ". Les deux autres bases principales sont le binaire (base 2, chiffres 0 et 1, symbole b) et l'octal (base 8, chiffres de 0 à 7, symbole o).
Base
|
Chiffres
|
Symbole
|
Exemple
|
2 - (Binaire) |
0 - 1 |
b |
01111100b |
8 - (Octal) |
0 - 7 |
o |
174o |
10 - (Décimal) |
0 - 9 |
d |
124d |
16 - (Hexadécimal) |
0 - 9, A - F |
h |
7Ch |
|
|
auteur :
Hdd34 | La mémoire d'un ordinateur est divisée en sous parties appelées des segments. Chaque segment possède une taille de 64 Ko. Pour se déplacer dans la mémoire, on utilise donc deux index : le segment, et l'offset, qui représente le déplacement à l'intérieur d'un segment. On représente donc une adresse mémoire sous la forme SSSS:OOOO, par exemple 0040:006C est l'adresse de l'horloge système (segment 0040h, offset 006Ch).
Par extension, on appelle segment une zone de 64 Ko.
|
|
auteur :
Hdd34 | Le processeur, afin d'effectuer toutes les opérations qu'on lui demande (qu'elles soient arithmétiques ou en rapport avec la mémoire), a besoin de quelques variables internes. Ces variables, ce sont les registres.
Chaque registre possède une taille dépendant du processeur. Ainsi, les vieux processeurs fonctionnant en 16 bits, ils n'utilisaient que des registres 16 bits. A présent, tous les processeurs utilisent au minimum des registres 32 bits, voire 64 bits.
Il existe plusieurs types de registres. Je liste ici les registres 16 bits, les seuls qui soient reconnus "officiellement" par Turbo Pascal.
Les registres de segment
- CS: pour "Code Segment", il contient l'adresse du segment de la mémoire où se trouvent les instructions du programme (code machine)
- DS: pour "Data Segment", il contient l'adresse du segment de mémoire contenant les données définies dans le programme
- SS: pour "Stack Segment", le segment dont l'adresse est contenue dans ce registre contiendra la pile
- ES: pour "Extra Segment", il contient l'adresse d'un segment supplémentaire pouvant recevoir des données
Les registres de travail
- AX: est un registre 16 bits appelé "Accumulateur", car il est souvent utilisé lors d'opérations arithmétiques, ou bien pour les numéros de fonction des interruptions
- BX: est un registre de 16 bits appelé "Registre de base", utilisé pour les manipulations mémoire
- CX: est un registre de 16 bits appelé "Compeur", notamment utilisé pour les boucles
- DX: est un registre de 16 bits appelé "Data", utilisé lors des opérations arithmétiques, conjointement à AX
- Ces quatre registres peuvent être décomposés en deux "sous-registres" de 8 bits chacun :
AX = AH et AL (poids fort et poids faible)
BX = BH et BL
CX = CH et CL
DX = DH et DL
Les registres d'offset
- SI: est appelé "Source Index". Ce registre 16 bit est principalement utilisé lors d'opérations sur des chaînes de caractères; il est associé au registre de segment DS
- DI: est appelé "Destination Index". Ce registre de 16 bits est principalement utilisé lors d'opérations sur des chaînes de caractères; il est normalement associé au registre de segment DS; dans le cas de manipulation de chaînes de caractères, il sera associé à ES
- IP: est appelé "Instruction Pointer". Ce registre de 16 bits est associé au registre de segment CS (CS:IP) pour indiquer la prochaine instruction à exécuter. Ce registre ne pourra JAMAIS être modifié directement.
- BP: ou "Base Pointer". Ce registre de 16 bits est associé au registre de segment SS (SS:BP) pour accéder aux données de la pile lors d'appels de sous-programmes.
- SP: ou "Stack Pointer". Ce registre de 16 bits est associé au registre de segment SS (SS:SP) pour indiquer de dernier élément de la pile
Le registre Flag (indicateurs)
Le registre Flag est un registre 16 bits, mais qui ne peut être manipulé que bit par bit. Ces bits sont appelés "indicateurs", que l'on peut répartir en deux catégories :
- Les indicateurs d'état
Bit 0 "Carry" ou retenue
Bit 2 Parité
Bit 4 Retenue auxiliaire
Bit 6 Zéro
Bit 7 Signe
Bit 11 Débordement ("overflow")
Ces indicateurs sont modifiés par les opérations arithmétiques, logiques ou de comparaison
- Les indicateurs de contrôle
Bit 8 Trap
Bit 9 Interruption
Bit 10 Direction
Ces indicateurs sont utilisés par le système
|
lien : La perte des registres 32 bits
|
Consultez les autres F.A.Q's
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2004
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|