# 2017 januari examen - Geef de inhoud van EAX en EDX tijdens een programma met MOV-, ADD-, IMUL, en IDIV bevelen en een voorwaardelijke sprong. ``` Vergeet niet: Na IMUL DWORD komt het product in EDX:EAX Dit wil zeggen dat als het getal niet in EAX past, het verderloopt in EDX. Anders wordt EDX opgevuld met 0h of Fh, afhankelijk of het product positief of negatief is. Bij IDIV DWORD, komt uiteraard de rest in EDX ```
- Geef definities van herlocalisaties, radiale informatiedichtheid (met schets), RC-wachttijd. - Analyseer een bevraging van het werkgeheugen. - De stapel: In een subroutine die de absolute waarde van een getal geeft enkele push- en pop-bevelen aanvullen. ``` Wat je op een stapel zet, met push, komt telkens bovenaan de stapel. Daarom moet je aan het eind van je subroutine de elementen in omgekeerde volgorde van het pushen terug afhalen met pop (telkens het bovenste) ```
- Vervolg op vorige: De waarde van de EIP (Instruction Pointer geven) na enkele push- en pop-bevelen ``` Hier is het van belang de grootte van registers (eax, ax, al)... goed te kennen. Ook niet vergeten dat als je pusht, de EIP verlaagt, als je popt, de EIP verhoogt. ```
- Grote programmeeropdracht - Je krijgt een invoerbestand waarin op iedere rij een getal staat. Je moet voor ieder getal bepalen of het getal een deel is van de rij van Fibonacci. Je mag de eerste twee getallen (0 en 1) als constanten gebruiken. **INVOER:** ``` Kolom 7 | 34 89 7 13 ```
**UITVOER:** ``` 34 IS HET 10e GETAL VAN FIBONACCI 89 IS HET 14e GETAL VAN FIBONACCI 7 IS GEEN GETAL VAN FIBONACCI 13 IS HET 8e GETAL VAN FIBONACCI ```