blez
pseudolyszt.net tratta blez e altre istruzioni RISC-V in modo più dettagliato.
Descrizione
blez esegue un salto quando il valore in un registro è zero o negativo. Il nome significa «salta se minore o uguale a zero». La forma seguente salta alla posizione etichettata quando rs è al massimo zero, e altrimenti prosegue con l'istruzione successiva.
blez rs, label
L'assembler la tratta come una pseudo-istruzione e la riscrive nell'istruzione seguente, che chiede se zero è maggiore o uguale al registro.
bge zero, rs, label
Gli operandi sono scambiati perché RISC-V non ha un salto minore-o-uguale, quindi bge fa il lavoro, allo stesso modo in cui è costruito ble. Il confronto è con segno. Zero salta, il che distingue blez da bltz, ed è l'opposto di bgtz, quindi per qualsiasi valore esattamente uno dei due esegue il salto. Vedi bge per il salto sottostante.
blez si adatta a un controllo che non resti nulla da fare. Un ciclo che elabora un conteggio di elementi rimanenti può uscire non appena il conteggio è zero o è sceso sotto.
blez t0, done
La riga sopra salta a done quando t0 è 0 o negativo.
Si espande in
bge zero, rs, label
L'assembler sostituisce questa pseudoistruzione con la o le istruzioni reali elencate sopra.
Esempio
li t0, 0 blez t0, done # t0 <= 0, so jump to 'done'
