Реализация минимум 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? Пожалуйста, порекомендуйте.

0 ответов

Другие вопросы по тегам