Ce se bazează programarea ansamblului?

- master tehnica de a crea programe în SDK MASM32;

- să studieze utilizarea șabloanelor programului de asamblare;

- studiază experimental activitatea unui macro-generator;

- pentru a studia tehnica de creare și aplicarea de macrocomenzi.

- învățați să observați rezultatele generatorului macro construit în ml.exe.

Informații scurte din teorie

Ce se bazează programarea ansamblului?

Programarea în asamblare înseamnă scrierea programelor aproape la nivelul instrucțiunilor mașinii. Asamblatorii sunt limbi de programare în care fiecare instrucțiune a mașinii procesorului este asociată unui singur operator. (Notă: Asamblorii includ, de asemenea, orice alte instrumente suplimentare pentru a facilita programarea, dar caracteristica principală a acestora este aceea că o comandă de procesor poate fi reprezentată de un singur operator). Pentru a converti textul sursă într-un exe-modul executabil, compilatorul (traducătorul textului în codul mașinii) și linkerul (acesta leagă secțiunile funcționale individuale ale codului mașinii și creează un modul ex). Limba de programare a asamblorilor, inclusiv abilitatea de a descrie și de a folosi substituții macro (macro-uri), se numește în mod tradițional "macroassembler". Printre Macroassemblers, Microsoft Macroassembler este considerat a fi cel mai elaborat și mai convenabil meritat, MASM pe scurt. Versiunea pe 32 de biți se numește MASM32.

Microsoft include în pachetele Visual C ++ și Visual Studio compilatorul de asamblare macro ML.EXE și linkerul LINK.EXE, componente ale mediului de dezvoltare a aplicațiilor software (IDE). Aceste componente software calitative pot fi folosite singure, în afara mediilor de programare menționate. Microsoft nu le tratează ca produse separate pe piața de software și nu le împiedică să le folosească în mod liber de oricine.

Pachetul MASM conține multe resurse care completează ML.EXE și LINK.EXE înainte de un set funcțional de suport pentru dezvoltatorii de software (Software Developer's Kit, SDK).

Și, în sfârșit, există multe companii, grupuri de inițiativă și programatori individuali care creează și adesea adesea însoțesc orice program suplimentar de programare pe tot felul de asamblori - și MASM, și nasm și fasm și tot felul de alte. În cele din urmă, Intel publică informații despre arhitectura și sistemul de comenzi ale procesoarelor sale și, pe această bază, chiar și o persoană este capabilă să scrie "asamblorul", exemple despre care găsim pe setul de Internet.

- instrumente pentru lucrul cu registrul;

O astfel de listă extinsă de numai clase de programe sugerează că atunci când se dezvoltă programe de programare în programatori de asamblare se întâlnesc cu un număr imens de situații speciale, non-standard, specifice, pentru a depăși care sunt create aceste instrumente.

Compoziția pachetului MASM

În cursul programării, elevii se familiarizează cu mediile de dezvoltare integrate ale aplicațiilor software (Integrated Development Environment, IDE). Exemple de ele pot fi QT Creator, Delphi, Kylix, Visual Studio. Toate aceste medii vă permit să creați aplicații utilizând limbi de programare de nivel înalt - C, C ++, Object Pascal.

MASM32 nu este un mediu de dezvoltare. Acesta este un set de resurse concepute pentru programe de nivel scăzut (adică la nivelul instrucțiunilor mașinii de procesor). Astfel de produse în limba engleză sunt numite "Software Developer's Kit".

MASM32 constă, în primul rând, în programele de servicii. Cele mai importante sunt compilatorul ML.EXE și link-ul LINK.EXE. Fără aceste două programe, este imposibil de realizat un program de asamblare. În plus, pentru producerea programelor funcționale în Windows, sunt necesare mai multe resurse - biblioteci și fișiere incluse:

Toți se conectează, de obicei, la programul dezvoltat cu o singură directivă de linie.

După cum arată practica, programarea în asamblare cu SDK MASM32 instalată pe computer este destul de reușită cu următorul program suplimentar:

· Manager de fișiere Total Commander;

Un rol important în programarea în asamblare este jucat de consola de sistem Windows - CMD.EXE. Deși asamblorul poate scrie și aplicații cu GUI, dar marea majoritate a programelor de asamblare - toate aceleași consola. Pur și simplu nu au nevoie de o interfață grafică, în spatele ei esența acțiunilor efectuate în program este pierdută.

Pentru apelarea convenabilă a programelor și a pachetelor care sunt incluse în MASM, va trebui să efectuați unele reconfigurări în sistemul de operare.

Primul lucru pe care trebuie să-l faceți este să adăugați calea la variabila căii de sistem la mai multe foldere ale MASM32 SDK: bin, lib, macro-uri. Scopul acestei acțiuni este de a face posibilă rularea programelor MASM32 din orice dosar, nu doar cel în care sunt localizate fizic. Problema este că, dacă o linie de comandă sau un fișier batch încearcă să acceseze un anumit fișier, acesta (fișierul dorit) este căutat mai întâi în dosarul activ curent. Dacă nu există, atunci OS se referă la calea variabilă a șirului de sistem. Această linie constă dintr-o listă de căi către dosare, separate de simbolul ";". De acolo, aceste căi sunt extrase la rândul lor, iar sistemul caută fișierul dorit în fiecare dosar de-a lungul căii următoare. Dacă găsiți undeva fișierul dorit, căutarea este finalizată cu succes. Dacă sistemul trece prin toate căile din cale și fișierul NU este detectat, atunci situația "fișierul nu a fost găsit" este fixat cu ieșirea corespunzătoare a mesajului.

Prin urmare, apropo, rezultă că mesajul "fișier nu a fost găsit" nu înseamnă că nu există deloc un astfel de fișier pe computer. Acest lucru înseamnă numai că nu este în dosarul curent și foldere din cale.

Dacă vrem, de exemplu, că compilatorul ML.EXE poate fi apelat din folderul de lucru, aveți nevoie de calea d: \ masm32 \ bin pentru a fi în șirul de cale, deoarece compilatorul este în el.

Al doilea lucru pe care trebuie să-l faceți este să atribuiți Notepad ++ ca un handler nu doar pentru fișierele txt, ci și pentru fișierele asm (fișierele sursă ale programelor în asamblare).

Din punct de vedere fizic, pachetul MASM este implementat în folderul MASM32 din dosarul rădăcină al discului specificat de utilizator, în mod tradițional D: \ MASM32. Trebuie remarcat faptul că, deoarece o aplicație instalată a MASM în registru nu este înregistrată. Adică, pachetul este operabil imediat după instalarea tuturor fișierelor sale.

Figura 4.1 - Dosarul rădăcină al pachetului MASM

Dosarele au atribuirea: bin - fișierele executabile ale pachetului (* .bat, * .exe și * .dll); help - chm-fișiere de ajutor electronic pe principalele componente ale pachetului; include și lib - include fișierele inc și fișierele libraries * .lib. Ambele oferă interfața programelor de asamblare create cu sistemul de operare Windows; macro-uri - un set de blanks și macro template-uri pentru o gamă largă de sarcini practice. tutorial - un număr mare de exemple gata de programe asm pe o varietate de subiecte. Sunt potrivite atât pentru studierea programării pe MASM, cât și pentru spații pentru dezvoltare proprie.

Articole similare