Басқару және күйлер регистрлері
Микропроцессорға тағы бірнеше регистрлер енгізілген (сурет 4. қара), олар әрқашанда микропроцессор күйі жайындағы, программадағы конвейерден келіп түскен команда жайындағы барлық ақпараттарды сақтайды. Бұл келесі регистрлерден тұрады:
- белгілер регистрі eflags/flags;
- команда көрсеткіші регистрі eip/ip.
Бұл регистрлерді қолдана отырып, микропроцессор күйіне өзгеріс енгізуге және орындалған командалардың нәтижелері жайында ақпарат алуға болады. Бұл регистрлердің құрамын және берілуін толығырақ қарастырайық:
eflags/flags (flag regіster) — белгілер регистрі. Разрядтылығы eflags/flags — 32/16 бит. Берілген регистрдің әрбір битінің анықталған функционалдық тағайындамалары бар, оларды белгілер деп атаймыз. Бұл регистрдің кіші бөлігі і8086 үшін арналған flags регистрінің жұмысына ұқсас. Сурет 5 eflags регистрінің құрылымы көрсетілген.
Қолдану ерекшеліктеріне байланысты, eflags/flags регистр белгілерін үш топқа бөлуге болады:
- 8 белгілер күйі. Бұл белгілер машина командасының орындалуына байланысты өзгеріп отырады. Белгілер күйінің регистрі eflags негізінен арифметикалық және логикалық операциялар орындалған кездегі нәтиже ерекшеліктерін бейнелейді. Бұл есептеу процесінің күйіне анализ жасауға және оған шартты өту командалары немесе подпрограммаларды шақыру арқылы өзгеріс енгізуге мүмкіндік береді.
- 1 басқару белгісі. Dfдеп белгіленеді (Dіrectory Flag). Ол eflags регистрінің 10-шы битінде болады да, негізінен тізбектелген командалармен қолданылады. dfбелгісінің мәні бұл операциялардағы өңделетін элементтердің бағытын анықтайды: жолдың басынан соңына қарай (df = 0) немесе керісінше, жолдың соңынан басына қарай (df= 1).
dfбелгісімен жұмыс істеу үшін арнайы командалар бар: cld (df белгісін нөлдеу) және std (df белгісін тағайындау). Бұл командаларды қолдану dfбелгісін алгоритімімен сәйкестендіруге және жолдармен жұмыс жасау кезіндегі санауыштың мәнін үлкейтіп және кішірейтіп отыруға мүмкіндік береді;
- 5 жүйелік белгілер, енгізу/шығаруды, үзулерді маскалауды, аудармалауды, 8086 виртуальды режимімен тапсырмалар арасындағы ауысуларды басқарады.
Қоданбалы программаларға бұл белгілерді мофикациялауға болмайды, өйткені ол көп жағдайда программа жұмысын үзуге әкеліп соғады.
Енгізілген есеп белгісі
Енгізу шығару деңгейінің привелегиясы
Аса толу белгісі
Таңба белгісі
Нөлдік белгі
Қосымша тасымал белгісі
Жұптық белгі
Тасымал белгісі
Eflags(0…31) Eflags(0…15)
… | 13 12 | ||||||||||||||||||
… | AC | VM | RF | NT | IOPL | OF | DF | IF | TF | SF | ZF | AF | PF | CF |
Басқару белгілері:
Бағыт белгісі Жүйелік белгілер:
Жүйелік үзу белгісі
Үзу белгісі
Қайта қалыпқа келтіру белгісі
Виртуальды 8086 белгісі
Теңестіруді бақылау белгісі
5 cурет. Eflags регистрінің құрылымы
Дата добавления: 2015-10-26; просмотров: 1628;