11Fermer13
BrunniLe 14/04/2009 à 17:00
Bah c'est simple en C mais c'est également simple en ASM. En ARM en mettant que tu as l'index dans r0 alors c'est juste ça:
mov lr, pc
ldr pc, [cris, r0, asl #2]

+ 1 un bx lr dans la fonction. Au total 4 cycles s'il n'y a pas de cache miss, c'est pour ça que je disais que c'est largement plus intéressant que de l'inline car il n'y a pas de restriction de taille du handler, mais sur 68k c'est une autre affaire...
A toi de voir ce que tu préfères, mais une véritable table de saut au sens goto cris[ i ] n'est pas possible en C.