Summary
Deletes the specified block and moves the following data blocks upward. The block to be deleted is designated using an offset. When an error occurs, the error status is written to LS9151.
Format
_memshift ([Start Address], [End Address], Offset
of Block to Delete, Words in 1 Block)
Parameter 1: Internal Device
Parameter 2: Internal Device
Parameter 3: Numeric Value (1 to 65535), Internal Device, Temporary variable
Parameter 4: Numeric Value (1 to 640)
Make sure that the Start Address and End Address are set to the same type of device (LS or USR).
Be sure that [Parameter 1] is less than [Parameter 2]. Otherwise, an error occurs.
Example expression 1:
_memshift ([w:[#INTERNAL]LS1000], [w:[#INTERNAL]LS1030], 1, 10)
Data moves upward in block units (1 block = 10 words), and the last block (10 words) is cleared to zero.
Example expression 2:
_memshift ([w:[#INTERNAL]LS1000], [w:[#INTERNAL]LS1030], 2, 10)
The data moves upward in block units (1 block = 10 words) starting from the offset 2 position, and the last block (10 words) is cleared to zero.
Error Status
Editor Function Name |
LS Area |
Error Status |
Cause |
_memshift ( ) |
LS9151 |
0000h |
Completed Successfully |
0001h |
Parameter error |
||
0003h |
Write/Read error |
The processing time required is proportional to the range designated by the start and end addresses. The larger the designated range, the longer the processing time becomes. The Part is not refreshed until processing is completed.
When a value exceeding the range specified for the start and end addresses is designated as the offset of the block to delete, this feature does not operate correctly.
The effective internal device address range that you can specify for the start address and end address is LS20 to LS2031 and LS2096 to LS8191.