Je ne connais pas l'assembleur mais j'essaye quand même (en espérant que l'équivalent de ces instructions existent

)
d0 = a2[0]
d0 <<= 2
d0 += a2[1]
d0 <<= 2
d0 += a2[2]
d0 &= 0xFFF
d0 <<= 2
a1 = a6
a6 += d0
(sinon au début j'avais écrit *a2++ avec à la fin a2 -= 2 pour restaurer, mais je ne sais pas lequel existe en assembleur entre *a2++ et a2[i]

)