Résumé

Modèle du programmeur IA32
Types de données assembleur MASM


Feuille 1: Modèle du programmeur IA32

Bits 0-31 Bits 0-15 Bits 8-15 Bits 0-7 Définition anglaise Définition française
EAX AX AH AL Accumulator Accumulateur
EBX BX BH BL Base Base
ECX CX CH CL Count Compteur
EDX DX DH DL Data Données
EBP BP

Base Pointer Pointeur de base
ESI SI

Source Indeux Index source
EDI DI

Destination Index Index destination
ESP SP

Stack Pointer Pointeur de pile

CS

Code Segment Segement de code

DS

Data Segment Segment de données

SS

Stack Segment Segment de pile

ES

Extra Segment Segment supplémentaire

FS

Extra Segment Segment supplémentaire

GS

Extra Segment Segment supplémentaire
EIP IP

Instruction Pointer Compteur programme
EFLAGS FLAGS

Flags Register Registre d'état et de contrôle
31 0 0h
Zero Zéro
30 0 0h
Zero Zéro
29 0 0h
Zero Zéro
28 0 0h
Zero Zéro
27 0 0h
Zero Zéro
26 0 0h
Zero Zéro
25 0 0h
Zero Zéro
24 0 0h
Zero Zéro
23 0 0h
Zero Zéro
22 0 0h
Zero Zéro
21 ID 200 000h
ID Flag Indicateur d'identification (CPUID implémenté)
20 VIP 100 000h
Virtual Interrupt Pending Flag Indicateur d'interruption(s) en attente
19 VIF 80 000h
Virtual Interrupt Flag Indicateur d'interruption(s) virtuel
18 AC 40 000h
Alignment Check Flag Indicateur d'alignement mémoire
17 VM 20 000h
Virtual-8086 Mode Flag Indicateur de mode virtuel 8086
16 RF 10 000h
Resume Flag Indicateur de reprise (réponse aux exceptions de débogage)
15 0 0h
Zero Zéro
14 NT 4 000h
Nested Task Flag Indicateur de tâche chaînée
13 I/O PL 2 000h
I/O Privilege Level Indicateur de niveau de privilège E/S (0 à 3)
12 1 000h
11 OF 800 h
Overflow Flag Indicateur de dépassement (entiers signés)
10 DF 400h
Direction Flag Indicateur de direction (pour instructions chaînes)
9 IF 200h
Interrupt Enable Flag Indicateur d'autorisation d'interruptions matérielles masquables
8 TF 100h
Trap Flag Indicateur de mode pas à pas (trace)
7 SF 80h
Sign Flag Indicateur de signe
6 ZF 40h
Zero Flag Indicateur de nullité ou d'égalité
5 0 0h
Zero Zéro
4 AF 10h
Auxilary Carry Flag Indicateur de retenue intermédiaire
3 0 0h
Zero Zéro
2 PF 4h
Parity Flag Indicateur de parité
1 1 2h
One Un
0 CF 1h
Carry Flag Indicateur de retenue






Associations habituelles : CS:IP, SS:SP, SS:BP, DS:SI, ES:DI
Sources : "Assembleur", par Pierre Maurette, pp. 65, 73, 95, 108 et 109

Feuille 2: Types de données assembleur MASM

Type Abréviation Dénomination Mots Octets Bits Entier Réel Signé Pointeur Min. Max. Equivalents Equivalents








Ch. sign.*


C/C++ VBA
byte DB octet (et caractère) 1/2 1 8 1


0 255 (0FFh) unsigned char byte
sbyte DB octet signé 1/2 1 8 1
1
-128 127 char byte
word DW mot 1 2 16 1

Near réel 0 65'535 (0FFFFh) unsigned short int, int integer
sword DW mot signé 1 2 16 1
1
-32'768 32'767 short int, int integer
dword DD double-mot 2 4 32 1

Near protégé 0 4'294'967'295 unsigned long int long
sdword DD double-mot signé 2 4 32 1
1
-2'147'483'648 2'147'483'647 long int long
fword DF pointeur lointain (mode protégé) 3 6 48 1

Far protégé 0 2.82E+014 -- --
qword DQ quadruple-mot 4 8 64 1


0 1.85E+019 -- --
tbyte DT dix octets (ten bytes) 5 10 80 1


0 1.21E+024 -- --
oword -- mot octal 8 16 128 1


0 3.40E+038 -- --
real4 DD réel court (short) (simple précision) 2 4 32
1 6
1.18E-038 3.40E+038 float single
real8 DQ réel long (long) (double précision) 4 8 64
1 15
0 1.79E+308 double double
real10 DT réel à précision étendue 5 10 80
1 19
3.37E-4'932 1.18E+4'932 long double --














* chiffres significatifs
Note : mot : 0FFFFh, 2 octets, 16 bits
Sources : "Assembleur X86", par Kip Irvine, pp. 99 à 105, 489 et 746 et "Programmer en langage C", par Claude Delannoy, pp. 17 à 24