6 .define UART_BASE, 0x2000
7 .define UART_STATUS, 0x0
9 .define UART_TRANS, 0x8
11 .define UART_TRANS_EMPTY, 0x1
12 .define UART_RECV_NEW, 0x2
19 ldih r10, UART_BASE@hi
20 ldw r5, UART_STATUS(r10)
21 andx r5, UART_RECV_NEW
22 brzs+ main ; no new data?
23 ldw r7, UART_RECV(r10) ; load data
37 ldw r5, UART_STATUS(r10)
38 andx r5, UART_RECV_NEW
39 brzs+ main2 ; no new data?
40 ldw r7, UART_RECV(r10) ; load data
43 andx r5, UART_TRANS_EMPTY
44 brnz+ uartnrdy ; transmitter not ready yet?
45 stw r7, UART_TRANS(r10) ; send zeh shit!
46 br main2 ; back to usual stuff
62 ldw r9, UART_STATUS(r10)
63 andx r9, UART_TRANS_EMPTY
64 brnz+ send_byte ; branch if not zero
65 stw r1, UART_TRANS(r10)