Example

Label:
  DATA  Const0 {, Const1, Const2, ...}
  WDATA Const0 {, Const1, Const2, ...}

Function
Creates a table of data values for use with the READ instruction.

Explanation
The DATA and WDATA directives allow the programmer to create a table of [read only] values for use in the SX/B program. Using DATA or WDATA is a convenient way to store output patterns and text messages.

DATA is typically used to store byte values, WDATA for word values. If a value greater than 255 is used in a DATA table the value will be stored as two bytes, LSB first. WDATA always stores values as two bytes and, as above, the order is LSB, then MSB.

You must make sure the program does not attempt to execute the DATA or WDATA statements. By convention, DATA and WDATA are placed after the main program loop to prevent the exection of these statements.

CR              CON     13

PROGRAM Start

Start:
  LEDs = %00000000
  TRIS_LEDs = %00000000                         ' make leds outputs

Main:
  idx = 0

TX_Msg:
  DO
    READ StartMsg + idx, char
    IF char = 0 THEN EXIT
    SEROUT Sio, Baud, char
    INC idx
  LOOP
  ENDIF

Show_Count:
  INC counter
  IF counter = 10 THEN
    counter = 0
  ENDIF
  READ SegMap + counter, LEDs
  PAUSE 1000
  GOTO Main

' -------------------------------------------------------------------------

SegMap:                                         ' segments maps
'        .gfedcba
  DATA  %00111111                               ' 0 
  DATA  %00000110                               ' 1 
  DATA  %01011011                               ' 2 
  DATA  %01001111                               ' 3 
  DATA  %01100110                               ' 4 
  DATA  %01101101                               ' 5 
  DATA  %01111101                               ' 6 
  DATA  %00000111                               ' 7 
  DATA  %01111111                               ' 8 
  DATA  %01100111                               ' 9
  
StartMsg:
  DATA  "SX/B Really Rocks!", CR, 0

BigTable:
  WDATA %00000000_00001111
  WDATA %00000000_11110000
  WDATA %00001111_00000000
  WDATA %11110000_00000000

Note: When defining embedded strings as in the example above, the string may be up to 128 characters.


Related instruction: READ