,ll 6.6
,cs 10
,pl 66
,lm 0.2,0.5
,pn 1
,ju
,hd
,ce
OmegaSoft 6809 Cross Pascal for OS-9/68000 (V1.00)
,,
,ft

,ce 1
2-##
,,
,ce
OmegaSoft 6809 Cross Pascal for OS-9/68000 (V1.00)
,ce
OPERATION - COMPILER

COMPILER COMMAND LINE

 xpc [-options] [input] [output] [listing] [title]

If any options are specified there must be no characters between options (such as spaces or commas). The following options are valid :

,in 0.45
,si -.3
D - toggle debug option : If the O option is off will generate an output file for use with the debugger. If the O option is on will generate debug information as comments in the assembly language.

,si -.3
F - toggle form feed option : if enabled will use form feeds for top of form on listings. If not enabled, will use line feeds.

,si -.3
H - toggle halt option : if enabled will stop compilation on a line that has an error. Enter 'Q' to abort compilation, any other character to continue.

,si -.3
I - toggle icode option : if enabled will generate an output file for use with the debugger but without debugging information (code will run real-time but cannot be breakpointed). Cannot be used if O option is enabled.

,si -.3
L - toggle list option : if enabled will generate a compilation listing.

,si -.3
O - toggle output option : if enabled will generate assembly language output. Cannot be used if I option is enabled.

,si -.3
R  - toggle relocatable object option : if enabled will generate relocatable object output. Cannot be used if the I or O options are enabled.

,si -.3
Rnnn - enable R relocatable object option and set buffer size. The value of nnn in K bytes will be used for the relocatable object buffer size.

,si -.3
S - toggle source option : if enabled will insert pascal source into output file as assembly language comments.

,si -.3
Pnnn - where nn is a number between 10 and 250 and is the number of lines available on a page (66 for american 11" paper at 6 lines per inch). Default is P0 which is no pagination.

,si -.3
T - toggle time option. If enabled will put system time and date into listing heading if listing is enabled and if pagination is enabled.

,si -.3
W - toggle warning option : if enabled will generate warning for lines containing exceptional constant type conversions (such as using an integer constant in a hex expression).

,si -.3
Wnnn - where nn is a number between 10 and 120 and is the number of characters per line that will be printed on the listing. Default is 80.
,in 0
,pg
,ce
OPERATION - COMPILER

,in 0.45
,si -.3
Znnn - sets total amount of data memory available to compiler in K bytes (if nnn is larger than minimum amount specified in module header). This affects the amount of symbol table space available. This option does not need to be used unless you get a symbol table overflow message during compilation. Note that using the R option reduces the symbol table space by the amount used for the relocatable object buffer.

,in 0
The default path name for input, output, and listing is the terminal. The following are valid path names :

   T       - system terminal (the one you are using)
   .       - input file name with default suffix
   file.   - file name with default suffix

The input, output, and listing files will default to a null suffix if not otherwise specified. For instance :

  xpc -o test test

will cause an error because both files will default to test.

The output path name is only specified if the "R", "O", "D", or "I" option was used. The listing path name is only specified if the "L" option was used. If the title is specified it is used on the listing if pagination is enabled.

Default suffixes (if requested) are :

 Input file :   .sa - not normally used
 Output file :  .co - O option enabled
 Output file :  .ro - R option enabled
 Output file :  .db - neither R or O option enabled
 Listing file : .cl

EXAMPLES :

pc test will compile file test checking for syntax only.

xpc test. or xpc test.sa will compile file test.sa checking for syntax only. This form is rarely used because most pascal source files do not have a suffix.

xpc -l test /p will compile test and put the listing on the printer (assuming device /p is your printer).

xpc -olsp66fw96 test . . test program will compile file test generating an output file with source comments in test.co and generating a listing file with 66 lines per page, 96 characters per line, using form feeds for pagination, and with the title "test program" in file test.cl .

xpc -rl test . will compile file test generating a relocatable object file in test.ro and generating a listing to the terminal.
,pg
,ce
OPERATION - COMPILER

xpc -dl test . /p will compile test generating a debugger output file in test.db and generating a listing with no pagination on the printer (assuming device /p is your printer).

The defaults for the command line options are located near the beginning of the program's data section and can be patched if desired. All entries are one byte and only 0 (off) and 1 (on) are valid for on/off type flags. The location given is an offset from the start of data section, this address can be obtained from locations $48-$4B in the module header. 

Location   Flag                        Default

000E       Top of form margin          0
000F       Bottom of form margin       0
0010       Lines per page              0 (pagination off)
0011       Characters across page      80 (max = 120)
0012       D command line flag         0 (off)
0013       F command line flag         0 (off)
0014       H command line flag         0 (off)
0015       I command line flag         0 (off)
0016       L command line flag         0 (off)
0017       O command line flag         0 (off)
0018       R command line flag         0 (off)
0019       S command line flag         0 (off)
001A       T command line flag         0 (off)
001B       W command line flag         0 (off)
001C       input blocking flag         1 (on)
001D       output blocking flag        1 (on)
001E       Optimizer flag              1 (on)

If you set a default flag on and use the command line option, it will be turned off. If pagination is set then a P0 command line option will turn it off.

If the input blocking flag is on then two 4K buffers are allocated when reading source from disk, one for the main input file, and one for include files. If the output blocking flag is on then a 4K buffer is allocated for the output file. These buffer come out of the symbol table space. These should always be on unless you have memory shortage problems on your system.

The default size for the relocatable object buffer is located at relative location $24, and is a four byte value, it is currently set for 20K. 

The maximum comment nesting level is located at relative location $22, and is a two byte value. It is currently set for 1, which indicates that comments may not be nested (ISO standard).

Also near the beginning of the program's data section is a table of sizes for the device descriptors for standard devices and user defined devices. Entries are two bytes. DSIZE and FSIZE do not include the size of the element (added in automatically by the compiler).
,pg
,ce
OPERATION - COMPILER

Location   Purpose                     Default decimal size

0000       Standard INPUT device              128
0002       Standard OUTPUT device              10
0004       Standard AUXOUT device              10
0006       Standard KEYBOARD device             8
0008       Devices (DSIZE) non-file             6
000A       Non-text Files (FSIZE)               7
000C       Text files (TSIZE)                 128

These sizes are for operation of the target program under OS-9/6809, they may need to be changed when generating code for other systems.

If you find that you are constantly having to use the Z option to avoid running out of symbol table space you may want to patch the module header to increase the default amount. This can be done using the patch utility to change locations $38 through $3B to the new value (byte count). Don't forget to use the V command before quitting the patch utility. The locations are relative to the start of the module, not the start of data section.
,pg
,ce
OPERATION - ASSEMBLER

ASSEMBLER COMMAND LINE

 xra [-options] [input] [output] [listing]

If any options are specified there must be no characters between options (such as spaces or commas). The following options are valid :

,in 0.45
,si -0.3
F - toggle form feed option : if enabled will use form feeds for top of form on listings. If not enabled, will use line feeds.

,si -0.3
H - toggle halt option : if enabled will stop assembly on a line that has an error. Enter 'Q' to abort assembly, any other character to continue.

,si -0.3
L - toggle list option : if enabled will generate an assembly listing.

,si -0.3
O - toggle output option : if enabled will generate relocatable object output.

,si -0.3
W - toggle warning option : if enabled will generate warning messages when applicable.

,si -0.3
T - toggle time option : if enabled puts time and date into listing if pagination is enabled.

,si -0.3
Pnnn - where nn is a number between 10 and 250 and is the number of lines available on a page (66 for american 11" paper at 6 lines per inch). Default is P0 which is no pagination.

,si -0.3
Wnnn - where nn is a number between 10 and 120 and is the number of characters per line that will be printed on the listing. Default is 80.

,si -0.3
Znnn - sets total amount of data memory available to the assembler in K bytes (if nnn is larger than minimum amount specified in module header). This affects the amount of symbol table space available. This option does not need to be used unless you get a symbol table overflow message during assembly. Note that the maximum number of symbols in the current release is 1600.
,in 0

The default path name for input, output, and listing is the terminal. The following are valid path names :

    T        - system terminal (the one you are using)
    .        - input file name with default suffix
    file .   - file name with default suffix.

The input, output, and listing files will default to a null suffix if not otherwise specified. For instance :

  xra -l test test

will cause an error because both files will default to test .
,pg
,ce
OPERATION - ASSEMBLER

The output path name is only specified if the "O" option was used. The listing path name is only specified if the "L" option was used. Default suffixes (if requested) are :

  Input file :    none - should not be requested
  Output file :   .ro
  Listing file :  .al

EXAMPLES :

xra test will assemble file test checking for syntax only.

xra -l test /p will assemble file test and put the listing on the printer (assuming device /p is your printer).

xra -olp66fw96 test . . will assemble file test generating an output file in test.ro and generating a listing file with 66 lines per page, 96 characters per line, and using form feeds for pagination in file test.al

The defaults for the command line options are located near the beginning of the program's data section and can be patched if desired. All entries are one byte and only 0 and 1 are valid for on/off type flags. The location given is an offset from the start of the data section, this address can be obtained from locations $48-$4B in the module header.

Location   Flag                          Default

0000       Top of form margin            0
0001       Bottom of form margin         0
0002       Characters across page        80 (max = 120)
0003       Lines per page                0 (pagination off)
0004       F command line flag           0 (off)
0005       T command line flag           0 (off)
0006       O command line flag           0 (off)
0007       L command line flag           0 (off)
0008       W command line flag           0 (off)
0009       H command line flag           0 (off)
000A       input blocking                1 (on)

If you set a default flag on and use the command line option, it will be turned off. If pagination is set then a P0 command line option will turn it off.

Input block should always be left on, as the savings in memory is minimal if it is turned off.

Minimum data space size can be patched at location $38 as was described for the compiler.
,pg
,ce
OPERATION - LINKER

LINKER COMMAND LINE

 xll [-options] [map path name]

If any options are specified there must be no characters between options (such as spaces or commas). The following options are valid :

,in 0.45
,si -0.3
F - use form feed for top of form : if enabled will use form feeds for top of form on load map. If not enabled, will use line feeds.

,si -0.3
Pnnn - where nn is a number between 10 and 250 and is the number of lines available on a page (66 for american 11" paper at 6 lines per inch). Default is P0 which is no pagination.

,si -0.3
S - generate S-records. Instead of generating a load file (.lo), the linker will generate S1 records.

,si -0.3
Znnn - sets total amount of data memory available to the assembler in K bytes (if nnn is larger than minimum amount specified in module header). This affects the amount of symbol table space available. This option does not need to be used unless you get a symbol table overflow message during linking. Note that the maximum number of symbols in the current release is 1600.

,in 0
The default path name for the load map is  "T" (system terminal). The following are valid path names for the load map and can be specified on the command line or by the MAPOUT command :

   T      - system terminal (the one you are using).

All others are considered to be file names or device names. If you want the default suffix of ".mp"  on a file name, end the file name with a period (ie. file.).

The relocatable object files used as input to the linker will have a default suffix of ".ro" if one is not explicitly specified.

If the "S" command line option is not used then the output file will have a default suffix of ".lo" if one is not explicitly specified. If the "S" command line option is used then the output file will have a default suffix of ".lx" if one is not explicitly specified.
,pg
,ce
OPERATION - LINKER

The defaults for the command line options are located near the beginning of the program's data section and can be patched if desired. All entries are one byte and only 0 and 1 are valid for on/off type flags. The location given is an offset from the start of the data section, this address can be obtained from the release history of the current revision software.

Location   Flag                     Default

0000       Top of form margin       0
0001       Bottom of form margin    0
0002       Lines per page           0 (pagination off)
0003       F command line flag      0 (off)
0004       S command line flag      0 (off)

If you set a default flag on and use the command line option, it will be turned off. If pagination is set then a P0 command line option will turn it off.

Minimum data space size can be patched at location $38 as was described for the compiler.

DOS - disk operating system dependent command

syntax : DOS

This command will enable the linker to generate the header checksum and module CRC in accordance with OS-9/6809 standards. If used, this command must occur before the OBJECT command and the START command should not be used. For this command to work correctly there must be a valid module header at the front of the file and room for the CRC value at the end of the file. The contents of the bytes that hold the places for the header checksum and module CRC do not matter - they will be overwritten by the linker.
