N6x BASIC リファレンス-付録2:メモリマップ


N66-BASIC

※w = &HFA00-(47+(79×ドライブ数)+(267×(ファイル数+1)))

N60-BASIC(16K)

N60-BASIC(32K)

N60-拡張BASIC(16K)

※w1 = &HFA00-(47+(79×ドライブ数)+(267×(ファイル数+1)))

※w2 = &HE000-(47+(79×ドライブ数)+(267×(ファイル数+1)))

N60-拡張BASIC(16K)

※w1 = &HFA00-(47+(79×ドライブ数)+(267×(ファイル数+1)))

※w2 = &HE000-(47+(79×ドライブ数)+(267×(ファイル数+1)))

※w3 = &HC000-(47+(79×ドライブ数)+(267×(ファイル数+1)))

※w4 = &HA000-(47+(79×ドライブ数)+(267×(ファイル数+1)))

解説

BASICインタプリタエリア
BASICプログラムを機械語に翻訳するプログラムが格納されている領域です。
ワークエリア、拡張ワークエリア
BASICインタプリタの作業用変数領域です。ユーザエリアBを管理するパラメータなど各種のパラメータが格納されています。
ユーザエリアA
BASICインタプリタで使用および管理されない領域です。機械語プログラムまたはデータエリアとして利用することができます。
ユーザエリアB
BASICインタプリタで管理されている領域で、さらに下図のような領域に分けられます。
文字変数エリアCLEAR文の第一パラメータで確保される領域です
スタックエリア
フリーエリア
配列変数エリア配列数値変数と配列文字変数のポインタを格納する領域です
単純変数エリア単純数値変数と単純文字変数のポインタを格納する領域です
BASICテキストエリアBASICプログラムを格納する領域です
BASICモード画面数
1234
N66-BASIC(64K) &H8000~w-1 &H8000~w-1 &H8800~w-1 &HC800~w-1
N60-BASIC(16K) &HC400~&HF9FF &HC400~&HDFFF
N60-BASIC(32K) &H8400~&HF9FF &H8400~&HDFFF &H8400~&HBFFF &H8400~&H9FFF
N60-拡張BASIC(16K) &HC400~w1-1 &HC400~w2-1
N60-拡張BASIC(32K) &H8400~w1-1 &H8400~w2-1 &H8400~w3-1 &H8400~w4-1
画面1,画面2,画面3,画面4
画面のデータとアトリビュートデータとが格納されている領域です。