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

Technological Arts Inc.

Your Shopping Cart

Your Cart is currently empty.

SBASIC Manual - Page 48

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 48
     Printed:  December 5, 1999
     The ORG statement


     Normally, SB generates all code so it occupies sequential addresses on
     the target machine, starting at the address named CODEBEG.  You can
     think of this range of addresses as SB's original code section.

     If necessary, you can force SB to compile code at other addresses, by
     using the ORG statement.  The ORG statement takes one of three forms:

          org                or
          org  code                or
          org    code

     where is the address where you want subsequent SB code to
     compile.  You can think of these other address ranges as alternate
     code sections.  For example:

          org  $200

     causes subsequent SB code to compile in an alternate section, starting
     at address $200.  SB will continue to compile all code into sequential
     addresses, until you end the program or change the compile origin with
     another ORG statement.

     If you use the keyword CODE as the argument to an ORG statement, SB
     resumes compiling at the last address in the original code section.

     Perhaps a larger example will clarify this.  Assume that the following
     program was compiled with a CODEBEG address of $8000:

     main:
          n = 14              ' this code compiles at $8000

          org  $400           ' change the origin
     table1:                  ' use a label at new origin
          datab  0,1,2,3      ' this code compiles at $400

          org  $500           ' change the origin
          interrupt $fff0     ' RTI ISR compiles at $500
          end                 ' bogus ISR, just for example

          org  code           ' return to original code section
          j = addr(table1)    ' sets j to $400

          end

     You may use as many ORG statements, and change between alternate code
     sections and the original code section, as often as you want.

     In rare cases, you might need to change the address of SBasic's code
     section inside your program.  Early versions of the 68hc912b32
     contained an on-chip bootloader that took over the vector area.  To