GoldenCrystalLe 25/10/2003 à 12:33
Tu dois pouvoir faire ça avec quelques move.l et lsl.l
Plus précisément, tu obtient l'adresse du word du début de la ligne et l'indice du bit qui correspond au pixel (dans le word bien entendu), que tu transformes en un compteur de décalage.
Ensuite, tu lis un long a l'emplacement actuel dans le buffer, et tu lui appliques lsl.l avec le compteur de décalage calculé précedemment. Il ne te reste plus qu'a faire un swap et un move.w (avec postincrement) vers l'emplacement de destination. Tu incrémentes le pointeur de la source de 2 et tu ansi de suite jusqu'à atteindre la fin de la ligne.
EDIT: post croisé