Commit 8f8352aa authored by nehuen ivan guerrero zarate's avatar nehuen ivan guerrero zarate
Browse files

Upload New File

parent f69f0a0e
extern malloc
global filtro
;########### SECCION DE DATOS 76 54 32 10
section .data
#define moviemiento 0x0007010602050304
;########### SECCION DE TEXTO (PROGRAMA)
section .text
;rdi ;rsi
;int16_t* filtro (const int16_t* entrada, unsigned size)
filtro:
push rbp ; alineado a 16
mov rbp,rsp
;prologo
push r12
psuh r13
psuh r14
psuh r15
psuh rbx
psuh rbp ; alineado a 16
mov r12, 0
mov r13, 0
mov r14, 0
mov r15, 0
mov rbx, 0
mov rbp, 0
mov r12, rdi
mov r11, rsi
mov rax, 4
mul rsi ;calclulo el tamaño de la respuesta
mov rdi, rax
sub rdi 12
call malloc
mov r14 rax ;puntero a donde se guarda la respuesta
mov r10 rax ;copia puntero a donde se guarda la respuesta
;ciclo1
whille:
MOVDQU xmm0 [r12 + offset] ; a0/b0............a3/b3
psrld xmm0, 16 shitea a der en 32 bit
pslld xmm0, 16 ; a0 a1 a2 a3 en 32
MOVDQU xmm1 [r12 + offset] ;cada 1 tiene 2 valores a0/b0............a3/b3
psrld xmm1, 16 shitea a izquierda en 32 bit
pslld xmm1, 16 ; b0 b1 b2 b3 en 32
pshufw xmm0 moviemiento ;"en la parte baja" a3 a2 a1 a0 de 16 bit
pshufw xmm1 moviemiento ;"en la parte baja" b3 b2 b1 b0 de 16 bit
PHADDSW xmm0 xmm0 ;a1+a0
PHADDSW xmm0 xmm0 ;a0+a1+a2+a3 en cada una de las 4 posiciones de 16 bit fue con saturacion
PHADDSW xmm1 xmm1 ;b1+b0
PHADDSW xmm1 xmm1 ;b0+b1+b2+b3 en cada una de las 4 posiciones de 16 bit fue con saturacion
ADDPW xmm0, 1/4 ;no se multipicar por 0.25 :C
ADDPW xmm1, 1/4 ;no se multipicar por 0.25 :C
;NO ME QUEDA TIEMPO PERO SE QUE ESTO ESTA MAL
;LA IDEA QUE TANGO ES HACER LO MIMO PERA PARA LOS SGUIENTES DATOS HASTA RMAME UN VECTOR DE 124 Y GUARDARLO
add r12 16
movdqu [rdi], xmm0
movdqu [rdi+16], xmm1
jmp whille:
fiNfiltro:
mov rax r10
;epilogo
pop rbp
pop rbx
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment