Реализация минимум 3 цифр в макрокоде Mic-1
У меня есть следующий алгоритм, чтобы найти не менее трех входных чисел:
min(a,b,c):
x := a
if b < x then x := b
if c < x then x := c
return x
end min(a,b,c)
Я пытаюсь реализовать микрокод Mic-1, следуя приведенным выше алгоритмам:
OP1, OP2, OP3 = any 16 bit 2s complement value
OPRES: 0
.LOC 50
main: LODD OP1: push
LODD OP2: push
LODD OP3: push
CALL min:
INSP 2
STOD OPRES
HALT
min: LODL 1; OP1
SUBL 2; OP2 - OP1
JPOS op1small
SUBL 3; OP3 - OP1
JPOS op1small
op1small:
LODL 1
RETN ; OP1
Я довольно новичок в Mic-1 и хотел бы получить любую информацию об этом коде Mic-1 выше. Есть ли лучший или более короткий способ найти минимум три числа в Mic-1? Пожалуйста, порекомендуйте.