超ミニBASIC for H8/3664 改版履歴
と、H8/3048版との相違点
Copyright (C) 2004 A.Hiramatsu (04/08/28)
・改版履歴
2003/06/15 ver1.02(初版)
初版なのにver1.02って? と思われる方もいるかもしれませんが、先行して発表しているH8/3048版の、該当するバージョンと合わせています。
2003/06/23 ver1.02a
変数B、BTST関数を使おうとするとハングするバグを修正。(関数ネームテーブルのリンクが異常)
特に機能Upはしておらず、バグを取っただけなのでバージョンは 1.03 ではなく 1.02a です。
2003/06/30 ver1.02a'
BASICインタプリタ自体に変更はなし。
添付の変換ソフト cmb2mot.exe のバグを修正(一行の長さが約30文字を越えると出力するmotファイルがおかしくなる)
2003/09/14 ver1.02b
REPEAT〜UNTILループ中、構造化IF構文でBREAKするとエラーになるバグを修正
Ver1.02a では以下のプログラムはエラーになりました
10 I=0
20 REPEAT
30 PRINT I
40 IF(I=5) {BREAK} ' 1行IF文なら大丈夫
50 I=I+1
60 UNTIL I=10
|
LISTコマンド、DUMP文等の実行中、Ctrl−S、Ctrl−Cキーの利きが悪いという問題点を改善
その他、害は無いものの無意味なコードを取り除いた
2004/02/22 ver1.02c
キャリーフラグをクリヤする際、割り込み禁止フラグまでクリヤするという大ボケなことをやっていた箇所が2箇所あったので直した
誤)ANDC #H'7E,CCR
正)ANDC #H'FE,CCR
2004/08/28 ver1.03
連続する空白を圧縮する。ただし、クオーテーションで囲まれている範囲は圧縮しない
内蔵I/Oアドレス定数のハッシュテーブルが208エントリになり、内蔵I/Oアドレス定数の検索が早くなった
割り算で、割る数、割られる数が共に32ビット数値で同じ数の場合結果が0になるというマヌケなバグを直した
Ver 1.02c: PRINT 12345678/12345678 → 0
Ver 1.03: PRINT 12345678/12345678 → 1
・H8/3048版との相違点
・ハードウエアの違いによる変更点
内蔵I/Oアドレス定数の名前、値、機能が全く異なります。
外付けRAMには対応していません。
スタートアップスクリプトは $4000 番地に置きます。
キャラクタLCDの接続は4ビットバス接続のみ対応しています。
・メモリ節約のための変更点
1行の長さは160文字までです。
行番号は1〜65534までです。
LISTコマンドの検索文字列は半角15文字までです。
ラベル名の長さは6文字までです。(ラベルの個数についてはH8/3048版同様、制限はありません。)
割り込みジャンプテーブルはジャンプ命令を書くのではなく、割り込みルーチンの番地を書くだけに変わりました。