@0 @1 SUB UP N:SAV NZ: MOV ANY ACC Z: MOV ACC DOWN JNZ NZ SWP O: MOV ACC DOWN SUB ACC SUB UP JNZ N MOV -1 DOWN @2 @3 @4 S: MOV UP ACC JEZ O JLZ O G: SAV N: MOV UP ACC MOV ACC RIGHT JNZ N MOV UP ACC SWP MOV ACC RIGHT SWP O: MOV ACC RIGHT @5 MOV LEFT ACC JLZ E JEZ O SAV NZ: MOV LEFT ACC MOV ACC DOWN JGZ NZ SWP O: MOV ACC DOWN MOV LEFT ACC E: MOV ACC DOWN @6 @7 S: MOV ANY ACC JLZ E JEZ Z2 SAV MOV ANY ACC JEZ Z MOV ACC DOWN MOV ANY ACC Z: SWP O: MOV ACC DOWN Z2:MOV ANY ACC JGZ O NEG MOV ACC DOWN E: MOV 0 DOWN @8