iii/ forme d'un programme assembleur

Avant de répondre aux questions, chaque commande doit être saisie sous MS-
DOS. Pour ouvrir la console DOS : Démarrer Programmes Accessoires Invite de
commandes. Pour obtenir de l'aide sur l'utilisation d'une commande :
nomCommande /?. I ? Quelques commandes? Que font les commandes
suivantes :.

Part of the document

Objectifs :
( Se familiariser avec l'utilisation du " debug ".
( Connaître les différentes étapes a suivre pour la compilation et
génération d'un exécutable sur PC sous DOS a partir d'un programme en
assembleur.
( Déduire la forme d'un programme en langage assembleur.
Matériel utilisé :
( Une documentation sur " debug "
( un PC,
( un compilateur pour l'assembleur ( masm +link) ou (tasm + tlink)
I/ ULILISATION DU DEBUG
A/ Mise en marche (Démarrez votre ordinateur en mode DOS.
(Cherchez le fichier " debug.exe " dans le répertoire
" c:\windows\command " ou dans " c:\dos "ou dans
« c:\windows\system32 ».
(Lancez le programme " debug.exe ".
( Visualisez la liste des commandes du « debug » « ? »
( Visualisez tout les registres du microprocesseur.( en particulier
CS et IP) B/ Gestion de la mémoire (Visualisez la zone mémoire [CS :IP - CS :IP+100]
(Assemblez le programme suivant a partir de l'adresse CS :100
XOR AX,AX
MOV AX,09
ADD AX,04
PUSH AX
MOV AH,[0150]
MOV CL,AH
POP DX
(Affichez le contenu de la zone mémoire [CS :100 - CS :110]
(Déassemblez le contenu de la zone mémoire qui commence a l'adresse
cs:100.
(Chargez le programme " edit.com " en mémoire (deux commandes) puis lancez
sont exécution. Exécutez ce programme en mode pas à pas
II/ LE COMPILATEUR DE L'ASSEMBLEUR 8086
Soient les deux programmes suivants :
PROGRAMME 1:
STACK segment para stack 'STACK'
STACK ends
;---------------------------------------------------------------------------
------------------------------
DATA segment word public 'DATA'
msg db 'INSTITUT SUPERIEURE D''ENSEINGNEMENT TECHNOLOGIQUE DE GABES$'
DATA ends
;---------------------------------------------------------------------------
------------------------------
CODE segment word public 'CODE'
assume cs:CODE, ds: DATA, ss: STACK
main proc near
mov ax,DATA
mov ds,ax
mov dx, offset msg ; la chaine dans DS:DX
mov ah,9 ; Fonction Display String
int 21h ; Appel au MS-DOS
mov ah,4Ch ; Retour au DOS
int 21h ; Appel au MS-DOS
main endp
CODE ends
end main PROGRAMME 2:
data segment
msg db 0Ah,0Dh,"erreur de création de repertoire$"
data ends
code segment
assume cs:code,ds:data
org 100h
debut: mov bx,81h ; dénomination
boucle:inc bx
mov ah,[bx]
cmp ah,0dh
jne boucle
mov ah,0
mov [bx],ah
mov ah,39h; creation de repertoire
mov dx,82h
int 21h
jnc fin
mov ax,data ;erreur de création de repertoire
mov ds,ax
mov dx,offset msg
mov ah,09h
int 21h
fin: mov ah,4ch ;retour au DOS
int 21h
code ends
end debut Pour chacun des deux programmes:
1. Saisir le programme a l'aide d'un éditeur de texte (par exemple
edit.com).
2. Compilez le programme à l'aide du compilateur " masm.exe ".
3. Listez les noms des fichiers résultats de cette opération.(masm
nomfich.asm)
4. Faire l'édition de lien du programme (link nomfich).
5. Listez les noms des fichiers résultant de cette opération.(masm
nomfich.asm)
6. Exécutez le programme exécutable ainsi produit.
7. Que fait le programme.
8. Lancez de nouveau le debug.
9. Chargez le programme que vous avez obtenu en (. Exécutez-le en
mode pas à pas puis en mode normal (en utilisant debug).
III/ FORME D'UN PROGRAMME ASSEMBLEUR En se référant au programmes traités dans la partie II, déduire la
forme générale d'un programme en assembleur et la démarche globale à suivre
pour produire un programme exécutable a partir d'un fichier texte
contenant le code source en langage assembleur.
Bon travail
-----------------------
ISET DE GABES
LEI31 TP N°1
MICROPROCESSEUR
8086 AU: 2014/2015 Sem1
Cours de Mr: TAYARI Lassaad DEBUT dénomination Création Afficher Erreur CF = 1 ? NON OUI FIN