J'avais oublié de préciser que ma technique de bouclage automatique de l'indice
rad ne marche que si la table ne contient que des char (signés ou non).
En représentant 1 par 128, ça coince, dons on pourrait représenter 1 par 127 ... ou mieux par 64 : c'est 2 fois moins précis, certes, mais ça permet encore une autre optimisation que j'avais zappée.
Voici donc les 3 versions qui en résultent :
;
ypos=y_psin/128;
* version originale : x_pcos=xpos*128; y_psin=ypos*128;
[...]
xpos=x_pcos/128
4;
[...]
xpos=x_pcos/64;
ypos=y_psin/64;
* version '1 représenté par 64', mode basique : x_pcos=xpos*64; y_psin=ypos*6
* version originale '1 représenté par 64', mode '
Asm powaa !>6;
' : x_pcos=xpos<<6; y_psin=ypos<<6;
[...]
xpos=x_pcos>>6;
ypos=y_psin>
@++