Ժողովի լեզու. Ինչպե՞ս սովորել կանոնակարգել ժողովները այսօր

Բացահայտում. Ձեր աջակցությունն օգնում է կայքը պահպանել: Այս էջում առաջարկվող որոշ ծառայությունների համար մենք վաստակում ենք ուղեգրման վճար.


Հավաքման լեզուն ծայրաստիճան ցածր մակարդակի ծրագրավորման լեզու է, որն ունի 1-ից 1 նամակագրություն մեքենայական կոդին. Երկուական ցուցումների շարքը, որոնք արժեքները տեղափոխում են պրոցեսորներում (կամ այլ միկրոպրոցեսոր) գրանցամատյաններում:.

Ներածություն

Միկրոպրոցեսորը մեխանիկական հաշվիչ է: Այն ունի մի շարք անվանված գրանցամատյաններ, որոնք նման են թվերի գրիչներ պահելու: Այն հրահանգներ է ստանում մեքենայական ծածկագրի տեսքով, որը ներկայացված է երկուական բիթերի մի շարք (1-ներ և 0-ներով): Օրինակ, այստեղ կա մեքենայական ծածկագրի մի տող.

10110000 01100001

Առաջին մի քանի բիթերը (10110) հրահանգ են արժեքը գրանցամատյանում պատճենելու համար: Հաջորդ երեք թվանշանները (000) նշում են այն ռեգիստրը, որի արժեքը պատճենվելու է: Դրա մնացած մասը (01100001) այն արժեքն է, որը պետք է պատճենահանվի.

Իհարկե, 10110-ը անիմաստ է, և համակարգիչը չգիտի, որ դա նշանակում է «պատճենել արժեքը»: Պրոցեսորը նախագծված է այնպես, որ 10110-ով ներկայացվող էլեկտրական ազդակների շարքը (on-off-on-on-off) հանգեցնում է ցանկալի արդյունքի: Սա մաս է կազմում այն, ինչ նկատի ունի «մեխանիկական»:

Հիմա, եթե պատրաստվում եք պրոցեսորի կատարման ծրագիր գրել, կարող եք պատկերացնել, որ 1-ին և 0-ի հազարավոր տողեր գրելն էլ հոգնեցուցիչ է և հակված է սխալների: Լուծումը հավաքման լեզու է: Ժողովի լեզուն երկուական կոդերի երկար տողերի համար մարդուն հասկանալի փոխարինում է.

Օրինակ

Օրինակ, եթե 10110-ը նշանակում է «արժեքը տեղափոխել», ապա մենք կարող ենք այն կրճատել MOV հրամանի հետ.

Մենք կարող էինք նաև 000 գրառում տալ ավելի հեշտ է հիշել անունը (այս դեպքում գրանցամատյանն անվանված է AL).

Վերջապես, մենք կարող էինք արժեքը մատուցել համարակալման այլ համակարգում, ինչպիսիք են տասնորդական (91) կամ hexidecimal (61): Այդ գիծը այնուհետև կլինի MOV AL, 61: Մի ամբողջ ծրագիր այսպես գրվելուց հետո, հավաքիչը կարող է հեշտությամբ թարգմանել յուրաքանչյուր տողը համապատասխան երկուական ներկայացուցչության.

Համակարգիչները աշխատում են (կատարում են հաշվարկներ, տեղափոխում են տվյալները, փոխում են տվյալները) ՝ վայրկյանների ընթացքում մշակելով այս փոքրիկ հրահանգների միլիարդավոր դոլարներ.

Շատ պարզ ցուցումներ (տեղափոխել այս արժեքը, պատճենել այդ արժեքը, ավելացնել այս երկու արժեքները միասին և պահպանել այդ արժեքը այնտեղ) միավորել `բարդ գործողություններ ձևավորելու համար, որոնք միավորված են ավելի բարձր և ավելի բարձր մակարդակներում, իրականում անել այնպիսի բաներ, որոնք դու կճանաչես որպես իմաստալից:.

Ժողովի լեզվական ռեսուրսներ

Առցանց ռեսուրսներ

Ձեռնարկներ և հիմնական ուղեցույցներ

  • Ժողովի ծրագրավորման ձեռնարկ Tutorials Point- ից

  • X86 Assembly Language Programming- ը, FreeBSD- ի մշակողների ձեռնարկի գլուխներից մեկը, որն օգնում է ժողովների լեզուն գրելը գործարկել համակարգի զարգացման համատեքստում:

  • Ասացեք Բարև ձեզ X64 Assembly- ին ՝ հավաքի բավականին մեղմ ներդրում, օրենսգրքից ՝ որպես Art բլոգ

  • X86 Assembly Language Programming- ը ՝ ևս մեկ ձեռնարկ, որը ժողովի լեզուն լավ տեղավորում է իր OS- ի ծրագրավորման համատեքստում, սա Linux- ի, Windows- ի և նույնիսկ մի փոքր Mac OS X- ի մասին է:

  • PC ժողովի լեզու, սա կենտրոնացած է 32-բիթանոց համակարգիչների վրա, որոնք աշխատում են Linux, Windows կամ FreeBSD

  • X86 ժողովի ուղեցույց ՝ Վիրջինիայի համալսարանի համակարգչային գիտության բաժնում

  • Webster. Բիլինգը ինքն իրեն որպես «Համացանցային լեզուն ՝ համացանցային լեզու սովորելու տեղ», այս կայքը (ըստ երևույթին) ղեկավարում է «Ժողովի արվեստի լեզվով» հոդվածագիրը, և HLA- ի գյուտարարը:

  • Linux ժողովի ձեռնարկ

  • Հեշտ X86-64

  • X86 ժողով

  • Windows ժողովի ծրագրավորման ձեռնարկ (pdf)

Видео ձեռնարկներ

  • Ժողովի լեզվով ծրագրավորման դասընթաց, հավաքման շատ մանրակրկիտ 55 վիդեո շարքեր, հետևելով Kip Irvine- ի ժողովածուի լեզուն ՝ x86 պրոցեսորների համար (6-րդ հրատարակություն) (եթե դուք չեք հետևում տեսանյութերին, հավանաբար կցանկանաք ավելի շուտ հրատարակվել)

  • Assembly Language Programming Video Course, 70 մասից բաղկացած տեսաֆիլմերի շարքը, որը դասավանդում է Արթուր Գրիֆիթը, ով ունի շատ խելահեղ հմայքը

  • Assembly Language Intro, դասասենյակի դասախոսություն Քորնելում ՝ ներկայացնելով ժողովի լեզու

  • Ժողովի լեզվով ծրագրավորում, հավաքման շուրջօրյա ծանոթացում և հիանալի ձևաչափ, եթե ձեզ իսկապես դուր է եկել հանրակրթական պրոյեկտորի վրա հանրահաշվային օրինակների հետևելը, երբ ավագ դպրոցում եք եղել (սա միկրոպրոցեսորների և միկրոկառավարիչների ավելի մեծ շարքի մի մասն է):.

Հղում

  • X86 հրահանգների ցուցակները, x86 ճարտարապետության բոլոր ցուցումների ամբողջական ցուցակը, որոնցում նշվում է, թե երբ է ավելացվել դրանցից յուրաքանչյուրը

  • X86 Opcode և հրահանգների տեղեկանք

  • Intel X86 ժողովի լեզվով խաբեբան (pdf).

Գործիքներ

Assemblers – կա շատ հավաքողներ. Ահա ամենատարածված անվճար և բաց կոդով հավաքվածներից մի քանիսը.

  • NASM- ը

  • FASM

  • ՅԱՍՄ

  • ԳԱԶՄ.

IDE- ներ (զարգացման ինտեգրված միջավայրեր).

  • SASM, Հասարակ խաչմերուկի IDE համար NASM, MASM, GAS, FASM ժողովների լեզուների համար

  • Թարմ IDE, տեսողական հավաքման լեզու IDE ներկառուցված FASM հավաքիչով

  • WinAsm Studio, անվճար IDE ՝ Assembler- ի օգտագործմամբ 32-բիթանոց Windows և 16-բիթանոց DOS ծրագրեր մշակելու համար

  • Տեսողական MASM.

Համայնք և շարունակական ուսուցում

  • Ժողովի ֆորումը Dream.In.Code- ում

  • MASM ֆորում

  • Հավաքների լեզու և մեքենայական կոդ ՝ հաք ֆորումներում

Գրքեր

  • Ժողովի լեզուն արվեստը (առցանց հրատարակություն) ժողովի լեզվով ամենատարածված գրքերից է `անընդհատ ընթերցվող No Starch Press- ից; Ձեզ նույնպես կարող է հետաքրքրել այս նույն հեղինակի կողմից. Գրեք հիանալի կոդ ՝ հատոր 1: Հասկանալով մեքենան և գրել մեծ օրենսգիրք, հատոր 2: Մտածում եմ ցածր մակարդակի վրա, գրում է բարձր մակարդակի

  • Ժողովի լեզու քայլ առ քայլ. Ծրագրավորում Linux- ի հետ

  • Մասնագիտական ​​ժողովի լեզու

  • Ժողովի լեզուն x86 պրոցեսորների համար

  • X86 ժողովի լեզուների ժամանակակից ծրագրավորում. 32-բիթանոց, 64-բիթանոց, SSE և AVX

  • 64 bit ժողովի ծրագրավորում Linux- ի և OS X- ի ծրագրավորում. Երրորդ հրատարակություն `Linux- ի և OS X- ի համար

  • Ներածություն 80X86 ժողովի լեզուն և համակարգչային ճարտարապետությունը

  • Համալսարանական լեզուների ծրագրավորում. ԱՀ և նոութբուք համակարգիչների համար.

Եթե ​​դուք սովորեք ժողովի լեզու?

Անկախ նրանից, թե դուք պետք է սովորեք ժողովի լեզու, կախված է նրանից, թե որոնք են ձեր նպատակները: Մշակողների մեծ մասի համար պատասխանը «ոչ» է:

Հավաքագրման լեզուն սովորելու երկու հիմնական պատճառ կա. Այն պատճառով, որ դուք ուզում եք այն ուղղակիորեն օգտագործել կամ այն ​​պատճառով, որ ցանկանում եք համակարգիչները հասկանալ հիմնարար մակարդակում:.

Գործնական տեսանկյունից, աշխարհի ինժեներների և համակարգչային գիտնականների միայն համեմատական ​​մի մասն է իրականում օգտագործում ժողովների լեզուն.

Ծրագրային ապահովման մշակման ճնշող մեծամասնությունը, ներառյալ գրեթե բոլոր դիմումների մշակումը, օգտագործում են բարձր մակարդակի ծրագրավորման լեզուներ, այլ ոչ թե հավաքման կոդ: Որոշ հատուկ ոլորտներ, որտեղ հավաքման լեզուն օգտագործվում է.

  • Օպերացիոն համակարգեր

  • Որոնվածը

  • Սարքի վարորդներ

  • Լեզուի ձևավորում

  • Կազմողի ձևավորում

  • Ներկառուցված համակարգեր

  • Սարքավորումների ձևավորում

  • Ընդլայնված գաղտնագրություն

  • Տեսական համակարգչային գիտություն

Հավաքման լեզուն սովորելու մյուս պատճառը պարզապես ավելի լավ պատկերացում կազմելն է, թե իրականում ինչ է կատարվում համակարգչի փորոտիքի խորքում: (Ահա թե ինչու գրեթե բոլոր համակարգչային գիտությունների ամբիոնները պետք է սովորեն հավաքման լեզու:)

Իհարկե, եթե դուք այն տեսակն եք, ով իրոք հետաքրքրում է դրանով, գուցե ցանկանաք մտածել կարիերայի մասին `աշխատելով ցածր մակարդակի համակարգերի զարգացման մեջ.

Սովորելու այլ բաներ

Կան որոշ լեզուներ, որտեղ, եթե մի փոքր գիտեք, կարող եք շատ բան անել: Փիթոնը և Ռուբին նման են. Հանգստյան օրերին կարող եք բավականաչափ սովորել ՝ արժեքավոր բան կառուցելու համար: Ժողովի լեզուն այդպես չէ.

Ժողովի լեզուն երբեք չի օգտագործվում վակուումում: Ինժեների տեսակը, որը պետք է իմանա հավաքումը, ամենայն հավանականությամբ, կաշխատի այն տարածքում, որտեղ անհրաժեշտություն է առաջանում `մի քանի այլ հմտություններ իմանալու համար` արդյունավետ լինելու համար: Դրանք, հավանաբար, ներառում են.

  • Սարքավորումների լեզուները, ինչպես VHDL- ը և Verilog- ը, միկրոպրոցեսորների և էլեկտրատեխնիկայի լավ ընկալման հետ միասին

  • Cածր մակարդակի օպերացիոն համակարգի լեզուները, ինչպիսիք են C- ը և դրա ածանցյալները ՝ C ++, C # և D

  • Fortran- ի և Cobol- ի նման ժառանգական լեզուներ

  • Պլատֆորմային լեզուներ, ինչպիսիք են Java- ն և Objective-C- ը

  • Ալգորիթմներ

  • Կազմողի, թարգմանչի և լեզվի ձևավորումը.

Հետագա ընթերցում և ռեսուրսներ

Մենք շատ ավելին տեղեկություններ ունենք այս տեսակի նյութերի վերաբերյալ ՝ Ծրագրավորում. Լեզուներ, ժամանակացույց & Ուղեցույցներ.

Ինչ օրենսգիրք պետք է սովորեք?

Շփոթված եք այն ծրագրավորման լեզվով, որով պետք է սովորեք ծածկագրվել: Ստուգեք մեր ինֆոգրաֆիկը ՝ Ինչ օրենսգիրք պետք է սովորեք?

Այն ոչ միայն քննարկում է լեզուների տարբեր ասպեկտները, այլև պատասխանում է այնպիսի կարևոր հարցերի, ինչպիսիք են. «Որքա՞ն գումար եմ ես ծրագրավորելու Java- ն ապրելու համար»:

Ինչ օրենսգիրք պետք է սովորեք:
Ինչ օրենսգիրք պետք է սովորեք?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map