Makrosų ir paprogramių sudarymas (0)
Makrosai ir paprogramės. Kas jie? Keletas jų privalumų, trūkumų ir pavyzdžių.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
Makrosai ir paprogramės. Makrosai tai parašytos atskiros bibliotekos programai. Programoje makrosus galima panaudoti daug kartų.
Pavyzdžiui:
macro bankas 1 ;makroso pavadinimas
bsf STATUS,RP0 ;pirmo banko nustatymas
endm ;makroso užbaigimas
parašyta programa išsaugoma kaip biblioteka t.y. pavadinimas.inc. Taip pat jau šią biblioteką reikią įtraukti į darbinės programos lange Header files šaką. Norint iškviesti parašytą macro (biblioteką), ją taip pat reikia įtraukti programoje, pavyzdžiui:
#include pavadinimas.inc ; macro įtraukimas į darbinę programą
Kai norima panaudoti macro rašomoje programoje, tiesiog rašomas jo pavadinimas. Pavyzdžiui:
bankas1 ;nustato pirmą banką
šiuo atveju bankas1 tampa kaip komanda ir atlieka pirmo banko nustatymą. Jeigu macrose yra naudojamos žymės jas reikia apsibrėžti local direktorija, kitaip programa meta kaip klaidą. Pavyzdžiui:
local žymė1 ; žymės apsibrėžimas
lokal žymė2 ; žymės apsibrėžimas
... ...
Macro rašymas turi trūkumą tokį, kad susimuliavus į programą įtraukia visą programos tekstą koks yra parašytas macrose. Panašią paskirtį turi ir paprogramės tik jos į programos tekstą yra iškviečiamas to pasakoje užima mažesnę programos atmintį.
Paprogramės pradžią nurodo žymė, o pabaigą return, pavyzdžiui:
Wait10
nop ;1 ciklo vėlinimas
nop ;1 ciklo vėlinimas
nop ;1 ciklo vėlinimas
nop ;1 ciklo vėlinimas
nop ;1 ciklo vėlinimas
nop ;1 ciklo vėlinimas
return ;2 ciklų vėlinimas
parašytai paprogramei iškviesti yra naudojama komanda call, pavyzdžiui:
call wait10 ;iškviečiama paprogramė kuri vėlina 10 ciklų
jeigu norima, kad grįžtant iš paprogramės į w registrą būtų įrašyti duomenys yra naudojama komanda retlw, pavyzdžiui:
žymė ;paprogramės pavadinimas
... ...
retlw .10 ;grįžus iš paprogramės į w registrą bus įrašytas skaičius 10