-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDownby2.txt
More file actions
36 lines (36 loc) · 1012 Bytes
/
Downby2.txt
File metadata and controls
36 lines (36 loc) · 1012 Bytes
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
CLR #ARG = i, ART = j, AWG = r, T = c; all zeros at beginning
SET0
[ZT] #ZT = 0
$part2 TOG #First run: (ZT 0 --> 1: MDAR = ART,ARG) #Second run: (ZT --> 0: MDAR = ARG,ART)
$loop LOAD #Reads im[i,j]
MOVR
[MDDR]
INR
[ARG] #First run: i = i+1 #Second run: j = j+1
LOAD
ADD
[MDDR] #AC = AC + MDDR (F:sum = im[i,j] + im[i+1,j])
INR
[AC] #Add one to sum, to prevent floor error when div by 2
DIV2
MVAC
[MDDR] #Move the result, ready to be written
STOR #First run: (ZT 0 --> 1: MDAR = AWT,AWG) #Second run: (ZT --> 0: MDAR = AWG,AWT)
INR
[ARG]
INR
[WRG] #r = r+1
JNRG
@loop #next pixel if i != 0;
INR
[ART] #j = j+1
CLAC
MVAC
[AWG] #r = 0
INR
[AWT] #c = c+1
JNRT
@loop #if !(j == 0): next row; else: all rows finished
CLR #all zeros at beginning
JZT
@part2 #First run: (ZT = 1; loop) Second run: (ZT = 0; continue to end)