Ասսեմբլեր լեզու

Ասսեմբլեր լեզու ()՝ ցածր մակարդակի ծրագրավորման լեզու, մեքենայական լեզվի սիմվոլիկ ներկայացնում։ Ասսեմբլերը թույլ է տալիս գրել կարճ և արագ կատարվող ծրագրեր, մեծ մասամբ ասսեմբլերով գրվում են այնպիսի ծրագրեր, որոնք ապահովում են մեքենայական մասի արդյունավետությունը։

Առավելությունները և թերությունները

Առավելությունները 
 Ասսեմբլեր լեզուն թույլ է տալիս գրել ամեաարագ և փոքր ծրագիր, որը ընդհանրապես հնարավոր է գրել տվյալ պրոցեսորի համար։
 Ասսեմբլեր լեզվի օգնությամբ ստեղծվում են մեքենայից կախված ենթածրագրեր նախաթարգմանիչի () համար։
 Ասսեմբլեր լեզուն օգտագործվում է BIOS-ի համար հանգույցներ () ստեղծելիս։
 Ասսեմբլեր լեզուն շատ հաճախ օգտագործվում է սարքերի դրայվերներ ստեղծման ժամանակ։

Թերությունները 
 Ասսեմբլերը ցածր մակարդակի ծրագրավորման լեզու է, ուստի նրանով գրված ծրագրերը ավելի բարդ են ընթերցվում և դժվար է հասկանալ, քան բարձր մակարդակի ծրագրավորման լեզվով գրված ծրագրերը։
 Ծրագիրը կազմված է շատ «փոքր» տարրերից՝ մեքենայական հրամաններից, որոնք բարդեցնում են ծրագրավորման գործընթացը, հաճախացնում սխալվելու հավանականությունը։
 Բացակայում է ծրագրի տեղափոխության հնարավորությունը մի համակարգչից դեպի այլ համակարգիչ։

Օգտագործումը 
Եթե, որպես ծրագրավորման լեզվի առաջին սերունդ համարենք մեքենայական կոդը, ապա ասսեմբլեր լեզուն կարելի է համարել ծրագրավորման լեզուների երկրորդ սերունդ։ Ասսեմբլեր լեզվի մի շարք թերությունները բերեցին ծրագրավորման լեզուների երրորդ սերնդի առաջացմանը, որոնք կոչվեցին բարձր մակարդակի ծրագրավորման լեզուներ։ Հենց բարձր ծրագրավորման լեզուները և իրենց ժառանգներն են, որ հիմնականում օգտագործվում են ներկայիս ինֆորմացիոն տեխնոլոգիաների արդյունաբերությունում։
Ասսեմբլեր լեզվով գրվում են ծրագրեր կամ ծրագրի հատվածներ այն դեպքում, երբ հատկապես խիստ անհրաժեշտ է արագագործությունը։

Շարահյուսությունը 
Ասսեմբլեր լեզվի շարահյուսությունը տվյալ պրոցեսորին բնորոշ համակարգային հրամաններն են։

Հրամանների համակարգ 
Ասսեմբլեր լեզվում հրամանների համակարգը բաժանվում է հետևյալ հիմնական խմբերի՝
 Տվյալների տեղափոխման հրամաններ (mov, push և այլն)
 Թվաբանական հրամաններ (add, inc և այլն)
 Տրամաբանական հրամաններ (or, and և այլն)
 Ղեկավարությունը փոխանցող հրամաններ (jmp, loop և այլն)
 Ընդհատման հրամաններ (int և այլն)

Ծանոթագրություններ