Articles > Architecture > Structure d'un programme > Format .COM >

Format .COM

définition

Un programme .COM représente une image binaire non corrigée d'un flux d'instructions machine.

structure

Un programme .COM n'est composé que d'un seul segment. Sa taille ne peut donc pas exéder 64 ko. Le code, les données et la pile sont tous situés dans le même segment physique et logique.

MS-DOS le charge en mémoire à la plus basse adresse de segment possible, puis une zone PSP est créée à l'adresse offset 0. Tous les registres de segment pointent vers l'adresse offset 0 (début de la PSP). La pile commence à la fin du segment (SP initialisée à FFFFh).

Exemple

code MASM

 
TITLE esxemple de programme .COM
.model tinny
.code
org 100h
 
main PROC
  mov ah,9
  mov dx,OFFSET msg_hello
  int 21h
  mov ax,4C00h
  int 21h
main ENDP
 
msg_hello BYTE "Hello World",0Dh,0Ah,'$'
 
END main
 

code DEBUG

 
-n hello.com
-a
xxxx:0100 mov ah,09
xxxx:0102 mov dx,10C
xxxx:0105 int 21
xxxx:0107 mov ax,4C00
xxxx:010A int 21
xxxx:010C
-e 10C "Hello World  $"
-e 117 0D
-e 118 0A
 
-r cx
:1A
-w
 

commentaires

Pour le code DEBUG, sous l'invite de commandes MS-DOS, lancez DEBUG en tapant debug. Puis tapez le code fournit. Ensuite, tapez la commande -g pour executer le programme ou bien la commande -q pour quitter DEBUG.
 

  • La commande -w a enregistré le programme dans le fichier hello.com. Il s'agit de l'exécutable du programme au format .COM.
  • Remarquez la taille du fichier (26 octets).C'est l'intérêt du format .COM. Avec ce format d'exécutable, le fichier disque ne contient que le code binaire du programme : ce qui permet d'avoir des programmes de très petite taille. Notez bien que je parle ici de la taille du fichier binaire car l'occupation mémoire du programme de 64 Ko.
  • La commande -r cx sert à assigner une valeur à un registre (ici il s'agit du registre cx). Utilisez cette commande pour définir la taille du programme. En effet, lorsque vous demandez à DEBUG d'enregistrez un fichier, il se sert de la valeur du registre CX pour déterminer sa taille.
     
  • mov ax,4C00 / int 21 sert à quitter le programme et revenir sous DOS.
  • Les deux lignes -e 117 0D et -e 118 0A sont utilisées pour insérer un retour ligne à la fin de la chaîne "Hello World".

 

première page page précédente page suivante dernière page

Navigation rapide :

Page Description Dernière mise à jour
Format .COM structure d'un programme COM 24 jan 2008 18:29:40

Articles > Architecture > Structure d'un programme > Format .COM >


Cette page a été générée le 24 jui 2008 01:22:49.
clipart home livre lecture book JEREMYA
WEBSITE
jeremya.ironie.org

s'identifier

Nom d'utilisateur :
Mot de passe :

outils

qui est en ligne ?

39 visiteurs en ligne

sondage qualité

1-mauvais - excellent-5
Design :
1 5
Ergonomie :
1 5
Contenu :
1 5
Structure :
1 5
Ensemble :
1 5
1-mauvais - excellent-5
Commentaire :