Кй жне басару регистрлері

Процессора рашан процессорды зіні де жне осы стте ол командасын дейтін программаларды да кйлері жайлы мліметтерді сатайтын екі регистр енгізілген:

· ЕІР/ІР команда крсеткіші регистрі;

· ЕFLAGS/ FLAGS жалаушалар регистрі.

ЕІР/ІР команда крсеткіші регистрінде рдайым келесі орындалатын команданы адресі саталады. Длірек айтса, CS сегменттік регистрінде крсетілген сегментті басынан басталып есептелген команданы ыысуы трады. Сол себепті команданы абсолюттік адресі CS жне ЕІР/ІР регистрлерімен аныталады:

d CS® d  
  ЕІР/ІР ®  
   

 

 

ЕІР/ІР

 

 

ЕFLAGS/ FLAGS –жалауша регистрі 32(16) разрядтан трады. Оны р биты процессорды белгілі бір жмыстарыны кйін анытайды да, сйкешінше 0 немесе 1 мнін абылдайды, жалауша деп аталады (1.1 –кесте).

1.1 -кесте. 32- разрядты процессорды жалаушаларыны сипаттамасы

Жалауша аты Анытамасы Бит Кйі жне міндеті
CF Тасымалдау жалаушасы Егер табасыз сандарды осанда жоары разряда тасымалдау жасалса (яшыа симаса) онда мні 1, ал жасалмаса мні 0. Операндтарды лшімдеріне сйкес жоары разряд 7 -ші,15- ші жне 31-ші бит
PF Жпты жалаушасы Кезекті команданы нтижесіні 8 кіші биттарында екілік бірлер саны жп болса, мні 1-ге те. детте енгізу-шыару амалдарында ескеріледі.
AF осымша тасымалдау жалаушасы Екілік-онды сандар мен амалдар орындау ерекшеліктерін ескереді.
ZF Нлдік жалаушасы Команданы нтижесі нл боланда мні 1.  
SF Таба жалаушасы Табалы сандармен амалдар орындаанда нтиже теріс боланда мні 1.  
DF Баыттыу жалаушасы   Байттар тізбегіні арастырылу баытын анытайды: егер оа арай арастырылса DF=0, ал сола арай арастырылса DF=0 .
OF Толып кету (Толу) жалаушасы Табалы сандармен амалдар орындаанда пайдалы. Мысалы, табалы сандарды осуда немесе алуда нтиже модулі бойынша ммкін шамадан асып кетсе мні 1, йтпесе 0.
IOPL Енгізіу-шыару дегейін анытау 12,13 Процессорды оралу режимінде есептерді орындалу ретіне байланысты енгізу –шыару командаларына атынауды баылауда олданылады.
NT аптамалы есептер жалаушасы Процессорды жмысыны оралу режимінде есептерді аптамалы орындалу фактысын бекітеді.
TF Трассировка жалаушсы Процессорды жмысыны адамдап йымдастырылуына арналан: 1 – р машиналы команда орындаланнан со процессор зілім (1 нмірлі) жасайды. 0– процессорды алыпты жмысы.
IF зілім жалаушасы Аппаратты зілімге (INTR кірісі бойынша зілім) тыйым салынуа (жасырыну) немесе рсат етілуге арналан: 1 – аппаратты зілімге рсат етілген; 0 – аппаратты зілімге тыйым салынан.
RF Жаарту жалаушасы Жндеу регистрі бойынша зілімді деуге арналан.  
VM 8086 виртуальды режимі жалаушасы Процессорды 8086 виртуальды режимде жмыс жасау белгісі: 1- процессор 8086 виртуальды режимде жмыс жасайды. 0- процессор алыпты немесе оралу режимде жмыс жасайды
АC Туралауды баылау жалаушасы Жада атынау барысында туралауды баылауа рсат етуге арналан.
VIF Виртуальды зілім жалаушасы Белгілі бір жадайларда (оларды бірі - процессорды V режимдегі жмысы) IF жалаушасыны баламасы болып табылады. VIF жалаушасы VIP жалаушасымен оса олданылады. Жалауша Pentium процессорында пайда болды.
VIP Кейінге алдырылан виртуальды зілімдер жалаушасы Кейінге алдырылан зілімдерді крсету шін мні 1 болады. V режимде VIF жалаушасымен оса олданылады. Жалауша Pentium процессорында пайда болды.
ID Идентификациялау жалаушасы Процессорды CPUID командаларын олдайтындыын крсету шін олданылады.

 

ID VIP VIP AC VM RF NT IOPL OF DF IF TF SF ZF AF PF CF
                                               

FLAGS/ ЕFLAGS регистрініжалаушаларын олдану ерекшетіктеріне байланысты ш топа блуге болады.

Бірінші топа 8 кй жалаушасы (CF, OF, ZF, SF, PF, AF, IOPL, NT) кіреді. Бл жалаушалар машиналы командалар орындаланнан со згеруі ммкін. ЕFLAGS/FLAGS регистріні кй жалаушалары арифметикалы жне логикалы амалдарды нтижелеріні ерекшеліктерін крсетеді. Бл жадай есептеу процесіні кйін талдап, оан шартты ту жне ішкі программаларды шаыру командалары арылы сер етуге ммкіндік береді.

ЕFLAGS/FLAGS регистріні жалаушаларыны екінші тобына бір ана DF баыттау жалаушасы жатады. Бл жалауша байттар тізбегін деу командаларында олданылады. Жалаушаны мні командаларда байттар тізбегіні арастырылу баытын анытайды: егер тізбекті басынан оа арай арастырылса DF=0, ал, керісінше, соынан бастап сола арай арастырылса DF=0.

ЕFLAGS/FLAGS регистріні жалаушаларыны шінші тобына 8 жйелік жалаушалар (IF, TF, RF, VM, AC, VIF, VIР, ID) кіреді. Бл жалаушалар зілімдерлі, жндестіру процесін, есептерді ауыстыруды жне 8086 виртуальды процессорыны режимдерін басарады. олданбалы программаларда бл жалаушаларды, аса бір ажетті жадайда болмаса, згертпеген жн, себебі бл жалаушаларды згерту кбіне программаны жмысыны зілуіне келеді.

Дріс №2

Таырыбы: Ассемблер тіліні негізгі элементтері.

Жоспары. Лексемалар. Идентификаторлар. Бтін сандар. Сйлемдер жне оларды трлері мен рылымдары. Коментарилер. Командалар. Директивалар. жазылады.

DB, DW, DD, EQU директивалары. Эквиваленттілік жне меншіктеу директивалары. рнектер.Тратылы рнектері. Адрестік рнектер.

Машиналы тілде программалау крделі. Оны бір себебі – командаларды цифрлы формада жазылуы. Ал адамдара символды белгілеулер крнектілеу. Сол себепті машиналы программаларды руды жеілдету ралдары ойластырылан. Бл - машиналы тілді символды формада жазылуы болып табылатын, ассемблер тілі: онда амалдарды цифрлы кодтарыны орнына йреншікті амал белгілері немесе оларды сздік атаулары, адрестерді орнына – атаулар жазылады, ал тратылар онды жйеде жазылады. Бл трде жазылан программаны компьютерге енгізіп, оны машинала тілге аударатын, ассемблер деп аталатын арнайы транслятора жіберіледі. Сонан со жасалан машиналы программа орындалады.

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

Ассемблер тіліні синтаксисін сипаттауда келесі толытырулармен Бэкус – Наура ( БНФ ) формуласын олданамыз:

· міндетті емес конструкцияларды квадратты жашада крсетеміз. Мысалы: А [В] С – АВС немесе АС –ні дегенді білдіреді.

· бірнеше рет айталануы ммкін конструкцияларды фигуралы жашаа аламыз. Мысалы, А{ВС} келесі мтіндерді кез келгенін білдіреді: А, АВС, АВСВС, АВСВСВС т.с.с.