Comparable aux modèles 64-bits, l'architecture d'Intel de 16-bits permet aux différents de modèles de la mémoire d'accéder de différentes façons d'accéder à un emplacement de mémoire particulier.
La raison pour utiliser un modèle de mémoire spécifique est la taille des instructions à assembler ou le stockage requis pour les pointeurs.
Les compilateurs de l'ère 16-bits ont généralement les caractéristiques suivantes:
| Modèle de données | short | int | long | pointers |
|---|
| IP16L32 (près) | 16 | 16 | 32 | 16 |
|---|
| I16LP32 (loin) | 16 | 16 | 32 | 32 |
|---|
"Menu"
Code et les données seront dans le même segment (en particulier, les registres CS, DS, ES, SS pointeront vers le même segment); "proche" pointeurs sont toujours utilisés. Code, données et pile ensemble ne peuvent pas dépasser 64Ko.
"Petit"
Code et les données seront dans des segments différents, et les pointeurs "près" sont toujours utilisés.
Il y aura 64 Ko d'espace pour le code et 64 Ko pour les données / pile.
"Medium" Les pointeurs de code utilisent des pointeurs "loin", permettant l'accès à 1Mo. Les pointeurs de données restent du type «proche».
"Compact" Les pointeurs de données utilisent "loin" et le code utilise les pointeurs "proche".
"Large" / "Huge" Code et les pointeurs de données seront "loin".