progs: added timer for fibmmem
[calu.git] / progs / fibmmem.s
index 43ea3fb3a16303674664db9ff9cd3d540c9e127e..e7bcc862fc31d72d6574ef31ac8a060e28c36355 100644 (file)
@@ -19,12 +19,28 @@ main:
        call+ u_recv_byte
        call u_send_newline
 
+       call t_init
+       call t_stop
+       ldis r1, 0
+       call t_valset
+       call t_start
+
+       ; fib start
        ldi r1, 9;
        ldi r10, list@lo ; global pointer
        ldih r10, list@hi
        call+ fibcall;
+       ; fib ende
 
        push r0
+       call+ t_init
+       call+ t_stop
+       call+ t_valget
+       subi r0, r0, 0xd ; offset abziehen
+       pop r3
+       push r0
+       push r3
+
        call u_init ; weil r10 ueberschrieben wird
        ldis r1, str@lo
        ldih r1, str@hi
@@ -34,6 +50,9 @@ main:
        pop r1
        call+ u_send_uint
        call u_send_newline
+       pop r1
+       call+ u_send_uint
+       call u_send_newline
 
 hang:
        br hang
@@ -63,7 +82,7 @@ fibmem:
        ;iterative call for n-1 element
        call+ fibmem
        ;load n-2 element
-       ldw r3, 0-4(r2)
+       ldw r3, -4(r2)
        ;add n-1 and n-2 element
        add r0, r3, r0
        ;increment address for n element