» »

programiranje v assemblerju

programiranje v assemblerju

slovencl ::

Rad bi nekaj sprogramiral v assemblerju (za računalnik - pc). Katera orodja se uporabljajo za to? A je tukaj potem vseeno za kateri operacijski sistem je program? A se patem ukazi za intelove in amd-jeve procesorje tazlikujejo? Kje lahko najdem spisek vseh ukazov ki jih podpirajo posamezni procesorji?

t909 ::

1. tasm, masm, nasm
2. v grobem ne (oz. odvisno kaj)
3. ne
4. kaj isces?

[edit - hax is bad - vsc]

Zgodovina sprememb…

  • spremenil: Vesoljc ()

Highlag ::

Veliko uspehov.

Si že kaj sprogramiral v Asebblerju?
Ker začet študirat hardware, ki je na PC-ju pa če vzameš samo procesor te bo stalo toliko časa, da te bo minilo.

Prični s čim manjšim. Kakšen mikrokontroler za začetek.

Če te to ne bo odvrnilo, se zakoplji v dokumente, ki so na voljo pri Intelu in AMD-ju, ki sta proizvjalca procesorjev. Če pri njih ni teh dokumentov.......
Never trust a computer you can't throw out a window

tonic ::

za začetek res rajši začni na kakem mikrokontrolerju PIC, ATMEL, MOTOROLA... imaš tudi simulatorje, če te že ne zanima tako HW - periferija
poznat moraš arhitekturo posameznega procesorja da napišeš res optimiziran SW za le tega;

po vsej verjetnosti pa boš danes napisal, če že boš napisal ASM program za AT/XT računalnike, takega ranga da bi verjetno laufal na 386ki; razen če se mogoče usmeriš na 64 bitov dolge besede oz. 64 bitne procesorje... ampak če hočeš to naredit, potem pa moraš res bit "not" oz. imet "not" v glavi tisto literaturo proizvajalcev HWja :D

Loki ::

sploh se _kdo_ programira v ass za 64bit? zakaj? enrkat ko imas tako zmogljive procesorje, ti tudi kolicina pomnilnika/ prostora naceloma ni tezava vec...
za boljso optimizacijo programov so pa imo bolj zasluzni fmf-jasi (matematiki...) z stalisca algoritmov.

Brane2 ::

Mogoče kje kdo, ki dela res optimizirane, majhne rutine.

Recim kaj za kake težke paralelne simulacije, mogoče kak Quake engine itd.

Compilerji znajo biti razsipni s cikli.

Vsekakor dobra vaja, je pa verjetno treba imeti še kaj orodja.
Assembler je zadost samo v teoriji.

Verjetno bi rabil kak simulator, pa analizator kode, pa kak profiler pa še kaj, da bi sel lahko prepričal o tem, koliko si zadevo stisnil.

Poleg tega je treba poznati intimne zadeve exe formata, na linuxu (ELF, pri WInsih mislim ECOFF),saj moraš marsikaj psotoriti ročno, kar sicer gcc naredi zate.
On the journey of life, I chose the psycho path.

Brane2 ::

BTW: Tsiti Thomasov šahovski problem bi bil dober kandidat za asm rešitev.

S pravilno optimizacijo in alignom podatkov bi lahko naredil zelo hitre zadeve.
On the journey of life, I chose the psycho path.

slovencl ::

Če delaš kakšne real-time zadeve, je pa najbrž uporaben...

Vesoljc ::

jah, ce je dt 100 sekund niti ne :p
Abnormal behavior of abnormal brain makes me normal...

snow ::

The Art of Assembly Language Programming - bukva. Get it!

Maš pa v zadnjem času tudi en high level assembly... je že kdo delal s tem?


Drugače pa mogoče za začetek je fino kak v c/c++ inlinat asm kodo.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

CCfly ::

Tisti high level asm je asm z makroji.
"My goodness, we forgot generics!" -- Danny Kalev

BluPhenix ::

ASM programirat PC platforme. Srečno! To se razen za zelo specifične aplikacije ne dela več veliko. Pa še ko se se ne jamlje latest procesorjev, ampak starejše preverjene.

Zakaj pa bi ti to delal z ASMjem? Aja, AMDjev in Intelov se razlikujeta. V bistvu skoraj nikoli nimajo proizvajalci enakega ASMja, zaradi licenciranja ukazov.
Podpisa ni več, ker so me poskušali asimilirati.

DMouse ::

Jest poznam nekaj ljudi ki optimizirajo kake algoritme na tak način. Se pravi program napišejo v c++, pol pa kakšne bloke nadomestijo z asm, tako da to ni tako zelo slaba ideja, odvisno za kaj rabiš. Da bi šel en program pisat v assemblerju je pa sizifovo delo :\

sverde21 ::

Ma kdo kak link do mnemonikov za x86 z njihovo definicjo :) , mam en konc kode, pa neč ne kapiram vn :)) n33d to le4rn >:D
<?php echo `w`; ?>


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

kako se začeti učit hekanja? (strani: 1 2 )

Oddelek: Pomoč in nasveti
6815765 (13449) einstein :P
»

mokrikontrolerji.... the begining

Oddelek: Elektrotehnika in elektronika
203282 (2256) snow
»

[FASM] Kernel (strani: 1 2 )

Oddelek: Programiranje
674036 (2845) DustWolf
»

Najhitrejši programski jezik? (strani: 1 2 )

Oddelek: Programiranje
757418 (5238) Senitel
»

mikrokontrolerji, programatorji, c/asm ?

Oddelek: Elektrotehnika in elektronika
292844 (2463) snow

Več podobnih tem