ciao sto andando in crisi completamente sul linguaggio assembly.Ho il seguente esercizio:
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
Ho già a soluzione:
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, –36
Dalle soluzioni lui sviluppa le isturzioni ma per la divisone,perche nella soluzione utilizza solo la moltiplicazione e l'addizione? E poi nelle ultime due istruzioni perchè nella slti usa 33 invece che +32 e nella bne usa - 36 invece che -32?