学習目的で、8051 マイクロコントローラー エミュレーターの構築を開始する予定です。C/C++/C# でのプログラミングに慣れています。これはクラスのプロジェクトなどではなく、私の側からの学習イニシアチブです。
私はこれについて議論する非常に多くの質問を見つけました. ただし、実際にコードを書き始める前に、どの領域に焦点を当てる必要があるかを知ることができるように、もう少し細かいレベルでそれを壊したかったのです。
私の最初の要件は次のとおりです。
ユーザーがアセンブリ コードを記述できるテキスト エディター (編集ボックス コントロールを使用可能)
構文が正しいかどうかを検証する
実行時にレジスタ値を表示する小さなウィンドウがあります。
ユーザーがプログラムを開始すると、命令はレジスタウィンドウを段階的に更新する必要があります。
GUI 要素よりも、マイクロコントローラーをエミュレートする方法を知りたいと思っています。
私が理解している方法で、さらに分解できます。
命令のルックアップ テーブル、または使用可能な命令を格納して構文を検証する他の方法が必要です。これを実装する方法があれば、教えてください。
8051 の各命令をエミュレートするにはどうすればよいですか?
レジスタの場合、タイプに基づいて un/signed 整数を使用し、テーブルを更新できます。
マイクロコントローラは RAM メモリが限られているため、コード長またはメモリ内で実行されているコードをチェックして、バッファ オーバーフローやその他の問題を回避するにはどうすればよいですか。
エミュレーターをゼロから構築する方法を詳しく説明しているオープンソース プロジェクトがいくつかある場合は、感謝します。