Ассамблея программалоо көбүнчө компьютер программисттери өз өнөрүн үйрөнүп жатканда эң негизги башталыш болуп саналат. Ассамблея тили (ошондой эле ASM деп да аталат)-компьютерлер жана башка түзмөктөр үчүн программалоо тили, жана кошумча функцияларды сунуштаган өнүккөн тилдерге салыштырмалуу негизинен төмөнкү деңгээлдеги вариант болуп эсептелет. Сиз кодду жазгандан кийин, ассемблер аны машина кодуна айлантат (1с жана 0с). Процессорлордун татаалдашуусун эске алганда, жыйноо программалоо үчүн колдонмолор чектелүү болуп калганда, Ассамблея бир нече максаттар үчүн пайдалуу бойдон калууда, анын ичинде өз алдынча аткарылуучу файлдар же түзмөктүн драйверлери үчүн код жазуу.
Кадамдар
3төн 1 бөлүк: Ассамблея тили менен таанышуу
Кадам 1. Ассамблея тили боюнча окуу
Код жазуу аракетине киришүүдөн мурун, алгач тилдин өзүн түшүнүү жакшы. Окуу китептеринен онлайн гиддерге чейин жеткиликтүү ресурстар бар.
2 -кадам. Негизги терминдерди үйрөнүңүз
Мисалы, IDE (интеграцияланган өнүктүрүү чөйрөсү) текстти түзөтүү, мүчүлүштүктөрдү оңдоо жана компиляциялоо сыяктуу нерселерди башкарган коддоо интерфейсин камсыздай турганын билгиңиз келет. Сиз ошондой эле "регистрлер" программанын коду менен байланышкан номерлерди сактагандыгы сыяктуу, монтаждын иш жүзүндө жакшыраак түшүнгүңүз келиши мүмкүн. Терминологияны жакшыраак түшүнүү код жазуу процессинин өзүн үйрөнүүнү жеңилдетет.
Кадам 3. Монтажчылар сизге туура келеби же жокпу, чечиңиз
Эсиңизде болсун, бир катар программалоо тилдери бар, анын ичинде чогултууга караганда алда канча көбүрөөк функционалдык мүмкүнчүлүктөр бар. Бирок, дагы эле бир катар тиркемелер бар, алар үчүн пайдалуу-телефон программасы жана кондиционерди башкаруу тутумдары үчүн өз алдынча аткарылуучу файлдарды түзүүдөн баштап, процессорго тиешелүү көрсөтмөлөрдү иштеп чыгууга чейин.
Кадам 4. Кайсы ассемблерди колдонууну каалаарыңызды аныктаңыз
A86, NASM же GNU сыяктуу кураштыруучулар жалпысынан анча татаал эмес функцияларды аткарышат жана башталгычтар үчүн ылайыктуу баштапкы чекиттер болушу мүмкүн. Ар бир ассемблер бир аз башкача иштейт, андыктан кийинки көрсөтмөлөр MASM (Microsoft Macro Assembler)-Windows операциялык тутумдары менен иштеген негизги ассемблерди колдонуп жатканыңыздын негизинде иштейт. Бул x86 ассемблер тили жана Intel синтаксисин колдонот.
3төн 2 бөлүк: Ассемблерди жана IDEди жүктөө жана орнотуу
Кадам 1. Ассемблердин өзүн жүктөп алыңыз
Сиз Visual Studio Enterprise 2015те камтылган MASMдин акыркы версиясын таба аласыз (бир катар инструменттерди камтыган IDE), бирок эң негизги оригиналдуу версиясы (MASM 8.0). MASM 8.0 жүктөп алуу бекер. Көңүл буруңуз, кээ бир монтаждоочулар сыяктуу Flat Assembler-Windows, DOS жана Linux сыяктуу көптөгөн операциялык тутумдарда колдонулушу мүмкүн. Башка ассемблер, анын ичинде Netwide Assembler (NASM) же GNU Assembler (GAS)-Mac операциялык тутумдары менен иштешет.
- MASM 8.0ди жүктөө үчүн, бул баскычта айтылган беттин жогору жагындагы Жүктөө баскычын чыкылдатыңыз.
- Системалык талаптар сиз тандаган ассемблерге жараша өзгөрөт, бирок MASM 8.0 Windows 2000 Service Pack 3, Windows Server 2003 же Windows XP Service Pack 2 талап кылат.
- MASM 8.0 орнотуу үчүн сиз мурда Visual C ++ 2005 Express Edition жүктөлүп, орнотулган болушуңуз керек.
Кадам 2. IDE жүктөп алыңыз
Жөн гана MASM менен жакшы иштеген WinAsm IDEди табуу жана орнотуу үчүн "WinAsm жүктөө" үчүн издөө жүргүзүңүз. Башка IDEлер сиз колдонуп жаткан программалоо тилине жараша ылайыктуу болушу мүмкүн. Бир популярдуу альтернатива RadAsm.
Кадам 3. MASM 8.0 орнотуу
Программаны жүктөп алгандан кийин, "Чуркоо" баскычын басуу менен орнотууну дароо баштасаңыз болот. Же болбосо, аны кийинчерээк орнотууну каалашыңыз мүмкүн, бул учурда Сактоо баскычын чыкылдатыңыз. Run басканда, MASM 8.0 сиздин “[Visual C ++ Express] bin” каталогуна орнотулат жана ml.exe деп жазылат.
Step 4. Сиздин IDE орнотуу
WinAsm жүктөлгөндөн кийин, сиз файлдарды чыгарып, "c: / program files \" папкасына көчүрөсүз. Ошондой эле, кирүү оңой болушу үчүн, иштөө столуна кыска жолду коюңуз.
Кадам 5. IDEди конфигурациялоо
Биринчиден, WinAsm программасын ишке киргизиңиз. Эгерде сиз столго кыска жол орноткон болсоңуз, аны эки жолу чыкылдатыңыз. Башка процессор же IDE колдонуп жатсаңыз, бул процесс айырмаланарын эске алыңыз.
Кадам 6. WinAsmди MASM 8.0 менен интеграциялоо
WinAsmдин Tools өтмөгүн чыкылдатуу менен баштаңыз, аталган өтмөктөн Параметрлерди тандап, акыры Файлдар жана Жолдор өтмөгүн тандаңыз. Андан кийин MASM орнотуу папкаңызга алгачкы үч жазууну (жолдорго шилтеме) өзгөртүү. Бүткөндөн кийин, чыкылдатыңыз ОК.
Файлдар жана жолдор өтмөгүндөгү маалыматты тууралагандан кийин, биринчи үч жазуу төмөнкүдөй окулушу керек. Экилик жол C: / Masm32 / Bin болушу керек; кошуу жолу C: / Masm32 / Include болушу керек; жана китепкана жолу C: / Masm32 / Bin болушу керек
3 -жылдын 3 -бөлүгү: Жазуу коду
Кадам 1. Код жазууну баштаңыз
WinAsmди ишке киргизип, Файл өтмөгүн чыкылдатыңыз. Андан кийин Жаңы долбоорлорду тандаңыз, жана сиз бир нече вариантты көрөсүз. Бул параметрлерге Console Application жана Standard EXE кирет. Эгерде сиз GUIге (графикалык колдонуучу интерфейси) негизделген колдонмону түзүүгө аракет кылып жатсаңыз, мисалы, экинчисин тандайсыз.
Кадам 2. Кураштыруу программасынын структурасын колдонуңуз
Кадимки структура архитектураны аныктоочу линияны, берилиштер бөлүмүн (section.data), анын ичинде инициализацияланган маалыматтарды же константаларды, өзгөрмөлөрдү жарыялаган bss бөлүмүн (section.bss) жана өзүңүздүн чыныгы жериңизди камтыган текст бөлүмүн (section.text) камтышы мүмкүн. программанын коду. Бул акыркы бөлүм ар дайым глобалдык _start декларациясы менен башталат. Ар бир тизмек код блогу деп аталат.
3 -кадам. Негизги буйруктарды түшүнүңүз
Ассамблея тилинде үч түрдөгү билдирүүлөр бар: аткарылуучу көрсөтмөлөр же көрсөтмөлөр (бул процессорлорго операция коду аркылуу эмне кылуу керектигин айтышат), ассемблердин көрсөтмөлөрү же жасалма опциялар (бул монтаждоочуга процесстерди сүрөттөйт) жана макростар (бул текст катары кызмат кылат) алмаштыруу механизми).
Кеңештер
- Ассемблер тилинде (же башка) эффективдүү код жазуу жалпысынан бир аз олуттуу изилдөөнү талап кылат. Сиз, өзгөчө, ассемблер тили боюнча керектүү синтаксисти жана ассамблея программасын кантип түзүүнү жана шилтемелөөнү үйрөнгүңүз келет.
- Эгерде сизде конкреттүү жыйноочу орнотууда кандайдыр бир кыйынчылыктар пайда болсо, анда белгилүү бир суроолорго жооп ала турган форумга кошулуу акылдуулукка жатат.
- Кээ бир программалоо тилдеринде ассемблерди аралаштыруу мүмкүнчүлүктөрү бар, мисалы, C жана C ++ тилиндеги ASM ("") функциясы. Бул баштоо үчүн жакшы жол.
- Эгер сиз жаңы MASM версиялары менен иштеген IDEге кызыксаңыз, www.visualmasm.com/ дарегинен Visual MASMди текшериңиз.