or
lyszt.net obejmuje or i inne instrukcje RISC-V w większych szczegółach.
Format kodowania
Opis
or to instrukcja bitowa, więc działa niezależnie na 32 bitach rejestru (strona and to wyjaśnia). Na danej pozycji bitu wynik wynosi 1, jeśli którykolwiek bit wejściowy jest 1 lub oba są 1. Wynik wynosi 0 tylko wtedy, gdy oba wejścia są 0. Poniższa postać stosuje to do wszystkich 32 pozycji rs1 i rs2 i zapisuje wynik do rd.
or rd, rs1, rs2
OR ustawia bity. Aby włączyć jeden bit i pozostawić pozostałe bez zmian, należy wykonać OR wartości z maską, która ma 1 tylko na tej pozycji. Ustawienia i flagi upakowane w jednym rejestrze są włączane w ten sposób.
OR także scala wartości. Gdy dwie wartości zostaną przesunięte na pozycje, które się nie nakładają, jedno OR łączy je w jeden rejestr. Oddzielne wartości czerwonego, zielonego i niebieskiego łączą się w jeden kolor w ten sam sposób.
Podręcznik RISC-V wymienia or wśród operacji rejestr-rejestr. Odczytuje rejestry źródłowe rs1 i rs2, wykonuje bitowe logiczne OR i zapisuje wynik do rejestru docelowego rd.
OR może tylko ustawiać bity na 1. Wyczyszczenie bitu wymaga AND z maską, a odwrócenie bitu wymaga XOR. ori to wersja, która wykonuje OR rejestru ze stałą.
Przykład
li t0, 0b1100 li t1, 0b0011 or t2, t0, t1 # t2 = 0b1111
