Что означает этот код Mac-1? - PullRequest
0 голосов
/ 11 марта 2012

Это инструкция для выполнения инструкций Mac-1 (микропрограммирование):

100: alu := ac; if z then goto 0;
101: sp := sp + (-1);
102: mar := sp; mbr := pc; wr;
103: pc := band(ir,amask); wr; goto 0;

Может кто-нибудь сказать мне, что он делает и почему он это делает?Все, что я знаю, это строка 100, которая проверяет, равен ли содержимое аккумулятора нулю.Если он равен нулю, он переходит к подпрограмме.

1 Ответ

0 голосов
/ 12 марта 2012

Строка 101 манипулирует указателем стека (по крайней мере, так выглядит sp). Строка 103 выглядит так, как будто она меняет указатель программы (это то, чем pc выглядит).извините, понятия не имеете, что такое wr, mar и mbr, поэтому потребуется больше контекста.

Вне руки это выглядит как часть одного из "взять прерывание" или "выполнить"вызов функции "(более вероятно, первое, чем второе).

...