Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CPU実行処理の実装 #9

Open
jpnykw opened this issue May 12, 2020 · 9 comments
Open

CPU実行処理の実装 #9

jpnykw opened this issue May 12, 2020 · 9 comments
Assignees
Labels
enhancement New feature or request high important level: higher

Comments

@jpnykw
Copy link
Owner

jpnykw commented May 12, 2020

No description provided.

@jpnykw jpnykw added the enhancement New feature or request label May 12, 2020
@jpnykw jpnykw self-assigned this May 12, 2020
@jpnykw
Copy link
Owner Author

jpnykw commented Jun 9, 2020

実装した

  • 数値演算
  • 論理演算
  • シフト
  • ローテーション
  • 条件分岐

課題

  • fetch_operandの実装
  • fetch_dataの実装
  • machine::Machine::write()の実装

@jpnykw
Copy link
Owner Author

jpnykw commented Jun 9, 2020

バグ

@jpnykw
Copy link
Owner Author

jpnykw commented Jun 9, 2020

バグ

修正(要検証)
ab4b3de

@jpnykw
Copy link
Owner Author

jpnykw commented Jun 9, 2020

実装した

  • bit検査
  • ジャンプ
  • 割り込み
  • 比較(CMPのみ)

@jpnykw
Copy link
Owner Author

jpnykw commented Jun 9, 2020

  • イベントループ内でCPUを実行できるようにした(Cycle数の実装は直観)
  • stack pointerが負の方向に溢れて落ちる(fetchの実装が終わっていない)
  • ひとまずhello worldはちゃんと無限ループ処理に入っているので良さそう

@jpnykw
Copy link
Owner Author

jpnykw commented Jun 9, 2020

実装した

  • 比較(残り全部)
  • インクリメント/デクリメント(INC, DECのみ)

@jpnykw jpnykw added the high important level: higher label Jun 9, 2020
@jpnykw
Copy link
Owner Author

jpnykw commented Jun 10, 2020

実装した

  • インクリメント/デクリメント
  • フラグ操作
  • ロード
  • ストア
  • レジスタ間転送
  • スタック
  • NOP

課題

  • attempt to subtract with overflowの解決(stack pointerが負の値になる)

@jpnykw
Copy link
Owner Author

jpnykw commented Jun 10, 2020

実装した

  • インクリメント/デクリメント
  • フラグ操作
  • ロード
  • ストア
  • レジスタ間転送
  • スタック
  • NOP

課題

  • attempt to subtract with overflowの解決(stack pointerが負の値になる)

修正
ef9460e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high important level: higher
Projects
None yet
Development

No branches or pull requests

1 participant