@0 MOV -32 ACC MOV UP DOWN MOV UP RIGHT MOV UP RIGHT MOV UP RIGHT MOV UP RIGHT MOV UP DOWN L: SWP MOV UP ACC O: MOV ACC DOWN MOV ACC DOWN SWP ADD 1 JLZ L JMP O @1 MOV LEFT DOWN MOV LEFT DOWN MOV LEFT ACC JMP S L: MOV LEFT ACC Z: SWP N: MOV ACC DOWN MOV ACC DOWN SWP S: SAV SUB LEFT JLZ L G: MOV LEFT ACC JEZ Z JMP N @2 @3 MOV UP DOWN MOV UP ACC JMP S L: MOV UP ACC Z: SWP N: MOV ACC RIGHT MOV ACC RIGHT SWP S: SAV SUB UP JLZ L G: MOV UP ACC JEZ Z JMP N @4 L: MOV ANY ACC N: MOV ACC UP MOV ACC UP MOV LEFT NIL @5 MOV UP DOWN MOV UP ACC JMP S L: MOV UP ACC Z: SWP N: MOV ACC DOWN MOV ACC DOWN SWP S: SAV SUB UP JLZ L G: MOV UP ACC JEZ Z JMP N @6 @7 MOV ANY ACC JNZ S L: MOV RIGHT ACC Z: SWP N: MOV ACC DOWN SWP S: SAV SUB RIGHT JLZ L G: MOV RIGHT ACC JNZ N SWP JNZ N MOV 0 DOWN MOV 0 DOWN @8 MOV UP ACC JMP S L: MOV UP ACC Z: SWP N: MOV ACC LEFT MOV ACC LEFT SWP S: SAV SUB UP JLZ L G: MOV UP ACC JEZ Z JMP N