HellGauss
03-09-2005, 10:34
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
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