[Assembly] Ordine della costante negli immediate

Bender01
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
slti $t2, 5, $a0
?

Risposte
Cronovirus
Dipende dall'architettura che stai utilizzando (ovvero "quale" assembly stai usando..) . Quello è MIPS giusto?

Bender01
Sì, MIPS.

Cronovirus
No: non puoi. Ma mi chiedo.. perchè non lo hai provato tu stesso? E poi.. Perchè non ti piace questa sintassi? :)

Bender01
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.

Cronovirus
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)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.