Effectivement ca merdait. J'ai extrait le code critique : st.b $00 !
Strange. Ca ne devrait etre que le vecteur d'init de la pile pourtant, et avec les adresses 24 bits, rien ne devrait etre change....
Faisons une recherche si AMS accede a cette donnee (Data breakpoint : $00).
Allons dans l'ecran graph.
Pouf ! Bingo !
Y'a le code suivant :
move.w $0,d0
bsr machintruc
rts
machintruc:
... / truc qui test si d0+$???-$4000< (signe $FFFF).
Bref, ca merdait a ce niveau. Ma question est simple :
pourquoi AMS accede a cette portion de vecteur de reset de pile ?
J'ai trouve deux explications :
+ soit s'aurait du etre : move.l $0,d0 // Chargement adresse pile.
+ Soit c'est un bug, et c'est move.w #0,d0 qui aurait du etre la...
Bref, ils ont un peu abuse de
les ingenieurs de chez ti 
[edit]Edité par PpHd le 19-12-2001 à 16:32:13[/edit]
Je penchais d'abord plutôt pour le # oublié, mais comme il y a des calculs après, c'est plutôt l'autre bogue. Surtout que AMS est écrit en C, et qu'un *(unsigned int *)0 avec le mauvais type de ints (probablement avec un compilateur règlé pour des ints 16-bits et un ingénieur arrivant des x86|x>=3 en 32 bits) est vite fait. Plus vite qu'un * oublié. Mais ce ne sont que des spéculations évidemment. Il faudrait voir ce que fait le code ensuite.





ahahah celui là tu peux pas le modifier ce titre de topic 