Bitweiser Zugriff

maZ
Erstie
Erstie
Beiträge: 12
Registriert: 18. Nov 2007 18:19
Kontaktdaten:

Bitweiser Zugriff

Beitrag von maZ »

Hallo,

ich wüsste gern, ob man beim MIPS-Assembler auf einzelne Bits im Speicher zugreifen kann, um da Infos wie Tag etc auszulesen. Oder ist das auch in Ordnung, wenn wir bei den Verwaltungsbits nicht mehr als angegeben brauchen, aber jede Art in einem eigenen Byte steht?

Also 1. Byte DirtyBit, 2. Byte ValidBit, 3. Byte Tag und 4. Bit Ersetzungsinformationen..

Hab nämlich sonst noch keine Ahnung, wie ich meine Datenstruktur dafür anders aufziehn soll.
Gruß,
maz

LucasR
Kernelcompilierer
Kernelcompilierer
Beiträge: 474
Registriert: 9. Jun 2009 09:55

Re: Bitweiser Zugriff

Beitrag von LucasR »

Lade dir deine Speicherinformationen z.b. mit lb, und shifte anschließend genügend nach links und rechts, bis du genau das übrig hast, was du haben wolltest :)

maZ
Erstie
Erstie
Beiträge: 12
Registriert: 18. Nov 2007 18:19
Kontaktdaten:

Re: Bitweiser Zugriff

Beitrag von maZ »

Stimmt, macht Sinn!

Danke für die schnelle Hilfe ;)

chl
Neuling
Neuling
Beiträge: 7
Registriert: 6. Okt 2008 22:40

Re: Bitweiser Zugriff

Beitrag von chl »

Eleganter ists, wenn du sowas machst (willst zb gucken ob das 2te Bit in $t0 gesetzt ist)

Code: Alles auswählen

andi $1, $t0, 2 #wenn in $t0, das zweite bit gesetzt ist, wird $t > 0 (=true) und sonst 0 (=false)
beqz false
true:
...
j end_if
false:
...
end_if:
Setzen kannst du die Bits dann mit or auf analoge Art und Weise. Willst du ein Bit loeschen so ver- and'es du es mit einer Zahl bei der saemtliche Bits gesetzt sind bis auf die, die du loeschen willst.

Antworten

Zurück zu „Archiv“