fsm
)
in assembly MIPS che prende in input una matrice quadrata di n×n words
e un intero k (1 ≤ k ≤ n) e
ritorna gli indici di riga e colonna del primo elemento della sottomatrice quadrata k×k
di punteggio massimo.
La matrice è memorizzata per righe, cioè, gli array delle righe sono posti in memoria uno di seguito all'altro
a partire dalla prima riga. La matrice è passata tramite l'indirizzo del primo elemento della prima riga
in $a0
, la dimensione n in $a1
e il parametro k è passato in $a2
.
Gli indici di riga e colonna del primo elemento della sottomatrice devono essere
ritornati in $v0
e $v1
, rispettivamente. Il punteggio
di una sottomatrice si ottiene chiamando una procedura mscore
passandogli in $a0
l'indirizzo del primo elemento della sottomatrice,
in $a1
la dimensione della matrice (cioè n) e in $a2
la dimensione della sottomatrice (cioè k) e ritorna in $v0
il punteggio della sottomatrice (il punteggio è un intero positivo). La procedura mscore
non deve essere scritta,
si assume che sia stata scritta da qualcun altro (ad es. potrebbe far parte di una libreria).
Si conosce solamente l'indirizzo, che è la label mscore
, e si sa
che la procedura rispetta le convenzioni MIPS per la chiamata di procedure.
fsm
deve essere consegnato su carta.
(con matricola, cognome e nome) durante le lezioni del corso entro lunedì 4 giugno.
Inoltre, deve soddisfare i seguenti vincoli, pena la nullità:
scarray
)
in assembly MIPS che prende in input un array di words e ritorna
il punteggio totale dell'array. L'array è passato tramite l'indirizzo del primo elemento
in $a0
e l'indirizzo dell'ultimo in $a1
. Il punteggio totale deve
essere ritornato in $v0
ed è
la somma dei punteggi relativi agli elementi dell'array. Il punteggio
di un elemento si ottiene chiamando la procedura score
,
passandogli in $a0
il valore dell'elemento, che ritorna in $v0
il punteggio dell'elemento. La procedura score
non deve essere scritta,
si assume che sia stata scritta da qualcun'altro (ad es. potrebbe far parte di una libreria).
Si conosce solamente l'indirizzo, che è la label score
, e si sa
che la procedura rispetta le convenzioni MIPS per la chiamata di procedure.
scarray
deve essere consegnato su carta
(con matricola, cognome e nome) durante
le lezioni del corso nei giorni venerdì 30 marzo o lunedì 2 aprile.
Inoltre, deve soddisfare i seguenti vincoli, pena la nullità:
$s0
-$s7
, $gp
,
$sp
, $fp
e $ra
, il valore di tutti gli altri registri
può essere modificato dalla chiamata ad una procedura. Inoltre, gli unici registri
usati per passare dei parametri, ovvero l'input, a una procedura sono
$a0
-$a3
e gli unici registri usati per ritornare dei valori
sono $v0
, $v1
.
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica |
|