elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  [Aporte] Strlen XMM
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Aporte] Strlen XMM  (Leído 1,868 veces)
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
[Aporte] Strlen XMM
« 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
  1. i.section .text
  2. .globl _start
  3.  
  4. _start:
  5.  
  6. pushq %r8
  7. pushq %r9
  8. pushq %r12
  9. movq %r8, %r9
  10.  
  11. pxor %xmm1, %xmm1
  12.  
  13. _x0:
  14.  
  15. movdqu (%r8), %xmm0
  16. pcmpeqb %xmm0, %xmm1
  17. pmovmskb %xmm1, %r12d
  18. addq $16, %r8
  19. andl $0xffffffff, %r12d
  20. jz _x0
  21.  
  22. bsf %r12d, %r12d
  23. subq $16, %r8
  24. subq %r9, %r8
  25. addl %r12d, %r8d
  26.  
  27. popq %r12
  28. popq %r9
  29. popq %r8

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

Un saludo.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con strlen [Solucionado]
Programación C/C++
Dark00 9 5,368 Último mensaje 11 Noviembre 2012, 19:17 pm
por Dark00
[FASM]strlen en ASM
ASM
0xDani 7 5,660 Último mensaje 28 Diciembre 2012, 14:30 pm
por avesudra
[Micro-rutina] strlen - ANSI « 1 2 »
ASM
Karcrack 13 7,539 Último mensaje 4 Abril 2013, 02:14 am
por mr.blood
strlen() y .length()
Programación C/C++
erest0r 4 4,240 Último mensaje 17 Septiembre 2013, 08:25 am
por erest0r
Duda con programa - funcion strlen?
Programación C/C++
welchu 9 4,394 Último mensaje 18 Febrero 2014, 03:11 am
por NOB2014
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines