Instructieset en assembly

Wat is het juiste verschil tussen de RISC-V-instructies „add” en „addi”?

  1. Aadd telt gehele getallen op en addi telt kommagetallen op
  2. Badd telt waarden in het geheugen op en addi telt registerwaarden op
  3. Cadd telt registers bij elkaar op en addi telt een register en een in de instructie geschreven constante (immediate) op
Antwoord en toelichting tonen

Antwoord: C. add telt registers bij elkaar op en addi telt een register en een in de instructie geschreven constante (immediate) op

„add rd, rs1, rs2” plaatst de som van twee registers in rd, en „addi rd, rs1, imm” telt een register en een in de instructie ingebedde constante (immediate) van 12 bits op. Met een immediate hoeft men de constante niet eerst in een register klaar te zetten. RISC-V heeft geen aftrekinstructie met immediate; aftrekken gebeurt door een negatieve immediate op te tellen, zoals „addi t0, t0, -1”.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. Wat is de waarde van register a2 na uitvoering van de bovenstaande RISC-V-code?
  2. Welke werking van de RISC-V-instructie „lw t0, 8(sp)” is juist?
  3. Hoe wordt het sprongdoel label weergegeven in de RISC-V-voorwaardelijke sprong-instructie „beq a0, a1, label”?
  4. Welk voordeel van PC-relatieve adressering voor sprongen is juist?
  5. Welke uitspraak over de instructielengte van basisinstructies van RISC-V en instructies van x86 is juist?