Buongiorno a tutti. Ho provato a scrivere una breve routine che dovrebbe identificare se un numero inserito è primo oppure no. Eccola qua:
codice:
.data
numeri: .byte 0x07
prm:
.text
prec:    la $t0, numeri
carica: lb $t1, ($t0)
    add $t0, $t0, 1
    move $t4, $zero
    addi $t4, $t4, 1
primi:    addi $t4, $t4, 1
    div $t1, $t4
    mfhi $t3
    beq $t4, $t1, succ
    beq $t3, $zero, fine
    bne $t3, $0, primi
succ:    la $t2, prm
    sw $t1, 4($t2)
    jal fine            #Trovato numero primo
fine:    j fine
Il codice viene eseguito praticamente tutto, solo che all'etichetta "succ", al momento di salvare la word in memoria mi viene restituito errore, cosa che non avviene se sostituisco l'istruzione con sb, ottenendo però risultati indesiderati. In altri casi la store word funzionava, ma in questo caso no. Non mi spiego francamente il perchè. Non dovrebbe estendere il segno?