31/08/10 14:24
djark
Ciao sono nuovo di questo forum e vorrei illustrarvi il mio problema. Devo scrivere un programma in assembly che, scorrendo un vettore di interi, mi restituisca la somma di tutti i numeri maggiori o uguali a un numero dato.
Ho trovato molti codici che potrebbero andare bene il problema è il compilatore. Il programma utilizzato è windlx e quindi il codice che scrivo mi da errore.
Di seguito allego il codice e l'errore che mi dà il programma quando vado a caricare il codice.
spero di essere stato chiaro e spero di aver un aiuto, visto che il mio docente se ne fotte.
Ciao
Ho trovato molti codici che potrebbero andare bene il problema è il compilatore. Il programma utilizzato è windlx e quindi il codice che scrivo mi da errore.
Di seguito allego il codice e l'errore che mi dà il programma quando vado a caricare il codice.
.data elem: .word 7, 2, 3, 4, 5, 6, 7, 8, 9, 0 dim_vett: .word 10 num_ricerc: .word 7 .text .global main main: lw r1, elem ;carico vettore in r1 lw r7, dim_vett ;carico dimensione del vettore in r7 lw r6, #0 ;avanzamento vettore lw r15, num_ricerc ;carico il valore contenuto di num_ricerc in r15 Loop_ctrl: seq r11, r6, r7 ;controlla se r6 e r2 contengono lo stesso valore e restituisce in r11 il valore 1 se true bnez r11, fine ;se r11 è uguale a 1, quindi valore true, termina l'esecuzione del ciclo nop sge r10, elem($r6), r15 ;confronta valore dell'array con il valore dato e se true restituisce 1 a r10 beqz r10, re_ciclo ;controllo se il valore di r10 è uguale a zero, se vero ricomincio il ciclo bnez r10, somma ;controllo se il valore di r10 è diverso da 0, se vero vado a somma re_ciclo: addi r6, r6, 8 ;incremento il valore dell'indice jal Loop_ctrl ;salto ad inizio ciclo somma: add r8, r8, r16 ;sommo i valori degli elementi >= al valore dato e li memorizzo in r8 addi r6, r6, 8 ;incremento il valore dell'indice jal Loop_ctrl fine: trap 0 ;termine del programma
spero di essere stato chiaro e spero di aver un aiuto, visto che il mio docente se ne fotte.
Ciao
aaa