Peer Review - Linnea Villskog
Över lag tycker jag att du gjort ett bra arbete. Ditt repo följer din lab 2 samt fungerar som den ska med förväntat antal cykler (i åtanke med hur många cykler din lab 2 tar). Det finns bra kommentarer och du har svarat på frågorna med grundliga observationer och slutsatser. Jag ser dock inte riktigt varför du behöver 13 extra nollor i PLAIN
när du kan ändra antalet ord som sparas. Vad jag förstår det som så ändras frasen som ska dekrypteras varje år och det är därför även seed
är fel i instruktionerna.
Nedan har jag gått igenom dina svar lite. Jag har inget annat att tillägga, bra jobbat!
Genomgång av frågor:
-
För att förtydliga antalet rader mellan lab 2 och 4:
Jag har lite översiktligt räknat kodrader och din lab 2 är ca 130 rader kod (eller 420 instruktioner) medan Rust har, i
disasm.objdump
, ca 120 rader kod därmain
,codgen
ochdecode
inkluderas (omkring 390 instruktioner). Rustkoden innehåller även ca 690 rader kod för undantagshantering (blir ungefär 2 500 instruktioner till) men dessa körs aldrig eftersom det aldrig uppstår fel i din kod. -
Observationen om att Rust använder lw/sw och register på ett annat sätt än i din lab 2 stämmer.
-
Att
codgen
ändras drastiskt vid enbart små förändringar stämmer med antalet gånger den körs.Om du ser i
disasm.objdump
harcodgen
den blivit inlined idecode
och det är därför du inte ser den som en egen lable, det är också orsaken till den drastiska minskningen.