Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-09-2005, 11:34   #1
HellGauss
Junior Member
 
Iscritto dal: May 2005
Messaggi: 6
assembler e compilatori

Salve a tutti, sono un programmatore dilettante che ha imparato ad usare il visualC++ di MS in maniera autonoma, leggendo ogni tanto qualche libro e sfogliando l'help delle msdn. Avevo però intenzione di passare ad una suite di lavoro opensource o cmq free, anche per scelta ideologica. Mi sono buttato su dev-cpp, con il proposito di imparare ad usare le Qt, che pare siano le librerie del futuro. Fin qui nessun problema.

Il problema è che a volte, per aumentare la velocità, scrivevo codice direttamente in assembler. Il compilatore di MS supporta però una sintassi asm (la sintassi 'Intel') diversa da quella del compilatore di dev-cpp (mi pare sia il gcc, che in assembler supporta sintassi 'at&t'). Non ho il tempo materiale di imparare una nuova sintassi asm (tra l'altro tutti gli esempi di codice asm che scarico sono in modalità 'intel').

C'è una maniera veloce per far funzionare questo pezzo di codice, che su visual studio funziona benissimo, ma su devcppp dà errore?

__asm // rr ii r i 4 tmp
{
finit;
fld1;
fadd st(0),st(0);
fadd st(0),st(0);
fld i;
fld r;
fldz;
fldz;
mov ecx,maxit;
label1:
fst st(5);
fmul st(0),st(0);
fxch st(1);
fst st(6)
fmul st(0),st(0);
fadd st(0),st(1);

fcomi st,st(4);
ja label2;

fsub st(0),st(1);
fsub st(1),st(0);
fxch st(5);
fmul st(0),st(6);
fadd st(0),st(0);
fadd st(0),st(3);
fxch st(1);
fadd st(0),st(2);

dec ecx;
jecxz label2;
jmp label1;

label2:
mov t,ecx;
}

Il programma completo è qui (sono una manciata di kb):

http://xoomer.virgilio.it/jbgenov/mand.cpp

Ciao a tutti e grazie!
HG
HellGauss è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2005, 13:20   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
http://racl.oltrelinux.com/tutorial/gas.html
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2005, 12:38   #3
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Un consiglio, comunque: usa linguaggi di alto livello, quando possibile.
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2005, 08:50   #4
HellGauss
Junior Member
 
Iscritto dal: May 2005
Messaggi: 6
Devo per forza usare l'assembler. Ho scritto un programma analogo con interfaccia grafica per creare frattali a colori e stamparli su grande formato. Alcune elaborazioni mi hanno richiesto più di una settimana di cpu. La routine in c era sette volte più lenta a causa di inutili accessi alla memoria, quindi inutilizzabile.

Il programma era scritto su MS Visual Studio con le api di windows. Volevo passare a qt e a suite libere, solo che il dev-cpp e anche eclipse supportano una sintassi diversa dell'assembler inline. Ho letto di un opzione da passare da riga di comando a gcc ( -masm=intel ), ma non funziona.
Ho letto anche in giro che la sintassi intel può venire usata in modi differenti dal mio. Ad esempio asm invece di __asm, oppure __asm__, oppure con asm("....") invece di asm{....}.

Speravo di trovare un modo per far capire l'assembler intel a gcc, ma mi pare di aver capito che non è possibile.

In ogni caso grazie per le risposte.
HG
HellGauss è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2005, 09:20   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ti ci vuole davvero poco a tradurla, basta farti uno schema...

Comunque: http://www.niksula.cs.hut.fi/~mtiihone/intel2gas/
Google rules
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2005, 17:36   #6
HellGauss
Junior Member
 
Iscritto dal: May 2005
Messaggi: 6
Quel programmino mi pare sia per linux..... :-(
Cmq mi armo di tanta pazienza e provo a tradurre il codice. Forse è vero.... non è così difficile. Nel caso tra qlc giorno se non va ripesco il topic e torno a rompervi le scatole :-)

A presto e grazie
HG
HellGauss è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2005, 18:26   #7
HellGauss
Junior Member
 
Iscritto dal: May 2005
Messaggi: 6
UP :-)

Ho cambiato il codice iniziale con questo, e ho aggiunto l'opzione -masm=intel alle opzioni di compilazione.

__asm // rr ii r i 4 tmp

(
"finit;"
"fld1;"

"fadd st(0),st(0);"
"fadd st(0),st(0);"
"fld i;"
"fld r;"
"fldz;"
"fldz;"
"mov ecx,maxit;"

"label1:"
"fst st(5);"
"fmul st(0),st(0);"
"fxch st(1);"
"fst st(6)"
"fmul st(0),st(0);"
"fadd st(0),st(1);"

"fcomi st,st(4);"
"ja label2;"

"fsub st(0),st(1);"
"fsub st(1),st(0);"
"fxch st(5);"
"fmul st(0),st(6);"
"fadd st(0),st(0);"
"fadd st(0),st(3);"
"fxch st(1);"
"fadd st(0),st(2);"

"dec ecx;"
"jecxz label2;"
"jmp label1;"

"label2:"
"mov t,ecx;"
);

Sicuramente ha riconosciuto la sintassi intel, dato che senza l'opzione mi dava numerosi errori. Con questo mi da solo:
suffix or operands invalid for 'fst'
La suite di lavoro è dev-cpp
HellGauss è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2005, 18:42   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Devi aggiungerela la dimensione degli operatori quando non è già esplicita...ora non mi ricordo bene... Comunque deve aggiungere una lettera (che non ricordo) alle istruzioni a seconda se vuoi operare a 32, 64 o 80 bit...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2005, 20:05   #9
HellGauss
Junior Member
 
Iscritto dal: May 2005
Messaggi: 6
Era un ;..... ho la testa fusa.
Il fatto è che risolvo un problema e me se ne pone un altro.
Messo il ; non mi trovava le variabili esterne, dandomi un errore in fase di link. Con l'aiuto di google ho risolto anche quello. Però ora il programma mi va inspiegabilmente lento, e l'output non è quello che deve essere (però non da errore). Ho provato a fare un debug con dev-cpp, ma non posso andare a vedere cosa succede nel codice assembler (con msvc potevo farlo..... )
Penso che dovrò sbattere la testa ancora a lungo.....
HellGauss è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Attenzione al nuovo malware per Android:...
Netatmo aggiorna riscaldamento e sicurez...
Netflix punterà sempre più...
Un futuro pieno di schifezze fatte dall'...
CATL svela la batteria al sodio che pu&o...
Apple è in difficoltà con ...
Apple starebbe lavorando ad un 'Pin inte...
Sedie da ufficio di qualità a prezzi bas...
Mercedes-AMG svela la nuova F1: conferma...
Europa: nel 2025 le principali fonti di ...
Outlook inutilizzabile su Windows 11: Mi...
Acer Predator Helios 18 AI, un portatile...
FUJIFILM X half, 150 euro di cashback at...
YouTube punta sull'intelligenza artifici...
Volvo presenta una super EX60, e c'&egra...
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: 12:57.


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