Program assembleur 8086

Fermé
smail55 - 8 mai 2009 à 19:20
smail55 Messages postés 1 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 8 mai 2009 - 8 mai 2009 à 20:35
Bonjour,svp expliquer moi se fichier assembleur en mettant des commentaire en français à coté de chaque instruction en commençons par un ; et merci.le voici le fichier:

;...........................................................­

; multi-segment executable file template.

data segment

Tb db 64 DUP(?)
pkey db 10,13,"press any key...$" c1 db 'UMMTO $' c2 db 'faculte de genie electrique et informatique $' c3 db 'depart informatique__3 ing $'
message db 'Veuillez introduire des caracteres svp: ',10,13,'appuyer sur entrer pour terminer'
NLine db 10,13,'$'
SPACE DB ' $'
nbre dW 0
decroissant db 'le resultat du tri decroissant est:',10,13,'$'
croissant db 'le resultat du tri croissant est:',10,13,'$'
tp5 db 'le tp numero 5 $'
etud db 'LE TP EST FAIT PAR: $'
nom1 db ': BOULIL SMAIL BOUZIDI SAID $'

nom2 db ': BOUZIDI SABRINA BOUSSABA SABRINA $'
nom3 db ' BRIKI SABIHA $'


date db 'le 12/05/2009 $'
PAC DB 'pationtez...le tri peut prendre quelques secondes $'
data ends

stack segment
dw 128 dup(0)
stack ends

code segment
assume ds:data
start:

mov ax, data
mov ds, ax
mov es, ax

lea dx,NLine
mov ah,9
int 21h
lea dx,c1
int 21h
lea dx,NLine
int 21h
lea dx,c2
int 21h
lea dx,NLine
int 21h
lea dx,c3
int 21h
lea dx,NLine
int 21h
lea dx,tp5
mov ah, 9
int 21h

lea dx, NLine
mov ah, 9
int 21h


lea dx,date
mov ah, 9
int 21h

lea dx, NLine
mov ah, 9
int 21h
lea dx,etud
mov ah, 9
int 21h

lea dx, NLine
mov ah, 9
int 21h
lea dx,nom1
mov ah, 9
int 21h

lea dx, NLine
mov ah, 9
int 21h

lea dx,nom2
mov ah, 9
int 21h

lea dx, NLine
mov ah, 9
int 21h
lea dx,nom3
int 21h
lea dx, NLine
mov ah, 9
int 21h


lea dx, NLine
mov ah, 9
int 21h

lea dx, NLine
mov ah, 9
int 21h

mov ah,9
LEA dx,message
int 21h
lea dx, NLine
mov ah, 9
int 21h
lea dx,pac
int 21h
lea dx,NLine
int 21h
mov BX,0
mov ah ,1


saisie:

int 21h
mov Tb[BX],al
inc bx
cmp bx,64
je suite
cmp al,0dh
jne saisie

suite:
;dec bx
mov nbre,bx
mov cx,nbre
dec cx

L1:
push cx
mov si,offset Tb
L2:
MOV Al,[SI]
cmp [si+1],al
Ja L3
xchg al, [SI+1]
mov [si] ,al
L3:
inc si

loop L2
POP CX
loop L1

lea dx, NLine
mov ah, 9
int 21h

lea dx,croissant
mov ah, 9
int 21h

mov si,offset Tb
mov di,si


mov cx,nbre

b1: mov dl,[si]
inc si
mov ah,02h
int 21h


lea dx,space
mov ah,9
int 21h
loop b1


mov nbre,bx
mov cx,nbre
dec cx

A1:
push cx
mov si,offset Tb
A2:
MOV Al,[SI]
cmp [si+1],al
Jb L3
xchg al, [SI+1]
mov [si] ,al
A3:
inc si
loop A2
POP CX
loop A1

lea dx, NLine
mov ah, 9
int 21h

lea dx, decroissant
mov ah, 9
int 21h


mov si,offset Tb
mov di,si
mov cx,nbre
b2:
lea dx,space
mov ah,9
int 21h
mov ah,02
mov dl,[si]
int 21h
inc si
dec cx
cmp cx,0
jnz b2

lea dx, pkey
mov ah, 9
int 21h ; output string at ds:dx

; wait for any key....
mov ah, 1
int 21h

mov ax, 4c00h ; exit to operating system.
int 21h
code ends

end start

2 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
8 mai 2009 à 19:27
Si tu nous disais par exemple :

J'ai compris la partie jusqu'à "saisie:" mais après je ne sait juste pas ce que fait l'instruction "JA L3" dans "L2:" nous pourrions te dire qu'il s'agit d'un saut à L3 en fonction du positionnement de certains flags.

Mais là je pense que personne ne te fera une solution complète pour tes yeux malgré le fait qu'ils puissent être beau.
1
est ce que je peux vous aidez si je vous di que se programme fait (le tri croissant et decroissant des caracteres saisis) et merci encore.
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
8 mai 2009 à 20:34
Lit ceci et tu aura réponse à la plupart de tes questions :

https://benoit-m.developpez.com/assembleur/tutoriel/
0
smail55 Messages postés 1 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 8 mai 2009
8 mai 2009 à 20:35
merci .
0