概要
内部デバイスに格納されている文字列データを1バイトずつデータバッファに文字列数分コピーします。パラメータ2で指定した文字列をパラメータ3の長さ分、パラメータ1のデータバッファに格納します。
書式
_ldcopy (コピー先データバッファ, コピー元アドレス, ワード数)
パラメータ1 : データバッファ
パラメータ2 : 内部デバイス
パラメータ3 : 整数値、内部デバイス、テンポラリアドレス〈パラメータ3に設定できる範囲は1~1024です。〉
記述例1
_ldcopy (databuf0, [w:[#INTERNAL]LS0100], 4)
LS0100~LS103のデータをdatabuf0から連続して4バイト書き込みます。内部デバイスは1バイト単位(下位ビット)で読み込まれます。
内部デバイスの下位1バイトを読み出してデータバッファに指定データ数分書き込みます。
パラメータ3に設定できる最大数は1024です。これ以上の値を設定した場合は、文字列エラーステータス[e:STR_ERR_STAT]のエラー番号1(文字列オーバーフロー)が発生します。
内部デバイスの上位バイトにデータがあった場合でも下位1バイトしかデータを読み出しません。
エラーが発生した段階で処理が終了し、メイン関数の先頭に戻ります。(命令が呼び出された関数の中にある場合、呼び出し元の関数の呼び出された次の行に戻ります。)
_ldcopy (databuf0, [w:[#INTERNAL]LS0100], 4)
上記のようにデータが格納されていた場合は、下位1バイトのデータを読み出してデータバッファに書き込みます。