Asembler RISC-V
Pisz i uruchamiaj asembler RISC-V w przeglądarce. Zacznij od pojedynczej instrukcji i przejdź do funkcji oraz pamięci. Zarówno asembler, jak i symulator działają w przeglądarce.
Lekcje
Kraje
Kraj
Brazylia
Czy Brazylia produkuje chipy? Brazylia projektuje chipy, od mikrokontrolera RISC-V BlueMacaw po rdzenie badawcze takie jak NoX, podczas gdy krajowa produkcja zależy od zagranicznych fabryk. Państwowa fabryka CEITEC została rozwiązana dekretem w 2020 roku.
Przeczytaj wpisKrajUkraina
Czy Ukraina produkuje chipy? Ukraina nie ma fabryki chipów. Kraj buduje branżę fabless, która projektuje chipy u siebie i zleca ich produkcję za granicą, opierając się na największych w Europie zasobach tytanu.
Przeczytaj wpisReferencja
Arytmetyka
add
Dodaj dwa rejestry do siebie.sub
Odejmij jeden rejestr od drugiego.addi
Dodaj małą stałą do rejestru.mul
Mnożenie, zachowując niskie 32 bity.mulh
Wysokie 32 bity podpisanego iloczynu.div
Dzielenie liczb całkowitych ze znakiem.divu
Dzielenie liczb całkowitych bez znaku.rem
Reszta z dzielenia ze znakiem (modulo).remu
Reszta z dzielenia bez znaku.neg
Odwróć znak liczby.Logika bitowa
Zmiany
Porównaj i ustaw
Pamięć
lw
Wczytaj 32-bitowe słowo z pamięci.lh
Wczytaj 16-bitowe półsłowo (ze znakiem).lb
Wczytaj jeden bajt (ze znakiem).lhu
Wczytaj 16-bitowe półsłowo (bez znaku).lbu
Wczytaj jeden bajt (bez znaku).sw
Zapisz 32-bitowe słowo do pamięci.sh
Zapisz dolne 16 bitów.sb
Zapisz dolne 8 bitów.la
Załaduj adres etykiety.li
Załaduj dowolną stałą do rejestru.mv
Skopiuj jeden rejestr do drugiego.Gałęzie
beq
Skocz, jeśli dwa rejestry są równe.bne
Skocz, jeśli dwa rejestry się różnią.blt
Skocz, jeśli mniejsze (ze znakiem).bge
Skocz, jeśli większe lub równe (ze znakiem).bltu
Skocz, jeśli mniejsze (bez znaku).bgeu
Skocz, jeśli większe lub równe (bez znaku).beqz
Skocz, jeśli rejestr jest zerem.bnez
Skocz, jeśli rejestr jest niezerowy.bltz
Skocz, jeśli rejestr jest ujemny.bgez
Skocz, gdy rejestr zawiera zero lub wartość dodatnią.bgtz
Skocz, jeśli rejestr jest dodatni.blez
Skocz, gdy rejestr zawiera zero lub wartość ujemną.bgt
Skocz, jeśli większe niż (ze znakiem).ble
Skocz, jeśli mniejsze lub równe (ze znakiem).Skoki i funkcje
System
ecall
Poproś system o wykonanie czegoś.nop
Nie rób nic dla jednej instrukcji.ebreak
Zatrzymaj program w punkcie przerwania.mret
Powrót z procedury obsługi pułapki.wfi
Poczekaj, aż nadejdzie przerwanie.csrrw
Wymień zawartość rejestru z rejestrem kontrolnym.csrrs
Odczytaj rejestr sterujący i ustaw w nim wybrane bity.csrrc
Odczytaj rejestr sterujący i wyczyść w nim bity.csrrwi
Zapisz stałą do rejestru sterującego i odczytaj poprzednią wartość.csrrsi
Odczytaj rejestr kontrolny i ustaw bity na podstawie stałej.csrrci
Odczytaj rejestr sterujący i wyczyść bity ze stałej.csrr
Odczytaj rejestr kontrolny.csrw
Zapisz rejestr do rejestru kontrolnego.csrs
Ustawia bity w rejestrze kontrolnym.csrc
Wyczyść bity w rejestrze sterowania.csrwi
Zapisz stałą do rejestru kontrolnego.csrsi
Ustawia bity w rejestrze kontrolnym na podstawie stałej.csrci
Wyczyść bity w rejestrze kontrolnym na podstawie stałej.