Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Technische Informatik (http://www.informatikerboard.de/board/board.php?boardid=7)
--- SPIM Programmierung 2. (http://www.informatikerboard.de/board/thread.php?threadid=2167)


Geschrieben von neuling96 am 15.03.2015 um 15:13:

  SPIM Programmierung 2.

Für den Anfang:

Ein Wort ist 4 Byte
Halbwort 2 Byte

# ADRMODE1.S
.data
var: .word 0
var1: .word 0
var2: .word 20
5 .text
main: li $ t0, var
sw $t1, $t0


Übung 7
das Programm zur Laufzeit abgebrochen-> Lauzeitfehler wegen ausgerichteten Daten (aligned Data).
die restliche fragen weiß ich nicht?



Geschrieben von Karlito am 15.03.2015 um 17:21:

 

Ich stecke nicht 100%ig in dem Thema und SPIM meldet mir mit den Quelltexten von Herrn Nitze nur Fehler...
Aber was mir aufgefallen ist:
Immediate Werte sind eigentlich nie Adressen oder Register. Wenn dann müsstest Du sowas machen wie
li $t0, 20
Also gleich den Wert angeben.

Außerdem sollte doch var1 ein Halbwort und var2 ein byte sein. Demzufolge:
var1: .half 0

und
var2: .byte 0

Die 5 vor .text ist übrigens eine Zeilennnummer und gehört nicht zum Programm...

Zu Übung 7:
Wenn man einen zu großen Wert mit sb speichert, so wird der Wert modulo 256 gespeichert... (Steht in der Doku / im Skript)
Beim Rest muss ich auch passen. Wahrscheinlich kommt es Entweder zu eine Zugriffsfehler oder es wird einfach nachfolgender Speicher überschrieben... Steht wahrscheiinlich auch im Skript, aber dazu fehlt mir gerade die Geduld und Zeit (habe schon viel zu viel damit zugebracht spim und xspim zum laufen zu bekommen)

Gruß,

Karlito



Geschrieben von neuling96 am 15.03.2015 um 17:50:

 

Zitat:
Original von Karlito
Ich stecke nicht 100%ig in dem Thema und SPIM meldet mir mit den Quelltexten von Herrn Nitze nur Fehler...


Auf der Homepage wird der Skript empfohlen, daher verwende ich.


vielen dank für deine Mühe, damit wird es deutlich einfacher zu verstehen!


Forensoftware: Burning Board, entwickelt von WoltLab GmbH