Assembler proqramlaşdırma dili

Seqment registləri

Seqment registləri

Əməli yaddaşın səmərəli ünvanlaşdırıması məqsədilə yaddaş 6 tip seqmentə bölünür. Seqmentlərin baza ünvanını göstərmək, konkret vaxt anınında ona müraciət etmək üçün mikroprosesserun proqram modelində altı tip CS, DS, SS, ES, GS, FS seqment registlərindən istifadə olunur. Onlarıın sxematik təsviri aşağıdakı şəkildə göstərilmişdir:

Göstərilən registrlərin yaradılması Intel firmasının mik­ro­prosessorlarının əməli yaddaşının təşkilinə və istifadəsinə əsas­lanır. Bu mikroprosessorun apparat vasitəsi ilə pro­qram strukturunun seqment adlanan üç hisədə təşkili ilə bağ­lıdır. Yaddaşın bu cür təşkili seqmentləmə adlanır. Pro­qramın konkret vaxt anında müraciət edə biləcəyi seqmenti göstərmək üçün seqment registrlərindən istifadə olunur.

Bu registlərdə faktiki olaraq uyğun seqmentlərin başlanğıc ünvanları müəyyən düzəlişlərlə göstərilir. Mikroprosessor aşağıdakı tip seqmentlərlə işləyir:

1. Kodlar seqmenti (əmrlər seqmenti). Bu seqmentdə proqram əmrləri yerləşir. Seqmentin yerləşdiyi yaddaşın baza ünvanı CS (code segment register) – registrində yerləşdirilir ki, buna kodlar seqmenti registri deyilir və həmin seqmentə CS registrinə görə müraciət olunur;

2. Verilənlər seqmenti. Bu seqmentdə proqramda is­ti­fa­də olunan verilənlər yerləşir və seqmentin yerləşdiyi yad­daşın baza ünvanı DS (data segment register) – registrində yerləşdirilir ki, buna verilənlər seqmenti registri deyilir və həmin seqmentə DS registrinə görə müraciət olunur;

3. Stek seqmenti. Bu seqment stek adlanan yaddaş sahəsidir. Mikroprosessor steklə işi aşağıdakı prinsipdə apa­rır: bu sahədən sonuncu yazılan informasiya birinci gö­türülür (yəni, «birinci gəldi, axırıncı getdi» (FİFO) prin­spi). Seq­mentə daxil olmaq üçün SS – stek seqmenti re­gistrininməzmunundan istifadə olunur ki, burada stek seq­mentinin ünvanı yerləşdirilir;

4. Əlavə verilənlər seqmenti. Əksər maşın əmrlərinin qey­ri aşkar icra alqoritmində mikroprosessor, əmrdə emal olu­nacaq verilənin verilənlər seqmentində yerləşdiyini və bu seq­mentin ünvanının DS registrində olduğunu qəbul edir.Əgər proqramda verilənlər üçün bir seqment kifayət et­mir­sə, mikroprossesor daha üç əlavə verilənlər seqmentindən is­tifadə etmək imkanına malikdir. Ancaq, ünvanı DS re­gistrində yerləşən əsas verilənlər seqmentindən fərqli ola­raq, əlavə verilənlər seqmentlərindən istifadə edildikdə, on­la­rın ünvanını aşkar şəkildə əmrdə, seqmenti təyin edən xü­susi prefikslərdən istifadə etməklə göstərmək tələb olunur. Əlavə seqmentlərin baza ünvanları es, gs, fs(extension data segment registers) registlərində yerləşdirilməlidir.