molte istruzioni in realtà sono pseudoistruzioni: hanno un significato intuitivo, ma non un corrispondente 1 a 1 con le istruzioni che la macchina esegue effettivamente.
vantaggi [fonte: ppt università di milano]:
- parziale standardizzazione del linguaggio: le pseudoistruzioni vengono tradotte in modi differenti per architetture differenti
- rappresentazione più compatta e intuitiva
alcuni esempi di comandi “fittizi” sono:
-
il
move- è in realtà un’addizione senza segno tra il registro 16 e il registro 0 (che contiene sempre 0)addu $t0, $zero, $s0==move $t0, $s0o ancheadd $t0, $zero, $s0o ancheor $t0, $zero, $s0 -
il
ble(branch on less than or equal) - è in realtà unslt(set if less than), scritto sul registro$1($at). viene poi usatobeqcon tutti zero, per decidere se saltare all’indirizzo di memoria del check che si troverebbe nelble