ciao sto andando in crisi completamente sul linguaggio assembly.Ho il seguente esercizio:
Ho già a soluzione:Si traducano le seguenti pseudoistruzioni:
a)in Assembly MIPS nativo
b)in linguaggio macchina MIPS
divi $s3, $3, 3 # divide by immediate
blei $a0, +32, –32 # branch on less or equal than immediate
Dalle soluzioni lui sviluppa le isturzioni ma per la divisone,perche nella soluzione utilizza solo la moltiplicazione e l'addizione?codice:divi $s3, $3, 3 # divide by immediate addi $at, $zero, 3 mult $3, $at mflo $s3 blei $a0, +32, –32 # branch on less or equal than immediate slti $t0, $a0, 33 # $t0=1 se $a0<33 (invece che ≤32) bne $t0, $zero, –36E poi nelle ultime due istruzioni perchè nella slti usa 33 invece che +32 e nella bne usa - 36 invece che -32?
![]()

E poi nelle ultime due istruzioni perchè nella slti usa 33 invece che +32 e nella bne usa - 36 invece che -32?
Rispondi quotando