для назначения я должен написать программу сборки для набора микросхем Intel-8080, которая делит два целых числа (0 <= n <= 250).Остальная часть деления не имеет значения, имеет значение только целочисленное деление. </p>
Для справки нам была дана программа, которая умножает два целых числа.
Я знаю базовый алгоритм для выполнения целых чисел.разделение.Я, однако, пытаюсь выразить это в ассемблерном коде.Алгоритм выглядит следующим образом:
Say we want to calculate 10 DIV 3: Let m=10 and n=3.
Let i = 0
While m>n { m = m-n; i++}
Значение в m будет результатом целочисленного деления.
As stated above, this is the asm function to multiply two values.
; init
mvi l,100
mvi a,0
mov m,a
; input factor1
in 0
mvi l,101
mov m,a
; input factor2
in 0
mvi l,102
mov m,a
; call multiply function
call mult
out 0
hlt
; multiply
mult: mvi l,102
mov a,m
cpi 0
jz end
dcr a
mov m,a
mvi l,100
mov a,m
mvi l,101
add m
mvi l,100
mov m,a
jmp mult
end:
mvi l,100
mov a,
ret