PDA

View Full Version : assembler inline c++


Giaco82
30-09-2006, 15:49
Qualcuno conosce la sintassi per utilizzare l'assembler inline in c++

andbin
30-09-2006, 20:51
Qualcuno conosce la sintassi per utilizzare l'assembler inline in c++La sintassi dipende dal compilatore. Ad esempio il Visual C++ usa la parola chiave __asm e poi le istruzioni assembly seguono la sintassi "Intel".

Es.:
int valore = 5;

__asm
{
mov eax, valore
mov ebx, 3
mul ebx
}

Giaco82
30-09-2006, 22:03
La sintassi dipende dal compilatore. Ad esempio il Visual C++ usa la parola chiave __asm e poi le istruzioni assembly seguono la sintassi "Intel".

Es.:
int valore = 5;

__asm
{
mov eax, valore
mov ebx, 3
mul ebx
}

io utilizzo devc++ e non mi funziona questa sintassi forse devo aggiungere qualche libreria?

71104
30-09-2006, 23:06
Dev-C++ usa gcc, il quale non usa la sintassi Intel e non usa la keyword __asm. col gcc è molto più complicato, praticamente l'assembly si scrive dentro quella che sintatticamente appare come una chiamata ad una ipotetica funzione di nome "asm", e deve essere formattato come una grossa format string (tipo quella della printf) della quale però non conosco le convenzioni; inoltre la sintassi dell'assembly (che come ho detto, non è Intel) vuole che gli operandi siano scambiati: prima la sorgente e poi la destinazione.

cisc
01-10-2006, 11:51
gcc usa la sintassi AT&T, http://download.savannah.gnu.org/releases/pgubook/ questo è un ottimo libro a riguardo