22.11.2.9 Shift Memory
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.
_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 smaller 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 LS address range that can be
specified is limited to the designated user area (LS20 to LS2031
and LS2096 to LS8191).
|