Befehlssatz und Assembler
Der bedingte Verzweigungsbefehl von RISC-V (B-Format) gibt den Abstand zum Ziel als vorzeichenbehaftete 13-Bit-Bytezahl an, deren niedrigstes Bit stets 0 ist und nicht in den Befehl aufgenommen wird. Welcher Bereich wird von einem Verzweigungsbefehl direkt erreicht?
- AEtwa 4 KiB vor und zurück vom Verzweigungsbefehl
- BEtwa 1 MiB vor und zurück vom Verzweigungsbefehl
- CJede Stelle im gesamten Speicher
Antwort und Erläuterung anzeigen
Antwort: A. Etwa 4 KiB vor und zurück vom Verzweigungsbefehl
Ein vorzeichenbehafteter 13-Bit-Wert kann −4096 bis +4095 darstellen, aber da Befehle in Einheiten von 2 Byte liegen, ist das niedrigste Bit stets 0, und der Bereich beträgt −4096 bis +4094 Byte. Durch Weglassen des niedrigsten Bits erreicht dasselbe Feld den doppelten Bereich. Weitere Verzweigungen schreibt der Assembler so um, dass eine kurze Verzweigung mit umgekehrter Bedingung über ein weiter reichendes jal (etwa ±1 MiB) springt.