; ; UFRGS - INF - M Johann - 2023 - johann@inf.ufrgs.br ; Small up/down counter that appears as cycle, ; back and forth path on PocketRamses data view ; The trick here is to maintain everything on registers ; so no extra mem access changes memory view ; It would be shorter just with a sequence of 24 writes ; ----- DATA org h80 screen: dab 32,32,32,32,32,32,32,32,32,32,32,32 ; ----- BEGIN MAIN CODE org 0 startup: LDR A,#111 ; lowercase o LDR B,#32 ; lowercase o initup: LDR X,#screen ; position to write STR A,0,X STR B,screen+1 NOP NOP NOP NOP loop1: ADD X,#2 SUB X,#screen+#12 JZ initdown ADD X,#screen+#12 STR A,0,X SUB X,#2 STR B,0,X ADD X,#2 JMP loop1 initdown: LDR X,#screen+#11 STR A,0,X STR B,screen+10 NOP NOP NOP NOP loop2: SUB X,#2 SUB X,#screen-#1 JZ initup ADD X,#screen-#1 STR A,0,X ADD X,#2 STR B,0,X SUB X,#2 JMP loop2 ; END OF FILE