computer system foundationCSF 2026
例: アセンブリ入門 ↗
2 機械語に変換 未アセンブル
3 実行
速度 ゆっくり(1命令 10.0秒)
1 アセンブリを書く
実行サイクル (Fetch → Decode → Execute → Memory → Write-back)
1
Fetch
2
Decode
3
Execute
4
Memory
5
W-back

どの命令もこの5段を必ず順に通る。メモリを使わない命令(ADD など)は Memory 段で何もせず素通りする ─ 段が消えるわけではない。

レジスタ・フラグ・出力
A00x00
B00x00
C00x00
D00x00
PC0命令ptr
Z=0Zero
N=0Neg
C=0Carry
OUT 出力
実行した命令数 0
メモリ RAM (16 bytes)
命令リスト
— アセンブル前 —
実行ログ
— 待機中 —
ミッション(好きな順に取り組める) 0 / 5
命令セットリファレンス(クリックで開く)
命令構文説明
LOADLOAD Rx, 値レジスタ Rx に即値を格納
LOADLOAD Rx, [addr]メモリ addr の値を Rx に読み込む(0x00〜0x0F)
STORESTORE Rx, [addr]Rx の値をメモリ [addr] に書き込む([0x00]〜[0x0F]。addr だけでも可)
ADDADD Rx, RyRx = Rx + Ry(フラグ更新)
SUBSUB Rx, RyRx = Rx − Ry(フラグ更新)
MULMUL Rx, RyRx = Rx × Ry(8ビット下位)
MOVMOV Rx, RyRx = Ry(コピー)
CMPCMP Rx, Ry比較してフラグだけ更新(値変化なし)
JMPJMP labellabel へ無条件ジャンプ
JEQJEQ labelZ=1 なら label へジャンプ
JGTJGT labelN=0 かつ Z=0 なら label へジャンプ
OUTOUT RxRx の値を出力
HALTHALTプログラム終了
コメント; から行末まで無視される
ラベルloop: のように : で終わる行
メモリアドレス0x000x0F