Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: cpu2 en 22 Marzo 2014, 21:21 PM

Título: [Aporte] Strlen XMM
Publicado por: cpu2 en 22 Marzo 2014, 21:21 PM
Bueno aqui les dejo una implementacion de una strlen en XMM, en teoria tendria que ser muchisimo mas rapida que la strlen normal, pero no esta testeada.

Código (asm) [Seleccionar]
i.section .text
.globl _start

_start:

pushq %r8
pushq %r9
pushq %r12
movq %r8, %r9

pxor %xmm1, %xmm1

_x0:

movdqu (%r8), %xmm0
pcmpeqb %xmm0, %xmm1
pmovmskb %xmm1, %r12d
addq $16, %r8
andl $0xffffffff, %r12d
jz _x0

bsf %r12d, %r12d
subq $16, %r8
subq %r9, %r8
addl %r12d, %r8d

popq %r12
popq %r9
popq %r8


Si tienen una CPU de 32 bits solamente cambien los registros, el puntero a la cadena es %r8.

Un saludo.