给这个CPU编程必须按规则来, 有时要插入空操作, 不然指令执行会出错[s:;P]
"A = 0x00"的下一句是"A = 0x11"的话"A = 0x00"不会被执行.
如果要让A = 0x00被执行的话后面指令的目的操作数不能是A,
因为这个CPU锁存A = 0x00指令之后A寄存器(74XX273)的锁存线被拉低, 只有下一条指令不选中A寄存器,A寄存器的锁存线才会拉高锁存.
这个CPU的数据传送是靠阻塞来实现的... 意思就是数据消失的瞬间寄存器锁存线同时拉高出现的现象, 移位寄存器原理- -.
之前被洗脑了...以为一定要装个控制器上去才可以, 搞得得电路复杂得要死[s:;P] 还好觉悟得早
指令集里面的移位指令和跳转指令是根据经验来搞的. 这个经验在写编译器的时候一不留神就刷到了= =
跳转指令产生的跳转信号本来还想在后面加个异或门控制真假, 想想没必要[s::lol] 增加延迟频率又降低.