(obținerea codului mașinii din lista de ansamblu)
Principiul general de asamblare a programelor.
Pasul 1. Instalarea MASM6.10 - 6.13
Pentru a traduce fișierul de asamblare în codul mașinii, trebuie să utilizați un program special de asamblare. Cele mai populare astăzi poate fi numit un puternic și disponibil gratuit MicrosoftMacroAssemblerversy 6.10-6.13, care vă permite să creați cod nativ pentru sistemyMS-DOS de operare și dlyaWindows. Dacă aveți deja instalat software-ul necesar, mergeți doar la al doilea pas.
2. Dezarhivați arhiva. Pentru aceasta, executați fișierul Masm.exe descărcat în Windows OS și specificați directorul în care doriți să salvați distribuția.
3. Rulați fișierul setup.exe din directorul Disk1.
4. Selectați comanda "Instalați Microsoft Macro Assembler".
5. Specificați sistemul de operare în care funcționează MASM (de obicei o opțiune "DOS / Windows" NT ").
6. În fereastra următoare ("Instalați fișiere pentru MS Windows?"), Specificați "YES".
8. În fereastra următoare vi se va cere să utilizați mouse-ul Microsoft. Dacă da, dând clic pe "YES", instalatorul instalează driverul pentru acest mouse.
9. Răspundeți acum la întrebarea dacă instalați ML.EXE. Fără a intra în detalii, voi observa: asigurați-vă că ați instalat acest program. Avem nevoie de el pentru muncă.
10. Următoarea fereastră este instalarea documentației, care include informații despre capabilitățile MASM și instrucțiunile de asamblare pe care le suportă. Dacă sunteți puternic în limba engleză, atunci este de dorit să-l instalați și citiți-l cu atenție.
11. Instalarea programelor eșantion. MASM conține exemple de cod sursă pentru programele Windows. Ca o introducere, le puteți instala.
12. Acum trebuie să selectați unitatea și calea unde va fi instalat MASM.
13. După ce ați specificat toate căile, va apărea o fereastră în care vor fi listate toate componentele pe care le instalați. Dacă ați specificat corect, selectați "NO CHANGES" - "Do not change".
15. Selectați "Exit SETUP" în "Meniul principal".
16. Du-te la directorul unde a fost instalat MASM (implicit - C: \ MASM611).
17. Subdirectorul BIN conține programele principale. În acesta, puteți crea fișiere ASM și le puteți asambla după cum este descris mai jos.
Pasul 2. Asamblarea
Programul de asamblare (MASM, TASM, WASM, NASM etc.) creează un fișier obiect cu extensia OBJ. Acest fișier este un fișier de tranziție între fișierul de asamblare (.ASM) și programul (.COM / .EXE).
În cazul în care listele de asamblare sunt prea mari, programul este împărțit în mai multe părți. În majoritatea cazurilor, se utilizează directiva include (așa că vom asambla shell-ul nostru).
Cu toate acestea, în cazul în care fișierele, care sunt atașate directiva menționată mai sus sunt mari și, în general, imuabil (de exemplu, tratamente gata făcute, care nu necesită editare), asamblarea permanentă a acestor proceduri pot fi consumatoare de timp. Într-un astfel de caz, fiecare parte separată a programului (cod de asamblare) este asamblat separat, creând astfel unul sau mai multe fișiere obiect (obj), care nu necesită asamblare constantă, numai aspectul (legarea) (a se vedea. Etapa 3).
Pasul 3. Aspectul
Dacă în procesul de asamblare nu există erori în lista de asamblare, programul de asamblare creează un fișier obiect (.OBJ).
Apoi, trebuie să utilizați linkerul (linker), care este inclus în programul de asamblare. Această procedură este mult mai rapidă decât asamblarea.
Este linkerul care creează un fișier gata de execuție (program) cu o extensie COM sau EXE din fișierul obiect (.OBJ). Ambele tipuri au diferențe în structura programului de asamblare. Primul tip (COM) nu poate depăși 64KB, și este utilizat numai Vms-DOS, dar este foarte compact și ușor de a scrie programe mici și rezidenții sub sistemuMicrosoftDOS de operare. În majoritatea cazurilor, dacă programul este scris în Asamblare pură sub MS-DOS, nu este nevoie să creați fișiere EXE. În această carte, în prima parte, sunt considerate programe de tipul COM.
Pentru a crea programe standard de tipul EXE sub MS-DOS, nu este nevoie să specificați niciun parametru la linker atunci când se leagă, ceea ce nu se poate spune despre crearea de programe de tipul COM. Faptul este că linkerul nu poate determina în mod automat ce tip este prezentat.
Linkerul verifică, de asemenea, dacă există vreo eroare în fișierul obiect, dar nu și cele gramaticale, ci cele logice. De exemplu, nu există bibliotecă de obiecte specifică specificată în fișier sau în linia de comandă (programul de asamblare nu face acest lucru).
Dacă nu au fost găsite erori, linkerul creează codul mașinii (un program COM sau EXE) care poate fi rulat.
Notă. Plecând de la toate cele menționate mai sus, concluzionăm că pentru crearea codului mașinii este necesar să se utilizeze cel puțin două programe: programul-asamblor și compilatorul.
Cu toate acestea, MASMversy 6.00-6.13 faylml.exe suficient pentru a rula pe linia de comandă parametrul „/ AT“ în procesul de asamblare. Acest sluchaeMASM (în cazul în care nu au existat erori în lista de asamblare) va porni automat linker (LINK.EXE), care va crea tipaCOM fișier.
Asamblarea și conectarea programelor
pachete Microsoft (MASM) și Borland (TASM)
Dacă utilizați Macro Assembler versiunea 5.00 - 5.10 (MASM 5.00 - 5.10):
În linia de comandă, trebuie să specificați următoarele:
> MASM.EXE PROG.ASM
Ca rezultat, este creat un fișier PROG.OBJ, pe care trebuie să-l legați folosind link-ul LINK.EXE, care este inclus în acest pachet:
> LINK.EXE PROG.OBJ / t
Linker-ul va crea PROG.COM, care trebuie pornit. Acesta va fi codul mașinii programului de asamblare. Parametrul "/ t" indică LINK.EXE pentru a crea un fișier COM.
Dacă utilizați Macro Assembler versiunea 6.11 - 6.13 (MASM 6.11 - 6.13):
În linia de comandă, trebuie să specificați următoarele:
> ML.EXE PROG.ASM / AT
Ca rezultat, se creează două fișiere: PROG.OBJ și PROG.COM. PROG.OBJ, de regulă, nu mai avem nevoie și îl puteți șterge și executa PROG.COM pentru executare. Acesta va fi codul mașinii programului de asamblare. Parametrul „/ AT“ indică program asamblor (MASM), care după asamblare, în cazul în care nici o eroare este găsit, trebuie să executați linker (LINK.EXE) și treci parametri pentru a crea un tip de fișier COM.
Fiți atenți. că parametrul "/ AT" trebuie specificat prin caractere CAPTURED!
Dacă utilizați un asamblare turbo (TASM):
În linia de comandă, trebuie să specificați următoarele:
Dacă prog.asm nu conține erori, rezultatul este un fișier PROG.OBJ care trebuie legat folosind link-ul TLINK.EXE (linker):
> TLINK.EXE PROG.OBJ / t
TLINK.EXE va crea un fișier PROG.COM, pe care trebuie să-l executați pentru execuție. Parametrul "/ t" specifică TLINK.EXE pentru a crea un fișier COM.
În anexa nr. 02, erorile tipice sunt luate în considerare la asamblarea programelor.
„Assembler? Este ușor! Învățați să programați »