Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-08-2013, 15:25   #1
Titti92
Member
 
Iscritto dal: Aug 2013
Messaggi: 68
Array in Assembly MIPS

Ciao a tutti ho un problema da un po' che non riesco a risolvere. Riesco a dichiarare array in Mips ma solo quelli con dei valori "precisi" già assegnati, ad esempio:
Codice:
.float 1.0,2.0
Mentre non riesco in nessun modo a dichiarare array che nel C sono dichiarati ad esempio:
Codice:
float A[100]
oppure
Codice:
int B[10][2]
come si fanno questi tipi di dichiarazioni?
Titti92 è offline   Rispondi citando il messaggio o parte di esso
Old 09-08-2013, 15:36   #2
oce
Senior Member
 
L'Avatar di oce
 
Iscritto dal: Jul 2006
Città: Napoli
Messaggi: 702
Se ricordo bene basta aggiungere:

Codice:
.space 100
Per riservare spazio per gli elementi. Ovviamente la dimensione devi calcolarla in bytes necessari per occupare il numero di elementi che vuoi utilizzare.
__________________


» Samsung Book Ultra 3 - HTPC with Win11 & Plex - Samsung Galaxy S26 Ultra - Sony Walkman NW-A306 «
» Xbox Series XS - PS4 - Nintendo Switch - SteamDeck «
» Lista dei miei videogames «


oce è offline   Rispondi citando il messaggio o parte di esso
Old 09-08-2013, 15:46   #3
Titti92
Member
 
Iscritto dal: Aug 2013
Messaggi: 68
quindi per quanto riguarda gli esempi sarebbe:
Codice:
A: .space 100
B: .space 20
corretto?
Titti92 è offline   Rispondi citando il messaggio o parte di esso
Old 11-08-2013, 22:35   #4
L'UnicoVeroArcangelo
Member
 
L'Avatar di L'UnicoVeroArcangelo
 
Iscritto dal: Jul 2012
Messaggi: 42
ciao, allora innanzitutto devi vedere quanto è grande una variabile di tipo float nella tua architettura, comunque normalmente un numero float occupa 8 byte..
A questo punto prova a cambiare la direttiva di .align, che dovrà essere align 3 poiché dovrai allineare il prossimo dato ad un indirizzo multiplo di 2^3, cioé 8 visto che parliamo di float..
A questo punto puoi sistemare le dimensioni delle variabili che come ha detto oce: "la dimensione devi calcolarla in bytes necessari per occupare il numero di elementi che vuoi utilizzare".
Ok visto che hai float A[100] per dichiarare quest'ultimo dovrai scrivere
aa: .space 800
mentre per float B[10][2] che alla fine, come hai notato è come scrivere B[20], visto che alla fine è una matrice che contiene 20 elementi e visto che le aree di memoria sono ugualmente contigue.
Quindi avrai:
bb: .space 160

Ora penso di aver scritto informazioni corrette ma non ne sono sicuro al 100%, visto che devo dare l'esame sul mips tra un mese e che devo ancora iniziare a studiare....

edit: ops mi sono accorto ora rileggendo, prima di chiudere la scheda, che hai chiesto come si dichiari int B[10][2] e non float B[10][2] come avevo scritto.... XD
Bé in questo caso dovrai scrivere:
.align 2 #questo perché ora hai davanti un array di interi e l'alineamento dovrà essere di 2^2, cioé ora dovrai muoverti di 4 byte alla volta..
#poi
bb: .space 80 #questo perché hai un vettore di 20 interi ed ogni intero occupa 4 byte

Ok spero di non aver creato confusione e ripeto: non sono certo che le mie siano informazioni corrette al 100%.. :P
Notte..
__________________
Alimentatore: 550 Watt (non ricordo la marca); Cpu: AMD Phenom HD 8450 Triple-Core Processor; Gpu: Ati Radeon HD 4850 (512 MB); Mobo: non ricordo, ma il computer di base è un "Acer Aspire M3200"; Ram: 4GB ddr2; Monitor: dual monitor di LG Flatron L222WS; Accessori: 3 ventole aggiuntive (fronte, retro, lato).

Ultima modifica di L'UnicoVeroArcangelo : 12-08-2013 alle 00:40.
L'UnicoVeroArcangelo è offline   Rispondi citando il messaggio o parte di esso
Old 17-08-2013, 15:16   #5
Titti92
Member
 
Iscritto dal: Aug 2013
Messaggi: 68
Ok, grazie a tutti delle risposte!
Titti92 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Musk non riesce a fermare la causa: le t...
Grafene al posto del silicio per le cell...
F-Stop, il prequel cancellato di Portal ...
Il razzo spaziale New Glenn di Blue Orig...
La Cina si prepara al primo lancio orbit...
Sale LAN, la Manovra 2027 introduce una ...
11 prezzi imperdibili in Amazon: non sol...
Giù i prezzi di Xiaomi 17T e Xiao...
Una tassa di 5,5 centesimi su ogni gigab...
Vuoi clonare un videogioco con l'IA? Cla...
Furto da 6,3 miliardi di dollari, Binanc...
Gli USA dipendono dai robot stranieri: T...
Volkswagen non ha più soldi per l...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
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: 04:39.


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