Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Assembly: Alkuun assemblyssä

Sivun loppuun

KoodiNoppa [17.07.2007 21:58:04]

#

Mistä kannattaa aloittaa Assemblyn (x86) opetteleminen? Ajattelin tehdä pienen ohjelman, joka lukee hardwarepuolen juttuja, enkä löytänyt kelvollista kirjastoa c++:lle. Assemblyllähän onnistuu mikä vain mikä tietokoneelle mahdollista on, eikö?

Ja turha sanoa että se on vaikea kieli, en kuitenkaan kuuntele :)

Legu [17.07.2007 22:15:11]

#

KoodiNoppa kirjoitti:

Assemblyllähän onnistuu mikä vain mikä tietokoneelle mahdollista on, eikö?

No ei nyt aivan. Käyttöjärjestelmät (esim. Windows ja Linux) käyttävät prosessoria "protected modessa". Tämän takia/ansiosta ohjelmat eivät voi tehdä mitä lystäävät.

En nyt ihan tiedä mitä tarkoitat noilla "hardwarepuolen jutuilla", mutta eiköhän niille löydy ihan Windowssille ja Linuxille omat keinonsa.

_Pete_ [17.07.2007 23:04:08]

#

Jos haluaa päästä alkuun nimenomaan assemblyssä, miksi se pitää tehdä x86 ? Se kun on imo yksi vammaisimmista assemblyistä mitä on. Kokeile vaikka jotain kivaa RISC prosua tai wanhaa 68K. Samat ASSEMBLY periaatteet kyllä oppii kaikissa ympäristöissä, tosin muissa kun x86 voi alkaa karsastaa sen omistamia outouksia.

Antti Laaksonen [17.07.2007 23:53:45]

#

KoodiNoppa kirjoitti:

Mistä kannattaa aloittaa Assemblyn (x86) opetteleminen?

Tässä on hyvä opas alkulukemiseksi: http://www.magacrew.net/jso/asmqrssi.zip

Jos löydät kirjastosta kirjan "Inside Assembler", siinä on myös ihan hyvää tietoa.

Myöhemmin tästä sivustosta on paljon apua: http://heim.ifi.uio.no/~stanisls/helppc/

KoodiNoppa kirjoitti:

Assemblyllähän onnistuu mikä vain mikä tietokoneelle mahdollista on, eikö?

Ainakin niin, että jos jotain ei voi tehdä assemblyllä, niin sitä ei voi tehdä muillakaan ohjelmointikielillä. Tämä johtuu siitä, että assembly vastaa suoraan tietokoneen konekieltä, ja muilla kielillä laaditut ohjelmat täytyy kääntää konekielelle, ennen kuin ne voi suorittaa.

KoodiNoppa kirjoitti:

Ja turha sanoa että se on vaikea kieli, en kuitenkaan kuuntele :)

Assemblyn komennot ovat hyvin yksinkertaisia, mutta vaikeus piilee siinä, että korkeamman tason kielen (esim. C++) yksi komento voi kätkeä sisälleen kymmeniä assemblyn komentoja. Aluksi voi tuntua siltä, että assemblyn komennot ovat niin tavattoman yksinkertaisia, että niillä ei saa aikaan mitään kunnollista.

KoodiNoppa [18.07.2007 01:28:33]

#

Ne "hardwarepuolen jutut" sisältää kaikki usb- ja muut liitännät, levyasemat yms. mihin ei c++:lla pääse ilman niihin tarkoitettuja kirjastoja.

x86 tuli vain ensimmäisenä mieleen kun lähes kaikki tietokoneet on x86-pohjaisia :)

Tota Inside Assembler-kirjaa voisi joku päivä kirjastosta katsoa...

_Pete_ [18.07.2007 07:26:23]

#

KoodiNoppa kirjoitti:

x86 tuli vain ensimmäisenä mieleen kun lähes kaikki tietokoneet on x86-pohjaisia :)

Tähän sopiikin hyvin pari viidakon uutta sananlaskua:

1) Vaikka miljoona kärpästä tykkää paskasta, ei se silti ole hyvää

2) Älä korjaa sitä, mikä toimii (mistä saat rahaa)

Näistä yhdistettynä tulee: kannattaa opiskella x86 assya, jos siitä saa PALJON rahaa.

KoodiNoppa kirjoitti:

Tota Inside Assembler-kirjaa voisi joku päivä kirjastosta katsoa...

Lainaa samalla jonkun mun CPU:n Assembler kuin x86 kirja. Ihmettele :)

teksturi [18.07.2007 12:39:38]

#

KoodiNoppa kirjoitti:

Ne "hardwarepuolen jutut" sisältää kaikki usb- ja muut liitännät, levyasemat yms. mihin ei c++:lla pääse ilman niihin tarkoitettuja kirjastoja.

Mikset vain etsi niihin tarkoitettua kirjastoa varmasti on olemassa.

atomimalli [21.07.2007 22:31:27]

#

Asmaajat kokevat jossain vaiheessa vailaistuksen, eivätkä enään sen jälkeen tarvitse mitään pääkopan ulkopuolella syntynyttä koodia.

neau33 [22.07.2007 08:35:43]

#

Moikka KoodiNoppa!

mikäli alkaa todella kiinostamaan...

Pekka Karjalainen [22.07.2007 16:32:44]

#

Kaikista mielenkiintoisin asmi on ehdottomasti MMIX-prosessorin asmi. ;-)

http://www-cs-faculty.stanford.edu/~knuth/mmix.html


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta