Befehlssatz und Assembler

Welche Universal-Ganzzahlregister besitzt RISC-V RV32I (der 32-Bit-Basisbefehlssatz für Ganzzahlen)?

  1. A32 Register mit 32 Bit Breite (x0 bis x31)
  2. B8 Register mit 32 Bit Breite (x0 bis x7)
  3. C64 Register mit 64 Bit Breite (x0 bis x63)
Antwort und Erläuterung anzeigen

Antwort: A. 32 Register mit 32 Bit Breite (x0 bis x31)

RV32I hat 32 Ganzzahlregister x0 bis x31 mit 32 Bit Breite (bei der 64-Bit-Variante RV64I beträgt die Breite 64 Bit, die Anzahl bleibt 32). Das Feld zur Registerangabe im Befehl ist 5 Bit lang und kann 2⁵ = 32 Register darstellen. Es gibt auch Aliasnamen wie ra, sp und a0, deren Rollen in der Aufrufkonvention festgelegt sind. Für eingebettete Anwendungen gibt es zudem RV32E mit auf 16 reduzierter Registerzahl.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Befehlssatz und Assembler

  1. Welche Beziehung zwischen Assemblersprache und Maschinensprache ist richtig?
  2. In welchen Befehl setzt der Assembler den RISC-V-Pseudobefehl „nop“ (tut nichts) tatsächlich um?
  3. Worin unterscheiden sich die RISC-V-Befehle „add“ und „addi“?
  4. Welchen Wert hat das Register a2 nach Ausführung des obigen RISC-V-Codes?
  5. Welche Wirkung hat der RISC-V-Befehl „lw t0, 8(sp)“?