Befehlssatz und Assembler

Worin unterscheiden sich die RISC-V-Befehle „add“ und „addi“?

  1. Aadd addiert Ganzzahlen, addi addiert Gleitkommazahlen
  2. Badd addiert Werte im Speicher, addi addiert Registerwerte
  3. Cadd addiert Register untereinander, addi addiert ein Register und eine im Befehl angegebene Konstante (Immediate)
Antwort und Erläuterung anzeigen

Antwort: C. add addiert Register untereinander, addi addiert ein Register und eine im Befehl angegebene Konstante (Immediate)

„add rd, rs1, rs2“ schreibt die Summe zweier Register in rd, „addi rd, rs1, imm“ addiert zu einem Register eine in den Befehl eingebettete 12-Bit-Konstante (Immediate). Mit einem Immediate entfällt das vorherige Bereitstellen der Konstanten in einem Register. RISC-V hat keinen Subtraktionsbefehl mit Immediate; subtrahiert wird durch Addition eines negativen Immediate wie in „addi t0, t0, -1“.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Befehlssatz und Assembler

  1. Welchen Wert hat das Register a2 nach Ausführung des obigen RISC-V-Codes?
  2. Welche Wirkung hat der RISC-V-Befehl „lw t0, 8(sp)“?
  3. Wie wird beim RISC-V-Verzweigungsbefehl „beq a0, a1, label“ die Adresse des Sprungziels label dargestellt?
  4. Welcher Vorteil der PC-relativen Adressierung bei Verzweigungen und Sprüngen ist richtig?
  5. Welche Aussage zur Befehlslänge der RISC-V-Basisbefehle und der x86-Befehle ist richtig?