Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
nehuen ivan guerrero zarate
parcial 1 orga2 2023
Commits
8f8352aa
Commit
8f8352aa
authored
2 years ago
by
nehuen ivan guerrero zarate
Browse files
Options
Download
Email Patches
Plain Diff
Upload New File
parent
f69f0a0e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
83 additions
and
0 deletions
+83
-0
ej2.asm
ej2.asm
+83
-0
No files found.
ej2.asm
0 → 100644
View file @
8f8352aa
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
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment