Du befindest dich hier: FSI Informatik » jahrgaenge » 2006 » "Muster"-Lösungen » "Muster"-Lösungen zu Klausuren aus Technische Informatik 2 » Aufgabe 1 (Übersicht)
Dies ist eine alte Version des Dokuments!
Aufgabe 1
- 1) 1, 2 , 1, 2, 1, 1, 1, 1
- 2) 1, 1, 2, 1, 2, 1, 2, 2
- 3) mov für Speicherzugriff; in/out für IO-Zugriff
- 4) ?
Aufgabe 2
- A E X
- A E X
- A X E
- A X E
- AE AE AE
- A E E
- E X A
Aufgabe 3
- 1) 2^16 adressen, an jeder adresse liegen 8 bit; 2^16 * 8bit = 64 KB; -48 KB für programm = 16 KB ⇒ 1024
- 2) 20kb
- 3)
movl 8(%esp), %eax xorl %ebx, %ebx orb %al, %bl shrl $8, %eax shll $8, %ebx orb %al, %bl shrl $8, %eax shll $8, %ebx orb %al, %bl shrl $8, %eax shll $8, %ebx orb %al, %bl movl %ebx, 4(%esp) ret
alternativ:
movl 8(%esp), %eax movl %ah, %bl movl %al, %bh shrl $16, %eax shll $16, %ebx movl %ah, %bl movl %al, %bh movl %ebx, 4(%esp) ret
Aufgabe 4
- 1) tanx → taylor reihe; div → newton-raphson / shift / subtraktion; mul → addition / shift
- 2) (steht nirgends schnell):
#define unsigned int ui #define unsigned short us ui mult(us x, us y) { ui sum = 0; for (int i = 0; i < y; i++) sum += x; return sum; }
Aufgabe 5
- 1)
#define unsigned int ui ui fibo(ui x) { ui res; if (x < 2) { res = 1; goto more; } x = x - 1; res = fibo(x); x = x - 1; res = res + fibo(x); more: return res; }
- 2)
movl 4(%esp), %ebx cmpl $2, %ebx jge else movl $1, %eax ret else: subl $1, %ebx pushl %ebx call fibo subl $4, %esp movl %eax, %ecx subl $1, %ebx pushl %ebx call fibo subl $4, %esp addl %ecx, %eax ret
Aufgabe 6
???