Ысаша теориялы мліметтер. Жмысты масаты Ассемблерде жмыс жасау шін ажетті негізгі ымдармен танысу

Жмысты масаты

 

Жмысты масаты Ассемблерде жмыс жасау шін ажетті негізгі ымдармен танысу.

 

ысаша теориялы мліметтер

 

Процессор деген не?

Ассемблер не екенін білу шін процессор ымын тсінуііз кажет. Сурет1 –де процессорды рекеттесуіні арапайым схемасы крсетілген.

 

 
 

 

 


Сурет 1 – рекеттесу схемасы

 

Процессорларда е бастысы регистрлер. Регистрлер триггерлерден трады. Триггер екі мн абылдайды: 0 жне 1. Регистрлер 8, 16, 32, (64) разрядты болады, егер 8 разрядты регистр болса, онда оны рамында 8 триггер бар дегенді білдіреді. Регистрлер аралы апаратты сатауа олданылады, кейбір регистрлер тек белгілі бір апаратты сатайды. Сонымен атар енгізу шыару порттары болады. Сырты рылылара ол жеткізу шін енгізу шыару порттары олданылады, олар енгізу шыару контроллерлерін олданады.

 

Процессор рамына, арифметико-логикалы рал, басару ралы жне регистрлер тобы (локалді жады) кіреді (2 сурет). Процессорды регистрі дегеніміз, процессор рамын егізілген, жедел сатау жад трі.

 

Сурет 2 – Процессор рамы

 

АЛ – процессорды арифметикалы пен логикалы есептерін шешетін блігі. АЛ акпаратты деуді негізгі операцияларын басарады. АЛ негізін бірізді тасымалы бар сумматор райды. Сумматор дегеніміз екілік сандарды осуа арналан, жартылай ткізгішті схема. Бір секунд ішінде мыдаан, миллиондаан операциялар орындалады. осу, алу, кбейту, блу – АЛ е арапайым орындайтын операциялары.

 

Б – процессорды барлы бліктеріне керекті уаытта, алдында орындалан операциялар нтижесіне жне операция тріне байланысты, басару сигналдарды жібереді; орындалып жатан операцияны алып жатан жадыны адрестерін рап, процессорды арнайы бліктеріне береді. Б рамында командалар регистрі, командалар дешифраторы, жне рамында басарушы жады , басару ралы бар.

 

Регистр – ЖС бір трі. Процессорды регистрлік жады е лкен жылдамды шапшадыына ие, сондытан оны тежедел С деп атайды. Оны апаратты клемі те аз. рбір регистр, басаларда жо, белгілі бір асиеттерге ие.

Intel технологиясы бойынша рылатын микропроцессорларда келесі регистр трлері болады(9.2 суретті ара):

– жалпы таайындалан регистрлер (жалпы малматтар мен адрестер регистрлері);

– командалар (инструкциялар) крсетуші;

– сегменттер регистрі;

– жалау регистрлері;

– басарушы регистрлер;

– жйелік адрестік регистрлер;

– алып оюа арналан регистрлер;

– тестілеу регистрлері;

– модельді-арнайы (процессорды белгілі бір тріне байланысты)

регистрлер.

 

Алдында жазынан бадарламалар азіргі компьютерде істей алу шін, процессор бірнеше режимде жмыс істей алуы ммкін:

- наты режим;

- оралан режим;

- виртуалды режим.

Наты режим 8086/8088 процессорлар ммкіншілігіне скес келеді жне тек 1 Мб жад адрестей алады. Алдындаы бадарламалар жмыс істей алу шін, кейінгі процессорлар, соны ішінде Pentium, MS-DOS операциялы жйесімен наты режимде жмыс істейді. Осында, рине процессорды барлы ммкіншілігі іске асырылмайды.

оралан режим е алаш 80286 процессорында пайда болды. Осы режимде ОП 15Мб-а дейін физикалы, 1 Гб дейін виртуалді жадты адрестей алады. Егер физикалы жады толса, сыймаан апарат сырты жада саталынады. Сонда, процессор наты адрестермен емес, арнайы кестелермен басарылатын, акпаратты табу шін, виртуалді адрестермен жмыс істейді.

 

x86 процессорлары

 

x86 процессорлары 8086, 80186, 80286, 80386, 80486, 80586 жне т.б. болады. 8086-80286 процессорлары 16- разрядты, ал ары арай 32 разрядтты болады. 80386 процессорына тоталайы, алан процессорлар бір-бірінен кп зешеліктері жо.

Жалпы масаттаы регистрлер - EAX, EBX, ECX, EDX 32 биттік регистрлерді кіші блімі AX, BX, CX, DX деп аталады, олар 16 биттік, р регистр 2 блікке блінеді: кіші AL, BL, CL, DL, лкен AH, BH, CH, DH. Жалпы масаттаы регистрлер деректер операцияларын, яни жадыа деректерді жазу, математикалы операциялар жне салыстыру сияты операцияларды олданады. СХ(ECX) регистрі кбінде циклдерде санауыш (счетчик) ретінде олданылады.

Сегметтер регистрлері - бл CS, DS, ES, FS, GS, SS. Бл регистрлер 16 биттік, жне зінде адресті "оффсет:сегмент" бірінші блігінен трады. Оффсет ресгитрлері - EIP, ESP, EBP, ESI, EDI. Бл регистрлер 32 биттік, тменгі блігі IP, SP, BP, SI, DI регистрлері ретінде ол жетімді. EIP - командаларды сілтеуіші, келесі орындалатын кодты код сызыына сілтемеден трады. Яни, келесі орындалатын код сызыыны толы адресі CS:IP (CS:EIP) болады.

ESP регистрі стекті тбесіні адресіне сілтейді. ЕВР регистрі стекке апаратты енгізетін немесе жоятын жеріннен басталатын адресті крсетеді. ESI регистрі – дереккзіні адресі, жне «блокты жылжыту» операциясы шін апарат блогіні басы адресінен трады (толы адрес DS:SI), ал EDI регистрі – бл операциядаы масатты адрес (толы адрес ES:EDI).

Стек деген не? Стек (англ. stack — стопка) — LIFO (англ. last in — first out, «соы келген-бірінші шыады») принципі бойынша йымдастырылан элементтер тізімінен тратын деректер рылымы. Кбінде бл принципін тсіндіру шін трелке баанымен салыстырады: «жоарыдаы екінші трелкені алу шін оны стіндегісін алу керек».

Сурет 3 – Стекті йымдастырылуы

 


Процессор 80386+ (осу белгісі баса да процессорлар дегенді білдіреді) 2 режимде жмыс жасайды: наты жне ораулы. ораулы режимде 32 разрядты регистрлер мен инструкциялар ол жетімді. Win32 80386+ процессорларды ораулы режимінде жмыс жасайды. DOS наты режимде жмыс жасайды. DOS - та 32 биттік регистрлер.

Алдында орындалан операциялар нтижесін білу шін «жалау» регистрлері болады. Ол 16 биттік. р бит белгілі бір «жалауды» білдіреді. Жалау регистрлерінде толу, теріс нтиже, о нтиже, зілу, тасымалдау тыйымы жне т.б. деген флагтар бар.