POKE
POKE 指定アドレスへのデータ書き込み
書式
POKE 仮想アドレス , データ
POKE 仮想アドレス , データ , データ , … データ (可変個数指定)
引数
仮想アドレス : 仮想アドレス(16ビット) $0000 ~
データ : 書き込むデータ(下位8ビットのみ有効)
説明
指定した仮想アドレスに指定したデータを書き込みます。
仮想アドレスの指定には次の定数を利用することで有用な領域への書込みが簡単に行えます。
VRAM :画面表示用メモリ(CW×CH) サイズは利用する画面デバイスにより可変
VAR :変数領域 サイズ 420バイト
ARRAY :配列変数領域(@(0)~@(99) ) サイズ200バイト
PRG :プログラム領域 サイズ 4096バイト
MEM :ユーザーワーク領域 サイズ1024バイト
GRAM :グラフィック表示用メモリ サイズは利用する画面デバイスにより可変
ユーザーワーク領域は利用者が自由に利用出来る領域です。
それ以外の領域はBASICの実行にて利用する領域です。
指定した仮想アドレスに上記以外の領域を指定した場合はエラーとなります。
例として画面上のカーソル位置X,Yへの文字の書込みは次のようになります。
VRAMに書き込んだ内容を画面の表示に反映するにはREDRAWコマンドを実行します。 code:poke_sample1.bas
10 POKE VRAM+Y*80+X,ASC("A")
20 REDRAW
エラーメッセージ
Syntax error :文法エラー、書式と異なる利用を行った
Out of range value :S領域外のアドレスを指定した
Overflow :指定した数値が-32768 ~ 32767を超えている
利用例
変数Aから変数Zの内容をユーザーワーク領域に保存する
code:poke_sample2.bas
10 FOR I=0 TO 51
20 POKE MEM+I,PEEK(VAR+I)
30 NEXT I
関連項目