PDA

View Full Version : Assemblatore per assembler


LucaE
14-01-2010, 21:16
Salve ragazzi! :)
Devo provare alcuni programmi in assembler. Ma non sò dove scaricare (e quale) assemblatore, ho come CPU un AMD64 3200+. Qualcuno sà come aiutarmi?:D

grazie 1000 a tutti!!

Perseverance
14-01-2010, 21:18
Non me ne intendo molto, ma hai provato il GAS (Gnu Assembler) ?

LucaE
14-01-2010, 21:19
Non me ne intendo molto, ma hai provato il GAS (Gnu Assembler) ?

no mai provato, ora dò un occhiata! grazie:)

cionci
14-01-2010, 21:57
Ti consiglio NASM

cdimauro
15-01-2010, 07:49
Concordo. Odio la sintassi AT&T di GAS & co.

cionci
15-01-2010, 07:57
Concordo. Odio la sintassi AT&T di GAS & co.
A me sinceramente piace di più, ma NASM è onestamente più completo di gas.

cdimauro
15-01-2010, 08:24
E' questione di abitudine / gusti, allora. :)

Perseverance
15-01-2010, 10:18
Beh, se è per questo la odio anche io la sintassi del GAS.

LucaE
15-01-2010, 12:53
ho risolto ragazzi, ho preso quello della scuola!
grazie a tutti comunque!:D
potete chiudere

fero86
15-01-2010, 19:18
E' questione di abitudine / gusti, allora. :) non ho mai usato GAS, ma la differenza tra la sintassi per inserire codice assembly all'interno di codice C/C++ usata dal compilatore GNU e quella usata dal compilatore Microsoft é tutt'altro che questione di gusti: delle due la prima é praticamente inutilizzabile per quant'é intricata, nella seconda invece scrivi direttamente istruzioni e operandi (come dovrebbe essere) e gli operandi li metti nell'ordine giusto (quello usato dalla Intel, che mi pare la prima ad avere il diritto di definire un ordine in merito).

cdimauro
15-01-2010, 20:32
Io mi chiedo ancora perché sia stata tirata fuori la sintassi AT&T quando esisteva già la comodissima Intel. Mah.

Misteri della (fede) informatica...

cionci
16-01-2010, 08:56
Misteri della (fede) informatica...
Per motivi storici, perché l'assemblatore a cui gas si ispira (quello dei vari sistemi Unix) usava quella sintassi.

A me sinceramente non dispiace. L'ho usata in un esame all'università in cui si doveva tradurre una classe C++ in asm per poi richiamarla direttamente da codice C++ che includeva l'header della classe.
L'ho trovata molto più immediata di quella Intel, già il solo fatto che sorgente e destinazione siano invertiti è secondo me un bel vantaggio (molto più fedele a come ci si aspetta che le cose funzionino). Inoltre ho apprezzato molto il fatto che sia case sensitive.
Tra l'altro prima, alle superiori e l'anno prima all'università, avevo sempre usato sintassi Intel, anche per progetti con un minimo estesi.

In ogni caso leggo che gas supporta anche la sintassi Intel, non lo sapevo.

cdimauro
16-01-2010, 09:44
La sintassi di sorgente e destinazione invertite mi ricorda molto quella usata da Motorola con la sua famiglia 680x0, per cui mi è particolarmente affine, ma avendo lavorato sempre con la sintassi Intel, sono abituato così.

Una cosa che non mi piace proprio della sintassi AT&T è l'uso del % per specificare i registri.

Comunque anche gli assemblatori con sintassi Intel sono case sensitive (purtroppo; io sono un affezionato del case sensitive :p).

Non sapevo nemmeno che GAS supportasse anche la sintassi Intel: è una piacevole novità. :D

cionci
16-01-2010, 10:13
Quelli che ho usato io sono case insesitive. Però io intendevo per i registri e le istruzioni, non per le etichette e le variabili. Almeno MASM, TASM e NASM sono così.

cdimauro
16-01-2010, 11:21
Ah, ok, questo è vero. Perché li trovi scomodi? Anche gli mnemonici delle istruzioni erano case insensitive.

gugoXX
16-01-2010, 11:27
Mi ricordo un assembler x86 con Keyword customizzabili.
Oltre all'italiano c'era anche un file di configurazione per il piemontese. Uno spasso.

cionci
16-01-2010, 12:49
Ah, ok, questo è vero. Perché li trovi scomodi?
Omogeneità, così qualsiasi codice fatto da altri o generato dal compilatore è scritto nello stesso modo in cui sono abituato a programmare e a leggere.