13
模拟Intel 8086 CPU
注意:有几个答案。也可以考虑更新较新的答案。 来自happy5214的常见Lisp C从luser droog NeatMonster的Java crempp中的Javascript 来自Mike C的C Darius Goad的C ++ luser droog的后记 JoeFish的C ++ 完全主观的Javascript 来自RichTX的C Dave C的C ++ JB的Haskell 来自ja的Python 该8086是英特尔的第一款x86微处理器。您的任务是为其编写一个仿真器。由于这是相对高级的,因此我想限制一下: 仅需要实现以下操作码: mov,push,pop,xchg 加,adc,sub,sbb,cmp和或xor 十二月 通话,回复,跳转 jb,jz,jbe,js,jnb,jnz,jnbe,jns stc,clc 暂停 结果,您只需要计算进位,零和符号标志 不要实施细分。假设cs = ds = ss = 0。 无前缀 没有任何中断或端口IO 没有字符串功能 没有两字节的操作码(0F ..) 无浮点运算 (显然)没有sse,mmx等32位内容... 1979年尚未发明的任何东西 您不必计算周期或执行任何计时 以ip = …