include "include/memory-map.txt" _start: jump main include "lib/rs232.txt" main: immed 65 dup call write_char #A 65 immed 1 add dup call write_char #B 66 immed -1 sub dup call write_char #C 67 immed -1 rshift immed 66 sub dup call write_char #D 68 immed 0 over sub immed -1 xor immed 2 add dup call write_char #E 69 immed 2 add dup immed 70 nip call write_char #F 70 dup call write_char #G 71 loop0: immed 1 add dup call write_char #H-J 72-74 dup immed 74 sub jump loop0 rel lt drop immed 1 add call write_char #K 75 immed 76 dup call write_char #L 76 loop1: immed 1 add dup call write_char #M-N 77-78 immed 78 over sub jump loop1 rel gt drop immed 1 or dup call write_char #O 79 immed 0b1110000 and immed 0b10000 or dup call write_char #P 80 dup immed 2 add push immed 1 add call write_char #Q 81 pop dup call write_char #R 82 pushpc pushpc immed 15 push rdrop pop pop sub add dup call write_char #S 83 drop call newline # Echo input until reset / power-off echo: call read_char call write_char jump echo rel