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óbniepotrzebneż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
Identyfikatoryniezbę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.