mirkul
12-02-2013, 11:06
Salve a tutti sto provando a fare un programmino che mi calcoli il fattoriale in assembly DLX utilizzando winDLX
volevo sapere se come avevo scritto il codice andava bene oppure se avevate dei consigli per correggerlo e migliorarlo!
.data
; numero da calcolare il fattoriale
numero: .float 8.0
; vettore contenente i valori da moltiplicare
valori: .float 8, 7, 6, 5, 4, 3, 2, 1
; contatore ciclo
i: .word 8
.text
.global main
main: ; funzione main
LW R2, i ; caricamento di i in R2
LF F2, numero ; caricamento del numero da calcolare
loop:
; funzione di loop
LF F6, valori(R1) ; caricamento dei valori
MULTF F10,F2, F6 ; moltiplicazione del numero per il primo valore del vettore dei valori
SUBI R2, R2 #1 ; decremento i di 1
ADDI R1, R1 #0x4 ; viene fatto puntare r1 all'indirizzo dei valori
BNEZ R2, loop ; reinizia il ciclo se il contenuto di R2 e' != 0'
trap 0 ; istruzione di fine ciclo
ciao aspetto qualche risposta!! grazie di tutto!!
volevo sapere se come avevo scritto il codice andava bene oppure se avevate dei consigli per correggerlo e migliorarlo!
.data
; numero da calcolare il fattoriale
numero: .float 8.0
; vettore contenente i valori da moltiplicare
valori: .float 8, 7, 6, 5, 4, 3, 2, 1
; contatore ciclo
i: .word 8
.text
.global main
main: ; funzione main
LW R2, i ; caricamento di i in R2
LF F2, numero ; caricamento del numero da calcolare
loop:
; funzione di loop
LF F6, valori(R1) ; caricamento dei valori
MULTF F10,F2, F6 ; moltiplicazione del numero per il primo valore del vettore dei valori
SUBI R2, R2 #1 ; decremento i di 1
ADDI R1, R1 #0x4 ; viene fatto puntare r1 all'indirizzo dei valori
BNEZ R2, loop ; reinizia il ciclo se il contenuto di R2 e' != 0'
trap 0 ; istruzione di fine ciclo
ciao aspetto qualche risposta!! grazie di tutto!!