Titti92
05-11-2015, 17:09
Ciao a tutti. Dovrei tradurre in assembly il seguente codice c:
float (*d)[n] = c;
d[i][j] = t;
Possibile che la prima riga sia così? Suppongo che c sia memorizzato in f0 e n in s0:
d: .float 0
.
.
.
la $a0,d
addi $t0,$t0,4
mult $s0,$t0
mflo $t0 #t0=n*4, per fare l'indirizzamento
add $t0,$a0,$t0 #ho completato l'indirizzamento
sw $f0,0($t0) #ho completato la prima riga del codice c
Il problema, per quanto riguarda la seconda riga di codice, è che non so come indirizzare d, in quanto ci sono due indici. So indirizzare una matrice, perché conosco gli elementi in ogni riga, ma con un puntatore non saprei come fare...
float (*d)[n] = c;
d[i][j] = t;
Possibile che la prima riga sia così? Suppongo che c sia memorizzato in f0 e n in s0:
d: .float 0
.
.
.
la $a0,d
addi $t0,$t0,4
mult $s0,$t0
mflo $t0 #t0=n*4, per fare l'indirizzamento
add $t0,$a0,$t0 #ho completato l'indirizzamento
sw $f0,0($t0) #ho completato la prima riga del codice c
Il problema, per quanto riguarda la seconda riga di codice, è che non so come indirizzare d, in quanto ci sono due indici. So indirizzare una matrice, perché conosco gli elementi in ogni riga, ma con un puntatore non saprei come fare...