Aide pour code

marooh Messages postés 130 Statut Membre -  
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai un code assembleur qui permet de trouver le maximum d'un tableau.En le compilant, la premiere phase passe avec succès mais en créant l'application exe un message d'erreur s'affiche qui est le suivant: no stack
je ne sais pa quoi faire
voici le code
.386
.model small, c
.stack
ASSUME SS:segment_pile

MOV AX, segment_pile
MOV SS, AX
MOV SP, base_pile
.data
TABLEAU DB 20 DUP (?)

.code

Maximum proc uses ebx ecx edx, \
a:ptr, \
n:dword

mov ebx,a

mov ecx,0

mov eax,[ebx]

while1: cmp ecx,n
jge endwhile1

if_1: mov edx,[ebx+4*ecx]
cmp edx,eax
jle endif_1

mov eax,[ebx+4*ecx]

endif_1:

inc ecx

jmp while1
endwhile1:

ret

Maximum endp
end maximum

5 réponses

ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
16 ou 32 bits ?
0
marooh Messages postés 130 Statut Membre
 
16 bit
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
C'est quoi ça alors ?
mov ebx,a
mov ecx,0
mov eax,[ebx]
while1: cmp ecx,n
jge endwhile1
if_1: mov edx,[ebx+4*ecx]
cmp edx,eax
jle endif_1
mov eax,[ebx+4*ecx]

0
marooh Messages postés 130 Statut Membre
 
ça ne peut se faire qu'en 32 bit??si c'est le cas,c'est bon aussi,mais j'ai besoin de savoir qu'est ce qui va pas avec ce code pour ne pas pouvoir crée l'exe et la cause du message "no stack"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Non (et heureusement, sinon on aurait fait des instructions pour rien), mais si tu développes en 16 bits tu ne dois pas utiliser les registres 32.
0