-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprogram.geo
More file actions
120 lines (114 loc) · 1.83 KB
/
Copy pathprogram.geo
File metadata and controls
120 lines (114 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# MEM ESCALAR, Como estaba + junta con los switches
# MEM VECTORIAL, 200 KB
main:
LDR rs, 0
LDR t5, 256
MUL t5, 256
LDR g11, t5
SUB t5, 1 # Memory Pointer
JGE applyFilterLoop
applyFilterLoop:
CMP t5, 0
JGE end
CMP rs, 0
JGE sepia
CMP rs, 1
JGE gray
CMP rs, 2
JGE negative
JGE end
sepia:
# Effect
# Cargar a Registros
VLDR vr, t5 # primeros 4 valores
LDR t6, t5
ADD t6, g11
LDR t7, t6
ADD t7, g11
VLDR vg, t6 # primeros 4 valores
VLDR vb, t7 # primeros 4 valores
# SEPIA
# RED
VLDR vtr, vr
VDIV vtr, 3
VADD vtr, vg
VLDR vt, vb
VDIV vt, 5
VADD vtr, vg
# GREEN
VLDR vtg, vr
VDIV vtg, 3
VADD vtg, vg
VLDR vt, vb
VDIV vt, 6
VADD vtg, vg
# BLUE
VLDR vtb, vr
VDIV vtb, 3
VLDR vt, vg
VDIV vt, 2
VADD vtb, vt
VLDR vt, vb
VDIV vt, 5
VADD vtb, vg
# ASSIGN
VLDR vr, vtr
VLDR vg, vtg
VLDR vb, vtb
# MEMORY
VSTR t5, vr
VSTR t6, vg
VSTR t7, vb
JGE applyFilter
# Loop
SUB r5, 4
JGE applyFilter
gray:
# Effect
VLDR vr, t5 # primeros 4 valores
LDR t6, t5
ADD t6, g11
LDR t7, t6
ADD t7, g11
VLDR vg, t6 # primeros 4 valores
VLDR vb, t7 # primeros 4 valores
VDIV vr, 3
VDIV vg, 3
VDIV vb, 3
VADD vr, vg
VADD vr, vb
VLDR vg, vr
VLDR vb, vr
# MEMORY
VSTR t5, vr
VSTR t6, vg
VSTR t7, vb
# Loop
SUB r5, 4
JGE applyFilter
negative:
LDR t6, t5
ADD t6, g11
LDR t7, t6
ADD t7, g11
# R
VLDR vr, 255
VLDR vt, t5
VSUB vr, vt
# G
VLDR vg, 255
VLDR vt, t6
VSUB vg, vt
# B
VLDR vb, 255
VLDR vt, t7
VSUB vb, vt
# MEMORY
VSTR t5, vr
VSTR t6, vg
VSTR t7, vb
# Loop
SUB r5, 4
JGE applyFilter
end:
add ra, 0