検索
<< 2024年12月 >>
1
2 3 4 5 6 7
8
9 10 11 12 13 14
22
23 24 25 26 27 28
29
30 31
広告
駿河屋レトロゲーム
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
カテゴリーアーカイブ
ファン
QRコード

2023年06月28日

Laboratoryテーマ??11「マシン語の割り算(16ビット版)」




6_28_1.png

さて、今回はLaboratoryテーマ??11「マシン語の割り算(16ビット版)」です。
前回の「マシン語の割り算」では、割られる数が8ビット(0〜255)でした。 (2023年6月22日記事参照「 Laboratoryテーマ??3「マシン語の割り算」 」)
ただ、それでは大きい値の計算が出来ないので急遽Laboratoryテーマ??11として、「マシン語の割り算(16ビット版)」をテーマに新規追加しました。 (2023年6月27日記事参照「 しまった 」)
考え方は8ビット版と同じで、「8回ループ」を「16回ループ」に変更しただけです。
それに伴い、ビットシフト(ローテイト)が1回(8bit)で良かったところ、すべて2回(16bit)になったのでロジック長くなっています。

16ビット割り算のサンプルプログラムです。

「WARISMPL.BAS」【 ダウンロード

マシン語での計算結果と、検算用にBASICで単純計算した結果を列記します。
6_28_2.png

マシン語のサンプルです。
起動すると、WARIZAN.BINを作成します。

16ビットへのロジック変更の際、レジスタペア数が足りなかったので、2個16ビット変数を利用しているので、サブルーチンとしてアドレス変更する際は、そこの変更を忘れないように気を付けてください。(&HBF4C:3ヵ所、&HBF4E:3ヵ所)
変数使わない手もありますが、煩雑になるので楽で解り易い方法を選択しました。




IN

OUT



HL

割られる数

BC




B

割る数

HL

余り



「WARIZAN.BAS」【 ダウンロード

6_28_3.png
マシン語のサブルーチンとして必要なのは&HBF00~&HBF37までです。
&HBF38~&HBF4Fは計算元値を代入してサブルーチンコールします。

では、次回はLaboratoryテーマ??5「16ビットアドレス値の10進数表示」です。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/12048991
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: