#define HIWORD(l) ((unsigned short) ((unsigned long) (l) >> 16))
void main(void)
{
char* HandleTable[2000];
HSYM hs = 0; // pour TI Flash Studio, HSYM est défini par typdef HSYM unsigned long;
SYM_ENTRY* sym_ptr;
sym_ptr = (SYM_ENTRY*)(HandleTable[(short)hs] + (long)HIWORD(hs));
//pour éviter que TIFS enlève les lignes au-dessus :
sym_ptr->hVal = 0; //hVal est l'handle pour TIFS
}
_main:
link a6,#-8012
movem.l d3/a2,-8(a6)
;char* HandleTable[2000];
;HSYM hs = 0;
moveq #0,d3
;SYM_ENTRY* sym_ptr;
;sym_ptr = (SYM_ENTRY*)(HandleTable[(short)hs] + (long)HIWORD(hs));
move.w d3,d0
lsl.w #2,d0
clr.w d3
swap d3
swap d3
clr.w d3
swap d3
movea.w d0,a1
lea -7880(a1),a1
add.l -128(a6,a1.l),d3
movea.l d3,a1
movea.l a1,a2
;sym_ptr->hVal = 0;
move.w #0,12(a2)
.ln 8
movem.l -8(a6),d3/a2
unlk a6
rts
#define USE_TI89 #define USE_TI92PLUS #define USE_V200 #define MIN_AMS 100 #define NO_EXIT_SUPPORT #include <tigcclib.h> #define HIWORD(l) ((unsigned short) ((unsigned long) (l) >> 16)) register unsigned long hs asm("d0") void _main(void) { char* HandleTable[2000]; SYM_ENTRY* sym_ptr; sym_ptr = (SYM_ENTRY*)(HandleTable[(short)hs] + (long)HIWORD(hs)); sym_ptr->handle = 0; }
_main: #APP #NO_APP link.w %a6,#-8000 move.w %d0,%d1 ext.l %d1 lsl.l #2,%d1 lea (%a6,%d1.l),%a0 move.l %d0,%d1 clr.w %d1 swap %d1 move.l -8000(%a0),%a0 add.l %d1,%a0 clr.w 12(%a0) unlk %a6 rts
Ximoon
a écrit : pour le CAS à mon avis les bugs y seront tant qu'ils ne changeront pas le processeur, car le code n'a pas été développer par TI, et donc ils ne peuvent pas le corriger eux-même sans payer (enfin je pense), et donc il leur faut une vrai raison pour le mettre à jour.