| Autor |
Nachricht |
< Archiv WS 2010/2011 ~ Registerkonflikte in PRINT, HALLOCATE |
| konrada |
Verfasst am: 01 Feb 2011 15:24 |
|
|
|
Anmeldungsdatum: 19.10.2009
Beiträge: 160
Wohnort: Freiburg
|
In Blatt 6 werdet Ihr PRINT und HALLOCATE auf Systemcalls des SPIM-Interpreters abbilden. Dabei stelle ich gerade fest, dass man fuer PRINT und HALLOCATE die Register v0 und a0 braucht.
Wenn Ihr eh mit vorgefaerbten Temps bei CALL arbeitet, gehts ganz analog: PRINT und HALLOCATE erwarten ihren Parameter in a0 und definieren a0 und v0.
Das spart in ex6 Umwege. |
|
|
| Nach oben |
|
| lamborgotti |
Verfasst am: 01 Feb 2011 23:30 |
|
|
|
Anmeldungsdatum: 21.10.2010
Beiträge: 81
|
also sollen wir immer
print v0
in unserem kanga stehen haben?
und davon ausgehen, dass es a0 und v0 überschreibt
was ist mit dem aktuellen interpreter, der macht das aber nicht oder? |
|
|
| Nach oben |
|
| konrada |
Verfasst am: 02 Feb 2011 9:39 |
|
|
|
Anmeldungsdatum: 19.10.2009
Beiträge: 160
Wohnort: Freiburg
|
Etwas weiter ausholend: Syscalls macht man in SPIM, indem man v0 mit der Nummer des Syscalls und a0 mit dem ersten Parameter des Syscalls belegt und dann das "syscall"-Statement ausfuehrt.
Fuer HALLOC braucht man die Groesse in a0, fuer PRINT die Zahl. In beiden Faellen kann nachher a0 ueberschrieben sein.
(EDIT)
Und das Ergebnis von HALLOC findet man in v0. |
|
|
| Nach oben |
|
| lamborgotti |
Verfasst am: 02 Feb 2011 11:28 |
|
|
|
Anmeldungsdatum: 21.10.2010
Beiträge: 81
|
also sollen wir es doppelt moppeln
also anstatt dass da
move s2 halloc s1
stehtmuss daraus
move a0 s1
move v0 halloc s1
move s2 v0
werden ? |
|
|
| Nach oben |
|
| konrada |
Verfasst am: 02 Feb 2011 11:32 |
|
|
|
Anmeldungsdatum: 19.10.2009
Beiträge: 160
Wohnort: Freiburg
|
Ja, entweder jetzt -- oder in ex6.
Ihr koennt auch die Moves in ex6 generieren; dann muesst Ihr aber sicherstellen, dass v0 und a0 nicht live sind.
In der Testsuite ist Kanga-Code, der HALLOC und PRINT enthaelt und in dem a0 und v0 nicht ueber ein PRINT oder HALLOC hinweg live sind. |
|
|
| Nach oben |
|
| lamborgotti |
Verfasst am: 02 Feb 2011 11:35 |
|
|
|
Anmeldungsdatum: 21.10.2010
Beiträge: 81
|
| naja ich werde es wohl gleich machen, zumal ja jetzt noch ne woche ist, und das sind ja nur 3 zeilen code extra. das einzige ist halt, dass die testsuit das nicht testen wird weil die fürht den kanga code ja normal aus |
|
|
| Nach oben |
|
|
|