13
Intel 8086 CPUをエミュレートする
注:いくつかの回答が届きました。新しい回答も投票することを検討してください。 happy5214のCommon Lisp luser droogからのC NeatMonsterのJava cremppのJavascript マイクCのC Darius GoadのC ++ luser droogからの追記 JoeFishのC ++ 完全に主観的なJavascript RichTXのC Dave CのC ++ JBのHaskell jaからのPython 8086は、 Intelの最初のx86マイクロプロセッサです。あなたの仕事は、そのためのエミュレータを書くことです。これは比較的進んでいるので、私はそれをリッテに制限したい: 次のオペコードのみを実装する必要があります。 mov、push、pop、xchg add、adc、sub、sbb、cmp、および、またはxor inc、dec call、ret、jmp jb、jz、jbe、js、jnb、jnz、jnbe、jns stc、clc hlt、nop この結果、キャリー、ゼロ、サインのフラグを計算するだけで済みます。 セグメントを実装しないでください。と仮定しcs = ds = ss = 0ます。 プレフィックスなし 種類の割り込みやポートIO 文字列関数なし 2バイトのオペコードなし(0F ..) 浮動小数点演算なし (明らかに)32ビットのもの、sse、mmxなどはありません... 1979年にまだ発明されていないもの サイクルをカウントしたり、タイミングを計ったりする必要はありません。 で開始ip …