İkilik bölmə əmrləri
İşarəsiz ədədləri bölmək üçün DIV (DIVide) əmrindən istifadə olunur və aşağıdakı formada yazılır:
DIV bölən
DIV əmri iki işarəsiz ikilik qiymətin bölünməsi əməliyyatını yerinə yetirir. Bölən yaddaşda və ya 8, 16 və ya 32 bitlik registrdə ola bilər. Bölünənin yeri mikroprosessorun strukturuna əsaslanır və əvvəlcədən (onun ayırılacaq yerin ölçüsü bölənin ölçüsündən asılı olaraq seçilir) məlum olur. Bölmənin nəticəsi qismət və qalıq kimi qeyd olunur. Bölmə zamanı operandların yerləşməsi və onların ölçüsü aşağıdakı cədvəldə göstərilmişdir:
Bu əmr bilavasitə ədədə bölməni inkar edir. Bölmə əmrinin icrasından sonra bayraqların qiyməti təyin olunmur. Ancaq, ” sıfra bölmək olmaz” adlanan sıfır nömrəli kəsilmə baş verə bilər. Bu kəsilmə aşağıdakı səbəblərin birisinə görə baş verə bilər:
– bölən sıfır olduqda;
– qismət onun üçün ayırılmış şəbəkə mərtəbəsində yerləşmədikdə.
Misallar:
a) ... .DATA bölünən_b LABEL BYTE bölünən DW 311 bölən DB 29 .CODE ... XOR AX, AX ; Növbəti iki əmr bir MOV AX, bölünən əmrinə ; ekvivalentdir. MOV AH , bölünən_b+1 ; bölünənin böyük baytını ; AH göndərmək MOV AL, bölünən_b ; bölünənin kiçik baytını ; AL göndərmək DIV bölən ; qismət AL-də, qalıq isə ; AH-da yerləşir b) MOV BX,10 DIV BX ; (DX):(AX) registrlər ; cütünün məzmunu 10 ; bölmək
İşarəli ədədləri bölmək üçün IDIV (Integer DIVide) əmrindən istifadə olunur və formatı belədir:
IDIV bölən
IDIV əmri işarəli verilənlərin bölünməsi əməliyyatını yerinə yetirir. Bu əmr də DIV əmri kimi icra olunur. IDIV əmri DIV əmrindən fərqli olaraq işarəli ədədlərlə işləyir.