Assembler proqramlaşdırma dili

Ümumi təyinatlı registlər (ÜTR)

Ümumi təyinatlı registlər (ÜTR)

Mikroprosessorun strukturuna uyğun olaraq, mikroprosessorun əmrlərinin operandları kimi, ümumi təyinatları yerinə yetirən registrlərdən istifadə olunur. Bu registrlərə ümumi təyinatlı (ÜTR) registrlər deyilir. Ancaq, mikroprosessorun bəzi əmrlərində (məsələn, vurma, bölmə və s.) bu registrlərdən xüsusi təyinatlı registr kimi istifadə olunur.

ÜTR-dən verilənlərin və ünvanların saxlanması üçün istifadə edilir. Onları aşağıdakı kimi təsvir etmək olar:

Şəkil 2

 

i486 və Pentium mikroprosessorlarının ümumi təyinatlı registrləri şəkil 2- də göstərilmişdir.

Burada E-extended (uzadılmış) mənasını daşıyır.

Ünvanlaşdırma zamanı bu registrlərin 16 və ya 8 bitlik kiçik hissəsindən istifadə olunur, böyük hissəsinə isə sərbəst obyekt kimi baxılır. Bu intel firmasının bütün mikro­pro­sessorlarının uyuşan olmasına əsaslanır. ÜTR təyinatlarını nəzərdən keçirək:

1) eax/ax/ah/al (Accumulator register) – ak­kumulyator adlanır. Burada eax - 32 mərtəbəli, ax - 16 mərtəbəli, ah - böyük bayt, al - kiçik baytdır və ondan əsasən, aralıq nəticələri müvəqqəti saxlamaq üçün istifadə olunur. Mikroprosessorun əmrlərinin strukturundan asılı olaraq, bəzi əmrlərdə bu registrlərdən xüsusi təyinatlı registr kimi istifadə olunur və əmrdə qeyri-aşkar şəkildə iştirak edir;

2) ebx/bx/bh/bl (Base register) – (2-4 bəndlərində göstərilən registrlərin ölçüsü 1-ci bəndindəki kimi təyin olunur) baza registri olub, obyektin baza ünvanının müvəqqəti saxlanılmasında istifadə olunur;

3) eCx/Cx/Ch/Cl (Count register) - sayğac registridir. Dövrü proseslərdə dövrlər sayını göstərmək üçün istifadə olunur;

4) eDx/Dx/Dh/Dl (Data register) - verilənlər registri. Bu registrdən də eax/ax/ah/al registrində olduğu kimi aralıq nəticələri müvəqqəti saxlamaq üçün isti­fa­də olunur. Mikroprosessorun əmrlərinin struk­tu­run­dan asılı olaraq bəzi əmrlərdə bu registrlərdən, xüsusi təyinatlı registr kimi istifadə olunur və əmrdə qeyri-aşkar şəkildə iştirak edir.

5) ESI/SI (Source Index register) - mənbənin indeks registridir. Bu registrlərdən sətri verilənlərin emalında, mənbənin dövrdəki cari elementinin ünvanını saxlamaq üçün istifadə olunur;

6) EDI/DI (destination Index register) - qəbuledicinin indeks registridir. Bu registrdə zəncirvari əməliyyatlarda qəbuledicinin dövrdəki cari elementinin ünvanı saxlanılır.

Bu axırıncı iki registrdən əsasən dövri proseslərdə uzunluğu 32, 16 və ya 8 mərtəbəli elementlərin ünvanını saxlamaq üçün istifadə olunur.

Mikroprosessorun proqram modelində steklə işləmək üçün aşağıdakı iki registr nəzərdə tutulub:

1. ESP/SP (Stack Pointer register) - stek göstəricisi registri. Burada cari stek seqmentindəki stekin zirvəsinin ünvanı yerləşdirilir;

2. EBP/BP (Baze Pointer register) - stek elementinin baza göstəricisi registri olub, stekin daxilindəki verilənlərə müraciəti təşkil etmək məqsədi ilə istifadə olunur.

Bir daha qeyd edək ki, müəyyən məqsədlər üçün, mikroprosessorun müxtəlif əmrlərində bu registrlərin müxtəlif kombinasiyalarından istifadə etmək olar.