Parcour et trie d'un tableau

Signaler
Messages postés
13
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2008
-
Messages postés
13
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2008
-
salut à tt.
bon voila c pr trié un tableau d'entiees en ordre croissent.et avré dire je cpas trop
comment parcourir un tableau en assembleur.

en pascal pour trié j'auré utilisé 2 boucle:
for i:=1to n-1 do {n la cardinalité du tableau}
for j:=i+1 to n do
if t[j]<t[i] do
begin
temp:=t[i];
t[j]:=temps;
t[i]:=t[j];
end;
donc boucle imbriqué oui,mais en ASM comment on fait????

bon tt ce que je c faire c declaré un tableau:(enfin je crois)c'est un parcour simple
data segment
TAb dw dup "12","5","o",-16"
data ENDs
code segement
ASSUME cs:code ,ds:data
debut mov ax,data
mov ds,ax
mov si,offset TAB
.....
et apré je c pas comment en fait pr parcourir simplemnt ,en suit pr faire comme dns mon exemple -boucles imbriqué- et pour pour testé....
merci de m'aidé moi je vais voir revoir mes tutoriels
@+

1 réponse

Messages postés
13
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
2 juillet 2008

voila ce que j pue faire ,dire moi les erreurs de syntax (avec MASM32);merci:

.586


.MODEL Flat, STDCALL


.DATA


TAB db "12","5","0","10","16"


TEMP db 0


DATA ENDS


.CODE


ASSUME CS:CODE,DS:DATA


DEBUT:MOV AX,DATA


MOV DX,AX


MOV SI,offset TAB ; si pointe sur le debut du tableau


MOV [DI],[SI+1]


COM:CMP TAB[SI],TAB[DI]


JL PERMUTE


CMP [DI],offset [TAB +4]


JE COM2


INC DI


JUMP COM


COMP2:CMP [SI],offset [TAB+4]


JE AFFICHAGE


INC SI


MOV [DI],[SI+1]


PERMUTE:MOV TEMP,TAB[DI]


MOV TAB[DI],TAB[SI]


MOV TAB[SI],TAMP


JUMP COM


AFFICHAGE:MOV si,offset TAB


MOV AH,TAB[SI]


COMP si,offset [TAB+4]


JE FIN


MOV DL,AL


MOV AH,2


INT 21H


INC SI


JUMP AFFICHAGE


FIN:MOV AH,4CH


INT 21H


ENDS


end DEBUT

voila l'erreure que masm affiche


(3) : error A2008: syntax error : SEGMENT

MERCI