Главная » Просмотр файлов » А.В. Столяров - Программирование на языке ассемблера NASM для ОС Unix

А.В. Столяров - Программирование на языке ассемблера NASM для ОС Unix (1110582), страница 5

Файл №1110582 А.В. Столяров - Программирование на языке ассемблера NASM для ОС Unix (А.В. Столяров - Программирование на языке ассемблера NASM для ОС Unix) 5 страницаА.В. Столяров - Программирование на языке ассемблера NASM для ОС Unix (1110582) страница 52019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

Íàçîâ¼ì ýòîò íîìåð ôèçè÷åñêèì àäðåñîì ÿ÷åéêè ïàìÿòè.Èçíà÷àëüíî íèêàêèõ äðóãèõ àäðåñîâ, êðîìå ôèçè÷åñêèõ, ó ÿ÷ååê ïàìÿòè íå áûëî.  ìàøèííîì êîäå ïðîãðàìì èñïîëüçîâàëèñü èìåííî ôèçè÷åñêèå àäðåñà, êîòîðûå íàçûâàëè ïðîñòî ¾àäðåñàìè¿, áåç óòî÷íÿþùåãîñëîâà ¾ôèçè÷åñêèé¿. Îäíàêî ñ ðàçâèòèåì ìóëüòèçàäà÷íîãî ðåæèìà ðàáîòû âû÷èñëèòåëüíûõ ñèñòåì îêàçàëîñü, ÷òî â ñèëó öåëîãî ðÿäà ïðè÷èíèñïîëüçîâàíèå ôèçè÷åñêèõ àäðåñîâ íåóäîáíî. Íàïðèìåð, ïðîãðàììà â ìàøèííîì êîäå, â êîòîðîé èñïîëüçóþòñÿ ôèçè÷åñêèå àäðåñà ÿ÷ååê ïàìÿòè,íå ñìîæåò ðàáîòàòü â äðóãîé îáëàñòè ïàìÿòè à âåäü â ìóëüòèçàäà÷íîéñèòóàöèè ìîæåò îêàçàòüñÿ, ÷òî íóæíàÿ íàì îáëàñòü óæå çàíÿòà äðóãîéçàäà÷åé. Åñòü è äðóãèå ïðè÷èíû, êîòîðûå îáû÷íî ïîäðîáíî ðàññìàòðèâàþòñÿ â ó÷åáíûõ êóðñàõ, ïîñâÿùåííûõ îïåðàöèîííûì ñèñòåìàì. ñîâðåìåííûõ ïðîöåññîðàõ èñïîëüçóåòñÿ äâà âèäà àäðåñîâ.

Ñàì ïðîöåññîð ðàáîòàåò ñ ïàìÿòüþ, èñïîëüçóÿ óæå çíàêîìûå íàì ôèçè÷åñêèåàäðåñà. À âîò â ïðîãðàììàõ, êîòîðûå íà ïðîöåññîðå âûïîëíÿþòñÿ, èñïîëüçóþòñÿ ñîâñåì äðóãèå àäðåñà âèðòóàëüíûå. Âèðòóàëüíûé àäðåñ ýòî ÷èñëî èç íåêîòîðîãî àáñòðàêòíîãî âèðòóàëüíîãî àäðåñíîãîïðîñòðàíñòâà .

Íà òåõ ïðîöåññîðàõ, ñ êîòîðûìè ìû áóäåì ðàáîòàòü,âèðòóàëüíûå àäðåñà ïðåäñòàâëÿþò ñîáîé 32-áèòíûå öåëûå ÷èñëà, òî åñòüâèðòóàëüíîå àäðåñíîå ïðîñòðàíñòâî åñòü ìíîæåñòâî öåëûõ ÷èñåë îò 0äî 232 − 1; àäðåñà îáû÷íî çàïèñûâàþòñÿ â øåñòíàäöàòåðè÷íîé ñèñòåìå,òàê ÷òî àäðåñ ìîæåò áûòü ÷èñëîì îò 00000000 äî ffffffff. Âàæíî ïîíèìàòü, ÷òî âèðòóàëüíûé àäðåñ ñîâåðøåííî íå îáÿçàí ñîîòâåòñòâîâàòüêàêîé-ëèáî ÿ÷åéêå ïàìÿòè.

Òî÷íåå ãîâîðÿ, íåêîòîðûå âèðòóàëüíûå àäðåñà ñîîòâåòñòâóþò ôèçè÷åñêèì ÿ÷åéêàì ïàìÿòè, äðóãèå íå ñîîòâåòñòâóþò, à íåêîòîðûå àäðåñà è âîâñå ìîãóò òî ñîîòâåòñòâîâàòü ôèçè÷åñêîé ïàìÿòè, òî íå ñîîòâåòñòâîâàòü. Òàêèå ñîîòâåòñòâèÿ çàäàþòñÿ ïóò¼ìñîîòâåòñòâóþùåé íàñòðîéêè öåíòðàëüíîãî ïðîöåññîðà; çà ýòó íàñòðîéêó îòâå÷àåò îïåðàöèîííàÿ ñèñòåìà. Áóäó÷è ñîîòâåòñòâóþùèì îáðàçîì16íàñòðîåííûì, öåíòðàëüíûé ïðîöåññîð, ïîëó÷èâ èç î÷åðåäíîé ìàøèííîéèíñòðóêöèè âèðòóàëüíûé àäðåñ, ïðåîáðàçóåò åãî â àäðåñ ôèçè÷åñêèé,è òîãäà óæå îáðàùàåòñÿ ê îïåðàòèâíîé ïàìÿòè.

Òàêèì îáðàçîì, ìû âïðîãðàììàõ èñïîëüçóåì â êà÷åñòâå àäðåñîâ íå ôèçè÷åñêèå íîìåðà ÿ÷ååêïàìÿòè, à íåêèå àáñòðàêòíûå àäðåñà, êîòîðûå ïîòîì óæå ñàì ïðîöåññîðïðåîáðàçóåò â íàñòîÿùèå íîìåðà ÿ÷ååê. Ýòî ïîçâîëÿåò, íàïðèìåð, êàæäîéïðîãðàììå èìåòü ñâî¼ ñîáñòâåííîå àäðåñíîå ïðîñòðàíñòâî: äåéñòâèòåëüíî, íèêòî íå ìåøàåò îïåðàöèîííîé ñèñòåìå íàñòðîèòü ïðåîáðàçîâàíèÿàäðåñîâ òàê, ÷òîáû îäèí è òîò æå âèðòóàëüíûé àäðåñ â îäíîé ïîëüçîâàòåëüñêîé çàäà÷å îòîáðàæàëñÿ íà îäíó ôèçè÷åñêóþ ÿ÷åéêó, à â äðóãîéçàäà÷å íà ñîâñåì äðóãóþ.Âîïðîñû, ñâÿçàííûå ñ ñîçäàíèåì íîâûõ îïåðàöèîííûõ ñèñòåì, ìû âíàøåì ïîñîáèè ðàññìàòðèâàòü íå áóäåì.

Âìåñòî ýòîãî ìû îãðàíè÷èìñÿðàññìîòðåíèåì âîçìîæíîñòåé ïðîöåññîðà i386, äîñòóïíûõ ïîëüçîâàòåëüñêîé çàäà÷å, ðàáîòàþùåé â îãðàíè÷åííîì ðåæèìå. Áîëåå òîãî, äàæå ýòèâîçìîæíîñòè ìû ðàññìîòðèì íå âñå; äåëî â òîì, ÷òî îïåðàöèîííûå ñèñòåìû ñåìåéñòâà Unix âûïîëíÿþò ïîëüçîâàòåëüñêèå çàäà÷è â òàê íàçûâàåìîé ïëîñêîé ìîäåëè àäðåñàöèè ïàìÿòè, â êîòîðîé íå èñïîëüçóåòñÿ÷àñòü ðåãèñòðîâ è íåêîòîðûå âèäû ìàøèííûõ êîìàíä.

Íà èçó÷åíèå ýòèõðåãèñòðîâ è êîìàíä ìû íå áóäåì òðàòèòü âðåìÿ, ïîñêîëüêó âñ¼ ðàâíî íåñìîæåì èõ ïðèìåíèòü. Ïîçæå â íàøåì êóðñå ìû ïîäðîáíî ðàññìîòðèììåõàíèçìû âçàèìîäåéñòâèÿ ñ îïåðàöèîííîé ñèñòåìîé, âêëþ÷àÿ è ñïîñîáûîðãàíèçàöèè ñèñòåìíîãî âûçîâà äëÿ ñèñòåì Linux è FreeBSD; îäíàêî ïîêà íàì ýòè ìåõàíèçìû íå èçâåñòíû, ìû áóäåì îñóùåñòâëÿòü ââîä/âûâîäè çàâåðøåíèå ïðîãðàììû ñ ïîìîùüþ ãîòîâûõ ìàêðîñîâ ñïåöèàëüíûõèäåíòèôèêàòîðîâ, êîòîðûå íàø àññåìáëåð ðàçâåðí¼ò â öåëûå ïîñëåäîâàòåëüíîñòè ìàøèííûõ êîìàíä è óæå â òàêîì âèäå îòòðàíñëèðóåò. Îòìåòèì, ÷òî ê êîíöó íàøåãî êóðñà ìû ñàìè íàó÷èìñÿ ïðè íåîáõîäèìîñòèñîçäàâàòü òàêèå ìàêðîñû.Ÿ 1.3. Ìàøèííîå ïðåäñòàâëåíèå öåëûõ ÷èñåëÏîäàâëÿþùåå áîëüøèíñòâî êîìïüþòåðîâ, ñîçäàííûõ çà âñþ èñòîðèþâû÷èñëèòåëüíîé òåõíèêè, îáðàáàòûâàëî è îáðàáàòûâàåò ëþáóþ èíôîðìàöèþ, ïðåäñòàâëÿÿ å¼ â äâîè÷íîé ñèñòåìå, òî åñòü â âèäå ïîñëåäîâàòåëüíîñòè ðàçðÿäîâ, êàæäûé èç êîòîðûõ ìîæåò ñîäåðæàòü îäíî èç äâóõ âîçìîæíûõ çíà÷åíèé (âêëþ÷åíî/âûêëþ÷åíî), îáîçíà÷àåìûõ îáû÷íî öèôðàìè 0 è 1.

Ðàçóìååòñÿ, ýòî êàñàåòñÿ è öåëûõ ÷èñåë; ÷èòàòåëü, íåñîìíåííî10 ,óæå çíàêîì ñ äâîè÷íîé ñèñòåìîé ñ÷èñëåíèÿ, â êîòîðîé äëÿ çàïèñè ÷èñåëèñïîëüçóþòñÿ òîëüêî äâå öèôðû (âñ¼ òå æå íîëü è åäèíèöà). Âïðî÷åì,10 Îòìåòèì íà âñÿêèé ñëó÷àé, ÷òî èçó÷åíèå äâîè÷íîé ñèñòåìû è äðóãèõ ïîçèöèîííûõ ñèñòåì ñ÷èñëåíèÿ âõîäèò â îáÿçàòåëüíóþ ïðîãðàììó äëÿ ñðåäíèõ øêîë.17Ðèñ. 1.1. Ìåõàíè÷åñêèé ñ÷¼ò÷èêêîìïüþòåðû, áóäó÷è ðåàëüíî ñóùåñòâóþùèìè òåõíè÷åñêèìè óñòðîéñòâàìè, íàêëàäûâàþò íåêîòîðûå îãðàíè÷åíèÿ íà ïðåäñòàâëåíèå öåëûõ ÷èñåë.Èç ìàòåìàòèêè ìû çíàåì, ÷òî ðÿä ÷èñåë áåñêîíå÷åí, òî åñòü êàêîâî áû íèáûëî ÷èñëî N , âñåãäà ñóùåñòâóåò ñëåäóþùåå ÷èñëî N +1. Äëÿ ýòîãî è êîëè÷åñòâî çíàêîâ â çàïèñè ÷èñëà, êàêóþ áû ñèñòåìó ìû íè èñïîëüçîâàëè,íå äîëæíî íèêàê îãðàíè÷èâàòüñÿ íî âîò êàê ðàç ýòî òðåáîâàíèå èñïîëíèòü òåõíè÷åñêè íåâîçìîæíî (äàæå ÷èñòî òåîðåòè÷åñêè: âåäü êîëè÷åñòâîàòîìîâ âî âñåëåííîé ñ÷èòàåòñÿ êîíå÷íûì).Ÿ 1.3.1.

Áåççíàêîâûå ÷èñëàÍà ïðàêòèêå äëÿ êîìïüþòåðíîãî ïðåäñòàâëåíèÿ öåëîãî ÷èñëà âûäåëÿåòñÿ íåêîòîðîå ôèêñèðîâàííîå11 êîëè÷åñòâî ðàçðÿäîâ (áèò); îáû÷íî ýòî8 áèò (îäíà ÿ÷åéêà), 16 áèò (äâå ÿ÷åéêè), 32 áèòà (÷åòûðå ÿ÷åéêè) èëè64 áèòà (âîñåìü ÿ÷ååê). Îãðàíè÷åíèå ðàçðÿäíîñòè ïðèâîäèò ê ïîÿâëåíèþ¾íàèáîëüøåãî ÷èñëà¿, ïðè÷¼ì ýòî êàñàåòñÿ íå òîëüêî äâîè÷íîé ñèñòåìû.Ïðåäñòàâüòå ñåáå, íàïðèìåð, ïðîñòîå ñ÷¼òíîå óñòðîéñòâî, èñïîëüçóåìîåâ ýëåêòðè÷åñêèõ ñ÷¼ò÷èêàõ è ìåõàíè÷åñêèõ ñïèäîìåòðàõ ñòàðûõ àâòîìîáèëåé: öåïî÷êó ðîëèêîâ, íà êîòîðûõ íàíåñåíû öèôðû è êîòîðûå ìîãóòïðîêðó÷èâàòüñÿ, à ïðîõîäÿ ÷åðåç ¾òî÷êó ïåðåíîñà¿ (ñ äåâÿòêè íà íîëü),ïðîêðó÷èâàþò íà åäèíèöó ñëåäóþùèé ðîëèê.

Äîïóñòèì, òàêîå óñòðîéñòâî ñîñòîèò èç ïÿòè ðîëèêîâ (ñì. ðèñ. 1.1). Ñíà÷àëà ìû âèäèì íà í¼ì÷èñëî íîëü: 00000. Ïî ìåðå ïðîêðó÷èâàíèÿ ïðàâîãî ðîëèêà ÷èñëî áóäåòìåíÿòüñÿ, ìû óâèäèì 00001, ïîòîì 00002, è òàê äàëåå âïëîòü äî 00009.Åñëè òåïåðü ïðîâåðíóòü ñàìûé ïðàâûé ðîëèê åù¼ íà åäèíè÷êó, ìû ñíîâàóâèäèì â ïðàâîé ïîçèöèè íîëü, íî ïðè ýòîì ñàìûé ïðàâûé ðîëèê çàöåïèò ñâîåãî ñîñåäà ñëåâà è çàñòàâèò åãî ïðîâåðíóòüñÿ íà åäèíè÷êó, òàê ÷òîìû óâèäèì 00010, òî åñòü ÷èñëî äåñÿòü; ìû íàáëþäàëè ïðè ýòîì õîðîøî11 Íåêîòîðûå ÿçûêè ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ ïîçâîëÿþò îïåðèðîâàòüñêîëü óãîäíî áîëüøèìè öåëûìè ÷èñëàìè, ëèøü áû õâàòèëî ïàìÿòè; íî òàêèå âîçìîæíîñòè âñåãäà ðåàëèçóþòñÿ ïðîãðàììíî (è äîâîëüíî ñëîæíî), à ìû ñåé÷àñ ðàññìàòðèâàåì ïðîãðàììèðîâàíèå íà íèçêîì óðîâíå, êîòîðîå îòòàëêèâàåòñÿ îò âîçìîæíîñòåéïðîöåññîðà.18èçâåñòíûé ñ ìëàäøèõ êëàññîâ ïåðåíîñ : ¾äåâÿòü ïëþñ îäèí, íîëü ïèøåì,îäèí â óìå¿.

Òî æå ñàìîå ïðîèçîéä¼ò ïðè ïåðåõîäå îò ÷èñëà 00019 ê÷èñëó 00020, è òàê äàëåå, à êîãäà ìû óâèäèì ÷èñëî 00099 è ïðîêðóòèìïðàâûé ðîëèê åù¼ íà åäèíè÷êó, â çàöåïëåíèå ïîïàäóò ñðàçó äâà åãî ñîñåäà, òàê ÷òî íà åäèíèöó âïåð¼ä ïðîêðóòÿòñÿ ñðàçó òðè ðîëèêà, è ìûïîëó÷èì ÷èñëî ñòî: 00100.Òåïåðü óæå íåñëîæíî áóäåò ïîíÿòü, îòêóäà áåð¼òñÿ òàêîé ìîíñòð, êàê¾íàèáîëüøåå âîçìîæíîå ÷èñëî¿: ðàíî èëè ïîçäíî íàø ñ÷¼ò÷èê äîñ÷èòàåò äî 99999, è òåïåðü óâåëè÷èâàòü ÷èñëî îêàæåòñÿ íåêóäà; êîãäà ìû âî÷åðåäíîé ðàç ïðîêðóòèì ïðàâûé ðîëèê íà åäèíèöó âïåð¼ä, îí çàöåïèòçà ñîáîé âñå îñòàëüíûå ðîëèêè, òàê ÷òî îíè âñå ïåðåéäóò íà ñëåäóþùóþöèôðó, è ìû ñíîâà óâèäèì îäíè íóëè. Åñëè áû ó íàñ ñëåâà áûë åù¼ îäèíðîëèê, îí áû çàöåïèëñÿ è ïîêàçàë åäèíè÷êó, òàê ÷òî ðåçóëüòàò áû áûë100000 (÷òî ñîâåðøåííî ïðàâèëüíî), íî ó íàñ âñåãî ïÿòü ðîëèêîâ, øåñòîãîíåò.

Òàêàÿ ñèòóàöèÿ íàçûâàåòñÿ ïåðåíîñ â íåñóùåñòâóþùèé ðàçðÿä .ßñíî, ÷òî òàêàÿ ñèòóàöèÿ íå ìîæåò âîçíèêíóòü, êîãäà ìû ïèøåì ÷èñëàíà áóìàãå: âñåãäà ìîæíî äîïèñàòü åù¼ îäíó öèôðó ñëåâà; êîãäà æå ÷èñëîïðåäñòàâëåíî ñîñòîÿíèåì íåêîé ãðóïïû òåõíè÷åñêèõ óñòðîéñòâ, áóäü òîöåïî÷êà ðîëèêîâ èëè íàáîð òðèããåðîâ â îïåðàòèâíîé ïàìÿòè êîìïüþòåðà,âîçìîæíîñòè ïðèäåëàòü ê ÷èñëó åù¼ îäíó öèôðó ó íàñ íåò.Ïðè èñïîëüçîâàíèè äâî÷èíîé ñèñòåìû ñ÷èñëåíèÿ ïðîèñõîäèò ïðèìåðíî òî æå ñàìîå ñ òîé ðàçíèöåé, ÷òî èñïîëüçóåòñÿ âñåãî äâå öèôðû. Äîïóñòèì, ìû èñïîëüçóåì äëÿ ïîäñ÷¼òà êàêèõ-íèáóäü ïðåäìåòîâ èëè ñîáûòèé ÿ÷åéêó ïàìÿòè, êîòîðàÿ ñîäåðæèò âîñåìü ðàçðÿäîâ.

Ñíà÷àëà âÿ÷åéêå íîëü: 00000000. Äîáàâèâ åäèíèöó, ïîëó÷àåì äâîè÷íîå ïðåäñòàâëåíèå åäèíèöû: 00000001. Äîáàâëÿåì åù¼ îäíó åäèíèöó, ìëàäøèé (ñàìûé ïðàâûé) ðàçðÿä óâåëè÷èâàòü íåêóäà, ïîñêîëüêó ó íàñ òîëüêî äâåöèôðû, ïîýòîìó îí ñíîâà ñòàíîâèòñÿ íóëåâûì, íî ïðè ýòîì ïðîèñõîäèòïåðåíîñ, â ðåçóëüòàòå êîòîðîãî åäèíèöà ïîÿâëÿåòñÿ âî âòîðîì ðàçðÿäå:00000010; ýòî äâîè÷íîå ïðåäñòàâëåíèå ÷èñëà 2.

Характеристики

Тип файла
PDF-файл
Размер
1,1 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6309
Авторов
на СтудИзбе
313
Средний доход
с одного платного файла
Обучение Подробнее