PDA

View Full Version : Cerco compilatore ASM Intel 8086 per mac per l'università


manowar84
17-05-2007, 10:37
Ragazzi, conoscete qualche compilatore intel 8086 da far girare su un macintel? il mio prof usa turbo-asm della borland, ho provato con crossover ma non funziona... mi sapete consigliare qualcosa? Inutile dire che su google ho cercato con scarsi risultati... :(


Grazie!

[Alexi_Laiho]
17-05-2007, 10:42
Il gcc non compila per 8086?

manowar84
17-05-2007, 10:47
;17156258']Il gcc non compila per 8086?
OT: bel nick, cob rulez :p


cmq non saprei sinceramente, pensavo compilasse solo in c/c++! :D

ma mi serve xcode?

scusate sono un po' n00b!!

[Alexi_Laiho]
17-05-2007, 10:54
Uhm, no forse allora non ho chiaro cosa ti serve.
Che input dai e che output ti serve?

(i cob erano ok fino a qualche anno fa, gli ultimi cd purtroppo mi fanno un po' schifo :| )

manowar84
17-05-2007, 11:04
;17156429']Uhm, no forse allora non ho chiaro cosa ti serve.
Che input dai e che output ti serve?

(i cob erano ok fino a qualche anno fa, gli ultimi cd purtroppo mi fanno un po' schifo :| )

premesso che fino ad ora ho studiato un processore didattico (pd32), mi serve un compilatore che partendo da un file asm che scrivo (con le varie mov, add ecc) mi dice se è corretto e mi fa vedere cosa succede quando lo avvio (porzioni di memoria ecc). Psero di esser stato chiaro :)




(hai ragione, li adoravo fino a follow the reaper..poi si sono persi imho...)

kalebbo
17-05-2007, 11:06
Ma hai bisogno di un compilatore(gcc) o di un ambiente di sviluppo(ad esempio XCode)?
Comunque XCode usa gcc, quindi credo che puoi tranquillamente usare XCode, che produrrà automaticamente eseguibili x86 in formato Mach-o.

Edit: alt ho letto ora del pd32. Se stai cercando un ambiente equivalente al pd32, e che quindi ti faccia vedere passo dopo passo ciò che succede ai registri ed alla memoria durante l'esecuzione, ti avviso che non penso ci sia qualcosa di così "easy" su OS X.
Puoi provare comunque con il debugger di XCode: scrivi il tuo codice, poi clicchi su build e poi debug. Facci sapere.

manowar84
17-05-2007, 11:13
Ma hai bisogno di un compilatore(gcc) o di un ambiente di sviluppo(ad esempio XCode)?
Comunque XCode usa gcc, quindi credo che puoi tranquillamente usare XCode, che produrrà automaticamente eseguibili x86 in formato Mach-o.

Edit: alt ho letto ora del pd32. Se stai cercando un ambiente equivalente al pd32, e che quindi ti faccia vedere passo dopo passo ciò che succede ai registri ed alla memoria durante l'esecuzione, ti avviso che non penso ci sia qualcosa di così "easy" su OS X.
Puoi provare comunque con il debugger di XCode: scrivi il tuo codice, poi clicchi su build e poi debug. Facci sapere.

guarda non l'ho ben capito neanche io perchè nemmeno il prof ci ha mai fatto vedere il suo turbo-asm della borland, domani sarà la prima volta che useremo quello per 8086! Cmq l'ambiente di sviluppo mi interessa fino ad un certo punto nel senso che userò un editor di testo per creare il file (smultron che mi ci trovo bene) e poi però volevo sapere come poter compilare questo file! Quanto meno per gli errori! :)

kalebbo
17-05-2007, 11:22
Puoi usare gcc per compilare il tuo file asm.
Apri un terminale e digita man gcc per tutte le info necessarie.
Le opzioni specifiche per l'assembler da passare a gcc sono:
Assembler Option: -Wa,option -Xassembler option

manowar84
17-05-2007, 11:34
Puoi usare gcc per compilare il tuo file asm.
Apri un terminale e digita man gcc per tutte le info necessarie.
Le opzioni specifiche per l'assembler da passare a gcc sono:
Assembler Option: -Wa,option -Xassembler option

ah ok, allora domani proverò così! poi nel caso installerò xcode e proprio alle brutte userò parallels! :)

kalebbo
17-05-2007, 11:49
Occhio che gcc non è installato di default su OS X, ma devi inserire il dvd di tiger e installare i developer tools.

manowar84
17-05-2007, 12:59
Occhio che gcc non è installato di default su OS X, ma devi inserire il dvd di tiger e installare i developer tools.

lo prendo da fink, credo sia più aggiornato! :)

sirus
18-05-2007, 20:17
Hai controllato che in futuro il corso non preveda l'utilizzo degli interrupt? Spesso e volentieri si utilizzano gli interrupt del BIOS (eg. int 16h) oppure le chiamate di MS-DOS (eg. int 21h) è difficile che si utilizzino chiamate *nix in un corso introduttivo all'assembly.
Io installerei una macchina virtuale MS-DOS (anche FreeDOS dovrebbe andare bene) e poi utilizzerei MASM (Microsoft Assambler) oppure TASM/TD (Turbo Assembler e Turbo Debugger), se ti servono ho ancora gli eseguibili che utilizzavo alle superiori. :p

Janky
18-05-2007, 20:26
invece a me servirebbe un emulatore per il motorola 68k... dato che ad informatica 2 noi facciamo asm per questo processore...

avete qualcosa da propormi?

manowar84
18-05-2007, 20:29
Hai controllato che in futuro il corso non preveda l'utilizzo degli interrupt? Spesso e volentieri si utilizzano gli interrupt del BIOS (eg. int 16h) oppure le chiamate di MS-DOS (eg. int 21h) è difficile che si utilizzino chiamate *nix in un corso introduttivo all'assembly.
Io installerei una macchina virtuale MS-DOS (anche FreeDOS dovrebbe andare bene) e poi utilizzerei MASM (Microsoft Assambler) oppure TASM/TD (Turbo Assembler e Turbo Debugger), se ti servono ho ancora gli eseguibili che utilizzavo alle superiori. :p

ma quanto voglio bene a sirus! :D
cmq sti interrupt li ha nominati, temo sia come dici te! a questo punto mi conviene effettivamente usare freedos oppure msdos da vm e usare il tasm del prof! oggi la lezione è stata rinviata quindi non ho potuto verificare! grazie ;)

sirus
18-05-2007, 20:36
invece a me servirebbe un emulatore per il motorola 68k... dato che ad informatica 2 noi facciamo asm per questo processore...

avete qualcosa da propormi?

Informatica 2; anche io ho fatto lo stesso esame lo scorso anno, non utilizzavo ancora Mac OS X in quel periodo ma per strane coincidenze avevo solo Arch sul mio HD. Utilizzavo Easy68k emulato (è solo per Windows e non mi pare che ci sia ancora una versione per GNU/Linux o Mac OS X), un ottimo ambiente.

Comunque a suo tempo non è stata necessaria molta esercitazione, la parte di assembly per quell'esame è veramente molto limitata. ;)

Janky
18-05-2007, 20:43
eh... é quello che c'hanno consigliato anche a noi i prof... ora provo a vedere se parte con crossover

Janky
18-05-2007, 20:47
funziona benissimo, perfetto, uso questo

kwb
27-10-2010, 18:00
Hai controllato che in futuro il corso non preveda l'utilizzo degli interrupt? Spesso e volentieri si utilizzano gli interrupt del BIOS (eg. int 16h) oppure le chiamate di MS-DOS (eg. int 21h) è difficile che si utilizzino chiamate *nix in un corso introduttivo all'assembly.
Io installerei una macchina virtuale MS-DOS (anche FreeDOS dovrebbe andare bene) e poi utilizzerei MASM (Microsoft Assambler) oppure TASM/TD (Turbo Assembler e Turbo Debugger), se ti servono ho ancora gli eseguibili che utilizzavo alle superiori. :p
Riesumo un attimo perchè pure io come manowar84 devo compilare gli asm per 8086... E sono su mac... Alla fine non c'è modo di farlo senza virtualizzare?

EDIT: A me fanno usare MASM 6.qualcosa

ElChip
04-11-2010, 19:01
Riesumo un attimo perchè pure io come manowar84 devo compilare gli asm per 8086... E sono su mac... Alla fine non c'è modo di farlo senza virtualizzare?

EDIT: A me fanno usare MASM 6.qualcosa

spim/xspim o mars ide dovrebbero fare al caso tuo
ciao

kwb
05-11-2010, 10:59
spim/xspim o mars ide dovrebbero fare al caso tuo
ciao

Mars ide non va bene perchè è per un altro tipo di assembler, infatti provando a fare un build del file scritto ( che ho testato essere senza errori a scuola ) da errore ad ogni riga. Ho visto infatti che i commenti in quell'assembler si fanno con # e non con ; come nell'8086 .

XSpim non riesco a compilarlo perchè quando nella guida dice di dare il comando xmkmf il terminale mi restituisce command not found .
Credo di avere già gli strumenti di sviluppo installati, ma non c'è alcun xmkmf...

ElChip
05-11-2010, 12:12
Mars ide non va bene perchè è per un altro tipo di assembler, infatti provando a fare un build del file scritto ( che ho testato essere senza errori a scuola ) da errore ad ogni riga. Ho visto infatti che i commenti in quell'assembler si fanno con # e non con ; come nell'8086 .

XSpim non riesco a compilarlo perchè quando nella guida dice di dare il comando xmkmf il terminale mi restituisce command not found .
Credo di avere già gli strumenti di sviluppo installati, ma non c'è alcun xmkmf...

scusa ho sbagliato io ad indicarti..non avevo letto "..per 8086", in questo caso non vanno bene...nemmeno spim

kwb
05-11-2010, 15:30
Per ora l'ho aggiustata emulando emu8086 con wine ( non proprio lui, un suo derivato ). E sembra funzionare...
Però vorrei capire se esiste un'alternativa al MASM 6.11 ( o emu 8086 ) per Mac OS, perchè sebbene funzioni l'emulazione, alcune cose si vede chiaramente che non vengono visualizzate come si deve...

sirus
05-11-2010, 20:24
Per ora l'ho aggiustata emulando emu8086 con wine ( non proprio lui, un suo derivato ). E sembra funzionare...
Però vorrei capire se esiste un'alternativa al MASM 6.11 ( o emu 8086 ) per Mac OS, perchè sebbene funzioni l'emulazione, alcune cose si vede chiaramente che non vengono visualizzate come si deve...

gcc può compilare anche il codice assembly. ;)

kwb
05-11-2010, 22:10
gcc può compilare anche il codice assembly. ;)

Si il fatto è che mi servirebbe proprio un programma IDE.
Perchè ora come ora stiamo facendo semplici programmi di passaggio e somma di valori dentro registri. Il programma non ritorna a schermo nessun output e avrei la necessità di controllare i registri e i valori contenuti.

sirus
06-11-2010, 09:24
Si il fatto è che mi servirebbe proprio un programma IDE.
Perchè ora come ora stiamo facendo semplici programmi di passaggio e somma di valori dentro registri. Il programma non ritorna a schermo nessun output e avrei la necessità di controllare i registri e i valori contenuti.
Direi che un IDE per programmare in assembly non ha molto senso mentre per il debugging puoi usare gdb che ti permette di vedere il contenuto dei registri. :p

kwb
06-11-2010, 10:35
Direi che un IDE per programmare in assembly non ha molto senso mentre per il debugging puoi usare gdb che ti permette di vedere il contenuto dei registri. :p

Uhm si, vabbè era per intendere che mi serviva un blocco note con debugger annesso :D

Cmq prevedo che la cosa sarà abbastanza intricata... Spero di trovare il tempo per guardare come fare....

sirus
06-11-2010, 10:43
Uhm si, vabbè era per intendere che mi serviva un blocco note con debugger annesso :D

Cmq prevedo che la cosa sarà abbastanza intricata... Spero di trovare il tempo per guardare come fare....
Un qualsiasi editor di testo farà al caso tuo, personalmente quando programmo utilizzo quasi sempre il terminale e mi trovo un gran bene con vim però un editor come TextWrangler andrà benissimo.
Poi, al momento di assemblare il tuo sorgente e per debuggarlo sarà sufficiente aprire il terminale, dare un paio di comandi (gcc per compilare e successivamente gdb per debuggare) ed avendo sempre la finestra con il codice aperta potrai seguire senza problemi l'avanzamento del tuo programma.

Se hai intenzione di continuare a programmare man mano che prosegui gli studi direi che dovresti imparare a districarti con degli strumenti che non hanno un'interfaccia grafica perché in alcuni casi non ne potrai fare uso. ;)

kwb
06-11-2010, 13:19
Un qualsiasi editor di testo farà al caso tuo, personalmente quando programmo utilizzo quasi sempre il terminale e mi trovo un gran bene con vim però un editor come TextWrangler andrà benissimo.
Poi, al momento di assemblare il tuo sorgente e per debuggarlo sarà sufficiente aprire il terminale, dare un paio di comandi (gcc per compilare e successivamente gdb per debuggare) ed avendo sempre la finestra con il codice aperta potrai seguire senza problemi l'avanzamento del tuo programma.

Se hai intenzione di continuare a programmare man mano che prosegui gli studi direi che dovresti imparare a districarti con degli strumenti che non hanno un'interfaccia grafica perché in alcuni casi non ne potrai fare uso. ;)
Si, lavorare senza GUI dovrò sicuramente farci il callo... Anche se credo che dopo questo corso di Assembler chiuderò con questo linguaggio ( che tra l'altro nemmeno mi piace... ), tornerà sicuramente utile saper lavorare con il terminale, sia per il C ( che continuerò a studiare per molto ancora ) che per altri linguaggi... Poi nella vita non si sa mai...
Il fatto è che ora come ora ho fretta di fare gli esercizi perchè mi sono stati richiesti... Non posso quindi perdere tempo a cercare di capire come funziona gdb e gcc ( avevo già compilato file C con gcc da terminale, penso non cambi molto... ). Tra l'altro per GDB devo vedere se è installato su Snow Leopard, ma credo di si... Se c'è GCC...

sirus
06-11-2010, 14:06
Si, lavorare senza GUI dovrò sicuramente farci il callo... Anche se credo che dopo questo corso di Assembler chiuderò con questo linguaggio ( che tra l'altro nemmeno mi piace... ), tornerà sicuramente utile saper lavorare con il terminale, sia per il C ( che continuerò a studiare per molto ancora ) che per altri linguaggi... Poi nella vita non si sa mai...
Dipende, capita che per dover far andare un po' più forte un programma scritto in C sia necessario scrivere qualche breve pezzo di codice assembly quindi può sempre tornare utile. ;)

Il fatto è che ora come ora ho fretta di fare gli esercizi perchè mi sono stati richiesti... Non posso quindi perdere tempo a cercare di capire come funziona gdb e gcc ( avevo già compilato file C con gcc da terminale, penso non cambi molto... ). Tra l'altro per GDB devo vedere se è installato su Snow Leopard, ma credo di si... Se c'è GCC...
Si, gdb viene installato con gcc e Xcode ed imparare a debuggare qualche piccolo programmino richiede veramente pochissimo. :p

kwb
06-11-2010, 15:16
Dipende, capita che per dover far andare un po' più forte un programma scritto in C sia necessario scrivere qualche breve pezzo di codice assembly quindi può sempre tornare utile. ;)


Si, gdb viene installato con gcc e Xcode ed imparare a debuggare qualche piccolo programmino richiede veramente pochissimo. :p

Beh il debug già lo faccio normalmente, ma con XCode ( veramente il migliore IDE mai provato... Peccato sia solo per Mac )... Poi ovvio, finchè si può vado di grafica, quando siamo ai ferri corti ci sta la testuale :D ... Proverò appena avrò tempo!