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

2023年09月01日

Laboratoryテーマ??22「文字列から数値に変換したい」




9_3_1.png

さて、今回はLaboratoryテーマ??22「文字列から数値に変換したい」です。
前回のメッセージウィンドウオープンで説明した通り、イベント制御には自作スクリプトを用意します。
しかし、スクリプトを読み込む際、数字も文字列として読み込んでしまうため、そのままでは数値として利用できません。
例えば、スクリプト「FE,12」(実行中イベントのフラグを12にする。)は、メッセージデータ上は文字列「46 45 2C 31 32」となっています。
そこで、数字部「31 32」を数値「12」化するためのサブルーチンが必要になります。

文字→数値変換のサンプルプログラムです。

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

数字を含む文字列を入力すると、文字列中の数字部分を数値化し、数値として結果を表示します。
文字列データとなっている途中経過をASCIIコード化して表示します。
9_3_2.png

マシン語のサンプルです。
(因みに、メッセージウィンドウオープンのサンプルに既に入っています。)
起動すると、Ato9SMPL.BINを作成します。

掛け算のサブルーチンを内包しています。
0〜255までの値を変換可能です。
変換用のワークとして、5個の変数を使っています。
サブルーチンとしてアドレス変更する際は、そこの変更を忘れないように気を付けてください。(&HD0E0〜&HD0E4)




IN

OUT



DE

文字列数字部先頭アドレス

A

数値



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

9_3_3.png
マシン語のサブルーチンとして必要なのは&HC000~&HC03Fまでです。
&HC058~&HC06Fは文字列先頭アドレスから、数字部分を見付けサブルーチンコールします。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: