3 ABORT

 ABORT=n

 ABORT directs TKB to abort the task build.

 Use ABORT when you discover that an earlier error in the
 command sequence will cause TKB to function incorrectly
 When TKB recognizes ABORT, it stops accepting input and
 restarts at the beginning to allow you to reenter commands.

 n
 	Any integer value.  TKB ignores it but requires
 	it for syntax only.
3 ABSPAT

 ABSPAT=segmentname:address:val1:val2:...:val8

 ABSPAT declares a series of patches starting at the specified
 base address.  Up to eight patch values can be given.

 segmentname
 	A 1- to 6-character Radix-50 name of the segment.

 address
 	The octal address of the first patch.  The address may
 	be on a byte boundary; however, two bytes are always
 	modified for each patch: the addressed byte and
 	the following byte.

 val1...val8
 	Octal numbers in the range 0 to 177777 to be
 	stored at the appropriate addresses.  The value
 	val1 is stored at the specified address;  val2 is
 	stored at the specified address + 2;  val3 is stored
 	at the specified address + 4:; and so forth.
3 ACTFIL

 ACTFIL=file-max

 ACTFIL declares the maximum number of files that the task
 can have open simultaneously.  TKB allocates approximately
 512 bytes for each active file.

 If a task uses less than four active files (the default),
 the ACTFIL option can save space.  If the number of active
 files is more than four, you must use the ACTFIL option
 to make the additional allocation.

 file-max
 	A decimal integer indicating the maximum number
 	of files that can be open at the same time.

 The default is ACTFIL=4.
3 ASG

 ASG=devicename:unitnum1:unitnum2:...:unitnum8

 ASG declares the physical device that is assigned to one or
 more logical units.

 devicename
	A 2 character alphabetic device name followed
 	by a 1- to 3-digit decimal unit number.

 unitnum1...
 	Decimal integers indicating the logical unit numbers.

 The default is ASG=SY0:1:2:3:4,TI0:5,CL0:6
3 CLSTR

 The CLSTR option allows a task to dynamically map memory-resident shared
 regions at run time.  One task address window maps the libraries
 into the same span of virtual address space.

 You must follow several rules when designing and building shareable
 clustered libraries.  These rules are:

 1.  All libraries but the default are required to be built with
     resident overlays
 2.  All interlibrary references are resolved directly through the
     user task
 3.  Revectored entry point symbols must not appear in the upstream
     .STB file
 4.  A called library procedure must not require parameters on the
     stack
 5.  All libraries must be PIC or built for the same address
 6.  Trap or asynchronous entry into a library is not permitted


 After building the individual libraries and placing the .TSK and  .STB
 files for all the libraries into the LB:[1,1] directory, you may build
 your task.  The TKB option line that you must use for  your  task  has
 the following syntax:

     CLSTR=library_1,library_2,...library_n:switch:apr

 library_n

     The first specification denotes the first or the default library,
     which  is the library to which the task maps when the task starts
     up and remaps after any call to another library.

     The total number of libraries  to  which  a
     task  may map is seven.  The number of the component libraries in
     clusters is limited to a maximum of six.  A cluster must  contain
     a  minimum of two libraries.  It is possible to have two clusters
     of three libraries each or three clusters of two libraries  each;
     any  combination  of  number of clusters and libraries must equal
     at least two to a maximum of six.  If six libraries are used in
     clusters, the task may map to only one other, separate, library.

 :switch:apr

     The switch :RW or :RO indicates whether the cluster is  read-only
     or read-write for this particular task.  The APR specification is
     optional and indicates which APR is to be used  as  the  starting
     APR  when  mapping  to  cluster libraries.  If not specified, TKB
     assigns the highest available APRs and as many as required to map
     the library.
3 CMPRT

 CMPRT=name

 (RSX-11M-PLUS only)
 CMPRT identifies to TKB both the task as a supervisor-mode
 library and the completion routine that the library uses.
 The library uses the routine to return control to your program
 in user mode.

 Two completion routines are available in SYSLIB:

     1. $CMPCS restores only the carry bit in the user-mode PS

     2. $CMPAL restores all the condition code bits in the user-mode
         PS
 name
 	A 1- to 6-character Radix-50 name identifying
 	the completion routine.
3 COMMON

 COMMON=name:access-code[:apr]

 COMMON and LIBR are functionally identical to TKB.  They both
 declare that the task intends to access a system-owned shared
 region.  However, by convention, COMMON identifies a shared
 region that contains data only, and LIBR identifies a shared
 region that contains code only.

 System-owned is a definition given to a file that resides
 in UFD [1,1] on device LB: along with its associated symbol
 definition file.  Therefore, a system-owned common or
 library is one that resides at that location.


 name
 	A 1- to 6-character Radix-50 name that specifies the
 	common or library.  TKB looks for the symbol definition
 	file with the same name as that of the common or library and
 	with a .STB extension in UFD [1,1] on device LB:.

 access-code
 	The type of access (read-write or read-only)
 	the task requires.  RW indicates read-write and RO
 	indicates read-only.

 apr
 	An integer in the range of 1 to 7 that specifies
 	the first APR that TKB is to reserve for the shared
 	region.  TKB recognizes apr for a mapped system
 	only.  You can specify it for relocatable regions
 	only.  TKB selects the highest available APR by
 	default if you omit apr and the region is relocatable.

 	For an absolute shared region, its base address and
 	the APR that maps it are determined by the arguments
 	in the PAR option when the region is built.

 	In an RSX-11M-PLUS task that uses I- and D-space and a
 	common, the common is considered data only.
 	The Executive maps the common with D-space APRs only.
 	If the same task uses LIBR as an option for a region,
 	the Executive maps the library with I-space and D-space
 	APRs.
3 EXTSCT

 EXTSCT=psectname:extension

 EXTSCT declares an extension in size for a p-section.

 If the p-section has the attribute CON, the section is extended by the
 specified number of bytes.  If the p-section has the attribute OVR, the
 section is extended only if the length of the extension is greater than
 the length of the p-section.

 psectname
 	A 1- to 6-character Radix-50 name specifying
 	the p-section to be extended.
 extension
 	An octal integer that specifies the number of bytes
 	by which the p-section is to be extended.
3 EXTTSK

 EXTTSK=length

 EXTTSK declares the amount of additional memory to be allocated
 to the task when installed in a mapped system in a
 user-controlled partition.

 The amount of memory available to the task is the sum of the task
 size plus the increment specified in the EXTTSK keyword
 (rounded up to the nearest 32-word boundary).

 length
 	A decimal number in the range of 0 to 65,535 specifying
    the increase in task memory allocation (in words).
3 FMTBUF

 FMTBUF=maxformat

 FMTBUF declares the length of internal working storage allocated
 for compiling format specifications at run time.  The
 length of this area must be equal to or exceed the number of
 bytes in the longest format string to be processed.

 maxformat 
 	A decimal integer larger than the default that
 	specifies the number of characters in the
 	longest format specification.

 The default is FMTBUF=132.
3 GBLDEF

 GBLDEF=symbolname:value

 GBLDEF declares the definition of a global symbol.

 The symbol definition is considered absolute and overrides any
 definition in the input object modules.

 symbolname
 	A 1- to 6-character Radix-50 name of the
 	defined symbol.

 value
 	An octal number in the range 0 to 177777 assigned
 	to the defined symbol.
3 GBLINC

 GBLINC=symbol-name,symbol-name,...,symbol-name

 symbol-name

    The symbol to be included in the .STB file.

    There are no defaults.
3 GBLPAT

 GBLPAT=seg-name:sym-name[+/-offset]:val1:val2:...:val8

 GBLPAT declares a series of patch values starting at an offset
 relative to a global symbol.  Up to eight patch values can be given.

 segmentname
 	A 1- to 6-character Radix-50 name of
 	the segment.

 symbolname
 	A 1- to 6-character Radix-50 name specifying the
 	global symbol.

 offset
 	An octal number specifying the offset from the
 	global symbol.

 val1...val8
 	Octal numbers in the range 0 to 177777 to be stored
 	at the appropriate addresses.
3 GBLREF

 GBLREF=symbolname

 GBLREF declares a global symbol reference, which
 originates in the root segment of the task.  Use this
 keyword for memory-resident overlays of shared regions.

 symbol-name
 	A 1- to 6-character name of a global symbol reference
3 GBLXCL

 GBLXCL=symbol1:symbol2:...:symbol8

 GBLXCL directs TKB to exclude from the symbol definition
 file of a shared region the symbol(s) specified.
3 LIBR

 LIBR=name:access-code[:apr]

 COMMON and LIBR are functionally identical to TKB.  They both
 declare that the task intends to access a system-owned shared
 region.  However, by convention, COMMON identifies a shared
 region that contains data only, and LIBR identifies a shared
 region that contains code only.

 System-owned is a definition given to a common or library file
 that resides in UFD [1,1] on device LB: along with its associated
 symbol definition file.

 name
 	A 1- to 6-character Radix-50 name that specifies the
 	common or library.  TKB looks for the symbol definition
 	file with the same name as that of the common or library and
 	with a .STB extension in UFD [1,1] on device LB:.

 access-code
 	The type of access (read-write or read-only)
 	the task requires.  RW indicates read-write and RO
 	indicates read-only.

 apr
 	An integer in the range of 1 to 7 that specifies
 	the first APR that TKB is to reserve for the shared
 	region.  TKB recognizes the APR for a mapped system
 	only.  You can specify it for relocatable regions
 	only.  TKB selects the highest available APR by
 	default if you omit apr and the region is relocatable.

 	For an absolute shared region, its base address and
 	the APR that maps it are determined by the arguments
 	in the PAR option when the region is built.

 	In an RSX-11M-PLUS task that uses I- and D-space and a
 	COMMON, the COMMON is considered data only.
 	The Executive maps the COMMON with D-space APRs only.
 	If the same task uses LIBR as an option for a region,
 	the Executive maps the library with I-space and D-space
 	APRs.
3 MAXBUF

 MAXBUF=maxrecord

 MAXBUF declares the maximum record buffer size required for
 any file used by the task.

 If the maximum record size exceeds the default buffer length,
 this option must be used to extend the buffer.

 maxrecord
 	A decimal integer, larger than the default, that
 	specifies the maximum record size in bytes.

 The default is MAXBUF=132
3 ODTV

 ODTV=symbolname:vectorlength

 ODTV declares a global symbol to be the address of the ODT
 Synchronous System Trap vector.  The global symbol must be
 defined in the main root segment of your task.

 symbolname
 	A 1- to 6-character Radix-50 name of a global symbol.

 vectorlength
 	A decimal integer in the range 1 to 32 specifying
 	the length of the SST vector in words.
3 PAR

 PAR=par-name[:base:length]

 PAR specifies the partition for which the task is built.

 In a mapped system, you can install your task in any system
 partition or user partition large enough to contain it.  In an
 unmapped system, your task is bound to physical memory.  Therefore,
 you must install your task in a partition starting at the same
 memory address as that of the partition for which it was built.

 par-name
 	The name of the partition.

 base
 	The octal byte address defining the start of the partition.

 	On an unmapped system, the physical address must be
 	specified.

 	On a mapped system, the base must be 0 for a
 	task or a 4K boundary for a shared region.

 length
 	The number of bytes (octal) contained in the partition.

 	In a mapped system, a length of 0 implies a
 	system-controlled partition.

 	If the target system is mapped and you specify a partition
 	length greater than that of your task, TKB extends
 	your task's length to match the partition length.
 	This action is equivalent to using the EXTTSK option
 	to increase task memory.

 	If your task's size is greater than the specified
 	partition size, TKB generates the following error message:

	TKB--*DIAG*--TASK HAS ILLEGAL MEMORY LIMITS

 If you do not specify the base and length, TKB tries to obtain the
 information from the system on which it is building your task.
 If the partition resides in that system,  TKB can obtain the base
 and length.

 TKB binds the task to the addresses defined by the partition base.
 If the partition is user controlled, TKB verifies that the task
 does not exceed the partition length specification.

 The default is PAR=GEN.
3 PRI

 PRI=priority

 PRI declares the priority at which the task executes.  If you do not 
 specify a priority when you install the task,  the priority in
 PRI is used.  You cannot run a task at a priority higher than 50
 unless it is installed or run under a privileged UIC.

 priority
 	A decimal integer in the range of 1 to 250.

 The default is PRI=50.
3 RESCOM

 RESCOM=filespec/access-code[:apr]

 RESCOM and RESLIB are functionally identical; they both declare
 that your task intends to access a user-owned shared region.
 However, by convention, RESCOM identifies a shared region
 that contains only data.

 The term "user-owned" means that the resident common or library and
 the symbol definition file associated with it can reside under any
 UFD that you choose.  You can specify the UFD and the remaining
 portions of the filespec for RESCOM.  You must not place
 comments on the same line with RESCOM.

 filespec
 	The memory image file of the resident common.  The
 	filespec format is discussed in Chapter 1.

 access-code
 	A code specified as RW (read/write) or RO (read/only),
	indicating the type of access required by the task.
 	A privileged task can change data in or move data
 	into a resident common even though the task has been
 	linked to the common with read-only access.

 apr
 	An integer in the range of 1 - 7 that specifies the
 	first APR that you want TKB to reserve for the
 	common.  TKB recognizes the APR argument only for
 	a mapped system.  You can specify it only for
 	position-independent shared regions.  If the APR
 	parameter is omitted and the shared region is
 	position-independent, TKB selects the highest
 	available APR to map the region.

 	When a shared region is absolute, the base address
 	of the region and the APR that maps it is determined
 	by the arguments in the PAR option when the region
 	is built.

				NOTES

	  1. TKB expects to find a .STB file having the same
	     name as that of the memory image file, and on the
	     same device and under the same UFD as that of the
	     memory image file.

	  2. Regardless of the version number you give in the
	     filespec, TKB uses the latest version of the .STB
	     file.

 The defaults are:

 	UFD - current terminal UIC
 	device - SY0:
 	file type - .TSK
 	file version - latest
3 RESLIB

 RESLIB=filespec/access-code[:apr]

 RESLIB and RESCOM are functionally identical; they both
 declare that your task intends to access a user-owned shared
 region.  However, by convention, RESLIB identifies a shared
 region that contains only code.

 The term "user-owned" means that the resident common or library and
 the symbol definition file associated with it can reside under any
 UFD that you choose.  You can specify the UFD and the remaining
 portions of the filespec for RESLIB.  You must not place
 comments on the same line with RESLIB.

 file-spec
 	The memory image file of the resident common.  The
 	filespec format is discussed in Chapter 1.

 access-code
 	A code specified as RW (read/write) or RO (read/only),
	indicating the type of access required by the task.

 apr
 	An integer in the range of 1 to 7 that specifies the
 	first APR that you want TKB to reserve for the
 	common.  TKB recognizes the APR argument only for
 	a mapped system.  You can specify it only for
 	position-independent shared regions.  If the APR
 	parameter is omitted and the shared region is
 	position independent, TKB selects the highest
 	available APR to map the region.

 	When a shared region is absolute, the base address
 	of the region and the APR that maps it is determined
 	by the arguments in the PAR option when the region
 	is built.

				NOTES

	  1. TKB expects to find a .STB file having the same
	     name as that of the memory image file, and on the
	     same device and under the same UFD as those of
	     the memory image file.

	  2. Regardless of the version number you give in the
	     filespec, TKB uses the latest version of the .STB
	     file.

 The defaults are:

 	UFD - current terminal UIC
 	device - SY0:
 	file type - .TSK
 	file version - latest
3 RESSUP

 RESSUP=filespec/[-]SV[:apr]	(for RSX-11M-PLUS only)

 RESSUP declares that your task intends to access a user-owned,
 supervisor-mode library.  The term "user-owned" means that the
 library and its .STB file can reside under any UFD that you
 choose.  You must not place comments on the line with RESSUP.

 When CMPRT and RESSUP appear in a command sequence together,
 CMPRT must be specified first.

 filespec
 	The name of the memory image file of the supervisor-mode
 	library.

 /[-]SV
 	The code SV for supervisor vectors or -SV for
 	no supervisor vectors.  If you specify SV, TKB
 	replaces calls to the supervisor-mode library
 	within your task with context switching vectors.  If you
 	specify -SV, calls within your task to the
 	supervisor-mode library are resolved directly and you
 	must provide your own means for context switching.
 	The elimination of supervisor vectors is useful if
 	the supervisor-mode library contains threaded code.

 apr
 	An integer in the range 0 to 7 that specifies
 	the first supervisor APR to be reserved for the
    library.  The default is the lowest available APR.

 The defaults are:
 	UFD - current terminal UIC
 	device - SY0:
 	filetype - .TSK
 	fileversion - latest
3 ROPAR

 ROPAR=parname 	(for RSX-11M-PLUS only)

 ROPAR specifies the partition into which the read-only
 portion of your multiuser TKB is to reside.

 parname
 	The partition name into which the read-write
 	portion of the task will reside.
3 STACK

 STACK=stacksize

 STACK declares the maximum size of the stack required by the
 task.

 The stack is an area of memory used for temporary storage, subroutine
 calls, and synchronous trap service linkage.  Hardware register 6
 references the stack.

 stacksize
 	A decimal integer specifying the number of words
 	required for the stack.

 The default is STACK=256.
3 SUPLIB

 SUPLIB=filespec:[-]SV[:apr]   (for RSX-11M-PLUS only)

 SUPLIB declares that your task intends to access a system-owned
 supervisor-mode library.  The term system-owned means that
 TKB expects to find the supervisor-mode library and the
 .STB file associated with it under UFD [1,1] on LB:.  When
 CMPRT and SUPLIB appear in a command sequence together,
 CMPRT must be specified first.

 filespec
 	A 1- to 6-character Radix-50 name specifying the
 	system-owned supervisor-mode library.  TKB expects
 	to find a .STB file having the same name as the library
        under [1,1] on LB:.
 
:[-]SV
 	The code SV for supervisor vectors or the code -SV
 	for no supervisor vectors.  If you specify SV, TKB
 	replaces calls to the supervisor-mode library within
 	your task with context-switching vectors.  If you
 	specify -SV, TKB resolves calls within your task to the
 	supervisor-mode library directly and you must provide
 	your own mode switching vector.  The elimination of supervisor
    vectors is useful if the supervisor-mode library contains
    threaded code.

 apr
 	An integer in the range 1 to 7 that specifies the
 	first supervisor APR that TKB is to reserve the
 	the library.  The default is the lowest available APR.
3 TASK

 TASK=taskname

 TASK specifies the name of the task (that is, the name that the
 task will have when it is installed in the system).

 taskname
 	A 1- to 6-character Radix-50 name identifying the task.

 The default task name is the first 6 characters of the task image
 file name.
3 TSKV

 TSKV=symbolname:vectorlength

 TSKV declares a global symbol to be the address of the task
 SST vector.  Define the global symbol in the main root segment
 of the task.

 symbolname
	A 1- to 6-character Radix-50 name of a
 	global symbol.

 vectorlength
 	A decimal integer in the range 1 to 32
 	specifying the length of the SST vector in words.
3 UIC

 UIC=[g,m]

 UIC declares the UIC for the task when you run it as a result
 of a time-based schedule request.

 g,m
 	Octal numbers (group and member) in the
 	range of 1 to 377 or decimal numbers in the range
	of 1 to 255.  A decimal point must follow decimal
	numbers.


 The default UIC is the UIC that TKB is running under
 (normally the terminal UIC).
3 UNITS

 UNITS=maxunits

 UNITS declares the number of logical units that the task uses.

 maxunits
 	A decimal integer in the range 0 to 250 specifying the
 	maximum number of logical units.  The UNITS keyword
 	creates tables that require dynamic memory.  Therefore,
 	large arguments can exhaust dynamic memory.

 The default is units=6.
3 VSECT

 VSECT=psectname:base:window[:physicallength]

 VSECT allows you to specify the virtual base address, virtual
 length, and physical memory allocated to the named p-section.

 psectname
 	A 1- to 6-character program section name.

 base
 	An octal value specifying the virtual base address
 	of the program section in the range 0 to 177777.
 	This value must be a multiple of 4K if mapping
 	directives are to be used.

 window
 	An octal value specifying the amount of virtual address
 	space in bytes allocated to the p-section.  Base plus 
 	window must not exceed 177777. 

 physicallength
 	An octal value specifying the  minimum amount of
 	physical memory to be allocated to the section in 
 	units of 64-byte blocks.  TKB rounds this value up to the 
 	next 256-word limit.  This value, when added to the task
 	image size and any previous allocation, must not
 	cause the total to exceed 2048K bytes.  If unspecified,
 	TKB assumes a value of 0.
3 WNDWS

 WNDWS=n

 WNDWS declares the number of address windows required by the
 task in addition to those needed to map the task image and any mapped
 array or shared region.  The number specified is equal to the number of
 simultaneously mapped regions the task will use.

 n
 	An integer in the range of 1 to 7 on an RSX-11M
	system and 1 to 23 on an RSX-11M-PLUS system.

 The default is WNDWS=0.
