@0
L:MOV UP ACC
MOV ACC DOWN
SUB 16
JLZ N
MOV 0 ACC
JMP S
N:ADD 16
S:MOV ACC DOWN
MOV ACC DOWN
JMP L

@1
L:JRO DOWN
JMP A
SWP
MOV ACC DOWN
MOV DOWN ACC
SWP
JMP L
A:MOV ACC DOWN
MOV DOWN ACC

@2
MOV UP RIGHT
SUB UP
JGZ R
F:JEZ X
MOV 1 RIGHT
ADD 1
JMP F
R:MOV 4 RIGHT
SUB 1
JGZ R
X:MOV 7 RIGHT
MOV UP ACC

@3
MOV 15 ACC
I:MOV 0 UP
SUB 1
JNZ I
S:MOV LEFT RIGHT
L:JRO LEFT
MOV ACC DOWN
MOV UP ACC
JMP L
MOV ACC UP
MOV DOWN ACC
JMP L
MOV ACC RIGHT
MOV RIGHT ACC
JMP S

@4
L:MOV LEFT ACC
SAV
SUB 16
JLZ N
ADD 1
MOV ACC UP
MOV LEFT LEFT
N:MOV ANY ACC
SUB 4
JEZ O
ADD 5
O:MOV ACC LAST
MOV ACC DOWN
SWP
MOV ACC DOWN

@6
MOV UP ACC
MOV 0 DOWN
MOV UP DOWN
MOV ACC DOWN
MOV ACC DOWN
MOV ACC DOWN
MOV ACC DOWN
MOV ACC DOWN
MOV ACC DOWN
JRO RIGHT
MOV -1 DOWN

@7
MOV -6 LEFT
MOV -6 LEFT
MOV -6 LEFT
MOV -6 LEFT
MOV 1 LEFT
