xor
lyszt.net tratta xor e altre istruzioni RISC-V in modo più dettagliato.
Formato di codifica
Descrizione
xor è un'istruzione bit a bit. Come and e or, opera sulle 32 posizioni di un registro (la pagina and tratta le operazioni bit a bit). Il nome sta per OR esclusivo. In ogni posizione, il risultato è 1 quando i due bit di input differiscono, uno 0 e uno 1, e 0 quando coincidono. La forma seguente applica ciò a rs1 e rs2 e scrive il risultato in rd.
xor rd, rs1, rs2
Due proprietà rendono XOR utile. Un valore sottoposto a XOR con se stesso dà 0, poiché ogni bit coincide con se stesso, quindi la riga successiva azzera un registro.
xor t0, t0, t0
XOR con una maschera inverte i bit dove la maschera ha un 1 e lascia gli altri invariati. Invertire due volte ripristina il valore originale. La crittografia semplice e i controlli degli errori si basano su questo.
XOR verifica anche l'uguaglianza. Dopo la riga seguente, t2 è zero quando i due input erano identici e diverso da zero quando differiscono, e un salto può verificare il risultato.
xor t2, t0, t1
Il manuale RISC-V elenca xor tra le operazioni registro-registro, che leggono rs1 e rs2 e scrivono il risultato in rd. Esegue un OR esclusivo logico bit a bit.
L'esempio azzera t0 a 0 qualunque cosa contenesse prima. L'istruzione li (load immediate) con la costante zero fa lo stesso.
Esempio
xor t0, t0, t0 # t0 = 0
