Low ածր մակարդակի ծրագրավորման լեզուների հավաքում: Երբ էր հավաքիչը (հավաքիչը) եւ մեքենայի լեզուն: Նույնականացուցիչներ, ամբողջ թվեր, խորհրդանիշներ, մեկնաբանություններ, համարժեքություն

Ծրագրավորման լեզու

Essembler- ը ցածր մակարդակի ծրագրավորման լեզու է, որը ձեւաչափ է մեքենայի հրամաններ ձայնագրելու համար, որը հարմար է մարդու ընկալման համար:

Assembler Language հրամաններ մեկն են, համապատասխանում են պրոցեսորի թիմերին, եւ, ըստ էության, հրամանների ձայնագրման (Mnemokode) հարմար խորհրդանշական ձեւ է եւ դրանց փաստարկները: Նաեւ Assembler Langue- ն ապահովում է հիմնական ծրագրաշարերի աբստրակցիաներ. Ծրագրի մասերը եւ տվյալների պարապելը խորհրդանշական անուններով եւ հրահանգով պիտակներից հետո:

Essembler Directives- ը թույլ է տալիս ներառել ծրագրի տվյալների բլոկները (նկարագրված կամ ֆայլից նկարագրված կամ կարդացած). կրկնել նշված թվով որոշակի հատվածի որոշակի հատված; կազմել բեկոր `պայմանով; Սահմանեք հատվածի կատարման հասցեն, կազմման գործընթացում փոխեք պիտակների արժեքները. Օգտագործեք մակրո սահմանումներ պարամետրերով եւ այլն:

Պրոցեսորի յուրաքանչյուր մոդել, սկզբունքորեն, ունի հրամաններ եւ հավաքման համապատասխան լեզվի (կամ բարբառ):

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

  • Ավելորդ կոդի նվազագույն քանակը (ավելի փոքր թվով հրամանի եւ հիշատակի օգտագործման համար): Արդյունքում `բարձր արագություն եւ փոքր ծրագրի չափ
  • Խոշոր ծածկագրերի ծավալներ, մեծ քանակությամբ լրացուցիչ փոքր առաջադրանքներ
  • Աղքատ կոդի ընթերցանություն, աջակցության դժվարություն (կարգաբերում, հնարավորություններ ավելացնելը)
  • Ծրագրավորման պարադիգմների եւ ցանկացած այլ բարդ կոնվենցիաների իրականացման դժվարությունը, համատեղ զարգացման բարդությունը
  • Ավելի քիչ գրադարաններ մատչելի են, նրանց փոքր համատեղելիությունը
  • Սարքավորումների ուղղակի մուտք. I / O նավահանգիստներ, հատուկ պրոցեսորի գրանցամատյաններ
  • Ինքնաբեռնման կոդ գրելու ունակությունը (I.E. MetapRogramming եւ առանց ծրագրային թարգմանչի անհրաժեշտության)
  • Առավելագույն «տեղավորումը» համար Ցանկալի պլատֆորմը (Հատուկ հրահանգների օգտագործում, «Երկաթ» տեխնիկական առանձնահատկություններ)
  • Այլ պլատֆորմների անհանդուրժողականություն (բացառությամբ երկուական համատեղելի):

Շարահյուսություն

Հավանգի լեզուների շարահյուսության համար ընդունված ստանդարտը գոյություն չունի: Այնուամենայնիվ, կան դե ֆակտո ստանդարտներ. Ավանդական մոտեցումներ, որոնք հավաքվում են հավաքողների մշակողների մեծ մասը: Տեղեկատվության հիմնական ստանդարտներն են Intel-Syntax- ը եւ AT & T-Syntax- ը:

Հրահանգների ձայնագրման ընդհանուր ձեւաչափը նույնն է երկու ստանդարտների համար.

`[Tag:] Opcode [Operands] [; Մեկնաբանություն]

Արտաքին տեսքը ուղղակիորեն mnemonic հրահանգներ է պրոցեսորի համար: Դա կարող է ավելացվել նախածանցներ (կրկնություններ, ինչպիսիք են փոփոխությունները, ինչպիսիք են հասցեագրումը եւ այլն): Որպես օպերաներ, հաստատուններ, գրանցում են անուններ, RAM- ի հասցեները եւ այլն:

Օգտագործված mnemonics- ը սովորաբար նույնն է ճարտարապետների մեկ ճարտարապետության կամ ընտանիքի բոլոր պրոցեսորների համար (հայտնի - Motorors Motorola, ARM, X86): Դրանք նկարագրված են պրոցեսորի բնութագրերում:

Օրինակ, Zilog Z80 պրոցեսորը ժառանգել է Intel I8080 հրամանի համակարգը, ընդլայնել այն եւ փոխել MNemonics- ը (եւ գրանցել նշանակումները) իրենց ձեւով: Օրինակ, ես փոխեցի Intel Mov- ը LD- ում: Motorola Fireball- ի պրոցեսորները ժառանգել են Z80 հրամանի համակարգը, կտրելով այն: Միեւնույն ժամանակ, Motorola- ն պաշտոնապես վերադարձավ Intel Mnemonics- ին: եւ Բ. այս պահին Fireball- ի կես հավաքագրերը աշխատում են Intel Mnemonics- ի հետ, իսկ կեսը `Զիլոգերի հետ:

Հրահանգ

Բացի ցուցումներից, ծրագիրը կարող է պարունակել հրահանգներ. Հրամաններ, որոնք ուղղակիորեն չեն ուղարկվում մեքենայի ցուցումներին եւ կազմող ղեկավարներին: Հավաքածուներն ու շարահյուսությունը զգալիորեն տարբերվում են եւ չեն կախված չեն ապարատային պլատֆորմից, բայց օգտագործված կոմպլեկտից (ճարտարապետների մեկ ընտանիքի մեջ լեզուների հավաքող բարբառներ): Որպես հավաքածու, կարող են հատկացվել հրահանգներ.

  • Տվյալների սահմանում (հաստատուններ եւ փոփոխականներ)
  • Կազմակերպության կազմակերպության կառավարում Հիշողության եւ ելքային ֆայլերի պարամետրերով
  • Կազմողի գործունեության ռեժիմը
  • Բոլոր տեսակի աբստրակցիաներ (այսինքն, բարձր մակարդակի լեզուների տարրեր) - ընթացակարգերի եւ գործառույթների գրանցումից (ընթացակարգի ծրագրավորման պարադիգմի իրականացումը պարզեցնելու համար) պայմանական կառույցներ եւ ցիկլեր (կառուցվածքային ծրագրավորման կառուցվածքային)
  • Մակրոներ

«Assembler Language» տերմինի ծագումը եւ քննադատությունը

Այս լեզուների այս տեսակը փոխանցում է թարգմանչի անունից (կազմող) այս լեզուներից - Assembler (Eng. Assets - կոլեկցիոներ): Վերջինիս անունը պայմանավորված է նրանով, որ առաջին համակարգիչների վրա ավելի բարձր մակարդակի լեզուներ չկային, եւ հավաքագրին օգտագործող ծրագրերի ստեղծման միակ այլընտրանքը ծրագրավորում էր ուղղակիորեն կոդերում:

Ռոսում հավաքի լեզուն հաճախ կոչվում է «հավաքում» (եւ դրա հետ կապված ինչ-որ բան «հավաքում» է), որը, բառի անգլերեն թարգմանության համաձայն, սխալ է, բայց տեղավորվում է ռուսաց լեզվի կանոնների մեջ: Այնուամենայնիվ, Assember- ը (Ծրագիր) կոչվում է նաեւ պարզապես «հավաքագրիչ», եւ ոչ թե «Assembler Language Compiler» - ը եւ այլն:

«Assembler Language» տերմինի օգտագործումը կարող է նաեւ առաջացնել սխալ կարծիք, մեկ ցածր մակարդակի լեզվի առկայության կամ առնվազն ստանդարտ նման լեզուների համար: Երբ նշվում է այն լեզուն, որի վրա գրվում է որոշակի ծրագիր, խորհուրդ է տրվում նշել, թե որ ճարտարապետությունն այն նախատեսված է եւ որ լեզվի բարբառով է գրվում:

Սինտաքսի տարրեր.

Օրինակներ.

Բարեւ աշխարհ!

Օրինակ `Intel X86- ի տարբերակների համար (IA32)

mOV AX, CS MOV DS, AX MOV AH, 9 MOVE DX, Offset Hello INT 21H XOR AX, AX INT 21H HELLO: DB "HELLO WORLD!", 13, 10, "$"

Բարեւ աշխարհ!

Օրինակ, Ամիգայի տարբերակների համար

Տեղափոխել: L #dos շարժվում: L 4. W, A6 JSR - $ 0198 (A6); Oldopenlibrary քայլը: L D0, A6 BEQ: ս. Դուրս շարժվել: L #helloworld, d1 a) MOSKQ # 13, D2 JSR - $ 03ae (A6); Writechars B) JSR - 03B4 դոլար; Putstr շարժվել: L A6, A1 քայլ: L 4. W, A6 JSR - $ 019e (A6); Կարգի դիֆրիկ: Out RTS DC. բ «dos.library», 0 Helloworld DC. Բ «Բարեւ աշխարհ»: , $ A, 0

Բարեւ աշխարհ!

Օրինակ, Աթարիստի տարբերակների համար

Տեղափոխել: L #helloworld, - (A7) Move # 9, - (A7) թակարդ # 1 հավելում: L # 6, A7 Move # 0, - (A7) Ծուղակ # 1 Հղջիկ, DC. B "Hello World!", 0 դոլար, $ 0a, 0

Բարեւ աշխարհ!

Օրինակ `Intel X86- ի տարբերակների համար (IA32)

NASM Linux- ը օգտագործվում է Intel Syntax- ի կողմից: Կազմում եւ կապում.

  • nasm -f Elf -o Hello.o Hello.Asm
  • ld -o բարեւ բարեւ

Բաժին. Data Msg DB "Hello, World!", 0xa Len Equ $ - MSG բաժին. Տեքստ Գլոբալ _Start _Start .; Մուտքի կետ MOS EAX, 4; «Գրեք» համակարգը զանգահարեք MOV EBX, 1 MOV ECX, MSG; Ցուցիչ դեպի տվյալներ MOV EDX, LEN; Տվյալների քանակը 0x80; Զանգահարեք հիմնական MOVE EAX, 1; «_Exit» համակարգը զանգում է MOV EBX, 0; Վերադարձ 0 (բոլոր լավ) int 0x80; Զանգահարեք միջուկը

Բարեւ աշխարհ!

Օրինակ PDP-8 տարբերակների համար

/ - մեկնաբանություններ.

/ Hello World On Assembler Dec PDP - 8 * 200 բարեւ, Cla Cll TLS / TLS սահմանում է տպման դրոշը: TAD CHARAC / Ստեղծում է DCA IR1 ինդեքսի գրանցամատյան / ստացեք TAD M6 նիշ / կազմաձեւեք հաշվիչը DCA հաշվարկի / ուժեղացման համար: Հաջորդը, TAD I IR1 / Ստացեք խորհրդանիշ: JMS տեսակը / դրա տեսակը: Isz հաշվել / անել այլ բան: JMP Next / No, մուտքագրեք մեկ այլ կերպար HLT տեսակը, 0 / տեսակը TSF JMP ենթախույզ: - 1 tls cla jmp Ես մուտքագրում եմ Charac ,. / Օգտագործվում է որպես նախնական արժեք IR1: 310 / H 305 / E 314 / L 314 / L 317 / O 254 /, 240/327 / W 317 / O 322 / R 2414 / L 304 / D 241 /! M6, - 15 հաշվիչ, 0 IR1 \u003d $ 10

Բարեւ աշխարհ!

Օրինակ PDP-11 տարբերակների համար

Ծրագիրը գրված է Macro-11 մակրոասազլերի վրա `այս ծրագիրը RT-11O- ի հրամանատարության մեջ կազմելու եւ գործարկելու համար.

Մակրո բարեւ:

Հատված սխալները. 0

Հղում Բարեւ - հղում. Run Hello - Run

Վերնագիր Hello World; Անուն. Mcall. Ttyout,. Ելք Hello :: Mov #msg, R1; Լարի սկզբնական հասցեն $ 1 է. Movb (R1) +, R0; Մենք ստանում ենք հետեւյալ BEQ արված խորհրդանիշը. Եթե \u200b\u200bզրո, դուրս եկեք ցիկլից: Ttyout; Հակառակ դեպքում տպեք BR 1 $ խորհրդանիշը. Կրկնեք ցիկլը կատարված. Ելք MSG: ASCIZ / HELLO, WORLD! /;; Լարային բարեւ, աշխարհ: , Վերջապես բարեւ; Բարեւ ծրագրի ավարտը

Բարեւ աշխարհ!

Օրինակ / 360 համակարգի տարբերակների օրինակ, համակարգ / 370

IBM համակարգ / 360/370/390 Հիմնական հավաքիչ լեզու:

// Exec հավաքում Սկսել հիմնական Balr 2, 0 Օգտագործելով *, 2 բաց տպագիր MVC Buf, HW PURT Close PRINT EOJ HW DC CL132 "HELLO WORLD" BUESTS \u003d 132, BLKSIZE \u003d 132, BLKSIZE \u003d 132, * Սարք \u003d 3203, հսկողություն \u003d այո, տպագիր \u003d այո վերջնական հիմնական / * // Exec Lnkedt // Exec / * / & &

Բարեւ աշխարհ!

Apple II- ի տարբերակների օրինակ

* Hello World 6502 Apple- ի համար] [* ******************************** Str Out $ DB3A LDY #\u003e Hello LDA #< HELLO JMP STROUT HELLO ASC "HELLO WORLD !", 00

Բարեւ աշխարհ!

Օրինակ PDP-10 տարբերակների համար

Chttyo - Բոլոր մուտքային / ելքը իրականացվում է I / O րանցքի միջոցով: Լավագույնն է խորհրդանշական անուններ դարձնել այն ալիքների համար, որոնք օգտագործում եք, եւ սկսեք դրանք Ch- ով: Սահմանեք այս անունները `օգտագործելով Midas Operator \u003d\u003d:

Զանգը խորհրդանշական նշանակություն է `համակարգի զանգ կոչելու համար: Դրա ձեւաչափը.

ՕԳՏԱԳՈՐԾՄԱՆ ԲԱՈՒՄ ԲԱՈՒՄ Է ԱՆՎԱՐ / ԱՐՏԱԴՐԱԿԱՆ ՀԻՄՆԱԴՐԱՄԸ: Պահանջում է երկու պարամետր `ալիքի համարը եւ սարքի անունը Sixbit- ում:

Lost% LSFil- ը համակարգի զանգ է, որը տպում է մուտքային / ելքային սխալի հաղորդագրություն, եթե հանկարծ պատահեց:

IOT- ը համակարգային զանգ է, որն իրականում զբաղվում է մուտքային / ելքով: Որպես պարամետր, դուք պետք է նշեք ալիքը եւ հասցեն, որը պարունակում է խորհրդանիշի կոդը արտադրանքի համար: Օրինակ, «Հ-ն ներկայացնում է Հ.

Վերնագիր PrintHello A \u003d 1 chttyo \u003d\u003d 1; Ալիք արտադրանքի համար: Սկիզբը. Բացելով TTY ալիքը: , Զանգահարել [setz? Sixbit / Open / [. Uao, chttyo]? [SWIT / TTY /] ((setz))]: Կորցրեք% lsfil. Iot chttyo, ["h]; Տպել Hello World խորհրդանիշ .. iot chttyo, [" e]. Iot chttyo, ["l]. Iot chttyo, [" l]. Iot chttyo, [o]. Iot chttyo, [^ մ]; նոր տողի խորհրդանիշ: iot chttyo, [w]: Iot chttyo, [o]. Iot chttyo, ["r]. Iot chttyo, ["l]. Iot chttyo, [" D]. Արժեք; Ծրագիր, դադարեցրեք :) Վերջիվ

Fibonacci համարներ.

Օրինակ MIPS32- ի տարբերակների համար

Mars Emulator. Եզրակացություն Մարսի վահանակ.

Fibonacci համարները հետեւյալն են. 1 1 2 3 5 8 13 21 34 55 89 144 - Ծրագիրն ավարտված է -

Ծրագիրը ցուցադրում է 15 ֆիբոնաչի համարներ: Թվերի քանակը կարող է փոփոխվել հատվածում: Data:

Տվյալների տարածք. .Ասկիիզ "" Գլուխ. .Ասկիիզ «Fibonacci համարները հետեւյալն են. \\ N» FIB: .Bord 0: 15 Չափ: .Word 15 .Text Հիմնական. F4 SW $ T2, 0 ($ T0) SW $ T2, 4 ($ t0) Addi $ T1, $ T5, - 2 հանգույց: LW $ T3, 0 ($ T0) Ավելացնել $ T2, $ T3, $ T4 SW $ T2, 8 ($ T0) Addi $ T0, $ T0, 4 ADDI $ T1, - 1 BGTZ $ T1, LOOP LA $ A0, FIB T5 $ A0 Print Li $ V0, 10 Syscall Տպել. Ավելացնել $ T0, $ Zero, $ A0 Ավելացնել $ T1, $ A1 LA $ A0, Head Li $ V0 $ V0, 1 syscall la $ a0, տիեզերական Li $ v0, 4 syscall addi li $ v0, 1 la $ a0, ($ t2) syscall la $ a0, string1 li $ v0, 4 syscall mult $ t1, $ t2 mflo $ T1 LI $ V0, 1 LA $ A0, ($ t1) SYSCALL LA $ A0, string2 li $ v0, 4 SYSCALL ADDIU $ T2, $ T2, 1 BEQ $ T2, 16, ENDLOOP J LOOP ENDLOP: LI $ V0, 10 Սլաք



Հավաքող

Հավաքող - Low ածր մակարդակի ծրագրավորման լեզու: Լեզուն ստացել է իր անունը ագրոն բառից `կոլեկցիոներ: Եղել է եւս 50-ը: որպես մեքենայի լեզվի խորհրդանշական անալոգ:
Հավաքագրերը մեկից մեկը համապատասխանում են պրոցեսորի հրամաններին, եւ, փաստորեն, ներկայացնում են հրամաններ եւ փաստարկներ ձայնագրելու հարմար խորհրդանշական ձեւ: Նաեւ հավաքողը ապահովում է ծրագրի մասերի պարտադիր եւ հավաքների ընթացքում կատարված պիտակների պարտադիրությունը (յուրաքանչյուր պիտակի համար) հաշվարկվում է, որից հետո պիտակի յուրաքանչյուր մուտքը փոխարինվում է այս հասցեով):
Քանի որ միկրոպրոցեսորային հրամանի համակարգերը տարբերվում են, յուրաքանչյուր պրոցեսոր ունի հրամաններ հավաքածուի լեզվով:
Հավաքիչի օգնությամբ կարող եք գրել այնպիսի ծրագրեր, որոնք անհնար է, կամ շատ դժվար է գրել այլ լեզուներով: Օրինակ, հիմնական գեներատորներ (Keygen), համակարգի մոնիտորներ, սարքավորումների վարորդներ կամ նույնիսկ Օս.
Բարձր մակարդակի լեզուներ («Գ», «Պասկալ», «Դելֆի» եւ այլն) չեն տալիս հուսալի վերահսկողություն տվյալների հոսքերի նկատմամբ, հիշողության հասցեները կամ պրոցեսորի գրանցամատյանները, ինչպես նաեւ բոլորը մշակվել են հատուկ տեսակի մեջ Օպերացիոն համակարգը, հավաքողը կարող է դառնալ նույն հավաքականը, բայց աշխատել է անհայտ գիտական \u200b\u200bպլատֆորմի վրա եւ ծրագրեր պատրաստել այս պլատֆորմի ներքո:
Հավաքիչի վերաբերյալ ծրագրերը, ի տարբերություն բարձր մակարդակի լեզուներով գրված ծրագրերի, իրականացվում են տասնյակ անգամ ավելի քիչ, եւ նրանք ավելի արագ են աշխատում: Օրինակ կարող է ծառայել որպես Menueteos օպերացիոն համակարգ, որը գրված է հարթ հավաքման վրա եւ տեղավորվում է մեկ սկավառակի վրա (1.44 MB), եւ հանդերձանքը ներառում է. Համագումարի ծածկագիր, 3D Էկրանապահ, որոշ խաղեր, նկարների նկարագրություն, կոմպիլյատոր բնակարան հավաքածու, տերմինալ, CD նվագարկիչ եւ շատ ավելին: Առավելությունն այն է, որ այն կարող է արագ ներբեռնվել ինտերնետից (նույնիսկ միացման փոքր արագությամբ):
Այս պահի դրությամբ ծրագրային մասնագետների մեծամասնությունը զարգանում է բարձր մակարդակի լեզուներով, ինչպիսիք են պասկալը կամ C- ն, որն ավելի հեշտ է ծրագրեր գրելիս, բայց առավել հզոր եւ արդյունավետ ծրագիր Ամբողջությամբ կամ մասնակիորեն գրված է հավաքիչի լեզվով:

Գրականություն
1. Պիտեր Աբել - Assembler. Լեզուն եւ ծրագրավորումը IBM PC- ի համար - M., 1999 թ.

Հավաքող

Հավաքող(Անգլերենից: Essembler - կոլեկցիոներ) - հավաքիչի լեզվով գրված ծրագրի աղբյուրի տեքստային կազմը:
Ինքնին լեզվի պես, հավաքագրերը սովորաբար հատուկ են հատուկ ճարտարապետության, գործառնական համակարգի եւ լեզվի շարահյուսության տարբերակի համար: Միեւնույն ժամանակ, կան բազմապատկիչ ձեւ կամ ունիվերսալ (ավելի ճշգրիտ, սահմանափակ եւ համընդհանուր, քանի որ ցածր մակարդակի լեզվով դուք չեք կարող գրել ապարատային անկախ ծրագրեր) հավաքույթներ, որոնք կարող են աշխատել տարբեր հարթակների եւ գործառնական համակարգերի վրա: Վերջինիս շրջանում կարող եք նաեւ ընդգծել խաչաձեւ հավաքման խումբ, որն ունակ է հավաքել մեքենայի ծածկագիր եւ գործադիր մոդուլներ (ֆայլեր) այլ ճարտարապետությունների եւ ՕՀ-ի համար:
Համագումարը կարող է լինել առաջին եւ ոչ վերջին քայլը ծրագրի գործադիր մոդուլ ձեռք բերելու ճանապարհին: Այսպիսով, բարձր մակարդակի ծրագրավորման լեզուներից շատերը արդյունքը տալիս են հավաքագրողի լեզվով ծրագրի տեսքով, որը ապագայում հավաքագրվում է գործընթացները: Բացի այդ, արդյունքում ստացված հավաքը չի կարող իրականացվել, եւ օբյեկտի մոդուլը, որը պարունակում է մեքենայի ծածկագրի ցրված բլոկներ եւ ծրագրի տվյալներ, որից (կամ մի քանի օբյեկտի մոդուլներից) ապագայում, օգտագործելով հղման խմբագիրն օգտագործելու միջոցով:
Հատուկ հիշողության բջիջներ, որոնք գտնվում են ուղղակիորեն պրոցեսորում: Գրանցամատյանների հետ աշխատելը կատարվում է շատ ավելի արագ, քան RAM բջիջները, ուստի գրանցամատյաններն ակտիվորեն օգտագործվում են ինչպես հավաքագրողների լեզվով եւ բարձր մակարդակի լեզուների կազմող ծրագրերում:
Գրանցամատյանների անունները ծագում են իրենց նպատակից.

EAX / AX / AH / AH (կուտակիչ գրանցամատյան) - մարտկոց;
EBX / BX / BH / BL (բազային գրանցամատյան) -Register տվյալների շտեմարան;
ECX / CX / CH / CL (հաշվիչ գրանցամատյան) - Counter;
EDX / DX / DH / DL (տվյալների գրանցում) - տվյալների գրանցում;
ESI / SI (աղբյուրի ինդեքսների գրանցում) - աղբյուրի ինդեքս;
EDI / DI (Destination Index գրանցամատյան) - ստացողի ինդեքս (ստացող);
ESP / SP (Stack Pointer Register) - Stack Pointer Register;
EBP / BP (բազային ցուցիչի գրանցամատյան) - Stack Frame Base Pointer Register.

Տողի վերամշակման հրամաններ
Պատգամավորի շարքերով կամ թվերի շղթաների հետ աշխատելու համար (այսուհետ, կամայական տվյալներով զանգվածով) աշխատելու համար: Պատգամավորի մեջ կան մի շարք հատուկ հրամաններ.
movs - Ուղարկում տողեր;
cMPS - երկու տողի համեմատություն;
ծովեր - որոնում տվյալ տարրի տողի մեջ.
lods - մարտկոցի բեռնում (AL կամ AH գրանցամատյաններ) տողից.
sTOS - մարտկոցից տողի ռեկորդային տարր (գրանցամատյաններ AH կամ Al):

Արժանապատվություն

· Assembler Language- ը թույլ է տալիս գրել ամենաարագ եւ կոմպակտ ծածկագիրը, որն ընդհանուր առմամբ հնարավոր է այս պրոցեսորի համար:
· Գործողության արագությունը `օպտիմալացնելով հաշվարկային ալգորիթմը եւ / կամ ավելի ռացիոնալ մուտքը RAM- ի (օրինակ, եթե բոլոր աղբյուրի տվյալները պահվում են պրոցեսորի գրանցամատյաններում), տվյալների վերաբաշխում, սեղանի հաշվարկման գործառույթներ ;
· Կոդի ծավալը (ներառյալ արդյունավետ օգտագործումը) Միջանկյալ արդյունքներ): Կոդի ծավալի կրճատումը նույնպես մեծացնում է ծրագրի կատարման արագությունը:
· Հատուկ պլատֆորմի հատուկ հնարավորությունների առավելագույն օգտագործման ապահովում, ինչը թույլ է տալիս նաեւ ստեղծել ավելի արդյունավետ ծրագրեր, ներառյալ ավելի քիչ ռեսուրսների ինտենսիվ:
· Հավաքագրերում ծրագրավորումը հնարավոր է ուղղակիորեն մուտք գործել սարքավորումներ, եւ, մասնավորապես, I / O նավահանգիստներ, պրոցեսորների գրանցամատյաններ եւ այլն, բազմաթիվ գործող համակարգերում, գրանցամատյանների կիրառման ծրագրերից ուղղակի շփում Ծայրամասային սարքավորումներ Արգելափակված է համակարգի հուսալիության եւ բացառությունների «սառեցման» հուսալիության համար:
· Assembles Language- ը հաճախ օգտագործվում է ապարատային վարորդներ եւ գործառնական համակարգի միջուկներ ստեղծելու համար, երբ ժամանակավոր աշխատանքային պայմանագիրը կարեւոր է: Ծայրամասային սարքեր դեպի Կենտրոնական պրոցեսոր.
· Հավանգող լեզուն օգտագործվում է «BIOS որոնվածը» ստեղծելու համար:
· Հավաքիչի օգնությամբ հաճախ ստեղծվում են կազմողների եւ բարձր մակարդակի թարգմանիչների մեքենայի կախված ենթատեքստեր, եւ իրականացվում է պլատֆորմների համատեղելիությունը:
· Ապամոնտաժման ծրագրի օգնությամբ դուք կարող եք հասկանալ ծրագրի գործառնական ալգորիթմները `բարձր մակարդակի լեզվով ցուցակագրման բացակայության դեպքում, միայն մեքենայի կոդերը ուսումնասիրելը, բայց բարդ ոչ առեւտրային ծրագրերում դա շատ աշխատատար է:

Թերություններ
· Մեքենայական կողմնորոշման («ցածր» մակարդակի) շնորհիվ («ցածր» մակարդակը), մարդը ավելի դժվար է կարդալ եւ հասկանալ այն ծրագիրը, համեմատած բարձր մակարդակի ծրագրավորման լեզուների հետ. Ծրագիրը բաղկացած է չափազանց «փոքր» տարրերից `համապատասխանաբար, ծրագրավորումն ու կարգաբերումը բարդ են, բարդությունն ու սխալի պատրաստման հավանականությունը աճում են:
Ծրագրավորողի բարձրացման որակավորումն անհրաժեշտ է որակյալ կոդ ձեռք բերելու համար. Հավաքածուի լեզվով միջին ծրագրավորողի կողմից գրված ծածկագիրը սովորաբար ավելի լավ է կամ նույնիսկ ավելի վատ, քան բարձր մակարդակի լեզվով գրված համեմատելի ծրագրերի կողմից ստեղծված կոդավորող կազմողի կողմից:
· Բարձր մակարդակի ծրագիրը կարող է վերահաշվարկվել նոր թիրախային պլատֆորմի առանձնահատկությունների ավտոմատ օպտիմիզացիայով, նոր պլատֆորմի վրա հավաքման լեզվով ծրագիրը կարող է կորցնել իր օգտին `առանց ձեռագրերի ծածկագրման:
· Որպես կանոն, ավելի քիչ գրադարաններ մատչելի են արդյունաբերական ժամանակակից ծրագրավորման լեզուների համեմատ:
· Համակարգիչների վրա ծրագրերի դյուրակիրություն չկա այլ ճարտարապետության եւ հրամանի համակարգով:

Համատեղելիություն
Մեկ տեսակի հավաքման համար նախատեսված ծրագիր չի կարող կազմվել մեկ ուրիշի վրա `առանց արմատական \u200b\u200bփոփոխության կամ ավտոմատ փոխակերպման: Բայց նույնիսկ «դրանց» տիպի հավաքների թվում կա խմբաքանակ, անհամարացում եւ շատ տարբերություններ. Ներ Հիմնաբառեր, ցուցակագրման ձեւավորման, մատակարարված գրադարաններում եւ վերնագիր ֆայլերում եւ այլն: Հակառակ դեպքում պատրաստվեք փոփոխություններին (այսինքն, որդեգրմանը): Տարբերությունները հաճախ դրսեւորվում են առավել անսպասելի վայրերում: Որոշ հավաքույթներ հասկանում են, որ «MOS EAX, X» - ը նույնն է, ինչ «MOS EAX, [X]», ոմանք, ոչ: Նրանք սայթաքում են եւ սխալ են թողարկում: Բայց ուրիշ ոչինչ: Շատ ավելի վատ, երբ թարգմանիչը լուռ մեկնաբանում է այս դիզայնը որպես «MOS EAX, OFFSET X», որը նույնը չէ: Այսպիսով, ծրագիրը փոխանցելիս պետք է շատ եւ շատ զգույշ լինեք:

Գործառնական համակարգերի համատեղելիություն: MS-DOS-ONDEENED DRITAGES առանց ոչ միայն փոխադրելի չէ, այլեւ անհանդուրժողականություններ: Նրանց համար բնորոշ է Ուղղակի փոխազդեցություն Միայն միջուկային մակարդակից առկա սարքավորումներով էլ չասենք, որ 16-բիթանոց ծածկագիրը կոչվում է 32-բիթանոց դիմումներից միայն DPMI- ի միջոցով, իսկ հետո `ոչ մի կոպիտ:

Այսպիսով, նախքան հավաքման ծրագիր հեռարձակելը անհրաժեշտ է նույնականացնել, թե որ թարգմանիչն ու գործառնական համակարգը նախատեսված է: Հավաքիչով բեկորներով, որոնք բռնել են «հարազատ» համատեքստից, նույնիսկ ավելի վատն են: Ենթադրենք, ինչ-որ հոդվածում նկարագրված է հետաքրքիր հակակոռիվ ընդունելություն, եւ տրվում է հավաքիչ, բայց ինչպես տեղադրել այն իր ծրագրում, չի ասում: Ծանոթ իրավիճակ, այնպես չէ: Ուղղակի հեռարձակում հնարավոր չէ. Թարգմանիչը վայրիորեն փխրուն է, բայց ոչինչ չի ասում:

Փափուկ հավաքում

Պատրաստված տեքստը Source Datas- ը հատուկ ծրագրերի համար, որոնք կոչվում են հավաքներ: Հավանգի խնդիրն է ծրագրի տեքստը վերածել երկուական հրամանատարների ձեւին, որոնք կարող են իրականացվել միկրոպրոցեսորի կողմից: Եթե \u200b\u200bհայտնաբերվել են շարահյուսական սխալներ, արդյունքում ստացված օրենսգիրքը չի ստեղծվի: Կատարողական ֆայլ ստեղծելու գործընթացը տեղի է ունենում երկու փուլով.

ASM -\u003e .OBJ -\u003e .exe / .dll / .com

Առաջին փուլում (.Amm -\u003e .OBJ) հավաքագրման միջոցով հավաքագրման միջոցով ստացվում են ընդլայնման երկարացում ունեցող միջանկյալ օբյեկտի կոդային ֆայլեր (լրացուցիչ Inc ֆայլեր կարող են օգտագործվել): Extension.obj- ով ֆայլը պարունակում է օպտիմիզացված մեքենայի կոդ, որը պայմանով, որ սինթետիկ եւ իմաստաբանական սխալները չեն բավարարվել: Եթե \u200b\u200bSource File- ում հայտնաբերվում են աղբյուրի ֆայլում ծրագրով, ծրագրավորմամբ, ծրագրավորողը տրամադրում է հայտնաբերված սխալների ցուցակ, որոնցում սխալները նշվում են գծի համարով, որում դրանք հայտնաբերվում են: Ծրագրավորողը Cyclically- ն իրականացնում է խմբագրման եւ կազմման գործողությունները, մինչեւ աղբյուրի ֆայլում բոլոր սխալները վերացվեն: Այս փուլում արդեն հնարավոր է ձեռք բերել պատրաստի ծրագիր, բայց ամենից հաճախ այն պակասում է որոշ բաղադրիչների: Եթե \u200b\u200bորեւէ պատճառաբանության համար կազմողը (սխալ գրանցված է այդպիսի ֆայլի ուղին կամ ֆայլը բացակայում է) չի կարող գտնել Inc ֆայլ, ապա նախազգուշացում է տրվում:

Համագումարը, որպես կանոն, տեղի է ունենում երկու ընդունելության մեջ: Առաջին փոխանցումում թարգմանվում են MNEMonic հրամաններ, շաբաթական համարներ եւ խորհրդանիշներ համապատասխան մեքենայական կոդերում, հաշվարկվում են, թե որքանով է հրամանը գրավում օգտագործողի (հաստատուների, պիտակների արժեքի) հայտնաբերված գտնվելու վայրը գրված է սեղանին: Նույն աղյուսակում այն \u200b\u200bձայնագրվում է, որից այն վերաբերում է պիտակների ընթացակարգերին, պիտակների հասցեն, հատվածների սկզբի / ավարտի հասցեները, փոխարինվում են, ընթացակարգերի մեկնարկի հասցեները փոխարինվում են երկրորդ հատվածի հետ , պիտակների անունները փոխարինվում են:

Վեհաժողովի արդյունքում ձեռք է բերվում այսպես կոչված «օբյեկտի ֆայլ»: Որպես լրացուցիչ հատկություն, հավաքողը կարող է ստեղծել ծրագրի ցուցակման ֆայլ:

Սովորաբար, օբյեկտի ծածկագրի ֆայլեր ձեռք բերելու համար դուք պետք է կատարեք համապատասխան հավաքական ծրագիր (Microsoft Ml.exe եւ Tasm.exe ընկերության Tasm.exe ծրագրեր), նշելով ներս Հրամանի տող Ֆայլի անունը ծրագրի տեքստով:

Այս մարտահրավերը նվազագույնի համար անհրաժեշտ է: Բացի անունից Տեքստային ֆայլԴուք պետք է նշեք հավաքման ընտրանքները: Այս ծրագրերի փաստաթղթերում պետք է փնտրել ավելի շատ տեղեկատվություն Վեհաժողովի ծրագրի ընտրանքների վերաբերյալ:

Դասավորման ծրագիր

Հաջորդ փուլը (.OBJ -\u003e .Exe / .COM) կոչվում է կապ կամ դասավորություն եւ ծառայում է փոխարինել բնավորության անունները, որոնք օգտագործվում են ծրագրավորողի կողմից իրական հասցեներով:

Համեմատեք hexadecimal բովանդակությունը OBJ եւ Exe ֆայլորը դուք ստացել եք: EXE ֆայլը բայթերի նույն հաջորդականությունն ունի, ինչպես Obj ֆայլում: Բայց, բացի դրանից, դեռ առկա է. Հավաքված ֆայլի անվանումը, հավաքման տարբերակը, «սեփական» հատվածը եւ այլն:

Այս «ծառայությունը» տեղեկատվությունը, որը նախատեսված է այն դեպքերի համար, երբ ձեր գործադիր ֆայլը ցանկանում եք հավաքել մի քանիսը: Մշակելիս Մեծ դիմումներ Աղբյուրի տեքստը բաղկացած է, որպես կանոն, մի քանի մոդուլներից (աղբյուրի տեքստերով ֆայլեր), քանի որ անհարմար է բոլոր տեքստերը մեկ ֆայլում պահելու համար, դրանք դժվար է նավարկելու համար:

Յուրաքանչյուր մոդուլ կազմվում է առանձին ֆայլի օբյեկտի կոդով: Այս ֆայլերից յուրաքանչյուրը սահմանվում է նրանց ծածկագիր / տվյալների / կեռի հատվածներ, որոնք այնուհետեւ պետք է համատեղվեն մեկի մեջ: Եվ գործադիր ֆայլը, որը մենք պետք է ստանանք միայն մեկ կոդով / տվյալների / կեռի հատվածով: Դա այս հղումն է եւ անում է. Ավարտում է հասցեների հղումների սահմանումը եւ միավորվում է, եթե այն անհրաժեշտ է, մեկ այլ ծրագրաշարային մոդուլներ մեկում: Եվ այս մեկը մեզ հետ է կատարվում:

Բացի այդ, անհրաժեշտ է մեքենայի կոդ ավելացնել մեր մոդուլներին, որոնք իրականացնում են տարբեր ստանդարտ գործառույթներ (օրինակ, մեղքի կամ մաթեմատիկական գործառույթների հաշվարկ): Նման գործառույթները պարունակվում են գրադարաններում (ստանդարտ երկարաձգմամբ ֆայլեր): Լիբ), որոնք կամ մատակարարվում են կազմողի հետ, կամ ստեղծվում են ինքնուրույն: Հետեւաբար, նախապատրաստման գործընթացը պարունակում է դասավորության փուլը, երբ բոլոր անհայտները սահմանվում են, երբ որոշվում է փլուզված փոփոխականների կամ գործառույթների հասցեն:

Օբեկտի մոդուլների մեկ ֆայլի համատեղման գործընթացը իրականացվում է հատուկ կապի ծրագրի կամ կոլեկցիոներ (Microsoft- ի եւ Tlink.exe Company Borland- ի կապակցման) կողմից դրանք գրադարաններում եւ ստեղծագործաբար են ստեղծում, դիմումը գործադիր ծածկագիր է հատուկ պլատֆորմի համար:

Կատարված ծածկագիրը Com, DLL կամ EXE ընդլայնմամբ ամբողջական ծրագիր է, որը կարող է գործարկվել համակարգչի վրա տեղադրված գործառնական համակարգով, որի համար ստեղծվել է այս ծրագիրը: Կատարվող ֆայլի անվանումը սահմանվելու է առաջին մեկ .Օրիկ: Հղման համար անհրաժեշտ է պատվիրել հրամանի հուշում.

Հղում prog1.obj prog2.obj կամ tlink prog1.obj prog2.obj

Օբեկտի ֆայլի բովանդակությունը վերլուծվում է կապողի կողմից: Դա որոշում է, արդյոք կա ծրագիր արտաքին կապերԱյսինքն, ծրագրի զանգի հրամանի ծրագիրը պարունակում է օբյեկտի մոդուլի գրադարաններից մեկում (ՈՒղեցույց գրադարան): Linker- ը գտնում է այս հղումները օբյեկտի ֆայլում, պատճենում է գրադարաններից անհրաժեշտ ընթացակարգերը, դրանք համատեղում է օբյեկտի ֆայլի հետ եւ ստեղծում է գործադիր ֆայլ (գործադիր ֆայլ): Որպես Լրացուցիչ առանձնահատկություններ Linker- ը կարող է ստեղծել խաչաձեւ հղման ֆայլ, որը պարունակում է ստացված գործադիր ֆայլի պլանը:

Օգտագործված աղբյուրներ
1. https://ru.wikipedia.org/
2. http://natalia.appmat.ru/
3. http://www.codenet.ru/
4. http://wasm.ru/
5. Norton P., Sauke D. Assembler Language for IBM համակարգչի համար: Մ. Համակարգիչ, 1992:

1. Երբ եւ ով է հորինել հաշվողական մեքենաներ: Ինչ խնդիրներ են լուծվել դրանց վրա:

2. Որն է էլեկտրամեխանիկական ռելե: Երբ են ստեղծվել ռելեի հաշվարկային մեքենաները: Ինչ արագություն ունեին նրանք:
3. Որտեղ եւ երբ է կառուցվել առաջին համակարգիչը: Ինչ է կոչվում:
4. Որն է John ոն Ֆոն Նեումանի դերը համակարգիչ ստեղծելու գործում:
5. Ով էր առաջին ներքին համակարգչի դիզայները:
6. Ինչի վրա տարրերի բազա Ստեղծվել են առաջին սերնդի մեքենաներ: Որոնք էին դրանց հիմնական բնութագրերը:
7. Որ տարրական տվյալների բազայում ստեղծվել է երկրորդ սերնդի մեքենաներ: Որոնք են դրանց առավելությունները `համեմատած համակարգչի առաջին սերնդի հետ:
8. Որն է ինտեգրված միացում: Երբ են եղել առաջին համակարգիչները ինտեգրված սխեմաների վրա: Ինչ են կանչվել:
9. Որոնք են համակարգչի կիրառման նոր ոլորտները `երրորդ սերնդի մեքենաների տեսքով:
10. Ինչ է միկրոպրոցեսորը: Երբ եւ որտեղ է ստեղծվել առաջին միկրոպրոցեսորը:
11. Որն է միկրոեւային եւ անհատական \u200b\u200bհամակարգիչը:
12. Որ տեսակի համակարգչն է ամենատարածված աշխարհում:
13. Որն է գերհամակարգիչը:
14. Ինչ է կլաստավորված համակարգչային համակարգերը:
15. Որն է հինգերորդ սերնդի համակարգիչների առանձնահատկությունը:

Անվանեք առաջին հաշվարկային սարքը: Aback Հաշվիչ arithmometer ռուսական միավորներ, որոնք գաղափարը առաջ է քաշել մեջտեղում

19-րդ դարի անգլիական մաթեմատիկոս Չարլզ Բաբբաժ.

Ծրագիր ստեղծելու գաղափարը կառավարել է Հաշվող մեքենաՈւնենալով թվաբանական սարք, կառավարման սարք, ինչպես նաեւ մուտքային եւ տպագրական սարք

Ստեղծելու գաղափարը Բջջային հեռախոս

Համակարգչի կողմից կառավարվող ռոբոտներ ստեղծելու գաղափարը

Ինչ տարի եւ որտեղ էր առաջին համակարգիչը, որը հիմնված էր էլեկտրոնային լամպերի վրա:

1945, ԱՄՆ

1944, Անգլիա

1946, Ֆրանսիա

Ինչ հիմք են ստեղծվել երրորդ սերնդի համակարգիչները:

Ինտեգրված սխեմաներ

Կիսահաղորդիչներ

Էլեկտրոնային լամպեր

superbound ինտեգրված սխեմաներ

Որն էր առաջին անհատական \u200b\u200bհամակարգչի անունը:

Անվանեք համակարգչի կենտրոնական սարքը:

CPU

Համակարգի միավոր

Էլեկտրաէներգիա

Մայր տախտակ

Պրոցեսորը մշակում է ներկայացված տեղեկատվությունը.

Մեջ տասնորդական համակարգ Նշում

Անգլերեն

Ռուսերեն

Շարժիչի լեզվով (երկուական կոդով)

Օգտագործված թվային եւ տեքստային տեղեկատվություն մուտքագրելու համար

Ստեղնաշար

Սկաները օգտագործվում է ...

Պատկերների եւ տեքստային փաստաթղթերի պատկերներ մուտքագրելու համար

Դրա վրա նկարելու համար հատուկ բռնակ

Կուրսորը տեղափոխելը մոնիտորի էկրանին

Հոլոգրաֆիկ պատկերներ

10. Ինչ տեսակի տպիչ է տրվում ֆինանսական փաստաթղթեր օգտագործել տպելու համար:

Matrix տպիչ

Ռեակտիվ տպիչ

Լազերային տպիչ

Ինչ տեսակի տպիչ է տրվում օգտագործման էսսեներ տպելու համար:

Matrix տպիչ

Ռեակտիվ տպիչ

Լազերային տպիչ

Ինչպիսի տպիչ է տրվում տպագրության լուսանկարներ:

Matrix տպիչ

Ռեակտիվ տպիչ

Լազերային տպիչ

Համակարգչի սանիտարական եւ հիգիենիկ պահանջներին չկատարելով, մարդու առողջության վրա վնասակար ազդեցությունը կարող է տրամադրվել ...

Monitor էլեկտրոնային ճառագայթային խողովակի վրա

Մոնիտորը հեղուկ բյուրեղների վրա

Պլազմային վահանակներ

Երբ համակարգիչը անջատված է, բոլոր տեղեկությունները ջնջվում են ...

Պատահական մուտքի հիշողություն

Կոշտ սկավառակ

Լազերային սկավառակ

Որ համակարգչում է պահվում համակարգչում:

Արտաքին հիշողություն;

cPU;

Օպտիկական հետքերը ավելի փոքր հաստություն ունեն եւ ավելի սերտորեն տեղադրվում են ...

Թվային վիդեո շարժիչ (DVD սկավառակ)

Կոմպակտ սկավառակ (CD - սկավառակ)

Մուտքային սարքերը մուտք են գործում ...

Արդյունքային սարքը ներառում է ...

Ստեղնաշարի, մկնիկի, ուրախության, թեթեւ փետուր, սկաներ, թվային ֆոտոխցիկՄիկրոֆոն

Ձայնային սյուներ, մոնիտոր, տպիչ, ականջակալ

HDD, պրոցեսոր, հիշողության մոդուլներ, մայր տախտակսկավառակ

Ծրագիրը կոչվում է ...

Համակարգչային ծրագիր Կարող է կառավարել համակարգչի աշխատանքը, եթե այն ...

RAM- ում

Ճկուն սկավառակի վրա

Կոշտ սկավառակի վրա

CD- ի վրա - սկավառակ

Տվյալները ...

Հրամանների հաջորդականությունը, որը համակարգիչը կատարում է տվյալների մշակման ընթացքում

Թվային ձեւով ներկայացված եւ համակարգչում մշակված տեղեկատվությունը

Տվյալներ, որոնք ունեն անուն եւ պահվում են երկարաժամկետ հիշողության մեջ

Ֆայլը ...

Տեքստը տպված է համակարգչում

Թվային ձեւով ներկայացված եւ համակարգչում մշակված տեղեկատվությունը

Ծրագիր կամ տվյալներ, որոնք ունեն անուն եւ պահվում են երկարատեւ հիշողության մեջ

Flexible կուն սկավառակի արագ ձեւաչափմամբ ...

Մաքրել սկավառակի գրացուցակը

Բոլոր տվյալները ջնջվում են

Կատարվում է սկավառակի դեֆրոգմենտացիա

Սկավառակի մակերեսի ստուգում

Ճկուն սկավառակի ամբողջական ձեւաչափով ...

Բոլոր տվյալները ջնջվում են

Կատարվում է սկավառակի ամբողջական ստուգում:

Մաքրել սկավառակի գրացուցակը

Սկավառակը դառնում է համակարգային

Բազմամակարդակ հիերարխիկ ֆայլային համակարգում ...

Ֆայլերը պահվում են բույնի պանակների համակարգում:

Ֆայլերը պահվում են մի համակարգում, որը գծային հաջորդականություն է

Հաշվողական սարքավորումների զարգացման պատմությունը.

1. Անվանեք առաջինը Հաշվողական սարք.
1) Աբակ
2) հաշվիչ
3) թվաբանություն
4) ռուսական միավորներ

2. Ինչ գաղափար է առաջադրվել 19-րդ դարի կեսերի անգլերեն մաթեմատիկայի մաթեմատիկայի մաթեմատիկայի մաթեմատիկայի մաթեմատլեր Babbage:
1) թվաբանական սարք ունեցող ծրագրային հսկող սարք ստեղծելու գաղափարը, որը ունի թվաբանական սարք, կառավարման սարք, ինչպես նաեւ մուտքային եւ տպագրական սարք
2) բջջային հեռախոս ստեղծելու գաղափարը
3) համակարգչի կողմից կառավարվող ռոբոտներ ստեղծելու գաղափարը
3. Անվանեք առաջին ծրագրավորող մեքենաներ:
1) դժոխքի լավ
2) Սերգեյ Լեբեդեւը
3) Բիլ Գեյթս
4) Սոֆիա Կովալեւսկայա

4. Որ տարում եւ որտեղ էր առաջին համակարգիչը, որը հիմնված էր էլեկտրոնային լամպերի վրա:
1) 1945, ԱՄՆ
2) 1950, ԽՍՀՄ
3) 1944, Անգլիա
4) 1946, Ֆրանսիա

5. Ինչ հիմք ստեղծեց երրորդ սերնդի համակարգիչը:
1) ինտեգրված սխեմաներ
2) կիսահաղորդիչներ
3) էլեկտրոնային լամպեր
4) գերհամակարգային ինտեգրված սխեմաներ

6. Որն էր կոչվում առաջին անհատական \u200b\u200bհամակարգիչը:
1) Apple II
2) IBM համակարգիչ
3) Dell.
4) Կորվետ
Համակարգչային սարք ......................... 15
1. Անվանեք համակարգչի կենտրոնական սարքը:
1) պրոցեսոր
2) համակարգի բլոկ
3) էլեկտրամատակարարում
4) Մայր տախտակ
2. Ինչպես է գրանցվում համակարգչում ֆիզիկական տեղեկատվությունը եւ փոխանցվում:
1) թվեր;
2) ծրագրեր օգտագործել.
3) հայտնվում է էլեկտրական ազդանշանների տեսքով:

3. Պրոցեսորը մշակում է ներկայացված տեղեկատվությունը.
1) տասնորդական թվով համակարգում
2) անգլերեն լեզվով
3) ռուսերեն
4) մեքենայի վրա (երկուական կոդով)
4. Օգտագործված թվային եւ տեքստային տեղեկատվություն մուտք գործելու համար
1) ստեղնաշար
2) մուկ
3) Trekball
4) բռնակ
5. Ամենակարեւոր բնութագիրը Համակարգված մուտքային սարքերը բանաձեւն է, որը սովորաբար կազմում է 500 DPI (DOT մեկ դյույմ `կետեր մեկ դյույմ (1 դյույմ \u003d 2.54 սմ)), ինչը նշանակում է ...
1) մկնիկը մեկ դյույմ տեղափոխելիս մկնիկի ցուցիչը շարժվում է 500 միավորով
2) Մկնիկը 500 միավորով տեղափոխելիս մկնիկի ցուցիչը շարժվում է մեկ դյույմ
6. Սկաները օգտագործվում է ...
1) պատկերներ եւ տեքստային փաստաթղթեր մուտք գործելու համար
2) դրա վրա հատուկ բռնակ նկարելու համար
3) կուրսորը մոնիտորի էկրանին տեղափոխելը
4) Հոլոգրաֆիկ պատկերներ ստանալը
Տեղեկատվության ելքային սարքեր ................. 21
1. Ինչպիսի տպիչ է տպիչը `տպագրության համար ֆինանսական փաստաթղթեր օգտագործելու համար:
1) մատրիցային տպիչ
2) Inkjet տպիչ
3) լազերային տպիչ
2. Ինչ տեսակի տպիչ է տրվում օգտագործել վերացականները տպելու համար:
1) մատրիցային տպիչ
2) Inkjet տպիչ
3) լազերային տպիչ

1. Որ տեսակի տպիչն է առաջարկվում լուսանկարներ օգտագործել տպագրության համար:
1) մատրիցային տպիչ
2) Inkjet տպիչ
3) լազերային տպիչ
2. Համակարգչի սանիտարական եւ հիգիենիկ պահանջներին չհամապատասխանելու դեպքում մարդու առողջության վրա վնասակար ազդեցությունը կարող է տրամադրվել ...
1) մոնիտոր էլեկտրոնային ճառագայթային խողովակի վրա
2) մոնիտոր հեղուկ բյուրեղների վրա
4) պլազմային վահանակներ
3. Մի սարք, որն ապահովում է տեղեկատվության մուտք եւ ընթերցում, կոչվում է ...
1) քշել կամ քշել

4. Երբ համակարգիչը անջատված է, բոլոր տեղեկությունները ջնջվում են ...
4) RAM
5) կոշտ սկավառակ
6) լազերային սկավառակ
7) Դիետաներ
13. Որ համակարգչում պահվում է տեղեկատվության համար:
1) արտաքին հիշողություն;
2) մոնիտոր;
3) պրոցեսոր;
2. Օպտիկական հետքերը ավելի փոքր հաստություն ունեն եւ ավելի սերտորեն տեղադրվում են ...
1) թվային վիդեո շարժիչ (DVD - սկավառակ)
2) կոմպակտ սկավառակ (CD - սկավառակ)
3) սկավառակ
3. Որ սկավառակի մասին տեղեկատվությունը պահվում է համակենտրոնացված ուղիների վրա, որի վրա այլընտրանք են մագնիսացված եւ ոչ vitrate բաժինները
1) սկավառակի վրա
2) կոմպակտ սկավառակի վրա
3) DVD - սկավառակի վրա

4. Մուտքային սարքերում ներառված են ...

1) Կոշտ սկավառակ, պրոցեսոր, հիշողության մոդուլներ, մայր տախտակ, անգործունյա սկավառակ
5. Արտադրանքի մեջ ներառված ...
1) ստեղնաշար, մուկ, ուրախություն, թեթեւ փետուր, սկաներ, թվային ֆոտոխցիկ, խոսափող
2) ձայնային սյուներ, մոնիտոր, տպիչ, ականջակալ
3) կոշտ սկավառակ, պրոցեսոր, հիշողության մոդուլներ, մայր տախտակ, անգործունյա սկավառակ
6. Ծրագիրը կոչվում է ...

7. Համակարգչային ծրագիրը կարող է կառավարել համակարգչի աշխատանքը, եթե այն ...
1) RAM- ում
2) ճկուն սկավառակի վրա
3) կոշտ սկավառակի վրա
4) CD - սկավառակի վրա
8. Տվյալները ...
1) հրամանի հաջորդականությունը, որը համակարգիչը կատարում է տվյալների մշակման գործընթացում
2) թվային ձեւով ներկայացված եւ համակարգչում մշակված տեղեկատվությունը
3) տվյալներ ունենալու եւ երկարաժամկետ հիշողության մեջ պահվող տվյալներ
9. Ֆայլը ...
1) համակարգչի վրա տպված տեքստը
2) թվային ձեւով ներկայացված եւ համակարգչում մշակված տեղեկատվությունը
3) ծրագիր կամ տվյալներ, որոնք ունեն անուն եւ պահվում են երկարաժամկետ հիշողության մեջ

10. Flexible կուն սկավառակի արագ ձեւաչափմամբ ...
1) Մաքրել սկավառակի գրացուցակը մաքրված է:
2) Բոլոր տվյալները ջնջվում են
3) սկավառակի դեֆրագացիա
4) Ստուգեք


Սկսելու համար մենք հասկանում ենք տերմինաբանությունը:

Մեքենայական կոդ - Հատուկ հաշվարկային մեքենայի (պրոցեսորի) հրամանների համակարգը, որը մեկնաբանվում է ուղղակիորեն պրոցեսորի վրա: Թիմը, որպես կանոն, ամբողջ թվով է, որը գրված է պրոցեսորի գրանցամատյանում: Պրոցեսորը կարդում է այս թիվը եւ կատարում է մի գործողություն, որը համապատասխանում է այս հրամանին: Հանրաճանաչ սա նկարագրվում է գրքում, թե ինչպես դառնալ ծրագրավորող:

Low ածր մակարդակի ծրագրավորման լեզու (Ցածր մակարդակի ծրագրավորման լեզուն) ծրագրավորման լեզու է, որքան հնարավոր է մոտ, մեքենայական կոդերում ծրագրավորելու համար: Ի տարբերություն մեքենայի կոդերի, ցածր մակարդակի լեզվով, յուրաքանչյուր հրաման է համապատասխանում ոչ թվին, բայց հրամանի կրճատ անունն է (Mnemonic): Օրինակ, հավելյալ հրամանը բառի լրացումից նվազում է: Հետեւաբար, ցածր մակարդակի լեզվի օգտագործումը զգալիորեն կխնդրի գրելու եւ ընթերցանության ծրագրերը (համեմատած մեքենայական կոդերում ծրագրավորման հետ): Low ածր մակարդակի լեզուն կապված է հատուկ պրոցեսորի հետ: Օրինակ, եթե Pic պրոցեսորի համար ցածր մակարդակի լեզվով ծրագիր եք գրել, կարող եք վստահ լինել, որ այն չի աշխատի AVR պրոցեսորի հետ:

Բարձր մակարդակի ծրագրավորման լեզու - Սա ծրագրավորման լեզու է, որքան հնարավոր է մոտ մարդկային լեզվին (սովորաբար անգլերենից անգլերեն, բայց ազգային լեզուներով ծրագրավորող լեզուներ կան, օրինակ, 1C լեզուները գտնվում են ռուսերեն): Բարձր մակարդակի լեզուն գործնականում կապված չէ հատուկ պրոցեսորի կամ գործառնական համակարգի հետ (եթե հատուկ հրահանգներ չեն օգտագործվում):

Assembler - Սա ցածր մակարդակի ծրագրավորման լեզու է, որի վրա գրում եք ձեր ծրագրերը: Յուրաքանչյուր պրոցեսորի համար կա իր հավաքական լեզուն:

Հավաքող - Սա հատուկ ծրագիր է, որը վերափոխում է (կազմում է) ձեր ծրագրի աղբյուրի տեքստերը, որոնք գրված են հավաքման լեզվով գործադիր ֆայլում (ֆայլը EXE կամ COM ընդլայնմամբ): Հարմարավետ լինելու համար անհրաժեշտ են լրացուցիչ ծրագրեր `գործադիր ֆայլ ստեղծելու համար, եւ ոչ միայն հավաքիչ: Բայց այս մասին ավելի ուշ ...

Շատ դեպքերում, ասեղն է ասում, եւ ենթադրում է «հավաքող լեզու»: Այժմ դուք գիտեք, որ սրանք տարբեր բաներ են եւ այդպես ասեք, ոչ այնքան ճիշտ: Չնայած բոլոր ծրագրավորողները կհասկանան ձեզ:

Կարեւոր է
Ի տարբերություն բարձր մակարդակի լեզուների, ինչպիսիք են Պասկալը, բեյնիկը եւ այլն, յուրաքանչյուր հավաքման համար կա իր ժողովի լեզուն: Այս կանոնը արմատապես առանձնանում է հավաքիչի լեզվով բարձր մակարդակի լեզուներից: Ծրագրի աղբյուրի տեքստերը (կամ պարզապես «աղբյուրներ») գրված են բարձր մակարդակի լեզվով, դուք շատ դեպքերում կարող եք կազմել տարբեր բաղադրիչներ տարբեր պրոցեսորների եւ տարբեր գործող համակարգերի համար: Հավաքիչային աղբյուրներով դա շատ ավելի բարդություն անելու համար: Իհարկե, այս տարբերությունը գրեթե շոշափելի չէ տարբեր ասֆարկերի համար, որոնք նախատեսված են նույն պրոցեսորների համար: Բայց գործի փաստն այն է, որ յուրաքանչյուր պրոցեսորի համար կա իր հավաքականը եւ դրա հավաքական լեզուն: Այս իմաստով շատ ավելի հեշտ է ծրագրավորել բարձր մակարդակի լեզուներով: Այնուամենայնիվ, բոլոր հաճույքները պետք է վճարվեն: Բարձր մակարդակի լեզուների դեպքում մենք կարող ենք հանդիպել այնպիսի բաների, ինչպիսիք են ավելի մեծ Կատարելի ֆայլ, ամենավատ արագությունը եւ այլն:


Այս գրքում մենք կխոսենք միայն Intel պրոցեսորներով համակարգիչների ծրագրավորման մասին (կամ համատեղելի): Գործնականում գործնականում ստուգեք գրքում տրված օրինակները, ձեզ հարկավոր կլինի հետեւյալ ծրագրերը (կամ գոնե դրանցից մի քանիսը).

  1. . Լավ ծրագիրՀատկապես սկսնակների համար: Ներառում է աղբյուրի խմբագիր եւ մի քանի այլ օգտակար բաներ: Աշխատում է Windows- ում, չնայած ծրագրերը գրված են DOS- ի ներքո: Դժբախտաբար, ծրագիրը ծախսում է գումար (բայց այն արժե)): Մանրամասների համար տես կայքը http://www.emu8086.com:
  2. - Turbo Assembler- ը Բորլենդից: Կարող եք ծրագրեր ստեղծել ինչպես DOS եւ Windows- ի համար: Նաեւ արժե գումարը, եւ այս պահին այլեւս չաջակցվեց (եւ Բորլանդը գոյություն չունի): Ընդհանրապես, բանը լավն է:
  3. - Microsoft- ից (վերծանվել է որպես մակրո հավաքիչ, եւ ոչ թե Microsoft Assetbler- ը, ինչպես շատ անհասանելի) կարծում են: Թերեւս ամենատարածված հավաքումը Intel պրոցեսորների համար: Աջակցվում է մինչ այժմ: Պայմանականորեն անվճար ծրագիր: Այսինքն, եթե այն առանձին եք գնում, դա կարժենա փող: Բայց այն հասանելի է MSDN- ի անվճար բաժանորդներին եւ Microsoft- ից մտնում է Visual Studio ծրագրային փաթեթ:
  4. - հավաքում է Watcom- ից: Ինչպես բոլոր մյուսները, ունեն առավելություններ եւ թերություններ:
  5. - Այն ունի համեստ հնարավորություններ, բայց ունի մեծ գումարած `մուտքագրում է ստանդարտ պատուհանների հավաքածու: Փնտրեք այն Windows \\ Command կամ Windows \\ System32 թղթապանակում: Եթե \u200b\u200bչեք գտնում, ապա Windows Directory- ի այլ պանակներում:
  6. Անկալի է նաեւ ունենալ որեւէ մեկը: Չի կանխում չի խանգարում չլինելու կինոռեժիսոն, ինչպիսիք են Wolves Commander (VC) կամ Norton Commander (NC): Նրանց օգնությամբ դուք կարող եք նաեւ տեսնել Hexadecimal ֆայլերի կոդեր, բայց չի կարող խմբագրվել: Ինտերնետում անվճար վեցանկյուն խմբագիրները բավականին շատ են: Ահա նրանցից մեկը. McAfee FileIsight v2.1. Նույն խմբագիրը կարող է օգտագործվել ծրագրերի աղբյուրի տեքստերի հետ աշխատելու համար: Այնուամենայնիվ, ինձ ավելի շատ դուր է գալիս դա անել հետեւյալ խմբագրին.
  7. Տեքստի խմբագիր: Մեզ հետաքրքրում է գրել ձեր ծրագրերի աղբյուրի տեքստերը: Ես կարող եմ խորհուրդ տալ անվճար խմբագիր PSPAD, որն ապահովում է բազմաթիվ ծրագրավորման լեզուներ, ներառյալ հավաքիչին:
Այս գրքում ներկայացված բոլոր ծրագրերը (եւ ծրագրի օրինակներ) փորձարկվում են կատարման համար: Եվ դա այս ծրագրերն են, որոնք օգտագործվում են այս գրքում տրված ծրագրերի օրինակներ իրականացնելու համար:

Եվ, այնուամենայնիվ, գրված աղբյուրի կոդը, օրինակ, EMU8086- ի համար, մի փոքր տարբերվելու է գրված կոդից, օրինակ, Tasm- ի համար: Այս տարբերությունները հստակեցվելու են:

Գրքում ցուցադրված ծրագրերի մեծ մասը գրված է: Նախ, քանի որ այս հավաքողը ամենատարածվածն է եւ դեռ աջակցվում է: Երկրորդ, քանի որ այն գալիս է MSDN- ի եւ Microsoft- ի Visual Studio- ի ծրագրային փաթեթով: Դե, երրորդում, քանի որ ես Masm- ի լիցենզավորված պատճենի երջանիկ սեփականատեր եմ:

Եթե \u200b\u200bարդեն ունեք որեւէ հավաքող, որը չի ընդգրկվել վերը թվարկված ցուցակում, ապա ստիպված կլինեք ինքնուրույն գործ ունենալ իր շարահյուսությամբ եւ կարդալ օգտվողի ձեռնարկը, իմանալու համար, թե ինչպես աշխատել դրա հետ: Բայց այս գրքում տրված ընդհանուր առաջարկությունները արդար կլինեն ցանկացած (լավ կամ գրեթե ցանկացած) հավաքման համար:

Որպեսզի մեքենան ապարատային մակարդակում կատարի մարդու թիմերը, անհրաժեշտ է նշել գործողությունների որոշակի հաջորդականություն «Նոլիկովի եւ ստորաբաժանումների» լեզվով: Այս բիզնեսի օգնականը կլինի հավաքածու: Սա մի գործիք է, որն աշխատում է հրամաններ փոխանցելու միջոցով մեքենայական լեզվին: Այնուամենայնիվ, ծրագրի գրությունը շատ ժամանակատար եւ բարդ գործընթաց է: Այս լեզուն նախատեսված չէ թոքեր եւ պարզ գործողություններ ստեղծելու համար: Այս պահի դրությամբ օգտագործված ցանկացած ծրագրավորման լեզու (Assembler Works Fine) թույլ է տալիս գրել հատուկ արդյունավետ առաջադրանքներ, որոնք խստորեն ազդում են ապարատի գործողության վրա: Հիմնական նպատակը միկրոկոմանդի եւ փոքր կոդերի ստեղծումն է: Այս լեզուն ավելի շատ հնարավորություններ է տալիս, քան, օրինակ, պասկալ կամ C:

Assembler Languages- ի համառոտ նկարագրություն

Ծրագրավորման բոլոր լեզուները բաժանված են մակարդակներից, ցածր եւ բարձր: Հավանգի «ընտանիքի» ցանկացած սինթակտիկ համակարգ է տարբերվում, քանի որ միանգամից միավորվում է ամենատարածված եւ ժամանակակից լեզուների որոշ առավելություններ: Ուրիշների, նրանց հարազատների եւ այն փաստի հետ, որ համակարգչային համակարգը կարող է ամբողջությամբ օգտագործվել:

Կազմողի տարբերակիչ առանձնահատկությունն օգտագործելու պարզությունն է: Այն տարբերվում է նրանցից, ովքեր աշխատում են միայն բարձր մակարդակներով: Եթե \u200b\u200bհաշվի եք առնում որեւէ նման ծրագրավորման լեզու, հավաքիչը գործում է երկու անգամ ավելի արագ եւ ավելի լավ: Որպեսզի դրանում թեթեւ ծրագիր գրենք, շատ ժամանակ չի պետք:

Հակիրճ լեզվի կառուցվածքի մասին

Եթե \u200b\u200bմենք ընդհանուր առմամբ խոսենք լեզվի գործառույթի աշխատանքի եւ կառուցվածքի մասին, ապա կարող եք վստահորեն ասել, որ դրա հրամաններն ամբողջությամբ համապատասխանում են պրոցեսորի թիմերին: Այսինքն, հավաքողը օգտագործում է MNEMOKODES, ամենահարմար մարդը `ձայնագրելու համար:

Ի տարբերություն այլ ծրագրավորման լեզուների, Assember- ը օգտագործում է որոշակի պիտակներ `Հասցիոնների փոխարեն հիշողության բջիջները ձայնագրելու համար: Դրանք թարգմանվում են այսպես կոչված հրահանգների մեջ: Սրանք հարաբերական հասցեներ են, որոնք չեն ազդում պրոցեսորի գործունեության վրա (չի թարգմանվում մեքենայի լեզվով) եւ անհրաժեշտ է ճանաչել ինքնին ծրագրավորման միջավայրը:

Պրոցեսորի յուրաքանչյուր տողի համար այս իրավիճակն ունի իր սեփականը, ճիշտ կլինի ցանկացած գործընթաց, ներառյալ թարգմանված

Հավաքիչ լեզուն ունի մի քանի շարահյուսներ, որոնք կքննարկվեն հոդվածում:

Լեզվի պլյուսներ

Հավաքողի լեզվով ամենակարեւոր եւ հարմարավետությունը կլինի այն, որ հնարավոր է գրել ցանկացած ծրագիր պրոցեսորի համար, որը շատ կոմպակտ կլինի: Եթե \u200b\u200bծածկագիրը պարզվում է, որ հսկայական է, ապա որոշ գործընթացներ վերահղում են Խոյ, Միեւնույն ժամանակ, նրանք ամեն ինչ անում են արագ եւ առանց ձախողումների, քանի դեռ իհարկե չեն վերահսկում որակյալ ծրագրավորողը:

Վարորդներ, գործավար համակարգեր, BIOS, Compilers, թարգմանիչներ եւ այլն: Այս ծրագիրը հավաքիչի լեզվով:

Ապամոնտաժում օգտագործելիս, որը մեկում թարգմանություն է անում մեքենայից մեկում, հնարավոր է հեշտությամբ հասկանալ, թե ինչպես է մեկ կամ մեկ այլ համակարգ առաջադրանքներ, նույնիսկ եթե բացատրություն չկա: Այնուամենայնիվ, դա հնարավոր է միայն այն դեպքում, երբ ծրագրերը թեթեւ են: Դժբախտաբար, ոչ-ոքիի կոդերում, բավականին դժվար է հասկանալ:

Դեմ լեզուներ

Դժբախտաբար, սկսնակ ծրագրավորողները (եւ հաճախ մասնագետները) դժվար է լեզուն ապամոնտաժել: Essembler- ը պահանջում է Մանրամասն նկարագրություն Անհրաժեշտ թիմը: Շնորհիվ այն բանի, որ դուք պետք է օգտագործեք հաստոցներ, սխալ գործողությունների հավանականությունը եւ կատարման բարդությունը մեծանում է:

Որպեսզի նույնիսկ առավելագույնը գրեն Պարզ ծրագիրԾրագրավորողը պետք է որակավորվի, եւ նրա գիտելիքների մակարդակը բավականին մեծ է: Միջին մասնագետը, ցավոք, հաճախ վատ կոդեր է գրում:

Եթե \u200b\u200bպլատֆորմը, որի համար ստեղծվում է ծրագիրը, թարմացվում է, ապա բոլոր հրամանները պետք է պատճենվեն ձեռքով. Սա պահանջում է ինքնին լեզուն: Հավաքիչը չի պաշտպանում գործընթացների գործունեության ավտոմատ կարգավորման գործառույթը եւ փոխարինել ցանկացած տարր:

Լեզվի թիմեր

Ինչպես արդեն վերը նշված է, յուրաքանչյուր պրոցեսոր ունի իր հրամանների շարքը: Ամենապարզ տարրերը, որոնք ճանաչվում են ցանկացած տեսակի, հետեւյալ կոդերն են.


Հրահանգների օգտագործումը

Լեզուներում ծրագրավորման միկրոկոնտրոլերները (հավաքող Դա թույլ է տալիս եւ կատարելապես պատճենել գործառույթին) ամենացածր մակարդակի վրա ամենացածր մակարդակի վրա, այն հաջողությամբ ավարտվում է: Լավագույնն է օգտագործել պրոցեսորներ սահմանափակ ռեսուրսով: 32-բիթանոց սարքավորումների համար Այս լեզուն Հիանալի տեղավորվում է: Հաճախ կոդերում կարող եք տեսնել հրահանգներ: Ինչ է սա? Եվ ինչի համար է օգտագործվում:

Սկսելու համար անհրաժեշտ է շեշտել այն փաստը, որ հրահանգները չեն փոխանցվում մեքենայի լեզվին: Նրանք կարգավորում են կազմողի աշխատանքը: Ի տարբերություն թիմերի, այս պարամետրերը, ունենալով Տարբեր գործառույթներՏարբեր շնորհիվ տարբեր պրոցեսորների, բայց մեկ այլ թարգմանչի հաշվին: Հիմնական հրահանգների շարքում կարելի է բնորոշվել հետեւյալ կերպ.


Անունի ծագումը

Լեզուի անվան պատճառով - «Assembler»: Մենք խոսում ենք թարգմանչի եւ կազմողի մասին, որը նաեւ արտադրում է տվյալների կոդավորումը: Անգլիական ռումբից ոչինչ չի նշանակում, քան կոլեկցիոներ: Ծրագիրը ձեռքով չի հավաքվել, օգտագործվել է ավտոմատ կառույց: Ավելին, այս պահին օգտվողները եւ մասնագետները ջնջել են տերմինների միջեւ տարբերությունը: Հաճախ հավաքագրման ծրագրավորման լեզուները, չնայած դա պարզապես օգտակար գործիք է:

Ընդհանուր ընդունված հավաքման անվանման պատճառով ոմանք ունեն սխալ լուծում, որ կա մեկ ցածր մակարդակի լեզու (կամ դրա համար ստանդարտ նորմեր): Որպեսզի ծրագրավորողը հասկանա, թե ինչի մասին է մոտենում, անհրաժեշտ է նշել, թե որ պլատֆորմը օգտագործվում է մեկ կամ մեկ այլ հավաքական լեզու:

Մակրո

Հավաքեք լեզուները, որոնք ստեղծվում են համեմատաբար վերջերս, ունեն մակրոներ: Նրանք հեշտացնում են ինչպես ծրագրի ուղղագրությունը, այնպես էլ կատարումը: Նրանց ներկայության շնորհիվ թարգմանիչը ավելի արագ է իրականացնում գրավոր ծածկագիրը: Պայմանական ընտրություն ստեղծելիս կարող եք գրել թիմերի հսկայական բլոկ, եւ ավելի հեշտ է օգտագործել մակրոները: Նրանք արագորեն կփոխվեն գործողությունների միջեւ, եթե պայմանը կամ չկատարումը կատարվում է:

Մակրոալեզու հրահանգներն օգտագործելիս ծրագրավորողը ստանում է հավաքական Macros: Երբեմն այն կարող է լայնորեն կիրառվել, եւ երբեմն նրա ֆունկցիոնալ հատկությունները կրճատվում են մեկ հրամանով: Նրանց ներկայությունը օրենսգրքում հեշտացնում է դրա հետ աշխատանքը, այն դարձնում է ավելի հասկանալի եւ տեսողական: Այնուամենայնիվ, պետք է ուշադիր լինի ուշադիր լինելու համար. Որոշ դեպքերում մակրոները, ընդհակառակը, վատթարանում են իրավիճակը: