Команда "div" не работает в сборке - PullRequest
0 голосов
/ 06 января 2019

В моем коде все работало как положено, но после команды regulad "div bx" оно перестало работать. Я использовал команду несколько раз до этого в одном и том же коде, и она отлично работала (я написал cwd в начале). это случилось с тобой? что случилось? вот часть кода:

    proc Reduction
mov dx,0
mov cx,0
mov ax,0
mov bx,0
mov cx, [sheerit]
tsim:
mov ax,0
mov ax,[sheerit]
mov [sheerit1],ax
mov ax,[number2]
mov [number22],ax
mov dx,0
mov ax,[sheerit1]
mov bx,[counter]

div bx
cmp dx,0
jne next
mov ax,[number22]
mov bx, [counter]
div bx
cmp dx,0
jne next
mov ax,[counter]
mov [big],ax
next:
add [counter],1
loop tsim
mov ax,0
mov bx,0
mov cx,0
mov dx,0
mov ax,[sheerit]
mov bx,[big]
; here it stopped working:
div bx
mov [sheerit1],ax
mov ax,0
mov bx,0
mov cx,0
mov dx,0
mov ax,[number2]
mov bx,[big]
div bx
mov [number2],ax
ret
endp Reduction

1 Ответ

0 голосов
/ 07 января 2019
mov bx,[big]
; here it stopped working:
div bx

Это произойдет, если переменная big все еще равна нулю в этой точке, что, в свою очередь, может произойти, если в цикле tsim счетчик никогда не был передан в большой .

...