学研の大人の科学マガジン 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