@0
L: MOV UP,ACC
MOV ACC,DOWN
JEZ N
SWP
SUB 30
JEZ W
ADD 30
S: MOV ACC,DOWN
U: ADD 3
SAV
JMP L
W: MOV -1,DOWN
JMP U
N: SAV
MOV 30,DOWN

@1
L: MOV DOWN,ACC
SUB 3
JEZ C3
JLZ C12
MOV 3,DOWN
MOV 3,DOWN
JMP L
C3: MOV 0,DOWN
MOV 3,DOWN
JMP L
C12: MOV 3,DOWN
MOV 0,DOWN

@2


@3
L: MOV UP,ACC
MOV ACC,RIGHT
MOV ACC,DOWN
MOV UP,ACC
JLZ W
MOV 0,DOWN
JMP P
W: MOV 0,ACC
MOV 3,DOWN
P: MOV ACC,RIGHT

@4
L: MOV LEFT,ACC
MOV ACC,UP
MOV ACC,RIGHT
MOV LEFT,DOWN
MOV UP,DOWN
MOV UP,DOWN
MOV RIGHT,DOWN
MOV RIGHT,DOWN

@5
L: MOV LEFT,ACC
SUB 2
JEZ C2
MOV 3,LEFT
MOV 0,LEFT
JMP L
C2: MOV 0,LEFT
MOV 3,LEFT

@6
L: MOV UP,ACC
JEZ N
SWP
ADD UP
JMP O
N: SWP
ADD UP
ADD 3
O: MOV ACC,RIGHT
ADD 1
MOV ACC,RIGHT
SUB 1
SWP
JMP L

@7
L: MOV UP,ACC
MOV ACC,DOWN
MOV LEFT,DOWN
MOV UP,DOWN
MOV UP,DOWN
MOV -1,DOWN
MOV ACC,DOWN
MOV LEFT,DOWN
MOV UP,DOWN
MOV UP,DOWN
MOV -1,DOWN

@8

