Je trouve ça plutôt crade.
M'enfin, c'est vrai que c'est pratique...
debut_programme: lea debut_programme,%a0 move.l %a0,%d0 cmpi.l #0x40000,%d0 jbcc __ghost_done bset.l #18,%d0 clr.l %d1 move.w (%a0,-2),%d1 add.l %d0,%d1 subq.l #1,%d1 move.l %d1,-(%sp) move.l %d0,-(%sp) movea.l 0xC8,%a0 movea.l (%a0,1384),%a0 jsr (%a0) addq.l #8,%sp movea.l 0xC8,%a0 cmpi.l #1000,(%a0,-4) jbcc __ghost_install pea __ghost_done(%pc) bset.b #2,(%sp,1) rts __ghost_install: movem.l %a2-%a6/%d3-%d7,-(%sp) lea (%sp,-20),%sp move.l #0x3E000,%a3 move.l %a0,%d0 andi.l #0x600000,%d0 addi.l #0x20000,%d0 move.l %d0,(%sp,12) move.l %d0,(%sp,16) trap #0xC move.w #0x2700,%sr move.l #0xF,%d3 pea __ghost_cont(%pc) bset.b #2,(%sp,1) clr.w -(%sp) move.l 0xAC,%a0 jmp (%a0) __ghost_cont: lea (%sp,20),%sp movem.l (%sp)+,%a2-%a6/%d3-%d7 __ghost_done:
Orion_
a écrit : il est normal donc que je te demande : sa fait koi exactement "EXECUTE_IN_GHOST_SPACE" ??
pourquoi faut t'il l'utiliser ici ?
pourquoi sa marche trés bien avec un programme que j'ai tester dans la version actuelle qui n'utilise pas "EXECUTE_IN_GHOST_SPACE" ??
XDanger> Ca veut dire quoi 'Utilise d'autres méthodes'? Que c'est sale? Si il sait qu'il n'empilera pas plus de 20 octets, il peut garder cette méthode, c'est encore dans les limites du raisonnable. Cette méthode est pas mauvaise seulement il ne faut pas en abuser et l'utiliser intelligement. D'ailleurs comme il le dit TIGCC l'utilise dans certains cas.
PpHd a écrit :
Un programme ne devrait jamais utiliser pls de 90% de la pile, a mon avis. Ne pas prevoir etre lance d'un shell est une erreur (Et ne me parle pas de la heap, c'est la responsabilite du shell).
void main(void){
int a,b=5;
char *c,*d,*e="Ouhhh!";
a=25;
}
BiHi a écrit :
Pour les erreurs avec l'asm, c'est dû au fait que tu utilises a68k au lieu de GNU as. Change les (sp,16) ou (a0,1384) en 16(sp) et 1384(sp)
Orion_ a écrit :
et puis
je capte pas tropj'ajoute sa avant ou apres expatch ?
et sa va pas foirer puisque ajouter 0x40000 a l'adrs ou ce trouve le programme
une fois décompressé, sa me parait zarb