Bon voilà j'essaye de lancer un programme ASM à partir d'un autre mais ca merdoient
Ma routine copie en mémoire le programme et se branche apres le tag de la taille
Ou est l'erreur:
_Execute_Fich:
bsr _Fich_init ; dans a1 l'adresse du fichier
move.w 12(a1),d0
;**
DEREF d0,a3 ; a3 adresse de debut fich
view (a3)
clr.l d1
move.w (a3),d1 ; taille du fichier
addq.l #3,d1
movem.l d1/a3,-(a7)
move.l d1,-(a7)
jsr doorsos::HeapAlloc ; allocates a block to copy from Archive memory
addq.l #4,a7
movem.l (a7)+,d1/a3 ; d1 = taille
tst.w d0
beq _Erreur_mem
move.w d0,handle
DEREF d0,a0 ; adresse du buffer
move.w (a0),d0 ; taille
_Exec_loop:
move.b (a3)+,(a0)+
dbra.w d0,_Exec_loop
move.w handle,d0
move.w d0,d1
DEREF d0,a3
view (a3);**********
addq.l #2,a3
movem.l d0-a6,-(a7)
jsr (a3) ; execute le fichier à l'adresse a3
movem.l (a7)+,d0-a6
move.l d1,-(a7)
jsr doorsos::HeapFree
addq.l #4,a7
bra _Retour_Fichier