[Assembly] Ordine della costante negli immediate
Avevo una semplice domanda: quando ho un'operazione di tipo immediate (come addi o slti), la costante deve stare per forza per ultima o può stare prima del registro?
Per esempio, è possibile scrivere
Per esempio, è possibile scrivere
slti $t2, 5, $a0?
Risposte
Dipende dall'architettura che stai utilizzando (ovvero "quale" assembly stai usando..) . Quello è MIPS giusto?
Sì, MIPS.
No: non puoi. Ma mi chiedo.. perchè non lo hai provato tu stesso? E poi.. Perchè non ti piace questa sintassi?

Non l'ho provato perché sto ancora studiano la teoria e devo ancora usare i simulatori.
In che senso non mi piace? Ho chiesto perché nel libro mette sempre la costante per ultima però non dice che bisogna fare per forza così. Inoltre so che in codice macchina il campo della costante sta sempre negli ultimi 16 bit, però non so se la cosa si rispecchia nell'istruzione MIPS.
In che senso non mi piace? Ho chiesto perché nel libro mette sempre la costante per ultima però non dice che bisogna fare per forza così. Inoltre so che in codice macchina il campo della costante sta sempre negli ultimi 16 bit, però non so se la cosa si rispecchia nell'istruzione MIPS.
Guardando l'istruction set https://www.lri.fr/~de/MIPS.pdf puoi vedere come in realtà questa sia l'unica opsione.. è sintassi: magari il libro non ti ha detto che bisogna fare necessariamente così perchè è scontato che se la sintassi è quella c'è poco da fare ( e da spiegare)