Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Star Wars Zero Company è l'erede di XCOM 2
Star Wars Zero Company è l'erede di XCOM 2
Bit Reactor porta nell’universo di Star Wars una struttura tattica che richiama apertamente XCOM 2, ma la arricchisce con legami tra i personaggi, progressione ruolistica, gestione della base e un sistema di combattimento costruito attorno a tre Punti Azione e alle risorse condivise della squadra
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-05-2009, 09:10   #1
Ethoel
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 28
[ASM - MIPS] Problemi con MCD e Matrice

Ciao a tutti ho un problema bello grosso....
Ho una matrice NxN e devo calcolare l'mcd tra gli indici della matrice (i e j) e fare in modo che l'elemento nella posizione (i,j) ci sia proprio l'mcd di i e j...

Ora:
stampare la matrice ordinata....[ok]
trovare le varie posizioni i,j.....[ok]
calcolare MCD...................[NON OK]

Mi dà problemi non mi stampa i vari mcd.... vi posto il codice:

Codice:
#$s0 -> dimensione matrice e poi dimensione matrice -1
#$s1 -> indirizzo della matrice
#$t0,$t1 ---> righe, colonne
#$t2 = N x N
#$t3 = contatore per la fine della matrice contata come array
#$t4 - $t5 = registri d'appoggio
#$t6 = registro per slt

.data
N: .word 6
Matrice: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36
spazio: .asciiz " "
enter: .asciiz "\n"

.text
.globl main
main:
	la $s0,N      #carica indirizzo dimensione
	lw $s0,0($s0) #carica dimensione matrice

	la $s1,Matrice #carica indirizzo matrice

	move $t0,$zero #azzera contatore riga
	move $t1,$zero #azzera contatore colonna
	addi $t3,$zero,0 #controllo stampa

	addi $s2,$zero,1 #registo che memorizza 1 per verificare se la colonna o la riga è uguale a 1 (caso base)

	mul $t2,$s0,$s0 #moltiplica NxN per il controllo della fine della matrice
	addi $s0,$s0,-1 #decrementa la dimensione per contare da 0 a 5
ciclo:
	beq $t3,$t2,Fine

	move $t4,$t0            #$t4 <- riga
	move $t5,$t1            #$t5 <- colonna

	jal MCD                 #jal al calcolo dell'MCD

	lw $a0,0($s1)          #carica elemento matrice
 	li $v0,1               #stampa elemento matrice
	syscall

	beq $t1,$s0,Stampa_enter
	j Stampa_spazio

adiz:	
	addi $t3,$t3,1 #aumenta contatore stampa
	addi $s1,$s1,4 #indirizzo della matrice successiva
	j ciclo


Stampa_spazio:
	la $a0,spazio
	li $v0,4
	syscall
	addi $t1,$t1,1 #va alla colonna successiva
	j adiz

Stampa_enter:
	la $a0,enter
	li $v0,4
	syscall
	addi $t1,$zero,0 #azzera contatore colonna
	addi $t0,$t0,1 #va alla riga successiva
	j adiz

#funzione MCD

MCD:
	beq $t4,$zero,mcd_zero         #caso base
	beq $t5,$zero,mcd_zero         #caso base
	beq $t4,$t5,numeri_uguali      #caso base

	addi $sp,$sp,-4                 #crea spazio stack
	sw $ra,0($sp)			#salva indirizzo di ritorno

	slt $t6,$t4,$t5                 #controlla quale tra i e j è maggiore
	beq $t6,$zero,numero_maggiore
	
	j numero_minore

uscita_MCD:
	lw $ra,0($sp)                    #carica indirizzo di ritorno
	addi $sp,$sp,4                   #libera spazio stack
	jr $ra

mcd_zero:
	sw $zero,0($s1)                  #salva zero nella posizione corrente
	jr $ra

numeri_uguali:
	sw $t4,0($s1)     #salva nella matrice il numero
	jr $ra

numero_minore:
	sub $t5,$t5,$t4
	slt $t6,$t5,$zero
	beq $t6,$zero,salva_t4
	jal MCD
salva_t4:
	add $t5,$t5,$t4
	sw $t5,0($s1)
	j uscita_MCD
	
numero_maggiore:
	sub $t4,$t4,$t5
	slt $t6,$t4,$zero                
	beq $t6,$zero,salva_t5
	jal MCD
salva_t5:
	add $t4,$t4,$t5
	sw $t4,0($s1)
	j uscita_MCD

Fine:
	li $v0,10
        syscall
Mi ritorna una matrice di questo tipo:

0 0 0 0 0 0
0 1 2 3 4 5
0 2 2 3 4 5
0 3 3 3 4 5
0 4 4 4 4 5
0 5 5 5 5 5

E non penso proprio che sia quella giusta.....



Ragazzi vi prego aiutatemi stò impazzendo
Non so più dove mettere le mani....
Ethoel è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2009, 09:19   #2
Ethoel
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 28
Sono un idiota... ho risolto...

Scusate la discussione inutile....

Potete chiudere
Ethoel è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Google perde la testa: AI Overview conso...
Anthropic presenta Claude Sonnet 5.5, e ...
ESA e ClearSpace svilupperanno un satell...
Oracle, stock option da quasi un miliard...
Starship: si è conclusa anticipat...
Un computer quantistico ha funzionato ne...
Sovranità sui dati: AWS è ...
Il nuovo nome della distro Linux mobile ...
Due ventole da 220 mm e non solo: Cooler...
Truffa telefonica via Google Ads: il bro...
Google pensiona le Gems di Gemini: cosa ...
Flight 14: incertezza per un problema a ...
C'è un problema con i robot Tesla: i dip...
Raggi gamma anomali dalla Via Lattea sve...
NIO vende il 30% della divisione scambio...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v