@0
MOV UP ACC
SUB 512
JLZ N
MOV 64 DOWN
JMP E
N: ADD 512
MOV 0 DOWN
E: MOV ACC DOWN

@1
MOV UP ACC
SAV
MOV UP ACC
SUB 256
JLZ N
SWP
ADD 32
JMP E
N: ADD 256
SWP
E: MOV ACC RIGHT
SWP
MOV ACC RIGHT

@2
MOV LEFT ACC
SAV
MOV LEFT ACC
SUB 128
JLZ N
SWP
ADD 16
JMP E
N: ADD 128
SWP
E: MOV ACC RIGHT
SWP
MOV ACC RIGHT

@3
MOV LEFT ACC
SAV
MOV LEFT ACC
SUB 64
JLZ N
SWP
ADD 8
JMP E
N: ADD 64
SWP
E: MOV ACC RIGHT
SWP
MOV ACC RIGHT

@4
MOV LEFT ACC
SAV
MOV LEFT ACC
SUB 32
JLZ N
SWP
ADD 4
JMP E
N: ADD 32
SWP
E: MOV ACC DOWN
SWP
MOV ACC DOWN

@6
MOV RIGHT DOWN

@7
MOV RIGHT ACC
SAV
MOV RIGHT ACC
JEZ E
SWP
ADD 1
JMP O
E: SWP
O: MOV ACC RIGHT
ADD ACC
MOV ACC DOWN
ADD ACC
MOV ACC LEFT

@8
MOV UP ACC
SAV
MOV UP ACC
SUB 16
JLZ N
SWP
ADD 2
JMP E
N: ADD 16
SWP
E: MOV ACC LEFT
SWP
MOV ACC LEFT
MOV LEFT DOWN
