Maşın əmrlərinin formatı
Maşın əmrləri səviyyəsində proqramlaşdırma aşağı səviyyəli proqramlaşdırma dili olmasına baxmayaraq onun əmrlər sistemində müəyyən sayda əmrlər mövcuddur ki, onların köməyilə tələb olunan əməliyyatları aparmaq, maşın qurğularına göstərişlər vermək mümkündür. Hər bir maşın əmri iki hissədən ibarətdir: əməliyyat hissəsi (nə etmək sualını müəyyən edir) və operand hissəsi (emal obyektini təyin edir).
Aydındır ki, bütün informasiyalar müəyyən şəkildə kodlaşdırılmalı və formalaşdırılmalıdır.
Mikroprosessorun maşın əmrlərinə aşkar və ya qeyri aşkar şəkildə aşağıdakı elementlər daxildir:
Prefikslər sahəsi - bu əmr elementi aşağıdakı əməliyyatları yerinə yetirir:
1. Seqmenti dəyişdirmək. Əgər, hər hansı səbəbdən (susmaya görə təyin olunmuş) seqmenti dəyişdirmək lazım gələrsə, seqmenti dəyişdirmə prefiksindən istifadə olunur. Seqmenti dəyişdirmə prefiksi dəyişməni aşağıdakı qiymətlərə görə aparır: 2eh qiymətinə görə cs seqmentini , 36h ilə ss seqmentini, 2eh ilə ds seqmentini, 26h ilə es seqmentini, 64h ilə fs seqmentini, 65h ilə gs seqmentini dəyişdirir;
2. Ünvanın ölçüsünü dəyişdirmək;
3. Operandın ölçüsünü dəyişdirmək;
4. Lazım gəldikdə verilmiş əmrin təkrar icra olunması haqqında göstəriş vermək.
-Əməlyyat kodu sahəsi (mnemokod), verilmiş əmrin yerinə yetirdiyi əməlyyatı müəyyən edir. Əmrin operandından asılı olaraq eyni bir əmrə bir neçə əməlyyat kodu uyğun ola bilər ;
-Operandlar sahəsində; 0- dan 2–yə qədər operand ola bilər (bəzi əmrlər üç operandlı ola bilər).
Maşın əmrləri eyni vaxtda yaddaşda yerləşən iki operand (bəzi əmrlər müstəsna olmaqla) üzərində əməliyyat apara bilmir. Bu o deməkdir ki, əmrin operandlarının hər ikisi eyni vaxtda yaddaşda ola bilməz.
Bu səbəbdən əmrin operandları aşağıdakı kimi seçilə bilər:
1) registr – registr;
2) registr - yaddaş;
3) yadaş - registr;
4) bilavasitə operand – registr;
5) bilavasitə operand – yaddaş.
Yuxarda qeyd etdiyimiz əmrin operandlarının eyni zamanda yaddaşda ola bilməməsi qaydasını aşağıdakı əmrlərə şamil etmək olmaz:
- sətrlər ilə işləmə əmrlərinə. Bu əmrin köməyilə verilənləri yaddaşdan yaddaşa köçürmək olar(hər iki operand yaddaşda ola bilər);
- steklə işləmə əmrlərinə. Bu əmr verilənləri yaddaşdan stekə köçürə bilər;
- vurma tipli əmr. Əmrdə götərilən operanddan başqa ikinci operanddan və qeyri aşkar operanddan istifadə olunur.