Tutorium 5

Reading time ~1 minute

Nachbesprechung Übung 3

Aufgabe 1

13310 = 11100012 = 7116
257,2310 = 100000001,001110101110000101002 = 101,3AE147AE14816

1010110102 = 34610
10010,10012 = 18,562510

E37A16 = 5823410
39B,2D816 = 155.17773437510

HODOR25: Das R ist nicht darstellbar
STAR,WARS36 = 1344339.910

Quelle: http://planetcalc.com/862/

Aufgabe 2

Code der rekursiven NASM Funktion fib.asm

global fib

section .text
fib:
    push rdi            ; rdi in use after call -> save it

    ;ANCHOR
    cmp  rdi, 2
    jg   rec
    mov  rax, 1
    jmp return

    ;RECURSION
    rec:
        dec  rdi
        call fib
        push rax

        dec  rdi
        call fib
        pop  r8
        add  rax, r8

    return:
        pop rdi         ; restore saved register
        ret

und fib.c

#include <stdio.h>
#include <inttypes.h>

extern uint64_t fib(uint64_t);

int main(void)
{ printf("%"PRIu64"\n", fib(16)); }

Vorbesprechung Übung 5

SSE Einheit und XMM# Register.