HACKコンピュータの機械語(アセンブリ)は独特です。CASL2とは表現の仕方が、かなり違います。できるのか心配していましたが、どうにか終わりました。今回もグーグル翻訳に助けて頂きました。
本誌の他に重要な資料はレクチャーのPDF資料です。153ページもあるので、翻訳が大変でした。このページには、例2が記載されています。
レクチャーのはじめでは、基本的な命令の書式が説明してあります。この他、2数のうち大きい数を選んだり、2数の合計を求めたり、100までの数の合計をイテレートさせ計算させたり、ポインターでの配列処理などありました。かなり参考になりました。
デモのビデオも参考になります。下の写真はデモを止めて見ながら、エディターに入力しCPUエミュレータで動作確認しているところです。
デモには長方形を描く、Rectangle.asmがありました。デモを止めコードを書き写し、試してみました。プロジェクトのFillに役立ちました。Fillのコードを書きましたが動作が遅いので、何かあるのかQ&Aで調べました。
やり取りの中から、NonAnimationで表示させると良いことがわかりました。
無事にFillのプロジェクトが成功しました。先生は18行のコードでかけるように述べておられましたが、私は70行を越えました。しかし動作したので、良しとしました。
掛け算のMultも終わりました。掛け算といっても、繰り返し加算するだけです。
ビットマップエディターも使ってみました。
自由課題では、このビットマップをキーボードで動かすことを考えました。上の図でもかなりピクセル数があります。1ピクセルずつ全てを動かすには、大変な作業が必要そうなので1本のラインを動かすことにしました。
ビットマップが左上に表示されるので、右か下方向しかありません。右矢印キーで右に動くようになりましたが、メモリに残っている前のデータも表示されました。この後、どうにか前のデータを消す(M=0を入力)ことができるようになりました。一応1本のラインが右方向と下方向に動くようになりましたが、ゲームのようには自在には動きません。1ビットずつ右にシフトするとか、32ワードずつ下にシフトするとか方法がありそうですが今はわかりません。今後の課題です。
編集後記
ロシアはまだ侵略戦争をやめません。国連もがんばっていますが、戦争を始めるわけにはいかないので苦慮しています。ロシアでは報道も規制され、正しい情報を国民は知らされていません。戦前の日本のようです。正しい報道の大切さをあらためて感じます。狂った指導者がいても、それを浄化できるような国づくりをしないといけません。ロシアの指導部や戦った兵士が、「この戦争は間違っている」と止めさせるしかありません。ロシアの人たちは頑張ってください。