GMC-4アセンブラ

学研の大人の科学マガジン vol.24の付録、 GMC-4の アセンブリコードを機械語に変換します。
公式アセンブラと違い、 ラベルがJUMP命令の後に定義される場合でも、きちんと認識されます。

この入力欄にアセンブリコードを入力してください。 こちらに変換結果が表示されます。


コードを入力して「アセンブル実行」ボタンを押してください。

書き方

命令記号は本誌やWikipediaを参考にしてください。

TIA 8 // Aレジスタに8を代入
AO // Aレジスタの値を数字LEDに表示
JUMP LABEL1 // LABEL1にジャンプ
CAL RSTO // 数字LEDを消灯する(実行されない)
LABEL1: JUMPADDR 00 // 00番地にジャンプ

リンク


戻る


サンプル

メーター

0キーを押すとLEDランプが1個ずつ点いていく。
1キーを押すと合否判定が行われ、LEDランプが5個以上ついていれば合格になる。
合否判定の後、LEDランプはリセットされる。
「うまく動かない可能性があります」と出るが、うまく動くので問題ない。

// メーター
// 0を押すとカウントが1増える
// 1を押すと合否判定(カウントが5以上で合格)してカウントを0にする

TIA 0
//ついでにLED消灯用メモりを初期化
TIY E
AM
TIY F
AM

CH
KEYLOOP2: TIY 0
KEYLOOP: KA
JUMP KEYLOOP2
CIY 1
JUMP GOCHECK
JUMP KEYLOOP
GOCHECK:
TIY 1
CIA 0
JUMP NEXTCHECK
//カウントアップ
CH
CIA 7
JUMP GOUP // もうカウントアップしない
CH
JUMP KEYLOOP
GOUP:
CAL SHTS
CY
CAL SETR
CY
AIA 1
CH
JUMP KEYLOOP

NEXTCHECK:
CIA 1
JUMP KEYLOOP
//結果音を鳴らす
CH
AIA B // Aレジスタが5以上ならオーバーフロー
JUMP ACCEPTED
//不合格
TIA 5
CAL SUND
TIA 1
CAL SUND
JUMP RESET

ACCEPTED:
//合格
CAL ENDS

RESET:
TIA 4
CAL TIMR
CAL DSPR
TIA 0
CH
JUMP KEYLOOP

戻る