Moin
Das Modul hat gerade erst begonnen und ich stehe damit noch ganz am Anfang. Entschuldigt bitte blöde fragen
Wir haben vom Prof. über die Ferien eine Hausaufgabe bekommen, und eine Unteraufgabe besteht daraus 'in einem bitstring die gesetzten bits (einsen) zu zählen'
Der Bitstring ist mit
Quote:
|
bit_string: .word 0x00000001
|
bereits deklariert.
Wäre dies ein richtiger string, z.B.
Quote:
|
bit_string: .asciiz "01010101"
|
könnte man ja die über die einzeln die bytes mit
Quote:
auslesen, und jeweils überprüfen ob es sich um eine 1 handelt (branch if equal)
Doch wie mache ich das ganze jetzt für den gegeben bit_string vom Typ .word? Wenn ich das richtig sehe ist das doch lediglich eine '1' in hexadezimal?
Ich habe es genau wie beim ''lb $t1, 0($t0)" versucht, aber bereits beim ersten duchlauf, sagt er dass er
Quote:
|
line 125: Runtime exception at 0x004000b8: address out of range 0x00000000
|
Hintergrund zur Aufgabe:
Wenn die Anzahl der gesetzten Bits gerade, soll ein paritybit angehangen werden, so dass die Anzahl der gesetzten Bits stets ungerade ist. Dafür brauche ich erst die Anzahl der Bits, um dann zu entscheiden welches Paritybit (0 oder 1) ich anhänge.
Bin für jede Hilfe dankbar
Grüße