website logo
Auteur
avatar
thellier

Forum » » Création-Développement » » Langage C : les unions et l'optimisation


Posté : 19-01-2017 10:32 icone du post

Ooouuups tu as tout a fait raison c'étais un >> (une division par 2) que je voulais mettre et non pas un >

L'idée c'est additionner les 2 couleurs (de valeur entre 0 et 255) puis diviser par 2 pour retomber sur une valeur entre 0 et 255 qui tienne à nouveau dans un UBYTE

Au final on a juste une lecture 32bits et une écriture 32 bits à la fin et les autres opérations entre ces deux accès se font sur les registres sans accès mémoire

A noter l'utilisation du pointeur "comme un tableau" en faisant pt[n]. dont on peut espérer que la conversion en assembleur (la compilation quoi) donnera un accès 32 bits indexé par un registre 

du genre

pix.L.ARGB32=pt[n].L.ARGB32;

qui donnerait  en 68000

MOVE.L D1, $0(A1, D0.L)  

ou un truc similaire en PPC


Alain



 

Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=2391&forum=14