On lance DEBUG.EXE qui ouvre une fenêtre DOS.
Les données sont à mettre à partir de l'offset 0100
D'abord, on remplit de 0100 à 500 par des 00
f cs:100 500 00
Le programme commençant toujours à 0100,
on va donc à 100 pour écrire un saut à 0170
cette instruction demande deux octets EB et 6E
-a 100
0100:EB6E JMP 0170
A 0104, on écrit le texte se terminant par $
-e cs:104 "Ceci est du texte " 85 " afficher" 0A 0D "Tapez sur la touche Echap pour terminer$"
Remarque:
85 est le code hexdécimal du caractère étendu "à"
0A suivi de 0D sont les codes en hexdécimal pour
respectivement aller à la ligne puis aller en début de ligne
On se positionne à 170 pour entrer les instructions
-a 170 0300
0170:B80300 MOV AX, 0003 On utilise le vecteur AH=00 de l'interruption 10H et on met AL=03
0173:CD10 INT 10 pour avoir le mode texte couleur en 25 lignes de 80 caractères
0175:BA0401 MOV DX, 0104 On utilise le vecteur AH=09 de l'interruption 21 qui affiche
0178:B409 MOV AH, 09 un texte pointé par DX et se terminant par $
017A:CD21 INT 21
017C:B80000 MOV AX, 0000 On utilise le vecteur AH=00 de l'interruption 16 qui retourne
017F:CD16 INT 16 dans le registre AX les valeurs de la touche appuyée au clavier
0181:3D1B01 CMP AX, 011B On compare AX avec les valeurs de la touche Echap
0184:75F6 JNZ 017C on va à 017C si c'est une autre touche qui est appuyée
0186:B84C00 MOV AX, 4C00 On utilise le vecteur AH=4C de l'interruption 21 pour
0189:CD21 INT 21 l'arrêt du programme.
-n ESSAI.COM On attribue un nom au programme
-r CX On entre dans CX le nombre d'octets pour la longueur du programme
CX 0000 CX étant à zéro,
:8B on entre 8B (en décimal) octets (de 0100 à 018B)
_w et on écrit (write) le programme sur le disque
-d 100 18B montre l'espace qu'occupe le programme en hexadécimal et équivalent texte
(voir image en début de cette page)
-q pour quitter DEBUG.EXE
|