Tp 1 utilisation de l’outil debug - informatique industriel

Informatique Industrielle : TP 1 Utilisation de l’Outil Debug

Télécharger PDF

Initiation à la Programmation en Assembleur avec Debug

I. But du TP

L'objectif de ce TP est de donner un aperçu succinct du langage assembleur des microprocesseurs de la famille 8086. Ce langage est dit de « bas niveau » car il est étroitement lié à l'architecture du microprocesseur.

II. Comment exécuter le Debug sous Windows

Le Debug du 8086, bien que compatible avec Windows XP, Vista, serveur 2003 et 2000, pose des problèmes sur Windows 7 et 8. Pour contourner ces difficultés, utilisez DOSBox, un émulateur open source.

III. Initiation à la Programmation en Assembleur avec Debug

Pour commencer, affichez le contenu des registres en tapant la commande -r (et appuyez sur Entrée). Vous obtiendrez les registres AX, BX, CX, DX, SI, DI, BP, ainsi que les segments DS, ES, SS et CS, avec l'IP et les drapeaux.

Modification des Registres

Pour modifier le contenu d'un registre, par exemple AX, tapez -r ax. Le contenu actuel s'affiche avec deux points, permettant de le remplacer par une valeur hexadécimale. Par exemple, tapez 1234 pour obtenir AX = 1234H.

Travail avec le Data Segment (DS)

Utilisez la commande d [adresse] pour extraire le contenu du DS à partir d'une adresse donnée. Par exemple, d 073F:0000 affiche les octets du segment DS à l'offset 0000. Les valeurs hexadécimales sont converties en caractères ASCII, avec des points pour les codes non valides.

Modification des Données en Mémoire

Pour modifier un octet en mémoire, utilisez la commande e [adresse]. Par exemple, e 073F:0000 permet de remplacer les octets à partir de l'offset 0. Tapez la nouvelle valeur hexadécimale après le point.

Utilisation des Instructions

Les instructions sont enregistrées dans le Code Segment (CS). Toujours vérifier l'adresse du Instruction Pointer (IP) avant d'écrire une nouvelle instruction pour ne pas écraser les anciennes.

Exemple avec la Commande MOV

Pour écrire le contenu du registre AX dans l'adresse 0 du DS, utilisez mov [0], ax. Le contenu de AX (16 bits) sera divisé en deux octets (LSB et MSB) et enregistré dans le DS.

Exécution et Vérification des Instructions

Utilisez la commande t pour exécuter une instruction en pas à pas. Pour afficher le contenu du DS après modification, utilisez d [adresse].

Commande ADD et SUB

La commande add permet d'additionner deux opérandes, tandis que sub effectue une soustraction. Le résultat est enregistré dans le registre de destination.

Exemple avec une Chaîne de Caractères

Pour écrire une chaîne de caractères dans le DS, commencez par l'offset 100 avec la commande a 100. Entourez la chaîne de deux guillemets : "Hello World, Merci Beaucoup ? ?".

FAQ

1. Pourquoi utiliser DOSBox pour exécuter Debug sous Windows 7 ou 8 ?

DOSBox est un émulateur qui permet d'exécuter des logiciels DOS sous des systèmes modernes comme Windows 7 ou 8, en contournant les problèmes de compatibilité.

2. Comment convertir une valeur hexadécimale en ASCII dans Debug ?

Debug affiche automatiquement une conversion ASCII à droite des valeurs hexadécimales. Les points représentent des codes ASCII non valides.

3. Que signifie LSB et MSB dans le contexte des registres ?

LSB (Least Significant Byte) désigne l'octet à poids faible, tandis que MSB (Most Significant Byte) désigne l'octet à poids fort dans une valeur enregistrée sur 16 bits.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne