MASM, TASM și wasm

Asamblorii MASM, TASM și WASM diferă. Dar crearea de programe simple pentru ei nu are aproape nici o diferență, cu excepția asamblarea și conectarea.

NOTĂ
Rețineți că, în prima echipă, am înregistrat 2 în loc de 02h. MASM, TASM și WASM, ca Emu8086, permite astfel de "libertăți". Deși puteți scrie 02h - este nici o eroare.

Explicarea programului:

.modelul minuscul - prima linie. Directiva .model definește modelul de memorie pentru un anumit tip de fișier. În cazul nostru este un fișier cu extensia COM, asa ca alege modelul mic, în care segmentele de cod sunt combinate, date și stivă. mic model este conceput pentru a crea tipul de fișiere COM.

.cod - a doua linie. Această directivă începe segmentul de cod.

ORG 100h - rândul 3a. Această comandă setează valoarea contorului programului în 100H, pentru că atunci când încărcarea unui fișier COM în memorie, DOS alocă bloc de date PSP este primul 256 bytes (decimal 256 la hex este egal cu 100h). Codul de program este numai după acest bloc. Toate programele care sunt compilate în fișiere, cum ar fi COM, trebuie să înceapă cu această directivă.

începe: AH MOV, 02h - linia 4-a. Eticheta de start este înainte de prima echipă în program și va fi utilizat în directivă END pentru a indica ce echipa începe programul. instrucțiune MOV plasează valoarea celui de al doilea operand la primul operand. Aceasta este, 02h valoarea este plasată în registrul Academiei de Științe. De ce se face acest lucru? 02h - aceasta este o funcție DOS care afișează un simbol pe ecran. Scriem pentru DOS, asa ca vom folosi comanda sistemului de operare (OS). Și vom scrie această funcție (sau mai degrabă numărul său) este în registrul AN, deoarece 21h întrerupe utilizează acest registru.

MOV DL, 41h - rândul 5a. Simbolul Cod «A» este stocat în DL registru. Codul de caractere «A» pe standardul ASCII - numărul 41h.

INT 21h - 6-string. Acest lucru este foarte întrerupere 21h - comandă, care determină funcția DOS sistem, definit în AH registru (în acest exemplu, funcția 02h). Echipa INT 21h - principalul mijloc de interacțiune cu software-ul sistemului de operare.

INT 20h - rândul al 7-lea. Această întrerupere spune ca sistemul de operare să se retragă din program, și transferul aplicației consola de administrare. În cazul în care programul este deja compilat și a alerga de operare sistem de comandă INT 20h ne va aduce înapoi la sistemul de operare (de exemplu, DOS).

start END - rândul 8-lea. Directiva END completează programul, în același timp, arătând modul în care eticheta ar trebui să înceapă executarea sa.

Ei bine, am scris un program. Dar aș vrea să văd cum funcționează. Pentru a face acest lucru, trebuie să provoace mai întâi asamblor să-l compilați într-un fișier obiect, și apoi apel linker-ul, care este obiectul fișierului va crea un fișier executabil care este un program, cum ar fi COM. Diferite asamblorii trebuie să îndeplinească aceste activități în diferite moduri.