You are here: Home DOCUMENTATION information SBASIC Manual - Page 23

Technological Arts Inc.

Your Shopping Cart

Your Cart is currently empty.

SBASIC Manual - Page 23

Article Index
SBASIC Manual
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8
Page 9
Page 10
Page 11
Page 12
Page 13
Page 14
Page 15
Page 16
Page 17
Page 18
Page 19
Page 20
Page 21
Page 22
Page 23
Page 24
Page 25
Page 26
Page 27
Page 28
Page 29
Page 30
Page 31
Page 32
Page 33
Page 34
Page 35
Page 36
Page 37
Page 38
Page 39
Page 40
Page 41
Page 42
Page 43
Page 44
Page 45
Page 46
Page 47
Page 48
Page 49
Page 50
Page 51
Page 52
Page 53
Page 54
Page 55
Page 56
Page 57
Page 58
Page 59
Page 60
Table of Contents
Index
All Pages

     SBasic User's Manual     SBasic Version 2.7             Page 23
     Printed:  December 5, 1999
     COPY statement


     SBasic provides the COPY statement, used to move data from one memory
     area to another.  This proves very handy when you need to initialize a
     large array.  Format of the COPY statement is:

          copy  from, to, count

     where FROM is the address of the data block, TO is the address of the
     destination area, and COUNT is the number of BYTES (not variables) to
     move.

     For example, assume you need to initialize the array FOO with a table
     of data, already existing in a block of DATA statements.  You would
     use statements similar to:

          declare  foo(10)

          table:
          data     $1234, $5678, $1, $2, $3, $4
          data     $5, $6, $7, $8

          copy  addr(table), addr(foo), 20

     This code uses the ADDR() function to locate the addresses of the
     TABLE data block and the FOO array, then moves 20 bytes of data from
     the table to the array.

     Note that COPY cannot be used to move data into an area of memory that
     overlaps the source area.  Should you need to perform this operation,
     use two COPY statements, first to move the data into an intermediate
     area, then to move it into the final destination area.