Files
RTS10_labs/assignment_assembly
2024-09-15 11:05:17 +02:00
..
2024-09-15 11:05:17 +02:00
2024-09-15 11:05:17 +02:00
2024-09-15 11:05:17 +02:00

Assembly Assignment

opdrachten

Ik moest de volgende assignment maken:

  • Assignment 1: Testing a simple LEGv7 Pinky program
  • Assignment 2: Writeting a simple multiplication program
  • Assignment 5: A smarter tail recursive multiply algorithm
  • Assignment 7: A smarter power algorithm

Testing a simple LEGv7 Pinky program

Er is een project gegeven die tegevoerd en getest moet worden. De eerste keer dat ik door de stappen heen ging kreeg een een error dat de openOCD.exe fout ging. Dit is logiesh voor mij, omdat ik linux gebruikt als OS en .exe alleen voor Windows zijn.

openOCD error

Het opnieuw selecteeren van de OpenOCD debug probe in het 'Debug Configurations' venster werdt de linux variant corect ingesteld en werkte het.

Voor de zekerheid heb ik het nog een keer geprobeerd terwel ik alle weizigingen in het project bij hou ik git^[voor de geintreseerde heb ik de git repo op mijn server gezet waar de commit van de clock wiezigingen te vinden is met de volgende link (4dcb59bc05]]. Hier zag ik dat er wat clock instellingen werden geweiziged. Dus ik heb het opniew geprobeerd maar dat aleen het veld 'OpenOCD Command' aangepast in de debug configuratie. Met deze methode werden de klock instellingen niet aangepast, alleen een aantal dingen dat ik herken als de verschillen tussen Windows en Linux.

Hierna werken het nogsteed zoals verwacht.

assegnment 1 output

Writeting a simple multiplication program

Om te beginnen heb ik het project van de vorige assignment. Hier heb ik aan main.c een paar simpele regels toegevoegd om de basis werking te testen.

simpele test code

Pas toen ik het werkend had kwam ik achter dat ik a en b heb omgedraaid. Dit maakt gelukkig niet uit in een vermedigvuldiging. Daarnaast heb ik ook i weg gewerkt door i.p.v. i te verhogen en daarna te vergeleiken met b heb ik b verlaagd tot het 0 is.

Dit is mijn implementatie:

asambly implementatie van vermedigvuldiging

A smarter tail recursive multiply algorithm