X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=progs%2Ffibmmem.s;h=e7bcc862fc31d72d6574ef31ac8a060e28c36355;hb=c9b5494d6e0bb103cdc070f8517dfb829de33463;hp=0813886376d6d95eb74c6e78f39f72c1feee935a;hpb=3a7211a07ff55b35ed62d183e5c856d0c8e081ce;p=calu.git diff --git a/progs/fibmmem.s b/progs/fibmmem.s index 0813886..e7bcc86 100644 --- a/progs/fibmmem.s +++ b/progs/fibmmem.s @@ -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