Mis on makrojuhend?

Arvutiprogrammeerimise makrokäsk on üksik käsk, mis programmi kompileerimisel asendatakse eelnevalt määratletud koodiplokiga. Seda mõistet kasutati algselt assemblerkeeles programmeerimisel kasutatavate juhiste kohta, mille puhul oli mõnikord vaja väga lihtsate toimingute jaoks pikka korduvat koodi. Makrojuhiste väljatöötamine oli üks esimesi samme esindusfunktsioonide teegil põhineva keele loomisel, nii et väikseid toiminguid saaks koguda ühe käsukutsega eraldi programmi. Varaseid makrokäskude teeke tarnisid kõige sagedamini riist- ja tarkvaratootjad, et aidata programmeerijatel funktsioone õigesti kasutada ja neile juurde pääseda.

Programmeerijad kasutasid makrokäske erinevatel põhjustel, kuid kõige levinumad olid programmis korduvate koodide arvu vähendamine, makrokoodis vigade välistamine ja tavapäraselt kasutatavate käsukomplektide pakkumine, et mitmed programmeerijad saaksid programmi kasutada. sama makro juhend. Assembly keeles tuleb iga konkreetse tulemuse saavutamiseks vajalik samm selgesõnaliselt kirja panna. Näiteks võib tuua programmi, mis liitis kolm numbrit kokku.

Kõrgema taseme keelte puhul peetakse liitmisoperaatorit sageli iseenesestmõistetavaks, kuid kolme numbri liitmise toiming nõuab komplekteerimiskeeles vähemalt kuut eraldi koodirida. Esimesed kaks rida laadivad numbrid väljadele, mida nimetatakse registriteks ja mis tegelikult vastavad arvuti sees olevatele füüsilistele ahelatele. Kolmas rida liidab kaks registrit ja neljas rida salvestab tulemuse teise registrisse. Viies rida laadib registrisse viimase lisatava numbri ja lõpplause lisab eelmise tulemuse kolmandale numbrile.

Seda toimingute jada saab hõlpsasti muuta makrokäsuks, nii et vaja on ainult ühte koodirida koos kolme parameetritena lisatava numbriga. Kui programmi koostaja lõpuks kompileerib ja masinkoodiks muudab, tehakse enne montaaži paigaldamist toimingud, mida nimetatakse eeltöötluseks. Eelprotsessor võtab makrokäskluse ja parameetrid ning laiendab selle nõutavateks koodiridadeks, asendades parameetrid tegeliku makrokoodi sees olevate tüüpiliste kohahoidjatega.

Pärast makrokäskude kasutamise laialdast levikut koondati paljud tavaliselt kasutatavad koodiplokid makrokäskude teekidesse. Need teegid sisaldasid mitmeid makrosid, mis aitasid lihtsustada programmeerimist montaažikeeles ning tagada, et teatud toiminguid tehakse erinevates programmides järjepidevalt. Makrokäskude teekide laialdane kasutamine tõi lõpuks kaasa kõrgema taseme keeled, mis toetusid oma teekidele, et pakkuda ulatuslikku funktsionaalsust palju vähem korduvate programmeerimisnõuetega.