субота, 18. април 2015.

Šta je to Assembler, Assembly ili jednostavno Asembler?

Assembler je kompjuterski program koji prevodi Assembly programski jezik u fajl formata mašinskog koda i obratno. Prevod mašinskog koda u Asembler kod se naziva disasembliranje.  Kod nas i program i programski jezik zovu isto, „Asembler“! Kad neko od programera spominje „Asembler“ onda često ne misli na programski jezik, već na Microsoft IL kompajler. Asembler kao programski jezik, koji se uglavnom deli prema procesorskoj arhitekturi, koji komande šalje direktno procesoru,  jednostavno omogućava da nam mašinski jezik bude u čitljivom obliku. Asembler programski jezik je jezik koji radi na najnižem nivou, nivou mašinskog koda. On nema pomoćne konstrukcije. 

Hakerima je Asembler programerski jezik bukvar; zato što pravi najmanje i najbrže programe, inače se asembler ne uči kao konvencionalni programski jezici u školama i u knjižari nećete pronaći za njega knjigu. Možda ako imate neki vremeplov da se vratite u 80te. Ali zato postoji Internet i tutorijali na engleskom jeziku.

Ukoliko ste zainteresovani da učite asembler programski jezik, najbolje da krenete od emu8086, 8086 mikroprocerskog emulatora. Možete ga pronaći na Internetu, ili skinuti ovde, ukoliko koristite Windows platformu.


( Emu8086, 8086 microprocessor Emulator ver.4.08 )  

Instalacija je jednostavna, potvrdite sve što vas pita, pokrenite emulator i u editoru koda otkucajte:



.model tiny
.code
org 100h

main proc near

        mov ah, 09h
        mov dx, offset message
        int 21h

        mov ah, 4ch
        mov al, 00
        int 21h

endp
message db "Hello World $"

end main



( "Hello World", kod u programskom jeziku asembler )  

Pokrenite vaš program na Emolute, zatim Run i čestitam, upravo ste isprogramirali vaš prvi program u asembleru.

Jedna dobra knjiga za asembler programski jezik; ima na žalost samo na engleskom jeziku; kliknite ovde. Takođe skinite i ASCII tabelu kao na slici, ovde. Sigurno će vam dosta trebati.



( ASCII Tabela )   

Učenje Asembler programskog jezika za osobe koje ne poznaju ni jedan drugi programski jezik ne preporučujem. Za prvi programski jezik vam preporučujem C#. Čitajte ovde.