Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2
Podstawyprogramowaniaprocesorów
rodzinyx86wtrybierzeczywistym
Programowaniesystemówkomputerowychmożeodbywaćsięnaróżnychpoziomach,zzasto-
sowaniemróżnychjęzykówprogramowania.Nanajniższympoziomieodbywasięzbezpo-
średnimzastosowaniembinarnychkodówrozkazówprocesora.Wówczasprogramistatworzy
program,którypozapisaniuwpamięcikomputera,możebyćwykonanybezpośrednio,bez
jakiegokolwiekprzetwarzania.Dopisaniaprogramuwtakisposóbniesąpotrzebneżadne
dodatkowenarzędziaprogramistyczne,jednakjesttosposóbbardzonieefektywny.
Ztegopowodu,zamiastprogramowaniazbezpośrednimzastosowaniembinar-
nychkodówrozkazów,stosujesięjęzykiasemblerowe,wktórychwystępująsymbolicz-
nenazwyinstrukcji,atakżesymbolicznenazwyrejestrówroboczychprocesora,których
zawartościstanowiąargumentywykonywanychoperacji.Zasadąpodstawowąpodczas
programowaniawjęzykuasemblerajestprzyporządkowaniejednejinstrukcjijęzyka
asemblerajednegorozkazuzapisanegowpostacibinarnej.
Programwjęzykuasemblerajestwięctekstemzapisanymnajczęściejwplikutek-
stowymzrozszerzeniem.asm.Utworzenieprogramubinarnegonapodstawieprogramu
zapisanegowjęzykuasemblerawymagazastosowaniaprogramutłumaczącego,zwane-
gowtymprzypadkuasemblerem.Ponadtoutworzenieprogramuwykonywalnegodla
danegosystemuoperacyjnegowymagazastosowaniaprogramukonsolidującego.
2.1.Składniaprogramu
2.1.1.Identyfikatory
Identyfikatorysąniezbędnedookreśleniaróżnychobiektówwystępującychwprogramie,
takichjak:zmienne,etykiety,mnemonikiinstrukcji,nazwyrejestrówprocesora,dyrek-
tywyasemblera.Identyfikatortociągliteralfabetułacińskiego(nierozróżniasięwiel-
kichimałychliter),cyfrorazznaków:?.@_$,przynastępującychograniczeniach:
•
długośćidentyfikatoramożebyćdowolna,jednakasemblerbierzepoduwagę
jedyniepierwszych31znaków;
•
identyfikatorniemożezaczynaćsięcyfrą;
•
znakkropkimożebyćjedyniepierwszymznakiemidentyfikatora.