Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

C e asm

1 view
Skip to first unread message

a m

unread,
Dec 27, 2009, 4:05:17 PM12/27/09
to
Salve a tutti, vorrei provare a programmare in misto c\asm sia su win
che su linux. che combinazione di compilatore\assemmblatore usereste?
Io pensavo a un compilatore leggero e senza tanti fronzoli, cos�,tanto
per fare un p� di prove...per l'assemblatore non saprei. Inoltre, si
riesce, con qualsiasi compilatore, ad indirizzare i blocchi d icodice
dopo l aparola riservata 'asm', verso qualsiasi assemblatore?
Ciao.

FtM

unread,
Dec 28, 2009, 4:19:25 AM12/28/09
to

Personalmente cercherei di scrivere c e asm in moduli separati, in
maniera da poterli compilare distintamente, e successivamente usare un
qualsiasi linker.
IMO la regola di usare moduli di compilazione separati per tutto ciò
che è system-dependent è una regola generale da cercare di seguire
sempre!
Ciao!

Giovanni

unread,
Dec 28, 2009, 4:32:14 AM12/28/09
to
On 12/27/09 22:05, a m wrote:
> Salve a tutti, vorrei provare a programmare in misto c\asm sia su
> win che su linux. che combinazione di compilatore\assemmblatore
> usereste? Io pensavo a un compilatore leggero e senza tanti
> fronzoli, così,tanto per fare un pò di prove...per l'assemblatore
> non saprei. Inoltre, si riesce, con qualsiasi compilatore, ad
> indirizzare i blocchi d icodice dopo l aparola riservata 'asm',
> verso qualsiasi assemblatore?

Tutti i compilatori includono un assemblatore come parte del processo
di generazione degli eseguibili e tutti quelli che ho avuto di usare
sono in grado di differenziare file sorgenti in C od assembler a
seconda dell'estensione del file. L'estensione '.s' oppure '.S'. per
esempio, indica al gcc che si tratta si un file in assembler senza
(estensione .s) o con (estensione .S) direttive di preprocessore.

Analogamente quasi tutti i compilatori hanno un'opzione per generare
il codice assembler (con o senza ottimizzazione) equivalente.

Quanto alla direttiva 'asm' inclusa nel codice C viene automaticamente
usata dal compilatore per generare il codice assembler così come
scritto nel file. Il codice verrà poi passato, assieme al resto
generato dal codice C, al programma (od allo step del compilatore)
assemblatore ('as' nel caso del gcc).

Attenzione però che non tutti i compilatori/assemblatori usano lo
stesso linguaggio assembler. Il gcc usa una versione che credo derivi
dal compilatore Unix delle origini, che ha una sintassi alquanto
diversa dalla sintass dell'assemblatore Intel usata nei compilatori
Microsoft.

Sinceri auguri per un Felice Anno Nuovo.

Ciao
Giovanni
--
A computer is like an air conditioner,
it stops working when you open Windows.
< http://giovanni.homelinux.net/ >

a m

unread,
Dec 30, 2009, 12:43:45 PM12/30/09
to
On Mon, 28 Dec 2009 01:19:25 -0800 (PST), FtM <fma...@gmail.com>
wrote:


>Personalmente cercherei di scrivere c e asm in moduli separati, in
>maniera da poterli compilare distintamente, e successivamente usare un
>qualsiasi linker.

>IMO la regola di usare moduli di compilazione separati per tutto ci�
>che � system-dependent � una regola generale da cercare di seguire
>sempre!
>Ciao!

Hai ragione, in effetti volevo provare ambedue le soluzioni, per� non
saprei come scrivvere moduli in asm da linkare successivamente, per il
fatto che dovrei dare delle direttive all'assemblatore di cui, ora,
non vorrie occuparmi (tipo: modelli di memoria...).
Grazie,ciao!

a m

unread,
Dec 30, 2009, 12:45:11 PM12/30/09
to
On Mon, 28 Dec 2009 09:32:14 GMT, Giovanni <lso...@home.net.it>
wrote:


>Tutti i compilatori includono un assemblatore come parte del processo
>di generazione degli eseguibili e tutti quelli che ho avuto di usare
>sono in grado di differenziare file sorgenti in C od assembler a
>seconda dell'estensione del file. L'estensione '.s' oppure '.S'. per
>esempio, indica al gcc che si tratta si un file in assembler senza
>(estensione .s) o con (estensione .S) direttive di preprocessore.
>
>Analogamente quasi tutti i compilatori hanno un'opzione per generare
>il codice assembler (con o senza ottimizzazione) equivalente.
>
>Quanto alla direttiva 'asm' inclusa nel codice C viene automaticamente

>usata dal compilatore per generare il codice assembler cos� come
>scritto nel file. Il codice verr� poi passato, assieme al resto

>generato dal codice C, al programma (od allo step del compilatore)
>assemblatore ('as' nel caso del gcc).
>

>Attenzione per� che non tutti i compilatori/assemblatori usano lo

>stesso linguaggio assembler. Il gcc usa una versione che credo derivi
>dal compilatore Unix delle origini, che ha una sintassi alquanto
>diversa dalla sintass dell'assemblatore Intel usata nei compilatori
>Microsoft.
>
>Sinceri auguri per un Felice Anno Nuovo.
>
>Ciao
>Giovanni

CIao, in effetti ho sentito che gcc usa una sintassi un p�
sua...dev'essere quella AT&T degli inizi, in effetti...
Grazie degl iauguri, che ricambio.
CIao!

0 new messages