Instructieset en assembly

Welke werking van de RISC-V-instructie „slt t0, a0, a1” is juist?

  1. ASchuift a0 naar links met a1 bits en plaatst het in t0
  2. BAls a0 kleiner is dan a1, wordt gesprongen naar het adres in t0
  3. CPlaatst 1 in t0 als a0 kleiner is dan a1 en anders 0
Antwoord en toelichting tonen

Antwoord: C. Plaatst 1 in t0 als a0 kleiner is dan a1 en anders 0

slt (set less than) vergelijkt twee registers als gehele getallen met teken en schrijft 1 als het eerste kleiner is en anders 0. Er zijn ook sltu, dat zonder teken vergelijkt, en slti, dat met een immediate vergelijkt. Het wordt gebruikt wanneer het resultaat van een vergelijking als waarde wordt gebruikt, zoals bij „x = (a < b);” in C, of om voorwaarden zonder sprong door berekening uit te drukken. Schuiven is sll en springen zijn andere instructies zoals blt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. Wat is de waarde van t0 nadat de bovenstaande RISC-V-code is uitgevoerd?
  2. De voorwaardelijke sprong-instructies van RISC-V (B-formaat) drukken de afstand tot het sprongdoel uit in een aantal bytes met teken van 13 bits, waarvan het laagste bit altijd 0 is en niet in de instructie wordt opgenomen. Welk bereik bereikt een sprong-instructie rechtstreeks ongeveer?
  3. Welke werking van de RISC-V-instructie „jal ra, func” is juist?
  4. Als welke instructie wordt de RISC-V-pseudo-instructie „ret” in werkelijkheid uitgevoerd?
  5. Wat is het belangrijkste doel van het vastleggen van een aanroepconventie (calling convention)?