Помогите записать выражение на ассемблере

Само выражение

У меня проблемы с делением двойного слова. Ответ вообще не такой получается...

.model small
.stack 100h
.data
rez1 dw 0
rez2 dw 0
rez3 dw 0
result dw 0

.code
start:
mov ax, @data
mov ds, ax
xor ax, ax

mov bx, 123
sub bx, 4


mov ax, bx
mov bl, 5
div bl


mov rez1, ax

xor ax, ax
xor bx, bx

mov bx, 6
sub bx, 3

mov ax, bx
mov bl, 4
div bl

add rez1, ax ; ax ВЕСЬ ЧИСЛИТЕЛЬ

xor ax, ax
xor bx, bx

mov al, 4
mov bl, 3
mul bl ;теперь ax=12

mov bx, 36
add bx, ax
mov rez3, bx ;знаменатель ВЕСЬ 48
xor bx, bx

mov ax, rez1
div rez3 ;

sub al, 34 

int 21h
end start

Ответы (1 шт):

Автор решения: MBo

Раз у вас знаменатель вмещается в байт, то делите ax на байтовый регистр или однобайтовый адрес

div bl

а если он слово (rez1 dw), то для деления используется пара dx:ax, и dx нужно перед делением обнулить

mov ax, rez1
xor dx, dx
div rez3
→ Ссылка