Accueil
Accueil
Le
Club
Delphi
Kylix
C
C++
Java
J2EE
DotNET
& C#
Visual
Basic
Access
Pascal
Dev
Web
PHP
ASP
XML
UML
SQL
SGBD
Win
Linux
Autres

        


Qu'est-ce qu'un bit ?
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.


Ko, kb, KB, quelles différences ?
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.


Que signifient les h ou les d à la fin d'un nombre ?
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

Qu'est-ce qu'un segment ?
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.


Qu'est-ce que les registres processeur ?
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.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright 2000..2005 www.developpez.com