Olen tässä aloitellut assembly-ohjelmoinnin opiskeluja ja nyt lähinnä kiinnostaisi tietää, että mikä olisi paras ympäristö assembly-ohjelmien kehittämiseen. Näin aluksi olisi olennaisinta lähinnä päästä nopeasti testaamaan kaiken näköisiä virityksiä, joten nuo komentoriviltä suoritettavat kääntäjät vaikuttavat hieman liian hankalilta, ja toisaalta niiden tuottamat obj-tiedostot ovat vielä erikseen linkitettävä exe-tiedostoksi...
Paha suositella, jos et kerro minkälaisia ohjelmia aiot tehdä tai mille alustalle.
Windows ohjelmointiin voisin suositella Jeremy Gordon's Go Tools
Itse olen OS/2:lle käyttänyt OpenWatcomin C-kääntäjä pakettia, eikä tuo komentoriviltä nyt niin kauhea ole käyttää:
wasm ohjelma.asm
wlink @ohjelma
rc ohjelma ohjelma.exe
Eli linkkaus info on tuossa tallennettu tiedostoon ohjelma.lnk ja resurssit tiedostoon ohjelma.rc
Unohdin tosiaan mainita alustan. Eli alustana on 64-bittinen Windows 7. Täytyy tarkastella tuota Jeremy Gordon's Go Toolsia...
Eikö PC-ympäristöön tosiaan saa saman tyylisiä työkaluja kuin Amigalle sai jo melkein 20 vuotta sitten, eli esim. ASM-One
Triton kirjoitti:
nuo komentoriviltä suoritettavat kääntäjät vaikuttavat hieman liian hankalilta
Tuo on jotenkin outo ongelma. Komentoriviltä ajettavat kääntäjät nimenomaan ovat sieltä helpoimmasta päästä. Kunnollisissa tekstieditoreissa ja IDEissä voi määritellä omia työkaluja yhdestä napista ajettavaksi, tai voit tehdä komennoista bat-tiedoston.
Triton kirjoitti:
ja toisaalta niiden tuottamat obj-tiedostot ovat vielä erikseen linkitettävä exe-tiedostoksi...
FASM kirjoittaa suoraan .exe-tiedostoja ja sen mukana tulee alkeellinen (mutta käytettävä) IDE. WinAsm + MASM komboa olen myös käyttänyt ja se on ollut ihan hyvä.
Metabolix kirjoitti:
Triton kirjoitti:
nuo komentoriviltä suoritettavat kääntäjät vaikuttavat hieman liian hankalilta
Tuo on jotenkin outo ongelma.
No ensinäkin tähän liittyy hyvin pitkälti se, etten ole kovin tottunut käyttämään komentoriviä, sillä Windowsissa sitä harvemmin tarviin ja Linux (tai Unix) maailmaan en ole ihan peruskäyttöä enempää joutunut tutustamaan (varmaan pitäisi).
Tuo prosessi, että ensin täytyy muuttaa asm-koodi objekti-tiedostoksi ja sen lisäksi linkittää vielä exe-tiedostoksi tuntuu hankalalta, etenkin kun joutuu käyttämään useampia komentorivi käskyjä. Sen lisäksi nuo miljoonat eri lipukkeet yms. joita käskyn yhteydessä voidaan antaa vieroksuttavat minua... Tosin kysymyshän on tässäkin asiassa pelkästään siitä, etten ole viitsinyt ottaa selvää näistä asioista aikaisemmin.
Triton kirjoitti:
Metabolix kirjoitti:
Triton kirjoitti:
nuo komentoriviltä suoritettavat kääntäjät vaikuttavat hieman liian hankalilta
Tuo on jotenkin outo ongelma.
No ensinäkin tähän liittyy hyvin pitkälti se, etten ole kovin tottunut käyttämään komentoriviä, sillä Windowsissa sitä harvemmin tarviin ja Linux (tai Unix) maailmaan en ole ihan peruskäyttöä enempää joutunut tutustamaan (varmaan pitäisi).
Tuo prosessi, että ensin täytyy muuttaa asm-koodi objekti-tiedostoksi ja sen lisäksi linkittää vielä exe-tiedostoksi tuntuu hankalalta, etenkin kun joutuu käyttämään useampia komentorivi käskyjä. Sen lisäksi nuo miljoonat eri lipukkeet yms. joita käskyn yhteydessä voidaan antaa vieroksuttavat minua... Tosin kysymyshän on tässäkin asiassa pelkästään siitä, etten ole viitsinyt ottaa selvää näistä asioista aikaisemmin.
Taitaa tuo komentorivin käyttö olla helpoin asia ASMin opiskelussa. Jos et siitä selviydy, vaikea ymmärtää miten oppisit koko kieltä
Triton kirjoitti:
Sen lisäksi nuo miljoonat eri lipukkeet yms. joita käskyn yhteydessä voidaan antaa vieroksuttavat minua...
Yhtä hyvin voisi sanoa, että graafisen ohjelman käyttö on kamalan hankalaa, kun valikossa on niin monta kohtaa. Mutta kaikista ongelmistahan pääset eroon tekemällä bat-tiedoston, kuten jo ehdotin. Silloin kaikki komennot (sopivilla lipuilla) on valmiiksi kirjoitettu eikä tarvitse muistella mitään. Voit jopa ajaa batin tuplaklikkaamalla, siis aivan ilman komentoriviä.
Oikeastaan suosittelisin kuitenkin Assemblyn harjoitteluun jotain korkeamman tason kieltä, johon saa asmia sekaan. Muistaakseni olet käyttänyt Pascalia? Delphi ja FreePascal tukevat näppärästi Assembly-koodia niin, että jopa muuttujia voi käyttää suoraan.
RQ kirjoitti:
Taitaa tuo komentorivin käyttö olla helpoin asia ASMin opiskelussa. Jos et siitä selviydy, vaikea ymmärtää miten oppisit koko kieltä
Kysymyshän ei ole mitenkään siitä, etten oppisi käyttämään komentoriviä, vaan siitä, ettei se ole tämän hetkisen kiinnostukseni kärkipäässä. Homman pointti onkin siinä, että haluan opiskella nimeomaan assemblytä ja on paljon nopeampaa ensin kirjoittaa editoriin koodi ja sitten painaa "COMPILE AND RUN"-painiketta, kuin suorittaa ensin komentorivillä käännös assystä objektikoodiksi ja siitä sitten vielä erillisellä komennolla linkittää objektitiedosto executable-filuksi. Mutta tuo FASM näyttää toimivan melkolailla kuten toivoinkin, joten asian suhteen ei ole enää ongelmaa.
FASM on aika hyvä.
Moi Triton!
Jos olet lookin hyvän IDE ASM ohjelmoinnin voit kokeilla molempia näistä asioista WinAsm & RadAsm
-Nea-
(Mod. huom: Tällä foorumilla keskustelemme suomeksi. Käännöksen tuotti Google Translate.)
Aihe on jo aika vanha, joten et voi enää vastata siihen.