Jump to content
Sign in to follow this  
Ancient One

High Level Assembler

Recommended Posts

Actually bila aku suh blajar asm, aku cuma nak sampaikan yang bila kita nak fahamkan sesuatu, fahamkan asasnya dulu.

Aku start belajar assembly lebih kurang 6-7 tahun lepas. Sebelum tu satu-satunya bahasa pengaturcaraan aras tinggi yang aku penah nampak kodnya adalah BASIC. Aku penah dengar gak nama2 cam cobol, pascal, fortran (tapi C takde plak). Maser tu satu-satunya sebab yang mendorong aku belajar asm (dan programming umumnya) adalah game. Aku heran.. bukan heran pasal camne orang buat game, tapi camne aku bleh cheat dalam game.. hehe.. Kadang2 bila dapat cracked game tuh, ader laa screen awal yang dipaparkan oleh cracker yang [biskut tawar] game tuh (diaorang panggil cracktro ke aper tah), then ader trainer laa.. macam2 laa..Aku nak tau jugak camne diaorang buat camtuh. So.. cari punya cari.. aku pun berkenalan laa dengan asm. Aku rasa beruntung sebab aku start dengan asm.. banyak yang aku belajar.. dan dengan pengetahuan asm secukup rasa ni, takde aper yang perlu aku pelajari (ader jugak.. tapi sikit sangat) untuk menguasai bahasa aras tinggi sedikit, seperti C dan pascal. Dari asm jugak aku pelajari konsep pengaturcaraan berorientasikan objek..

Bagi aku, yang terbaik adalah bila kita pelajari level yang paling rendah (aku bleh tunjukkan camne korang bleh mengaturcara dengan nombor kalau korang nak.. hehe). Cam bangunan laaa.. nak kena ader foundation yang kukuh.. barulaaa bangunan tak lembik. Meh aku kasi contoh.. .NET. Bila kita terus masuk topik C# misalnya, sikit sangat laaa yang kita tau pasal .NET nyer architecture. Dengan mempelajari senibina .NET, details mengenai clr, cts dan sebagainya.. menguasai C# kacang jer (bahkan language lain yang suppot .net). Kita jugak bleh tau aper limitation suatu languages tuh, aper yang ia tak support dan sebagainya. So, kalau orang cakap pasal __sealed keyword dalam C++ Managed Extensions, kiter tau laa tu menatang aper. Bukan tu ajer, kalau kita tak tau pun at least kita tau dokumen/topik mana yang nak dirujuk..

Ramai di antara kita yang payah sangat nak faham asm sebab diaorang tak belajar dari asas. Instead of learning about numbers and the machine architectures, diaorang terus masuk coding. Ada yang cuma belajar sikit jer (general integer instructions), so bila tengok "fst st1" atau "pxor mm0, mm0" misalnya, diaorang rasa pelik. Tu yang payah tu. Ada juga yang mungkin rasa susah sebab semernya kita kena buat sendiri. Contohnya, bila kita guna fasm compiler, nak create function pun secara manual! Contohnya, untuk stdcall calling convention yang biasa sangat kat Windows :

WinMain:
    push    ebp
    mov     ebp, esp
    sub     esp, <saiz local vars>
    ...
    mov     eax, <return value>
    mov     esp, ebp
    pop     ebp
    ret
Nak akses argument kat stack pun payah camni. Berbanding dengan C :
__stdcall WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) {
/*locals*/
    ...
    return /*return value*/
}

Oleh tu kebanyakan assembly compiler sediakan macro features...

F.A...

Kalau nak cari pengkompil assembly... aku nak promote fasm.. hehe (aku excited dengan kemunculan senibina prapemproses yang canggih >1.62). Fasm akan mengajar hang erti assembly programming yang sebenar-benarnya smile.gif.

Share this post


Link to post
Share on other sites

hohoho. thanx for the info dude. aku sebenarnye memang da lame usha² fasm. tapi sebab dengar khabar² menunjukkan hla lagi senang nak berpindah ke opcode, tu yang aku trus masuk hla. fasm pon terbengkalai. setakat main² sikit sikit je boleh la..

thanx again, sebab aku da nampak mane kekuatannya. nak taknak kene la aku reverse balik dari HLL ke LLL. laugh.gif

Share this post


Link to post
Share on other sites

overall semua language ada kekuatan tersendiri dalam beroperasi..

so kekuatan code tue terletak di jari-jemari anda hehe...

kreatif adalah sgt penting dlm mengcoding...

ako blaja teori je bab HLA nih lect ako tak tunjuk pn camne nk buat..

terpaksa blaja sendiri last2 terkantoi ditengah jalan..terpaksa la mula balik...sape leh tunjuk ajar ako sket...tenat dah nie..

Share this post


Link to post
Share on other sites

hla lagi senang nak berpindah ke opcode

tipu tuh... opcode.. opcode laa.. takde kena ngena ngan hla. nak belajar instruction encoding/decoding kena bacer manual Intel (Volume II). belajar LLL ni seronok. Tak caya cuba laaa..

Share this post


Link to post
Share on other sites

buku ape aa yg ko rase bagos untok memule blaja asm nih?

plis plis tulon tulon..aku nak sgt blaja asm nih...

tapi asek2 terbengkalai jek

Share this post


Link to post
Share on other sites

banyak tajuk2 buku pasal assembly ni. tapi kat kedai sikit jer. cubaa laa search ngan google. Kena tau gak assembly untuk senibina mana yang hang nak cari.

Share this post


Link to post
Share on other sites

banyak tajuk2 buku pasal assembly ni. tapi kat kedai sikit jer. cubaa laa search ngan google. Kena tau gak assembly untuk senibina mana yang hang nak cari.

akum, assmbly memang aku minat tapi tak tau maner nak start puncernyer.. kat maner aku nak start ek?.... ko ader source ebook tak ? instruction processor ko ader tak ... leh share ?

Share this post


Link to post
Share on other sites

amik jer aper2 buku pasal programming, bacer pasal konsep computer programming semer tuh, then print intel/amd nyer x86 manual ader 3 part - 1 - basic, cam intro laaa, II - instruction set refrences, III - system programming, kalau hang nak bina OS.. bacer laa maser nak tido.. kalau dah paham sikit2.. cari kat net aper2 x86 assemblers, cam masm, tasm, fasm, goasm, nasm dan sebagainya.. rosasm ader, codex ader, yasm, ep dan macam2 lagi laaa...print dan bacer lagi documentation assemblers tu..

Share this post


Link to post
Share on other sites

amik jer aper2 buku pasal programming, bacer pasal konsep computer programming semer tuh, then print intel/amd nyer x86 manual ader 3 part - 1 - basic, cam intro laaa, II - instruction set refrences, III - system programming, kalau hang nak bina OS..  bacer laa maser nak tido.. kalau dah paham sikit2.. cari kat net aper2 x86 assemblers, cam masm, tasm, fasm, goasm, nasm dan sebagainya.. rosasm ader, codex ader, yasm, ep dan macam2 lagi laaa...print dan bacer lagi documentation assemblers tu..

ko ader tak manual inter x86? ekemua part yang ko maksudkan?kalu buleh yang lagi detail lagi best kot, 286, 386, 486 pentium , pentiumII, pentium III, pentium4 dsb,kalu boleh instruction yang ader diernyer opcode sekali tak?

alaa ahre la kalu ader .....

Share this post


Link to post
Share on other sites

of course aku ader.. tapi hang pun bleh download foc kat site intel/amd... cari jer kat sana. part II ader complete instruction set,.. sesuai kalau nak buat assembler hang sendiri. Yang lama2 nyer (e.g 286, 386 berlambak kat site pasal assembly).. cari jer kat google (plain text format).

Share this post


Link to post
Share on other sites

platform mana tu?

cthnya nak upload program ke controller mesin..

skrg aku guna software TR (TR.exe).. kot2 ada yg kat sini guna software lain.. boleh kongsi2..

Share this post


Link to post
Share on other sites

cthnya nak upload program ke controller mesin..

skrg aku guna software TR (TR.exe).. kot2 ada yg kat sini guna software lain.. boleh kongsi2..

controller aper?? PIC?? kalau saya tgk org buat guna MPlab drpd microcip. free je....pastu burn program tu dlm PIC guna software & PICstart plus ......

Share this post


Link to post
Share on other sites

if anyone is interested in x86 assembly i highly recomend this book

Assembly Language For Intel-Based Computers by Kip R. Irvine

it retails for about RM75. worth every ringgit :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...