Հիմնական տարբերություն – Մեքենայի լեզուն ընդդեմ ասամբլեայի լեզվի
Ծրագրավորման լեզուները թույլ են տալիս մարդկանց հրահանգներ ստեղծել համակարգչի համար առաջադրանքներ կատարելու համար: Գոյություն ունեն ծրագրավորման լեզուների երեք կատեգորիաներ, ինչպիսիք են Բարձր մակարդակի ծրագրավորման լեզուներ, ասամբլեայի լեզուն և մեքենայական լեզուն: Բարձր մակարդակի ծրագրավորման լեզուներն ավելի հեշտ են հասկանալ մարդկանց համար: Համակարգչի կողմից ճանաչված լեզուն հայտնի է որպես մեքենայական լեզու: Ասամբլեային լեզուն լեզու է բարձր մակարդակի լեզուների և մեքենայական լեզվի միջև: Մեքենայի լեզվի և անսամբլի լեզվի հիմնական տարբերությունն այն է, որ մեքենայական լեզուն աշխատում է ուղղակիորեն համակարգչի միջոցով, իսկ անսամբլի լեզուն պահանջում է, որ ասեմբլերը փոխարկի մեքենայի կոդ կամ օբյեկտի կոդ՝ գործարկելու պրոցեսորի կողմից:
Ի՞նչ է մեքենայական լեզուն:
Մարդիկ կարող են հասկանալ բարձր մակարդակի ծրագրավորման լեզուներ: Պարտադիր չէ խորը պատկերացում ունենալ ներքին պրոցեսորի մասին, ծրագրավորել բարձր մակարդակի լեզուներով։ Նրանք հետևում են անգլերեն լեզվին նման շարահյուսությանը: Java, C, C++, Python-ը բարձր մակարդակի ծրագրավորման լեզուներ են: Համակարգիչը ճանաչում է մեքենայական լեզուն, բայց չի հասկանում բարձր մակարդակի լեզուներ: Հետևաբար, այդ ծրագրերը պետք է վերածվեն համակարգչային հասկանալի մեքենայական լեզվի: Այս թարգմանությունը կատարվում է կոմպիլյատորի կամ թարգմանչի միջոցով:
Նկար 01. Զրոների և միավորների մեքենայական լեզու:
Մեքենայի լեզուն բաղկացած է երկուական թվերից, որոնք զրո են և մեկ: Համակարգիչը թվային էլեկտրոնային սարք է, ուստի այն օգտագործում է երկուական գործողությունների համար: Մեկը ցույց է տալիս իրական վիճակը / միացված վիճակը, մինչդեռ զրոն ցույց է տալիս կեղծ վիճակը / անջատված վիճակը: Ծրագիրը բարձր մակարդակի լեզվից մեքենայական լեզվի փոխարկելու եղանակը կախված է պրոցեսորից:
Ի՞նչ է ասամբլեայի լեզուն:
Assembly լեզուն միջանկյալ լեզուն է բարձր մակարդակի ծրագրավորման լեզուների և մեքենայական լեզվի միջև: Այն մեկ մակարդակ բարձր է մեքենայական լեզվից: Ասամբլեայի լեզուն ավելի հեշտ է հասկանալ, քան մեքենայական լեզուն, բայց ավելի դժվար, քան բարձր մակարդակի ծրագրավորման լեզուները: Այս լեզուն նաև հայտնի է որպես ցածր մակարդակի լեզու, քանի որ այն մոտ է ապարատային մակարդակին: Ասամբլեայի միջոցով արդյունավետ ծրագրեր գրելու համար ծրագրավորողը պետք է լավ իմանա համակարգչային ճարտարապետությունը և ռեգիստրի կառուցվածքը:Հատուկ կոմպիլյատոր, որը հայտնի է որպես assembler, օգտագործվում է անսամբլի լեզվի հրահանգները մեքենայի կոդի կամ օբյեկտի կոդի փոխարկելու համար:
Ասսեմբլի լեզվի հայտարարություններն ունեն չորս բաժին: Դրանք պիտակ են, մնեմոնիկ, օպերանդ, մեկնաբանություն։ Պիտակը և մեկնաբանությունները պարտադիր չեն: Mnemonic-ը կատարման հրահանգն է, իսկ օպերանդները՝ հրամանի պարամետրերը: Ասամբլեայի լեզուն նաև աջակցում է մակրոներին: Մակրոն կարող է սահմանվել որպես անուն ունեցող հրահանգների մի շարք: Այն կարող է օգտագործվել ծրագրի այլ վայրերում:
Ասամբլեի լեզվով հայտարարությունների որոշ օրինակներ հետևյալն են.
MOV SUM, 50 – Այս հրահանգը պատճենում է 50 արժեքը SUM փոփոխականին:
ADD VALUE1, 20 – Սա VALUE1 փոփոխականին 20 ավելացնելու համար է
ADD AH, BH – Այս հրահանգը պետք է պատճենել AH ռեգիստրի բովանդակությունը BH ռեգիստրում:
INC COUNT – Սա COUNT փոփոխականը մեկով մեծացնելու համար է:
AND VALUE1, 100 – Սա պետք է կատարի AND գործողություն VALUE1 և 100 փոփոխականների վրա:
MOV AL, 20 – Սա պատճենելու է 20 արժեքը AL գրանցամատյանում
Գծապատկեր 02. Ծրագիր, որը գրված է ասամբլեայի լեզվով
Ասամբլեայի հայտարարությունների հավաքածուն ժողովի ծրագիր է: Կարելի է տեսնել, որ անսամբլի լեզուն ավելի հեշտ է, քան մեքենայական լեզուն։ Այն ունի շարահյուսություն, որը նման է անգլերենին: Ասամբլեայի լեզուն ունի մոտ երեսուն հրահանգ: Պահանջվող հիշողությունը և կատարման ժամանակը նվազագույնն են՝ համեմատած բարձր մակարդակի լեզուների հետ:
Իրական ժամանակի համակարգերում կարող են լինել իրադարձություններ, որոնք պահանջում են անմիջապես պրոցեսորի գործողություն: Այս իրադարձությունները հատուկ ենթածրագրեր են, որոնք կոչվում են «Ընդհատման ծառայության ռեժիմ» (ISR): Ասամբլեային լեզուն օգտակար է ISR ծրագրավորման համար:
Ո՞րն է նմանությունը մեքենայական լեզվի և ասամբլեայի լեզվի միջև:
Եվ մեքենայական լեզուն և անսամբլի լեզուն կապված են ապարատային մակարդակի հետ:
Ո՞րն է տարբերությունը մեքենայական լեզվի և ասամբլեայի լեզվի միջև:
Մեքենայի լեզու ընդդեմ ասամբլեայի լեզվի |
|
Մեքենայի լեզուն ամենացածր մակարդակի ծրագրավորման լեզուն է, որտեղ հրահանգները կատարվում են անմիջապես պրոցեսորի կողմից: | Assembly լեզուն ցածր մակարդակի ծրագրավորման լեզու է, որը պահանջում է, որ ասեմբլերը փոխարկի մեքենայի կոդի/օբյեկտի կոդի: |
Հասկանալիություն | |
Մեքենայի լեզուն հասկանալի է միայն համակարգիչների համար: | Հավաքման լեզուն հասկանալի է մարդկանց համար: |
Սինտաքս | |
Մեքենայի լեզուն բաղկացած է երկուական թվերից: | Հավաքման լեզուն հետևում է անգլերենին նման շարահյուսությանը: |
Կախվածություն | |
Մեքենայի լեզուն տատանվում է կախված հարթակից: | Assembly լեզուն բաղկացած է ստանդարտ հրահանգների հավաքածուից: |
Դիմումներ | |
Մեքենայի լեզուն մեքենայի կոդն է։ | Assembly լեզուն օգտագործվում է միկրոպրոցեսորների վրա հիմնված իրական ժամանակի համակարգերի համար: |
Ամփոփում – Մեքենայի լեզուն ընդդեմ ասամբլեայի լեզվի
Մեքենայի լեզվի և անսամբլի լեզվի միջև տարբերությունն այն է, որ մեքենայական լեզուն ուղղակիորեն կատարվում է համակարգչի կողմից, իսկ անսամբլի լեզուն ցածր մակարդակի ծրագրավորման լեզու է, որը պահանջում է, որ ասեմբլերը փոխարկի օբյեկտի կամ մեքենայի կոդի:Ասամբլեային լեզուն մեկ քայլ առաջ է մեքենայական լեզվից: Ասամբլեային լեզուն իդեալական լեզու է միկրոկառավարիչների վրա հիմնված համակարգերը ծրագրավորելու համար: Այս լեզուն նաև լավ պատկերացում է տալիս, թե ինչպես է աշխատում պրոցեսորը և համակարգչի ներքին բաղադրիչները:
Ներբեռնեք մեքենայական լեզվի PDF տարբերակը ընդդեմ ասամբլեայի լեզվի
Դուք կարող եք ներբեռնել այս հոդվածի PDF տարբերակը և օգտագործել այն անցանց նպատակներով՝ ըստ մեջբերումների: Խնդրում ենք ներբեռնել PDF տարբերակը այստեղ Տարբերությունը մեքենայական լեզվի և ասամբլեայի լեզվի միջև
Պատկերը`
1. «Մեքենայի լեզու» By Turkei89 – Սեփական աշխատանք, (CC BY-SA 3.0) Commons Վիքիմեդիայի միջոցով
2.'Zstr count x86 հավաքում' OldCodger2, (Հանրային տիրույթ) Commons Wikimedia-ի միջոցով