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

Technological Arts Inc.

Your Shopping Cart

Your Cart is currently empty.

SBASIC Manual - Page 34

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 34
     Printed:  December 5, 1999
     Functions and statements


     SBasic supports several functions and statements useful for embedded
     control applications.

     Generally speaking, a function returns a value, while a statement does
     not.  All functions contain parentheses, though not all functions
     actually need an argument inside the parentheses.

     All statements, however, appear without parentheses.

     The SWAPB function exchanges the two bytes of the 16-bit argument and
     returns the new value.  It does not alter the original argument.  This
     operation is useful for sending both bytes of a variable to a byte-
     wide I/O port, such as the 68hc11's SPI.

     Example:

          j = $1234                ' prepare j
          pokeb spdr, swapb(j)     ' send $12 to SPI
          

     The RSHFT and  LSHFT functions shift the 16-bit argument one bit
     position, either right or left.  This operation can be used as a fast
     multiply or divide by 2.

     Example:

          n = %11000011            ' initial value of n
          n = rshft(n)             ' n now holds %01100001
          n = lshft(n)             ' n now holds %11000010

     Note that the shift functions move the argument one bit in the
     specified direction, moving a 0 bit into the vacated position.  Thus:

          x <- xxxxxxxxxxxxxxx <- 0 = LSHFT()
          0 -> xxxxxxxxxxxxxxx -> x = RSHFT()


     The RROLL and LROLL functions rotate the 16-bit argument one bit
     position, either right or left.  This operation can be used as part of
     a pulse-width modulation (PWM) function.

     Example:

          n = %1111                ' initial value of n
          n = rroll(n)             ' n now holds %1000000000000111
          n = lroll(n)             ' n now holds %0000000000001111

     Note that the roll functions move the argument one bit in the
     specified direction, placing the rotated bit into the position at the
     opposite end of the word.  Thus: