Assembler proqramlaşdırma dili

Assembler cümləsi

Assembler cümləsi

Assembler dilində yazılmış proqram mikroprosessorun bütün arxitektur xüsusiyyətlərini (məsələn, yaddaşın təşkili, operandların ünvanlaşdırılması üsullarını, regstrlərdən düzgün istifadə olunması və s.) özündə əks etdirməlidir. Mikroprosessorların hər bir tipi üçün bu xüsusiyyətlər unikaldır.

Assembler proqramına yaddaş seqmentləri toplusu kimi baxmaq olar. Proqram bir və ya bir neçə belə seqmentlərdən ibarət ola bilər. Hər bir seqment dilin cümlələr yığımından ibarət olur və hər bir cümlə proqram kodunun sətri kimi yerləşdirilir.

Dörd tip Assembler cümləsi olur:

1. Əmrlər və ya təlimatlar–maşın əmrlərinin simvolik analoqudur. Translyasiya prosesində assemblerintəlimatları mikroprosessorun əmrlər sisteminin uyğun əmrinə çevrilir;

2. Makroəmrlər – müəyyən qaydalar əsasında proqram mətni kimi tərtib olunaraq translyasiya zamanı Asseblerin başqa cümləsi ilə əvəz olunur;

3. Direktivlər (psevdooperatorlar və ya bildiricilər)- hər hansı əməliyyatı aparmaq üçün assembler translyatoruna yalnız göstəriş verir. Heç bir əməliyyat aparmadığından ona psevdooperator deyilir. Translyasiyadan sonra direktivlər maşın əmrləri kimi saxlanılmır. Direktivlər Assebler dilində proqramın tərkib hissəsidir;

4. Şərhlər sətri– proqramın əmrləri haqqında izahat verən istənilən simvollar ardıcıllığından (azərbaycan və rus əlifbasının simvollarından da təşkil oluna bilər) ibarət olan cümlədir. Şərhlər translyator tərəfindən nəzərə alınmır. Şərhlər nöqtəli vergüllə (;) başlayır. Şərhləri əmrlərin, makroəmrlərin, təlimatların sonunda və ya ayrıca cümlə kimi yazmaq olar.

Assembler dilinin əmrləri ümumi şəkildə aşağıdakı kimi yazılır:

[nişan:] mnemokod [operand_1] [,operand_2] [,operand_3] [;şərh].

Kvadrat mötərizə içrisində göstərilən paramettlər məcburi parametrlər deyil. Onlar göstərilməyə də bilər. Parametrlər ən azı, bir boşluq işarəsi ilə ayrılmalıdırlar.

Nişan – identifikator olub, cümlənin birinci baytından yazılmalıdır. Nişan iki nöqtə (:) ilə qurtarmalıdır. Əmrin və regstrlərin adından nişan kimi istifadə etmək olmaz. Əgər əmrə proqramın digər hissəsindən müraciət varsa o, nişan ilə təmin olunmalıdır.

Misal:

AV: MOV CX, 5 ; yazılış döğrudur.

ADC: ADC AX, BX ; yazılış döğru deyil (nişan kimi əmrin adından istifadə olunub).

Çünki açar sözlərdən nişan kimi istifadə etmək olmaz.

Mnemokod (maşınyönlü dillərdə maşın əmrinin simvollarla yazılışı. Assembler dilində sadələşmiş forma)- məcburi parametr olub, maşın əmrinə uygun mnemokodun işarəsidir. Başqa sözlə , mikroprosessor əmrinin adıdır.

Operandlar – əmrin, makroəmrin və ya Assemblerin direktivlərinin hissəsi olub, üzərində əməliyyatlar aparılacaq obyektlərlərdir. Əmrlər operandsız (susmaya görə), bir operandlı, iki və üç operandlı ola bilər və operandlar bir-birindən vergüllə ayrılır. İki operandlı əmrdə birinci operand qəbuledici, ikinci isə mənbə adlanır və əməliyyatın icrasının nəticəsi birinci operandda yerləşdirilir, ikinci operandın məzmunu isə dəyişməz qalır.