Convertir 64 quads booléens en 64 bits dans un quad

Pour discuter de l'assembleur
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Convertir 64 quads booléens en 64 bits dans un quad

Message par Ollivier »

/!\ Attention, la logique usée est stricte :
0 = Etat bas
1 = Etat haut

Si quelqu'un a mieux, c'est accueilli sans problème.

Code : Tout sélectionner

Define *Source
Define *Dest
;...
! Mov RBP, [p_Source]
! Mov R9, [p_Dest]
! Mov RDX, 1
! Xor RBX, RBX
! Mov RAX, RDX
! @@:
! Xor RCX, RCX
! Cmp QWord [RBP], RDX
! CMovE RCX, RAX
! LeA RBP, [RBP + 8]
! Or RBX, RCX
! RoL RAX, RDX
! JNC @b
! Mov [R9], RBX