@0 MOV 0,LEFT LOAD:MOV UP,ACC MOV ACC,LEFT JNZ LOAD DONE:MOV 1,DOWN MAIN:JRO DOWN MOV RIGHT,ACC JEZ EMIT MOV 0,LEFT MOV ACC,LEFT <-:MOV RIGHT,ACC MOV ACC,LEFT JNZ <- JMP DONE EMIT:MOV 11,DOWN @1 JRO RIGHT MOV UP,NIL MOV UP,DOWN MAIN:MOV UP,ACC JEZ DONE MOV 1,DOWN MOV ACC,DOWN JRO DOWN MOV 1,RIGHT MOV ACC,RIGHT JMP MAIN DONE:MOV 10,DOWN MOV -2,RIGHT @2 ^:JRO ANY MOV 1,LEFT MOV 3,DOWN MOV 1,DOWN MOV 0,RIGHT JMP -> MOV 1,UP JMP ^ ->:JRO LEFT MOV LEFT,RIGHT JMP -> MOV -99,DOWN #EMIT MOV 5,DOWN @3 MOV LEFT,UP @4 MOV UP,ACC MAIN:SAV JRO UP SUB UP JEZ MATCH MOV 1,UP SWP JMP MAIN MATCH:MOV -4,UP MOV 1,RIGHT SWP JMP MAIN MOV -4,RIGHT MOV ACC,RIGHT @5 SWP JMP MAIN MOV 1,RIGHT MOV ACC,RIGHT MOV ACC,RIGHT MOV LEFT,ACC MAIN:JRO ANY ADD 1 JMP MAIN MOV 0,ACC JMP MAIN MOV ACC,DOWN #EMIT MOV -1,RIGHT @6 MOV 0,ACC MAIN:JRO LEFT SUB LEFT JEZ TIE JLZ SWAP ADD LEFT JMP MAIN SWAP:MOV LEFT,ACC MOV -99,LEFT JMP MAIN TIE:ADD LEFT MOV 3,LEFT MOV -99,LEFT JMP MAIN