这是执行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行,它检查累加器的内容是否为零。如果它为零则跳转到子程序。
答案 0 :(得分:0)
第101行操纵堆栈指针(至少是sp
看起来的那个)
第103行看起来正在改变程序指针(这就是pc
看起来的样子)。
至于细节,抱歉,不知道wr
,mar
和mbr
是什么,所以需要更多背景。
副手,它看起来像是“接受中断”或“执行函数调用”的一部分(前者比后者更多)。