CASIO PB-1000 FOREVER!

■PB-1000/Cメモリーマップ


1.PB-1000のメモリーマップ表

メモリーマップ ●図の左端の各ラベルの示す番地はシステムエリア内で管理されています。
このようにラベルによってアドレスを管理するのは、メモリの使用状況によって
開始アドレス等が異なる為です。
ラベル名 アドレス保管場所 ラベルの示すアドレス(PEEK文)
IOBF 692F(下位),6930(上位) PEEK(&H6930)*256+PEEK(&H692F)
SSTOP 6931(下位),6932(上位) PEEK(&H6932)*256+PEEK(&H6931)
SBOT 6933(下位),6934(上位) PEEK(&H6934)*256+PEEK(&H6933)
FORSK 6935(下位),6936(上位) PEEK(&H6936)*256+PEEK(&H6935)
GOSSK 6937(下位),6938(上位) PEEK(&H6938)*256+PEEK(&H6937)
TONDT 6939(下位),693A(上位) PEEK(&H693A)*256+PEEK(&H6939)
DTTB 693B(下位),693C(上位) PEEK(&H693C)*256+PEEK(&H693B)
TOSDT 693D(下位),693E(上位) PEEK(&H693E)*256+PEEK(&H693D)
PTSDT 693F(下位),6940(上位) PEEK(&H6940)*256+PEEK(&H693F)
HIMEM 6941(下位),6942(上位) PEEK(&H6942)*256+PEEK(&H6941)
BASEND(BASEN) 6943(下位),6944(上位) PEEK(&H6944)*256+PEEK(&H6943)
MEMEND(MEMEN) 6945(下位),6946(上位) PEEK(&H6946)*256+PEEK(&H6945)
DATDI 6947(下位),6948(上位) PEEK(&H6948)*256+PEEK(&H6947)
BASDI 6949(下位),694A(上位) PEEK(&H694A)*256+PEEK(&H6949)
DIREN 694B(下位),694C(上位) PEEK(&H694C)*256+PEEK(&H694B)

●これらの情報を基にすれば、SYSTEMコマンドが出力する情報を算出出来ます。
V(数値変数空き領域) FORSK-SBOT
$(文字変数空き領域) HIMEM-PTSDT
FREE(テキストエリア空き領域) DATDIR-MEMEND
文字変数領域(全体) HIMEM-TOSDT
数値変数領域(全体) TOSDT-TONDT
機械語エリア IOBF-&H7000
システムワークサイズ HIMEM-&H7000

 PB-1000のメモリ設定というと、「CLEAR 文字変数領域,機械語エリア,システムワークエリア」ですが、
PB-1000のメモリ管理がよく分からなかった頃、何故、「文字変数領域+機械語エリア<システムワークエリア」
でなければならないのか、非常に疑問を感じました。メモリーマップを見て一目瞭然。
システムワークエリアから文字変数領域−機械語エリアを引いて、残った領域を数字変数領域やその他の領域に割り当てているんですね。
納得、納得。という事は、システムワークエリアをあまり少なく設定すると、通信や他の処理で支障が出ます・・要注意!


2.PB-1000のアドレス空間

PB-1000のアドレス空間

PB-1000が搭載しているCPU-HD61700を含む8ビットCPUのアドレス空間は&H0000-&HFFFFまでの
64KBですが、バンク切り替えを行う事でより広いアドレス空間を指定出来るようになっています。
(上位アドレス指定レジスタUAを組み合わせて「00000-3FFFF」の空間をアクセス出来ます)
32KB増設RAMを装着すると、バンク1のアドレス&H8000〜&HFFFFに割り当てられます。
又、&H0000〜&H7FFEはバンクの指定がされていてもバンク0がアクセスされます。

※参考文献:「カシオPB-1000テクニカルハンドブック(株式会社モダン編/学習研究社発刊)」


戻る


ご意見がありましたら VYU04421@nifty.ne.jpまで