next up previous contents
: バッチの実行プログラム : バッチ処理 : バッチの登録プログラム   目次

バッチの消去プログラム

バッチの消去コマンドは、引数のb7〜b0に消去するバッチ番号を指定する。ただし、バッチ番号は最大15なので実際はb3〜b0の4bitのみが使われる。これは他の命令に関しても同様である。引数が0であればFlashメモリの全消去を行う。これはバッチ処理中に実行されることはない。
if ((command & 0xFF00) == 0x9500) // バッチの消去
    eraseBat((byte)command);

eraseBat()関数は、ヘッダーの更新と実際のバッチが書き込まれた領域の消去だけでなく、空白リストの更新も行う。空白リストの処理は次の2つをチェックし、それぞれの条件によって処理を分けて行っている。

  1. 消去したバッチ領域の次は空き領域かバッチ領域か
  2. 消去したバッチ領域の前は空き領域かバッチ領域かまたはヘッダー領域か
これは、消去した領域と元々存在する空き領域が連続する場合があるからである。空白リストの情報は空き領域の先頭に記述されるため、上記の順番で処理しなければならない。



Deguchi Lab. 平成20年3月5日