| 目の前に広がる崖を越えるコマンド選択式のアドベンチャー。 | AVG0.BAS |
| 名作ゲームのコラムス。 | (初期設定)COLUMNS.BAS |
| (実行)COLLLL.BIN | |
| (実行ソース)COLUMNS.ASC | |
| ダイヤを5個集めるとステージクリア。 | DAIYA.BAS |
| どのモンスターが勝つか? | FIGHT.BAS |
| ふわふわ。スペースキー1個のワンキーゲーム。 | FUWAFUWA.BAS |
| (アセンブラ部ソース)FUWAFUWA.ASM | |
| 迷路自動作成。 | MAKEMAZE.BAS |
| 3D迷路をさまよう。 | MAZE0.BAS |
| 意地悪な3D迷路。 | MAZE1.BAS |
| フィールドタイプの迷路。 | MAZE2D.BAS |
| オセロゲーム。 | OTHELLO.BAS |
| 石をすべて取る、パズルゲーム。 | PICKUP.BAS |
高速モード
| ダイヤを5個集めるとステージクリア。 | DAIYA.FST |
| 迫り来る敵を振り切って、おなかいっぱい。 | DOT-GAME.FST |
| オセロゲーム。 | OTHELLO.FST |
| 石をすべて取る、パズルゲーム。 | PICKUP.FST |
MSX-DOS
| 実行 | ソース | |
| BEEP音を鳴らす。 | ||
| CAPSキーをONにする。 | ||
| COLOR変更。 | ||
| ファンクションキーの内容変更。 |
ソースライブラリ
| ASCtoBIN | ASC2BIN.LIB |
| atJUMP | ATJMP0.LIB |
| CheckHEX | CHKHEX.LIB |
| CommandLineCheck | CMDLINE.LIB |
| CommandNo. | CMDNO.LIB |
Z80 小技
■Aレジスタに0を入れる
XOR A
同じ値どうしでXOR演算をすると0になります。
■Bレジスタに0を入れる
LD B,0
これが一番素直です。ステート数も7です。
XOR A
LD B,A
こちらはメモリを2バイト消費するのは同じですが、ステート数が8なので、
わずかですが時間が掛かります。
よくやる間違いとして「XOR B」があります。
これはBレジスタに代入する命令ではありません。
Aレジスタに何が入るかも分かりません。
■Aレジスタが0か判定する
AND A または OR A
0ならZフラグが立ちます。
■Bレジスタが0か判定する
INC B
DEC B
0ならZフラグが立ちます。
■自己書き換え
コラムスの次の石を表示するところで利用しました。
|
| Ticalc Japan :: Z80アセンブラの小技 | プログラミングテクニックを紹介しています。 |
| Z80 教室 | 日高徹さんが運営しています。 |
| にゃごすのホームページ | MSX2 テクニカルハンドブックの内容を公開しています。 |
高度な内容をやさしくQ&A形式で説明しています。