Как написать функцию деления программного обеспечения в сборке Intel-8080? - PullRequest
0 голосов
/ 23 июня 2019

для назначения я должен написать программу сборки для набора микросхем 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
...