Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Architettura degli elaboratori e delle reti
 
Esame 16/07/2013 Codara, per vechhio ordinamento F$)
Clicca QUI per vedere il messaggio nel forum
wiseupdoc
Qualcuno potrebbe indicarmi la soluzione di questa procedura.

Ecco il testo completo:
Scrivere una procedura assembly SPC per il calcolo del numero di partizioni stabili di un ciclo. La procedura riceverà in ingresso la dimensione n>0 del ciclo, nel registro $a0 e restituirà il numero di partizioni stabili del ciclo di lunghezza n, nel registro $v0. La formula per il calcolo di tale valore è:

SPC (n)= 0….n-2(-1)^k Bell (n-k-1)

Esempio:

SPC(5)= Bell(4) - Bell(3) + Bell(2) - Bell(1)
SPC(6)= Bell(5) - Bell(4) + Bell(3) - Bell(2) + Bell(1)

Per calcolare il k-esimo numero di Bell si invochi la procedura esterna Bell che riceve in ingresso un intero k>0 nel registro $a0 e restituisce in $v0 il valore di Bell(k)

Grazie

wiseupdoc
Ancora Nessuno???

exzR
me lo sono fatto mandare direttamente dal codara e risulta l'esame dell'appello di Luglio 2013 se non ricordo male...

SPC:
addi $sp, $sp, -20
sw $ra, 0($sp)
sw $s0, 4($sp)
sw $s1, 8($sp)
sw $s2, 12($sp)
sw $s3, 16($sp)
li $s0, 0 # contatore ciclo
addi $s1, $a0, -2
li $s2, 0 # somma parziale
li $s3, 1 # segno
ciclosomma:
bgt $s0, $s1, finesomma
sub $a0, $s1, $s0
addi $a0, $a0, 1
jal Bell
mul $t0, $s3, $v0
add $s2, $s2, $t0
sub $s3, $0, $s3
addi $s0, $s0, 1
j ciclosomma
finesomma:
move $v0, $s2
lw $ra, 0($sp)
lw $s0, 4($sp)
lw $s1, 8($sp)
lw $s2, 12($sp)
lw $s3, 16($sp)
addi $sp, $sp, 16
jr $ra

wiseupdoc
grazie mille....

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate