Makroarviointi

Synonyymi MASM Yleistä Viittaa makroohjelmointiin

Compilation and Assembler

Assemblykielellä kirjoitettu lähdeohjelma on käännettävä kohdeohjelmaksi, jotta kone suorittaa sen. Tätä käännösprosessia kutsutaan kääntämiseksi, ja kokoonpanotehtävän suorittavaa ohjelmaa kutsutaan assembleriksi, katso kuva 1.

assembler on aikaisintaan on myös kypsin järjestelmäohjelmisto. Sen lisäksi, että konekielinen lähdeohjelma voidaan kääntää konekieliseksi ohjelmaksi, on mahdollista myös automaattisesti allokoida tallennusalueita (mukaan lukien ohjelma-alue, data-alue, tilapäinen alue jne.) käyttäjän tarpeiden mukaan; automaattisesti laittaa erilaisia ​​kantaa järjestelmä Numeron muuntaminen muunnetaan binääri, muuntaa merkin ASCII-koodi, laskea arvo lauseke; automaattinen lähdeohjelma tarkistaa, antaa virheilmoituksen (kuten laiton muoto, määrittelemätön museo, laserit, puuttuvat operandit jne.) Odota. Näillä toiminnoilla varustettua kokoajaa kutsutaan myös peruskokoonpanoksi (tai pienen kokoonpanon ASM:ksi).

makroohjelmointisekvenssi

Peruskäännöksen perusteella on edelleen sallittua määrittää komentosarja lähdeohjelmassa makrokokoonpanoksi (MASM). ohjelmoida. Se sisältää kaikki ASM-toiminnot, mutta myös korkean tason kokoonpanokielen ominaisuuksia, kuten makron, rakenteen, tietueet.

Makrokokoonpanon pääominaisuus on lisätä makrojen käsittelyä assemblerissä. Sen avulla käyttäjät voivat helposti määrittää ja käyttää makroja, joita voidaan käyttää useissa esiintymisissä ohjelmassa tietyssä muodossa ja joita voidaan moduloida ohjelman kappaleiden vähemmistösäädöllä. Tämä menetelmä ei ainoastaan ​​lyhennä ohjelman pituutta, lisää luettavuutta ja ohjelman kappaleen muotoa on muutettava, vaan sen on muutettava vain määritelmää ilman, että jokaista käyttöä tarvitsee muuttaa.

Makrokokoonpano sisältää paitsi yleiskokoajan toiminnallisuuden, myös edistyneen ohjelman käyttämä tietorakenne on edistynyttä ohjelmaa lähellä oleva assembler. Se tarjoaa esimerkiksi tietueen, rakenteen ja merkkijonotoiminnon; on monia toimintoja, kuten makroprosessointi, ehdollinen kokoonpano ja levykäyttöjärjestelmän DOS-toimintokutsut; ohjelman kehitys ja virheenkorjausvälineet ovat myös suhteellisen valmiita.

Syitä makrokokoonpanon käyttöön

Käännöskieliohjelman aikana jotkin funktiosegmentit on toistettava useita kertoja, yksinään on vain operandien lukumäärä. Ohjelmoinnin työmäärän vähentämiseksi käytetään yleensä kahta menetelmää:

(1) kirjoittaa ohjelmasegmentin erilliseksi aliohjelmaksi;

(2) määrittää lohkon makroksi.

Makro (ohje)

(1) lyhennä lähdekoodia;

(2) laajentaa käskyjoukkoa;

(3 Muuta tietyn ohjeavun merkitystä (makron prioriteetti on korkeampi kuin käskyt ja käskyt).

makro

makro on laajalti olemassa oleva käsite tietokoneohjelmistojärjestelmissä. Toimistoohjelmistotoimistosta ohjelmakehityskieleen C jne. voit määrittää makrona käytettävän prosessin. Erityisesti kokoonpanokielessä makro on myös yksi kääntämisen pääominaisuuksista, joka on toinen yksinkertaistettu lähde yksinkertaistetuille lähdeproseduureille, jotka ovat samanlaisia ​​kuin aliohjelma.

Ohjelmointikieli, makro on ohjelmakoodi, jolla on itsenäisiä ominaisuuksia lähdeohjelmassa, ja makroa voidaan kutsua myös makroksi, makrooperaatioksi. Makrojen käyttö vaatii kolme vaihetta: makron määrittely, makron säätö ja makro. Ensimmäinen makron määritelmä; sitten makropuhelu; Lopuksi MASM-laajennus tekee asennuksen aikana.

makromäärittely

makromäärittelylause Makro- ja aliohjelmamäärittelylause proc on pseudokäsky. Makromäärittely vaatii pseudokäskyparin Makro ja ENDM loppuun. Makrolla määritetty muoto on seuraava:

makron nimi Makro [dummy 1, dummy 2, ...]

...

Squiry Stroke

...

endm

Kuvaus: Makromäärittely ei luo kohdekoodia, vaan käyttää vain yhteyttä "makronimen" ja lähdekoodin välillä. Näistä dumnit 1, dummy 2, ... ovat virtuaalisia parametreja tai lomakeparametreja, jotka on erotettu pilkuilla. Venttiiliä tai muotoa ei ole asetettu.

Esimerkki: Määritä näppäimistön syöttömakro Syöte:

syöttömakro

MOV AH, 01H

int 21 h

endm

on huomioitava, että kun nimeät, älä ole sama kuin kokoonpanokielen ohjenimi, sana on sama.

makrokutsu

Kun käytät makroa ohjelmassa, kirjoita makron nimi [inform]. Makron muoto on: makron nimi [Real parametric 1, Real parametric 2, ..., Real Parts n].

Kirjoita esimerkiksi merkki näppäimistöltä, määritä, onko se "yksi" numero, ei, jatka syöttämistä, on loppu. (Käyttäen aiemmin määritettyä makroa).

malli pieni

pino 100h

koodi

aloita:

syöttö

CMP Al, '-' <

RetSys

loppu alku

makronäyttö auki

makronäyttö Korvaa makron ohjelmasegmentin kohdekoodi makrojen rungoille makromäärittelyissä. Kun lähteet kootaan, makroarviointi makron jokaisen makron makron, korvaa vastaavan muodon ja muuttaa makron runkoja. Kuva 2 on esimerkki makron käyttöönotosta.

Yleinen makroprosessoinnin pseudodirektiivi

Makromääritelmän pseudodirektiivi (makro / Endm)

Muoto:

Makro makro < / p>

(makro)

endm

MacRo on makromäärittely, joka määrittelee makron nimen makromäärittelyn runkoon sisältyväksi lohkoksi. ENDM edustaa makron loppua, eikä makron nimeä ole edessä. Kun makro on määritetty, voit käyttää makron nimeä useita kertoja. Mutta sinun on ensin määritettävä ja vasta sitten soitettava. Makromäärittely sallii sisäkkäisen, eli makromääritykset voivat sisältää toisen makromääritelmän, ja makromoduulia voidaan myös käyttää, mutta se on ensin määriteltävä ja vasta sitten kutsuttava.

Direktiivin ilmoitus (paikallinen)

LOCAL makrotekstissä ilmoittaa osittaisen viitenumeron makrotekstiin, jotta vältetään sama viitenumero lähdeohjelmassa, kun makrolaajennuksessa on monia virheitä jotka näkyvät useita kertoja luoden useita määritelmiä merkinnöistä. LOCAL-direktiivin tulee sijaita ennen kaikkia muita lausekkeita (mukaan lukien kommentit) makrolohkossa, sen muoto on:

paikallinen paikallinen tunnus [, ...]

esimerkiksi seuraava makro täydennys rekisterin täydentämiseksi Yksi heksadesimaaliluku muunnetaan vastaavaksi ASCII-koodiksi. Koska paikallinen tarra näkyy makrotekstissä, makrotekstin paikallinen tarra on ilmoitettava LOCAL-direktiivin avulla.

HEXTOASC-makro REG

Paikallinen numero

Cmp REG, 0AH

JC Num

Lisää rekisteri, 07h

Num.: lisää reg, 30h

endm

Tyhjennä ohjeille määritetty makro (PURGE)

makron nimi voi olla Muut muuttujien nimet, tunnisteet, käskyt, pseudooperoidut nimet ohjelmassa, makron korkein prioriteetti, joka on korkein taso makrosta, joten samanniminen direktiivi tai pseudooperaatio on virheellinen. Näiden ohjeiden tai pseudokäskyjen toiminnan palauttamiseksi, noudata konekäskyjen määritelmää, makro-asentaja tarjoaa pseudooperaation Purge makromäärittelyjen peruuttamiseksi tarvittaessa.

Purge-direktiivin yleinen muoto on:

Tyhjennä makron määrittämä nimi [, ...]

hakasulku osoittaa, että Purge voi peruuttaa useita makromäärityksiä. Makron nimi erotetaan pilkulla. Kuten makron määritelmä:

Alamakro VARX, VARY, tulos

...

endm

makrokutsu: SUB X, Y , Z

Purge Sub

"purge sub" Sub-palautusvähennystoiminto.

Related Articles
TOP