А.В. Столяров - Программирование на языке ассемблера NASM для ОС Unix (1110582), страница 3
Текст из файла (страница 3)
 áîëüøèíñòâå ñëó÷àåâ âñå ýòè êîìïîíåíòû ïîäêëþ÷àþòñÿ ê îáùåé øèíå óñòðîéñòâó èç ìíîæåñòâà ïàðàëëåëüíûõ ïðîâîäîâ (äîðîæåê íà ïå÷àòíîéïëàòå), ïîçâîëÿþùåìó êîìïîíåíòàì êîìïüþòåðà îáìåíèâàòüñÿ èíôîðìàöèåé ìåæäó ñîáîé.Îïåðàòèâíàÿ ïàìÿòü ñîñòîèò èç îäèíàêîâûõ ÿ÷ååê ïàìÿòè , êàæäàÿèç êîòîðûõ èìååò ñâîé óíèêàëüíûé íîìåð, íàçûâàåìûé àäðåñîì . ß÷åéêàñîäåðæèò íåñêîëüêî (÷àùå âñåãî âîñåìü) äâîè÷íûõ ðàçðÿäîâ, êàæäûéèç êîòîðûõ ìîæåò íàõîäèòüñÿ â îäíîì èç äâóõ ñîñòîÿíèé, îáû÷íî îáîçíà÷àåìûõ êàê ¾íîëü¿ è ¾åäèíèöà¿. Ýòî ïîçâîëÿåò ÿ÷åéêå êàê åäèíîìóöåëîìó íàõîäèòüñÿ â îäíîì èç 2n ñîñòîÿíèé, ãäå n êîëè÷åñòâî ðàçðÿäîââ ÿ÷åéêå; òàê, åñëè ðàçðÿäîâ âîñåìü, òî âîçìîæíûõ ñîñòîÿíèé ÿ÷åéêè áóäåò 28 = 256, èëè, èíà÷å ãîâîðÿ, ÿ÷åéêà ìîæåò ¾ïîìíèòü¿ ÷èñëî îò 0 äî255.
Åñëè òðåáóåòñÿ õðàíèòü ÷èñëî èç áîëüøåãî äèàïàçîíà, èñïîëüçóþòíåñêîëüêî èäóùèõ ïîäðÿä ÿ÷ååê ïàìÿòè. Îòìåòèì, ÷òî ïðè ðàññìîòðåíèè íåñêîëüêèõ ñîñåäíèõ ÿ÷ååê êàê ïðåäñòàâëåíèÿ îäíîãî öåëîãî ÷èñëàíà ðàçíûõ ìàøèíàõ èñïîëüçóþò äâà ðàçíûõ ïîäõîäà ê ïîðÿäêó ñëåäîâàíèÿ áàéòîâ. Îäèí ïîäõîä, íàçûâàåìûé little-endian 1 , ïðåäïîëàãàåò, ÷òîïåðâûì èä¼ò ñàìûé ìëàäøèé áàéò ÷èñëà, äàëåå â ïîðÿäêå âîçðàñòàíèÿ, èñàìûé ñòàðøèé áàéò èä¼ò ïîñëåäíèì. Âòîðîé ïîäõîä, êîòîðûé íàçûâàþòbig-endian, ïðÿìî ïðîòèâîïîëîæåí: ñíà÷àëà èä¼ò ñòàðøèé áàéò ÷èñëà, à1 ¾Òåðìèíû¿ big-endians è little-endians ââåäåíû Äæîíàòàíîì Ñâèôòîì â êíèãå¾Ïóòåøåñòâèÿ Ãóëëèâåðà¿ äëÿ îáîçíà÷åíèÿ íåïðèìèðèìûõ ñòîðîííèêîâ ðàçáèâàíèÿÿèö ñîîòâåòñòâåííî ñ òóïîãî êîíöà è ñ îñòðîãî.
Íà ðóññêèé ÿçûê ýòè íàçâàíèÿ îáû÷íîïåðåâîäèëèñü êàê òóïîêîíå÷íèêè è îñòðîêîíå÷íèêè. Àðãóìåíòû â ïîëüçó òîé èëèèíîé àðõèòåêòóðû äåéñòâèòåëüíî ÷àñòî íàïîìèíàþò ñâÿùåííóþ âîéíó îñòðîêîíå÷íèêîâ ñ òóïîêîíå÷íèêàìè.8ìëàäøèé ðàñïîëàãàåòñÿ â ïàìÿòè ïîñëåäíèì. Ïðîöåññîðû, êîòîðûå ìûáóäåì ðàññìàòðèâàòü, îòíîñÿòñÿ ê êàòåãîðèè ¾little-endian¿, òî åñòü õðàíÿò ìëàäøèé áàéò ïåðâûì.Ïðè íåîáõîäèìîñòè ñîäåðæèìîå ÿ÷åéêè ïàìÿòè ìîæíî ðàññìàòðèâàòüè êàê ñòðî÷êó èç îòäåëüíûõ äâîè÷íûõ ðàçðÿäîâ (áèòîâóþ ñòðîêó), è äðóãèìè ñïîñîáàìè: íàïðèìåð, äîñòàòî÷íî ñëîæíûé ñïîñîá èíòåðïðåòàöèèçíà÷åíèé äâîè÷íûõ ðàçðÿäîâ èñïîëüçóåòñÿ äëÿ õðàíåíèÿ äðîáíûõ ÷èñåë,òàê íàçûâàåìûõ ÷èñåë ñ ïëàâàþùåé òî÷êîé .
Êðîìå òîãî, ñîäåðæèìîå ÿ÷åéêè ïàìÿòè (èëè íåñêîëüêèõ ÿ÷ååê, èäóùèõ ïîäðÿä) ìîæåò áûòüèñòîëêîâàíî êàê ìàøèííàÿ èíñòðóêöèÿ êîäîâîå ÷èñëî, èäåíòèôèöèðóþùåå îäíó èç ìíîæåñòâà îïåðàöèé, êîòîðûå ìîæåò âûïîëíÿòüöåíòðàëüíûé ïðîöåññîð.Âàæíî ïîíèìàòü, ÷òî ñàìà ïî ñåáå ÿ÷åéêà ïàìÿòè ¾íå çíàåò¿, êàêèìåííî ñëåäóåò èíòåðïðåòèðîâàòü õðàíÿùóþñÿ â íåé èíôîðìàöèþ. Ðàññìîòðèì ýòî íà ïðîñòåéøåì ïðèìåðå. Ïóñòü ó íàñ åñòü ÷åòûðå èäóùèåïîäðÿä ÿ÷åéêè ïàìÿòè, ñîäåðæèìîå êîòîðûõ ñîîòâåòñòâóåò øåñòíàäöàòåðè÷íûì ÷èñëàì 41, 4E, 4E è 41 (ñîîòâåòñòâóþùèå äåñÿòè÷íûå ÷èñëà 65,79, 79, 65).
Èíôîðìàöèþ, ñîäåðæàùóþñÿ â òàêîé îáëàñòè ïàìÿòè, ìîæíîñ ñîâåðøåííî îäèíàêîâûì óñïåõîì èñòîëêîâàòü:• êàê öåëîå ÷èñëî 1095650881;• êàê äðîáíîå ÷èñëî (ò. í. ÷èñëî ñ ïëàâàþùåé òî÷êîé) 12.894105;• êàê òåêñòîâóþ ñòðîêó, ñîäåðæàùóþ èìÿ 'ANNA';• è, íàêîíåö, êàê ïîñëåäîâàòåëüíîñòü ìàøèííûõ êîìàíä; â ÷àñòíîñòè, íà ïðîöåññîðàõ ïëàòôîðìû i386 ýòî áóäóò êîìàíäû, óñëîâíîîáîçíà÷àåìûå inc ecx, dec esi, dec esi, inc ecx. ×òî äåëàþò ýòèêîìàíäû, ìû óçíàåì ïîçæå. ïðîöåññîðå èìååòñÿ íåêîòîðîå êîëè÷åñòâî ðåãèñòðîâ ñõåì, íàïîìèíàþùèõ ÿ÷åéêè ïàìÿòè; ïîñêîëüêó ðåãèñòðû íàõîäÿòñÿ íåïîñðåäñòâåííî â ïðîöåññîðå, îíè ðàáîòàþò î÷åíü áûñòðî, íî èõ êîëè÷åñòâîîãðàíè÷åíî, òàê ÷òî èñïîëüçîâàòü ðåãèñòðû ñëåäóåò äëÿ õðàíåíèÿ ñàìîéíåîáõîäèìîé èíôîðìàöèè.
Ïðîöåññîð îáëàäàåò ñïîñîáíîñòüþ êîïèðîâàòüäàííûå èç îïåðàòèâíîé ïàìÿòè â ðåãèñòðû è îáðàòíî, ïðîèçâîäèòü íàäñîäåðæèìûì ðåãèñòðîâ àðèôìåòè÷åñêèå è äðóãèå îïåðàöèè; â íåêîòîðûõ ñëó÷àÿõ îïåðàöèè ìîæíî ïðîèçâîäèòü è íåïîñðåäñòâåííî ñ äàííûìèâ ÿ÷åéêàõ ïàìÿòè, íå êîïèðóÿ èõ ñîäåðæèìîå â ðåãèñòðû2 .2 Íàëè÷èå èëè îòñóòñòâèå òàêîé âîçìîæíîñòè çàâèñèò îò êîíêðåòíîãî ïðîöåññîðà;òàê, ïðîöåññîðû Pentium ìîãóò, ìèíóÿ ðåãèñòðû, ïðèáàâèòü çàäàííîå ÷èñëî ê ñîäåðæèìîìó çàäàííîé ÿ÷åéêè ïàìÿòè è ïðîèçâåñòè íåêîòîðûå äðóãèå îïåðàöèè, òîãäà êàêïðîöåññîðû SPARC, ïðèìåíÿâøèåñÿ â êîìïüþòåðàõ ôèðìû Sun Microsystems, ìîãóòòîëüêî êîïèðîâàòü ñîäåðæèìîå ÿ÷åéêè ïàìÿòè â ðåãèñòð èëè, íàîáîðîò, ñîäåðæèìîå9Êîëè÷åñòâî èíôîðìàöèè, êîòîðóþ ìîæåò îáðàáîòàòü ïðîöåññîð âîäèí ïðè¼ì (çà îäíó êîìàíäó), íàçûâàåòñÿ ìàøèííûì ñëîâîì .
Ðàçìåð áîëüøèíñòâà ðåãèñòðîâ â òî÷íîñòè ðàâåí ìàøèííîìó ñëîâó.  ñîâðåìåííûõ ñèñòåìàõ ìàøèííîå ñëîâî, êàê ïðàâèëî, áîëüøå, ÷åì ÿ÷åéêàïàìÿòè; òàê, ìàøèííîå ñëîâî ïðîöåññîðà Pentium ñîñòàâëÿåò 32 áèòà, òîåñòü ÷åòûðå âîñüìèáèòîâûå ÿ÷åéêè ïàìÿòè.Çäåñü íåîáõîäèìî ñäåëàòü îäíî âàæíîå çàìå÷àíèå.
Ïðîöåññîð Pentium ÿâëÿåòñÿ î÷åðåäíûì ïðåäñòàâèòåëåì ëèíåéêè ïðîöåññîðîâ x86, è ðàííèå ïðåäñòàâèòåëè ýòîé ëèíåéêè (âïëîòü äî ïðîöåññîðà 80286) áûëè 16-ðàçðÿäíûìè, òî åñòüèõ ìàøèííîå ñëîâî ñîñòàâëÿëî 16 áèò. Ïðîãðàììèñòû, ðàáîòàþùèå ñ ýòèìè ïðîöåññîðàìè íà óðîâíå ÿçûêà àññåìáëåðà, ïðèâûêëè íàçûâàòü ¾ñëîâîì¿ èìåííîäâà áàéòà èíôîðìàöèè, à ÷åòûðå áàéòà íàçûâàëè ¾äâîéíûì ñëîâîì¿, è â ÿçûêàõàññåìáëåðà èñïîëüçîâàëè ñîîòâåòñòâóþùèå îáîçíà÷åíèÿ (word è dword). Êîãäà ñâûõîäîì î÷åðåäíîãî ïðîöåññîðà ðàçìåð ñëîâà óäâîèëñÿ, ïðîãðàììèñòû íå ñòàëè ìåíÿòü ïðèâû÷íóþ òåðìèíîëîãèþ, ÷òî ïîðîæäàåò îïðåäåë¼ííóþ ïóòàíèöó.
Êýòîìó âîïðîñó ìû åù¼ âåðí¼ìñÿ.Ïðîãðàììà, ïðåäíàçíà÷åííàÿ ê âûïîëíåíèþ, çàïèñûâàåòñÿ â îïåðàòèâíóþ ïàìÿòü â âèäå ïîñëåäîâàòåëüíîñòè ìàøèííûõ èíñòðóêöèé (êîìàíä), òî åñòü öèôðîâûõ êîäîâ, îáîçíà÷àþùèõ òå èëè èíûå îïåðàöèè.Îäèí èç ðåãèñòðîâ ïðîöåññîðà, òàê íàçûâàåìûé ñ÷¼ò÷èê êîìàíä 3 , ñîäåðæèò àäðåñ òîé ÿ÷åéêè ïàìÿòè, â êîòîðîé ðàñïîëàãàåòñÿ ñëåäóþùàÿèíñòðóêöèÿ, ïðåäíàçíà÷åííàÿ ê âûïîëíåíèþ.Ïðîöåññîð ðàáîòàåò, ðàç çà ðàçîì âûïîëíÿÿ öèêë îáðàáîòêè êî4ìàíäû .  íà÷àëå ýòîãî öèêëà èç ÿ÷ååê ïàìÿòè, íà êîòîðûå óêàçûâàåòñ÷¼ò÷èê êîìàíä, ñ÷èòûâàåòñÿ êîä î÷åðåäíîé êîìàíäû.
Ñðàçó ïîñëå ýòîãîñ÷¼ò÷èê êîìàíä ìåíÿåò ñâî¼ çíà÷åíèå òàê, ÷òîáû óêàçûâàòü íà ñëåäóþùóþ êîìàíäó â ïàìÿòè; íàïðèìåð, åñëè òîëüêî ÷òî ïðî÷èòàííàÿ êîìàíäàçàíèìàëà òðè ÿ÷åéêè ïàìÿòè, òî ñ÷¼ò÷èê êîìàíä óâåëè÷èâàåòñÿ íà òðè.Ñõåìû ïðîöåññîðà äåøèôðóþò êîä è âûïîëíÿþò äåéñòâèÿ, ïðåäïèñàííûå ýòèì êîäîì: íàïðèìåð, ýòî ìîæåò áûòü ïðåäïèñàíèå ¾ñêîïèðîâàòü÷èñëî èç îäíîãî ðåãèñòðà â äðóãîé¿ èëè ¾âçÿòü ñîäåðæèìîå ðåãèñòðà A,ïðèáàâèòü ê íåìó ñîäåðæèìîå ðåãèñòðà B , à ðåçóëüòàò ïîìåñòèòü îáðàòíî â ðåãèñòð A¿, è ò. ï. Êîãäà äåéñòâèÿ, ïðåäïèñàííûå êîìàíäîé, áóäóòèñïîëíåíû, ïðîöåññîð âíîâü âîçâðàùàåòñÿ ê íà÷àëó öèêëà îáðàáîòêè êîìàíä, òàê ÷òî ñëåäóþùèé ïðîõîä ýòîãî öèêëà âûïîëíÿåò óæå ñëåäóþùóþ êîìàíäó, è òàê äàëåå äî áåñêîíå÷íîñòè (òî÷íåå, ïîêà ïðîöåññîð íåâûêëþ÷àò).ðåãèñòðà â ÿ÷åéêó ïàìÿòè, íî íèêàêèõ äðóãèõ îïåðàöèé íàä ÿ÷åéêàìè ïàìÿòè âûïîëíÿòü íå ìîãóò.3 Àíãëèéñêîå íàçâàíèå ýòîãî ðåãèñòðà instruction pointer, òî åñòü ¾óêàçàòåëü íàèíñòðóêöèþ¿; óñòîÿâøèéñÿ â ðóññêîÿçû÷íîé ëèòåðàòóðå òåðìèí ¾ñ÷¼ò÷èê êîìàíä¿ íåñòîëü óäà÷åí, âåäü ýòîò ¾ñ÷¼ò÷èê¿ íà ñàìîì äåëå íè÷åãî íå ñ÷èòàåò.4 Âûðàæåíèå âèäà ¾íå÷òî óêàçûâàåò íà ÿ÷åéêó ïàìÿòè¿ ÿâëÿåòñÿ ñèíîíèìîì âûðàæåíèÿ ¾íå÷òî ñîäåðæèò àäðåñ ÿ÷åéêè ïàìÿòè¿.10Íåêîòîðûå ìàøèííûå êîìàíäû ìîãóò èçìåíèòü ïîñëåäîâàòåëüíîñòüâûïîëíåíèÿ êîìàíä, ïðåäïèñàâ ïðîöåññîðó ïåðåéòè â äðóãîå ìåñòî ïðîãðàììû (òî åñòü, ïîïðîñòó ãîâîðÿ, â ÿâíîì âèäå èçìåíèòü òåêóùåå çíà÷åíèå ñ÷¼ò÷èêà êîìàíä).
Òàêèå êîìàíäû íàçûâàþòñÿ êîìàíäàìè ïåðåõîäà . Ðàçëè÷àþò óñëîâíûå è áåçóñëîâíûå ïåðåõîäû; êîìàíäà óñëîâíîãîïåðåõîäà ñíà÷àëà ïðîâåðÿåò èñòèííîñòü íåêîòîðîãî óñëîâèÿ è ïðîèçâîäèòïåðåõîä, òîëüêî åñëè óñëîâèå âûïîëíåíî, òîãäà êàê êîìàíäà áåçóñëîâíîãîïåðåõîäà ïðîñòî çàñòàâëÿåò ïðîöåññîð ïðîäîëæèòü âûïîëíåíèå êîìàíä ñçàäàííîãî àäðåñà áåç âñÿêèõ ïðîâåðîê. Ïðîöåññîðû îáû÷íî ïîääåðæèâàþò òàêæå ïåðåõîäû ñ çàïîìèíàíèåì òî÷êè âîçâðàòà, êîòîðûå èñïîëüçóþòñÿ äëÿ âûçîâà ïîäïðîãðàìì.ßñíî, ÷òî ïðîãðàììà, êîòîðóþ âûïîëíÿåò êîìïüþòåð, äîëæíà áûòüïðåäñòàâëåíà â âèäå, ïîíÿòíîì öåíòðàëüíîìó ïðîöåññîðó; òàêîå ïðåäñòàâëåíèå íàçûâàåòñÿ ìàøèííûì êîäîì .
Ïðîãðàììà â ìàøèííîì êîäåñîñòîèò èç îòäåëüíûõ ìàøèííûõ êîìàíä , êîòîðûå îáîçíà÷àþòñÿ ÷èñëàìè (êîäàìè). Ïðîöåññîð ëåãêî ìîæåò äåøèôðîâàòü òàêèå êîäû êîìàíä,íî ÷åëîâåêó èõ çàïîìíèòü î÷åíü òðóäíî, òåì áîëåå ÷òî âî ìíîãèõ ñëó÷àÿõíóæíîå ÷èñëî ïðèõîäèòñÿ âû÷èñëÿòü, ïîäñòàâëÿÿ â îïðåäåë¼ííûå ìåñòàêîäîâûå öåïî÷êè äâîè÷íûõ áèòîâ. Âîò, íàïðèìåð, äâà áàéòà, çàïèñûâàåìûå â øåñòíàäöàòåðè÷íîé ñèñòåìå êàê 01 D8 (ñîîòâåòñòâóþùèå äåñÿòè÷íûå çíà÷åíèÿ 1, 216) îáîçíà÷àþò íà ïðîöåññîðàõ Pentium êîìàíäó¾âçÿòü ÷èñëî èç ðåãèñòðà EAX, ïðèáàâèòü ê íåìó ÷èñëî èç ðåãèñòðà EBX,ðåçóëüòàò ñëîæåíèÿ ïîìåñòèòü îáðàòíî â ðåãèñòð EAX¿.
Çàïîìíèòü äâà÷èñëà 01 D8 íåñëîæíî, íî âåäü ðàçíûõ êîìàíä íà ïðîöåññîðå Pentium íåñêîëüêî ñîòåí, äà ê òîìó æå çäåñü ñàìà êîìàíäà òîëüêî ïåðâûéáàéò (01), à âòîðîé (D8) íàì ïðèä¼òñÿ âû÷èñëèòü â óìå, âñïîìíèâ (èëèóçíàâ èç ñïðàâî÷íèêà), ÷òî ìëàäøèå òðè áèòà â ýòîì áàéòå îáîçíà÷àþòïåðâûé ðåãèñòð (ïåðâîå ñëàãàåìîå, à òàêæå è ìåñòî, êóäà ñëåäóåò çàïèñàòü ðåçóëüòàò), ñëåäóùèå òðè áèòà îáîçíà÷àþò âòîðîé ðåãèñòð, à ñàìûåñòàðøèå äâà áèòà çäåñü äîëæíû áûòü ðàâíû åäèíèöàì, ÷òî îçíà÷àåò, ÷òîîáà îïåðàíäà ÿâëÿþòñÿ ðåãèñòðàìè. Çíàÿ (èëè, îïÿòü æå, ïîäñìîòðåâ âñïðàâî÷íèêå), ÷òî íîìåð ðåãèñòðà EAX 0, à íîìåð ðåãèñòðà EBX 3, ìûòåïåðü ìîæåì çàïèñàòü äâîè÷íîå ïðåäñòàâëåíèå íàøåãî áàéòà: 11 011 000(ïðîáåëû âñòàâëåíû äëÿ íàãëÿäíîñòè), ÷òî è äà¼ò â äåñÿòè÷íîé çàïèñè216, à â øåñòíàäöàòåðè÷íîé èñêîìîå D8.Åñëè íàì ïîòðåáóåòñÿ îñâåæèòü â ïàìÿòè êóñî÷åê íàøåé ïðîãðàììû, íàïèñàííûé äâà äíÿ íàçàä, òî ÷òîáû åãî ïðî÷èòàòü, íàì ïðèä¼òñÿâðó÷íóþ ðàñêëàäûâàòü áàéòû íà ñîñòàâëÿþùèå èõ áèòû è, ñâåðÿÿñü ñîñïðàâî÷íèêîì, âñïîìèíàòü, ÷òî æå êàêàÿ êîìàíäà äåëàåò.
Î÷åâèäíî, ÷òî,åñëè ïðîãðàììèñòà çàñòàâèòü ñîñòàâëÿòü ïðîãðàììû âîò òàêèì âîò ñïîñîáîì, íè÷åãî ïîëåçíîãî îí íå íàïèøåò çà âñþ ñâîþ æèçíü, òåì áîëåå ÷òîâ ëþáîé, äàæå ñàìîé íåáîëüøîé, íî ïðàêòè÷åñêè ïðèìåíèìîé ïðîãðàììå òàêèõ êîìàíä áóäåò íåñêîëüêî òûñÿ÷, íó à ñàìûå áîëüøèå ïðîãðàììû11ñîñòîÿò èç ñîòåí ìèëëèîíîâ ìàøèííûõ êîìàíä.Ïðè ðàáîòå ñ ÿçûêàìè ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ, òàêèìèêàê Ïàñêàëü, Ñè, Ëèñï è äð., ïðîãðàììèñòó ïðåäîñòàâëÿåòñÿ âîçìîæíîñòü íàïèñàòü ïðîãðàììó â âèäå, ïîíÿòíîì è óäîáíîì äëÿ ÷åëîâåêà, àíå äëÿ öåíòðàëüíîãî ïðîöåññîðà.  ýòîì ñëó÷àå ïðèõîäèòñÿ ïðèìåíÿòüêîìïèëÿòîð ïðîãðàììó, ïðèíèìàþùóþ íà âõîä òåêñò ïðîãðàììû íàÿçûêå ïðîãðàììèðîâàíèÿ âûñîêîãî óðîâíÿ è âûäàþùóþ ýêâèâàëåíòíûéìàøèííûé êîä5 . Ïðîãðàììèðîâàíèå íà ÿçûêàõ âûñîêîãî óðîâíÿ óäîáíî,íî, ê ñîæàëåíèþ, íå âñåãäà ïðèìåíèìî. Ïðè÷èíû ýòîãî ìîãóò áûòü ñàìûåðàçíûå.
Íàïðèìåð, ÿçûê âûñîêîãî óðîâíÿ ìîæåò íå ó÷èòûâàòü íåêîòîðûå îñîáåííîñòè êîíêðåòíîãî ïðîöåññîðà, ëèáî ïðîãðàììèñòà ìîæåò íåóñòðàèâàòü òîò êîíêðåòíûé ñïîñîá, êîòîðûì êîìïèëÿòîð ðåàëèçóåò òåèëè èíûå êîíñòðóêöèè èñõîäíîãî ÿçûêà ñ ïîìîùüþ ìàøèííûõ êîäîâ. ýòèõ ñëó÷àÿõ ïðèõîäèòñÿ îòêàçàòüñÿ îò ÿçûêà âûñîêîãî óðîâíÿ è ñîñòàâèòü ïðîãðàììó â âèäå êîíêðåòíîé ïîñëåäîâàòåëüíîñòè ìàøèííûõêîìàíä. Îäíàêî, êàê ìû óæå âèäåëè, ñîñòàâëÿòü ïðîãðàììó íåïîñðåäñòâåííî â ìàøèííûõ êîäàõ î÷åíü è î÷åíü ñëîæíî. È çäåñü íà ïîìîùüïðèõîäèò ïðîãðàììà, íàçûâàåìàÿ àññåìáëåðîì .Àññåìáëåð ýòî ïðîãðàììà, ïðèíèìàþùàÿ íà âõîä òåêñò, ñîäåðæàùèé óñëîâíûå îáîçíà÷åíèÿ ìàøèííûõ êîìàíä, óäîáíûå äëÿ ÷åëîâåêà,è ïåðåâîäÿùèé ýòè îáîçíà÷åíèÿ â ïîñëåäîâàòåëüíîñòü ñîîòâåòñòâóþùèõêîäîâ ìàøèííûõ êîìàíä, ïîíÿòíûõ ïðîöåññîðó.  îòëè÷èå îò ñàìèõ ìàøèííûõ êîìàíä, èõ óñëîâíûå îáîçíà÷åíèÿ, íàçûâàåìûå òàêæå ìíåìîíèêàìè , çàïîìíèòü ñðàâíèòåëüíî ëåãêî.