一文字変数は、A~Z(文字列変数の場合はA$~Z$)の一文字で表される変数であり、メモリの固定した領域に確保される。
一文字変数領域を使用することで、BASICとマシン語とのパラメーターのやり取りがスマートに行える。
PC-G801の一文字変数に文字列を入れてRAMを調べると、1800H~18CFHが一文字変数のワークエリアと判明。
1800HがZ(Z$)の領域で以降、8バイトずつYXW・・・Aとアルファベットを遡ってゆく。数値変数Aと文字変数A$は同じ領域を使用する。データの格納方法は以下のようになる。
文字列の場合
Z$="ABCD"
→ 1800:F5 41 42 43 44 00 00 00
文字列の場合7文字まで、先頭がF5H 足りない部分は00で埋める
0終端とは違い、7文字の場合は領域一杯に文字列コードが埋まることに注意。
数値の場合
Z=12345678901
1.23456789E10
→ 1800:01 00 12 34 56 78 90 00
Z=123456
→ 1800:00 50 12 34 56 00 00 00
| オフセット |
意味 |
| +0 |
指数部3、2桁目 |
| +1 |
指数部1桁目、および仮数部の符号 |
| +2~+6 |
仮数部BCD10桁 左詰め、0で終端 |
| +7 |
00 |
| +0の上位下位ニブル、+1の上位ニブルの3桁で指数部を表す。 |
| プラスは 000~099 で 0~99 マイナスは 999 →-1 998→-2 ~ 901→-99 |
| +1 b3 仮数部符号 0=プラス 1=マイナス |
最終更新:2013年02月21日 02:46