RISC-V Assembler
Schreibe und führe RISC-V-Assembler im Browser aus. Beginne mit einer einzelnen Anweisung und arbeite dich bis zu Funktionen und Speicher vor. Sowohl der Assembler als auch der Simulator laufen im Browser.
Lektionen
Länder
Land
Brasilien
Produziert Brasilien Chips? Brasilien entwirft Chips, vom RISC-V-Mikrocontroller BlueMacaw bis zu Forschungskernen wie NoX, während die inländische Fertigung von ausländischen Foundries abhängt. Die staatliche Fab CEITEC wurde 2020 per Dekret aufgelöst.
Den Eintrag lesenLandUkraine
Produziert die Ukraine Chips? Die Ukraine hat keine Chipfabrik. Das Land baut eine Fabless-Industrie auf, die Chips im Inland entwirft und im Ausland fertigen lässt, und verfügt zudem über Europas größte Titanreserven.
Den Eintrag lesenReferenz
Arithmetik
add
Addiere zwei Register zusammen.sub
Subtrahiere ein Register von einem anderen.addi
Füge eine kleine Konstante zu einem Register hinzu.mul
Multiplizieren, wobei die unteren 32 Bits erhalten bleiben.mulh
Hohe 32 Bits eines vorzeichenbehafteten Produkts.div
Ganzzahlige Division mit Vorzeichen.divu
Ganzzahlige Division ohne Vorzeichen.rem
Vorzeichenbehafteter Rest (Modulo).remu
Vorzeichenloser Rest.neg
Das Vorzeichen einer Zahl umkehren.Bitweise Logik
Schichten
sll
Bits nach links verschieben (um ein Register).srl
Bits nach rechts verschieben, mit Nullen auffüllen.sra
Nach rechts verschieben, das Vorzeichen beibehalten.slli
Um einen festen Betrag nach links verschieben.srli
Rechtsverschiebung um eine Konstante, nullgefüllt.srai
Nach rechts um eine Konstante verschieben, Vorzeichen beibehalten.Vergleichen & festlegen
slt
Auf 1 setzen, wenn kleiner als (vorzeichenbehaftet).sltu
Setzen, wenn kleiner als (vorzeichenlos).slti
Setzen, wenn kleiner als eine Konstante (vorzeichenbehaftet).sltiu
Setzen, wenn kleiner als eine Konstante (vorzeichenlos).seqz
Auf 1 setzen, wenn der Wert null ist.snez
Auf 1 setzen, wenn der Wert ungleich Null ist.Speicher
lw
Laden eines 32-Bit-Worts aus dem Speicher.lh
Lade ein 16-Bit-Halbwort (vorzeichenbehaftet).lb
Ein Byte laden (vorzeichenbehaftet).lhu
Lade ein 16-Bit-Halbwort (vorzeichenlos).lbu
Ein Byte laden (vorzeichenlos).sw
Speichere ein 32-Bit-Wort im Speicher.sh
Speichere die unteren 16 Bits.sb
Speichere die unteren 8 Bits.la
Lade die Adresse eines Labels.li
Lade eine beliebige Konstante in ein Register.mv
Ein Register in ein anderes kopieren.Zweige
beq
Springe, wenn zwei Register gleich sind.bne
Springe, wenn zwei Register unterschiedlich sind.blt
Springen, wenn kleiner (vorzeichenbehaftet).bge
Springen, wenn größer oder gleich (vorzeichenbehaftet).bltu
Springen, wenn kleiner (vorzeichenlos).bgeu
Springen, wenn größer oder gleich (vorzeichenlos).beqz
Springe, wenn das Register null ist.bnez
Springen, wenn das Register ungleich Null ist.bltz
Springe, wenn das Register negativ ist.bgez
Springt, wenn das Register null oder einen positiven Wert enthält.bgtz
Springe, wenn das Register positiv ist.blez
Springe, wenn das Register null oder einen negativen Wert enthält.bgt
Springen, wenn größer als (vorzeichenbehaftet).ble
Springen, wenn kleiner oder gleich (vorzeichenbehaftet).Sprünge & Funktionen
jal
Aufruf: springen und den Rückkehrpunkt speichern.jalr
Springe zu einer berechneten Adresse und verlinke.j
Springe bedingungslos.jr
Springe zu einer Adresse in einem Register.call
Rufe eine Funktion auf.ret
Von einer Funktion zurückkehren.lui
Lade eine Konstante in die oberen Bits.auipc
Füge eine obere Konstante zum PC hinzu.System
ecall
Bitten Sie das System, etwas zu tun.nop
Tue nichts für eine Anweisung.ebreak
Das Programm an einem Haltepunkt anhalten.mret
Rückkehr aus einem Trap-Handler.wfi
Warten Sie, bis ein Interrupt eintrifft.csrrw
Tauschen Sie den Inhalt eines Registers mit einem Steuerregister aus.csrrs
Ein Steuerregister lesen und ausgewählte Bits darin setzen.csrrc
Ein Steuerregister lesen und Bits darin löschen.csrrwi
Eine Konstante in ein Steuerregister schreiben und den alten Wert lesen.csrrsi
Ein Steuerregister lesen und Bits aus einer Konstante setzen.csrrci
Lese ein Steuerregister und lösche Bits aus einer Konstanten.csrr
Ein Steuerregister lesen.csrw
Schreibe ein Register in ein Steuerregister.csrs
Bits in einem Steuerregister setzen.csrc
Bits in einem Steuerregister löschen.csrwi
Schreiben Sie eine Konstante in ein Steuerregister.csrsi
Bits in einem Steuerregister aus einer Konstante setzen.csrci
Bits in einem Steuerregister aus einer Konstanten löschen.