SMOVB

逆方向のストリング転送

SMOVB

String MOVe Backward


【構文】

SMOVB

 

【オペレーション】

unsigned char *R1, *R2;

unsigned long R3;

while ( R3 != 0 ) {

*R1-- = *R2--;

R3 = R3 - 1;

}

 

【機能】

-

R3で指定されたバイト数分、R2で示される転送元番地からR1で示される転送先番地へ、アドレス減算方向にストリング転送を行います。

-

命令実行時は、R2で示される転送元番地からデータプリフェッチが行われる場合があります。ただし、R3で指定された範囲を超えるデータプリフェッチは行いません。プリフェッチされるデータサイズについては、各製品のハードウェアマニュアルを参照してください。

-

R2で示される転送元番地からデータプリフェッチされる範囲にR1で示される転送先番地が含まれない条件で使用してください。

-

命令終了時のR1、R2は、最後に転送したデータの次の番地を示します。

-

命令実行中に割り込み要求があった場合は、命令途中で転送を中断して割り込みを受け付けます。割り込みルーチンからの復帰後、中断されていた処理を継続して実行します。本命令を使用する際には、割り込み時、R1、R2、R3とPSWを退避/復帰してください。

 

【命令フォーマット】

構文

処理

サイズ

コードサイズ

(バイト)

SMOVB

B

2

 

【フラグ変化】

フラグ変化はありません。

 

【記述例】

SMOVB