progs: added timer for fibmmem
[calu.git] / progs / fibmmem.s
index 0813886376d6d95eb74c6e78f39f72c1feee935a..e7bcc862fc31d72d6574ef31ac8a060e28c36355 100644 (file)
@@ -19,21 +19,40 @@ 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
-       ldih r1, str
+       ldis r1, str@lo
+       ldih r1, str@hi
        ldis r2, 19
        call u_send_string
        
        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