Instructieset en assembly

Met welke factor van de waarde van a0 is het resultaat t0 van de RISC-V-instructie „slli t0, a0, 3” te vergelijken (overloop buiten beschouwing gelaten)?

  1. A8 keer
  2. B3 keer
  3. C6 keer
Antwoord en toelichting tonen

Antwoord: A. 8 keer

slli (shift left logical immediate) schuift de registerwaarde het opgegeven aantal bits naar links en vult de vrijgekomen onderste bits met 0. In binair wordt de waarde met 1 bit naar links schuiven verdubbeld, dus 3 bits is 2³ = 8 keer. Omdat het vaak sneller is dan een vermenigvuldigingsinstructie, vervangt de compiler vermenigvuldigingen met een macht van 2 door schuiven. Het wordt ook vaak gebruikt bij het berekenen van adressen van array-elementen.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. a0 bevat het beginadres van een array a van het type int (4 bytes) en a1 bevat de index i. Wat leest de bovenstaande code in a2?
  2. Welke uitspraak is juist over de methode waarbij rekeninstructies waarden in het geheugen rechtstreeks kunnen gebruiken, zoals de x86-instructie „add eax, [rbx]”?
  3. Welke uitleg over hoe huidige krachtige x86-CPU's complexe instructies intern uitvoeren is juist?
  4. Welke instructies voegt de RISC-V M-extensie toe aan de basisinstructieset voor gehele getallen?
  5. Wat is het belangrijkste doel van de RISC-V C-extensie (gecomprimeerde instructies)?