timer: added as extension modul
[calu.git] / progs / testbench.s
1 #include "dt_inc.s"
2 .text
3 .org 0x0
4         .define TIMER_BASE, 0x2040
5         .define T_STCFG, 0x0
6         .define T_VAL, 0x4
7 start:
8         br+ main
9         br+ main
10         ret
11 main:
12         call+ u_init
13         call+ u_recv_byte
14         call u_send_newline
15
16         ldis r1, 0x42
17         call u_send_byte
18
19         ldis r11, TIMER_BASE@lo
20         ldih r11, TIMER_BASE@hi
21
22         ldis r1, 0x1
23         stw r1, T_STCFG(r11)
24
25 loop:
26         call u_recv_byte
27         cmpi r0, 0x42
28         breq bla
29         ldw r1, T_VAL(r11)
30         call u_send_uint
31         call u_send_newline
32         br loop
33
34 bla:
35         ldis r1, 0
36         stw r1, T_VAL(r11)
37         br loop