swap_2つのファイルを入れ替える/h1>

説明

EEPROM上にある2つのファイルを入れ替えます。swap()のパラメーターは入れ替えるファイル番号1、入れ替えるファイル番号2、進捗状況フラグとなっています。進捗状況フラグは1を指定すると進捗状況を画面に出力します。

[以下のJavaScriptプログラムをダウンロード]

// EEPROM File : swap(src@no,dst@no,progressFlag)
function swap(src,dst,flag){
function romR(adrs){
var n, d=0x50|(((adrs>>16)&1)<<2);
i2cw(d,(adrs&0xff00)>>8,adrs&255);
i2cr(d,n);
return n;
}
function romW(adrs,value){
i2cw(0x50|(((adrs>>16)&1)<<2), (adrs&0xff00)>>8,adrs&0xff, value);
sleep(10);
}
if (src==dst){ return; }
src=src*2048;
dst=dst*2048;
var count=0,val;
while(count<2048){
var a=romR(src);
var b=romR(dst);
romW(src,b);
romW(dst,a);
src=src+1;
dst=dst+1;
count=count+1;
if(flag*(count%256==0)){ log("swap ",count," bytes\n"); }
}
}
log("input src @number\n");
var s=input();
log("input dst @number\n");
var d=input();
swap(s,d,1);

目次に戻る