Assembler proqramlaşdırma dili

Mikroprosessoru idarə edən əmrlər

Mikroprosessoru idarə edən əmrlər

Mikroprosessoru idarə edənəmrləri üç qrupa bölmək olar:

- bayraqları idarəedən əmrlər;

- xarici sinxronlaşdırma əmrləri;

- boş hərəkət əmrləri.

STC (SeT Carry flag-köçürmə bayrağını tənzimləmə), CLC (CLear Carry flag- köçürmə bayrağını sıfırlaşdırma), CMC (CoMplementCarry flag - köçürmə bayrağını inversiya etmə), STD(Set Direction flag – istiqamət bayrağını tənzimləmə), CLD (CLear Direction flag – istiqamət bayrağını sıfırlaşdırma), STİ (SeT Interrupt flag-kəsilmə bayrağını tənzimləmə), CLİ(CLear Interrupt flag- kəsilmə bayrağını sıfırlaşdırma) əmrləri bayraqları idarə edir.

STC əmri köçürmə bayrağına vahid yazır (CF=1), yəni kiçik hissədən böyük hissəyə köçürmə və ya böyük hissədən borc almanı təyin edir.

CLC əmri isə STC-nin əksi olub, köçürmə bayrağına sıfır yazır (CF=0).

CMC əmri CF köçürmə bayrağını inversiya edir, yəni CF-in qiyməti sıfır isə onu vahid, vahid isə sıfır ilə əvəz edir.

STD əmri istiqamət bayrağına vahid yazır (DF=1). CLD əmri isə əksinə, istiqamət bayrağına sıfır yazır (DF=0). Məsələn:

1)  MOV CX,10
    CLD 
REP MOVS  A1, A2

Əmrlərin icrası zamanı DF=0 olduğuna görə A2 sətrinə kiçik bayt kimi baxılır və A1 sətrinə göndərilmə təşkil olunur (yəni, A2, A2+1, ...,A2+9 uyğun olaraq A1, A1+1, ...,A1+9 göndərilir).

2)  MOV CX,10
    STD 
 REP   MOVS  A1, A2

Əmrlərin icrası zamanı DF=1 olduğuna görə A2 sətrinə böyük bayt kimi baxılaraq A1 ətrinə göndərilmə təşkil edilir (yəni, A2, A2-1, ...,A2-9A1, A1-1, ...,A1-9).

CLI kəsilmə bayrağına sıfır yazır (İF=0). STİ isə əksinə kəsilmə bayrağına vahid yazır (İF=1). Bu qiymətlər əsasında mikroprosessor xarici qurğulardan gələn kəsilmə siqnallarını analiz edərək qərar qəbul edir. Belə ki, əgər IF=0 olarsa, mikroprosessor xarici qurğulardan gələn kəsilmə siqnallarını emal etmir, əks halda isə emal edir.

Xarici sinxronlaşdırma əmrlərinə aşağıdakı əmrlər: HLT (HaLT dayandırma), WAIT (WAIT - gözləmə), ESC (ESCape - çıxma  LOCK (LOCK the bus şini qapamadaxildir.

HLT əmri mikroprosessoru dayanma vəziyyətinə gətirir ki, bu zaman o heç bir əmrə təsir göstərmir, yəni mik­ro­prosessor heç bir iş görmür. Mikroprosessoru dayanma vəziyyətindən xarici kəsilmələrin köməyi ilə çıxarmaq olar. HLT əmrindən mikroprosessoru gözləmə vəziyyətinə (məsələn, klaviaturadan simvolun daxil edilməsini gözləmə) gətirmək üçün istifadə etmək olar.

WAIT əmri mikroprosessorun işini müvəqqəti dayan­dırırır. Mikroprosessorun sürəti xarici qurğuların işləmə sü­rətindən böyük olduğuna görə, xarici qurğudan verilənlərin daxil – xaric edilməsi zamanı mikroprosessor, WAIT əmrinin köməyi ilə gözləmə vəziyyətinə gətirilir. Belə olan halda xarici qurğu işini qurtarana qədər mikroprosessor gözləmə vəziyyətində qalır və başqa əmrləri emal etmir.

ESC əmri idarəni mikroprosessor sistemindəki başqa prosessora ötürməyə imkan verir. Ümumi yazılışı aşağıdakı kimidir:

ESC xarici_kod, mənbə

Burada xarici kod altı mərtəbəli bilavasitə operand, mənbə isə registr və ya dəyişən ola bilər. Bu əmr, adətən, soprosessora əmri ötürməyə imkan verir və bu halda xarici kod – soprosessorun əməliyyat kodu, mənbə isə onun operandıdır.

Prefksli LOCK əmri icra olunduğu vaxt, əgər sistemdə başqa prosessor iştirak edirsə, ardıcıl olaraq verilənlər şini bloklaşdırılır və prefksliLOCK əmri öz işini qurtarana qədər yaddaşa başqa prosessor müraciət edə bilmir.

NOP (NO oPeration – əməliyyat kodudur) əmri ilə mikroprosessor heç bir əməliyyatı yerinə yetirmir, yalnız (IP/EIP) əmrlər göstəricisinin məzmununu artırlır