Ассамблеяда программалоону кантип баштоо керек: 13 кадам (сүрөттөр менен)

Мазмуну:

Ассамблеяда программалоону кантип баштоо керек: 13 кадам (сүрөттөр менен)
Ассамблеяда программалоону кантип баштоо керек: 13 кадам (сүрөттөр менен)

Video: Ассамблеяда программалоону кантип баштоо керек: 13 кадам (сүрөттөр менен)

Video: Ассамблеяда программалоону кантип баштоо керек: 13 кадам (сүрөттөр менен)
Video: ComfyUI Tutorial - How to Install ComfyUI on Windows, RunPod & Google Colab | Stable Diffusion SDXL 2024, Май
Anonim

Ассамблея программалоо көбүнчө компьютер программисттери өз өнөрүн үйрөнүп жатканда эң негизги башталыш болуп саналат. Ассамблея тили (ошондой эле ASM деп да аталат)-компьютерлер жана башка түзмөктөр үчүн программалоо тили, жана кошумча функцияларды сунуштаган өнүккөн тилдерге салыштырмалуу негизинен төмөнкү деңгээлдеги вариант болуп эсептелет. Сиз кодду жазгандан кийин, ассемблер аны машина кодуна айлантат (1с жана 0с). Процессорлордун татаалдашуусун эске алганда, жыйноо программалоо үчүн колдонмолор чектелүү болуп калганда, Ассамблея бир нече максаттар үчүн пайдалуу бойдон калууда, анын ичинде өз алдынча аткарылуучу файлдар же түзмөктүн драйверлери үчүн код жазуу.

Кадамдар

3төн 1 бөлүк: Ассамблея тили менен таанышуу

Программаны Ассамблеяда баштаңыз 1 -кадам
Программаны Ассамблеяда баштаңыз 1 -кадам

Кадам 1. Ассамблея тили боюнча окуу

Код жазуу аракетине киришүүдөн мурун, алгач тилдин өзүн түшүнүү жакшы. Окуу китептеринен онлайн гиддерге чейин жеткиликтүү ресурстар бар.

Программаны Ассамблеяда баштаңыз 2 -кадам
Программаны Ассамблеяда баштаңыз 2 -кадам

2 -кадам. Негизги терминдерди үйрөнүңүз

Мисалы, IDE (интеграцияланган өнүктүрүү чөйрөсү) текстти түзөтүү, мүчүлүштүктөрдү оңдоо жана компиляциялоо сыяктуу нерселерди башкарган коддоо интерфейсин камсыздай турганын билгиңиз келет. Сиз ошондой эле "регистрлер" программанын коду менен байланышкан номерлерди сактагандыгы сыяктуу, монтаждын иш жүзүндө жакшыраак түшүнгүңүз келиши мүмкүн. Терминологияны жакшыраак түшүнүү код жазуу процессинин өзүн үйрөнүүнү жеңилдетет.

Ассамблеяда программалоону баштаңыз 3 -кадам
Ассамблеяда программалоону баштаңыз 3 -кадам

Кадам 3. Монтажчылар сизге туура келеби же жокпу, чечиңиз

Эсиңизде болсун, бир катар программалоо тилдери бар, анын ичинде чогултууга караганда алда канча көбүрөөк функционалдык мүмкүнчүлүктөр бар. Бирок, дагы эле бир катар тиркемелер бар, алар үчүн пайдалуу-телефон программасы жана кондиционерди башкаруу тутумдары үчүн өз алдынча аткарылуучу файлдарды түзүүдөн баштап, процессорго тиешелүү көрсөтмөлөрдү иштеп чыгууга чейин.

Программаны Ассамблеяда баштаңыз 4 -кадам
Программаны Ассамблеяда баштаңыз 4 -кадам

Кадам 4. Кайсы ассемблерди колдонууну каалаарыңызды аныктаңыз

A86, NASM же GNU сыяктуу кураштыруучулар жалпысынан анча татаал эмес функцияларды аткарышат жана башталгычтар үчүн ылайыктуу баштапкы чекиттер болушу мүмкүн. Ар бир ассемблер бир аз башкача иштейт, андыктан кийинки көрсөтмөлөр MASM (Microsoft Macro Assembler)-Windows операциялык тутумдары менен иштеген негизги ассемблерди колдонуп жатканыңыздын негизинде иштейт. Бул x86 ассемблер тили жана Intel синтаксисин колдонот.

3төн 2 бөлүк: Ассемблерди жана IDEди жүктөө жана орнотуу

Ассамблеяда программалоону баштаңыз 5 -кадам
Ассамблеяда программалоону баштаңыз 5 -кадам

Кадам 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 жүктөлүп, орнотулган болушуңуз керек.
Программаны Ассамблеяда баштаңыз 6 -кадам
Программаны Ассамблеяда баштаңыз 6 -кадам

Кадам 2. IDE жүктөп алыңыз

Жөн гана MASM менен жакшы иштеген WinAsm IDEди табуу жана орнотуу үчүн "WinAsm жүктөө" үчүн издөө жүргүзүңүз. Башка IDEлер сиз колдонуп жаткан программалоо тилине жараша ылайыктуу болушу мүмкүн. Бир популярдуу альтернатива RadAsm.

7 -кадамды Ассамблеяда программалоону баштаңыз
7 -кадамды Ассамблеяда программалоону баштаңыз

Кадам 3. MASM 8.0 орнотуу

Программаны жүктөп алгандан кийин, "Чуркоо" баскычын басуу менен орнотууну дароо баштасаңыз болот. Же болбосо, аны кийинчерээк орнотууну каалашыңыз мүмкүн, бул учурда Сактоо баскычын чыкылдатыңыз. Run басканда, MASM 8.0 сиздин “[Visual C ++ Express] bin” каталогуна орнотулат жана ml.exe деп жазылат.

Ассамблеяда программалоону баштаңыз 8 -кадам
Ассамблеяда программалоону баштаңыз 8 -кадам

Step 4. Сиздин IDE орнотуу

WinAsm жүктөлгөндөн кийин, сиз файлдарды чыгарып, "c: / program files \" папкасына көчүрөсүз. Ошондой эле, кирүү оңой болушу үчүн, иштөө столуна кыска жолду коюңуз.

Ассамблеяда программалоону баштаңыз 9 -кадам
Ассамблеяда программалоону баштаңыз 9 -кадам

Кадам 5. IDEди конфигурациялоо

Биринчиден, WinAsm программасын ишке киргизиңиз. Эгерде сиз столго кыска жол орноткон болсоңуз, аны эки жолу чыкылдатыңыз. Башка процессор же IDE колдонуп жатсаңыз, бул процесс айырмаланарын эске алыңыз.

Программаны Ассамблеяда баштаңыз 10 -кадам
Программаны Ассамблеяда баштаңыз 10 -кадам

Кадам 6. WinAsmди MASM 8.0 менен интеграциялоо

WinAsmдин Tools өтмөгүн чыкылдатуу менен баштаңыз, аталган өтмөктөн Параметрлерди тандап, акыры Файлдар жана Жолдор өтмөгүн тандаңыз. Андан кийин MASM орнотуу папкаңызга алгачкы үч жазууну (жолдорго шилтеме) өзгөртүү. Бүткөндөн кийин, чыкылдатыңыз ОК.

Файлдар жана жолдор өтмөгүндөгү маалыматты тууралагандан кийин, биринчи үч жазуу төмөнкүдөй окулушу керек. Экилик жол C: / Masm32 / Bin болушу керек; кошуу жолу C: / Masm32 / Include болушу керек; жана китепкана жолу C: / Masm32 / Bin болушу керек

3 -жылдын 3 -бөлүгү: Жазуу коду

Программалоону Ассамблеяда баштаңыз 11 -кадам
Программалоону Ассамблеяда баштаңыз 11 -кадам

Кадам 1. Код жазууну баштаңыз

WinAsmди ишке киргизип, Файл өтмөгүн чыкылдатыңыз. Андан кийин Жаңы долбоорлорду тандаңыз, жана сиз бир нече вариантты көрөсүз. Бул параметрлерге Console Application жана Standard EXE кирет. Эгерде сиз GUIге (графикалык колдонуучу интерфейси) негизделген колдонмону түзүүгө аракет кылып жатсаңыз, мисалы, экинчисин тандайсыз.

Ассамблеяда программалоону баштаңыз 12 -кадам
Ассамблеяда программалоону баштаңыз 12 -кадам

Кадам 2. Кураштыруу программасынын структурасын колдонуңуз

Кадимки структура архитектураны аныктоочу линияны, берилиштер бөлүмүн (section.data), анын ичинде инициализацияланган маалыматтарды же константаларды, өзгөрмөлөрдү жарыялаган bss бөлүмүн (section.bss) жана өзүңүздүн чыныгы жериңизди камтыган текст бөлүмүн (section.text) камтышы мүмкүн. программанын коду. Бул акыркы бөлүм ар дайым глобалдык _start декларациясы менен башталат. Ар бир тизмек код блогу деп аталат.

Ассамблеяда программалоону баштаңыз 13 -кадам
Ассамблеяда программалоону баштаңыз 13 -кадам

3 -кадам. Негизги буйруктарды түшүнүңүз

Ассамблея тилинде үч түрдөгү билдирүүлөр бар: аткарылуучу көрсөтмөлөр же көрсөтмөлөр (бул процессорлорго операция коду аркылуу эмне кылуу керектигин айтышат), ассемблердин көрсөтмөлөрү же жасалма опциялар (бул монтаждоочуга процесстерди сүрөттөйт) жана макростар (бул текст катары кызмат кылат) алмаштыруу механизми).

Кеңештер

  • Ассемблер тилинде (же башка) эффективдүү код жазуу жалпысынан бир аз олуттуу изилдөөнү талап кылат. Сиз, өзгөчө, ассемблер тили боюнча керектүү синтаксисти жана ассамблея программасын кантип түзүүнү жана шилтемелөөнү үйрөнгүңүз келет.
  • Эгерде сизде конкреттүү жыйноочу орнотууда кандайдыр бир кыйынчылыктар пайда болсо, анда белгилүү бир суроолорго жооп ала турган форумга кошулуу акылдуулукка жатат.
  • Кээ бир программалоо тилдеринде ассемблерди аралаштыруу мүмкүнчүлүктөрү бар, мисалы, C жана C ++ тилиндеги ASM ("") функциясы. Бул баштоо үчүн жакшы жол.
  • Эгер сиз жаңы MASM версиялары менен иштеген IDEге кызыксаңыз, www.visualmasm.com/ дарегинен Visual MASMди текшериңиз.

Сунушталууда: