
  >TKB file.TSK[/sw],file.MAP[/sw],file.STB=file.OBJ[/sw]. . .	
 or
  TKB>file.TSK[/sw],file.MAP[/sw],file.STB=inputfile[s][/sw]
  TKB>inputfile[s][/sw]
  TKB>/
  ENTER OPTIONS:
  TKB>option
  TKB>option
 	. . .
  TKB>//		! or / if another task is to be built

 TKB, or the task builder, is a utility program that builds a runnable
 task image file from one or more object files.

 For a list of the available switches, type HELP TKB SWITCHES.
 For information on a particular switch, type HELP TKB <switch>.

 For a list of the options available from the second format above, type
 HELP TKB OPTIONS.
 For help on a particular option, type HELP TKB OPTIONS <option>.

 For information about the overlay description language that allows you
 to build an overlayed task, type HELP TKB ODL.
2 SWITCHES
 
 The following switches may be applied to an input file or one of the
 output files. The description of the individual switch will tell you
 where and when the switch may be used.
 
 AC - Ancillary control processor	MU - Multiuser task
 AL - Allocate checkpoint space in task	PI - Position independent
 CC - Concatenated object module	PM - Post-mortem dump
 CP - Checkpointable			PR - Privileged task
 CR - Global cross-reference		RO - Memory resident overlays
 DA - Debugging aid			SE - Sends to task
 DL - Default library			SH - Short map
 EA - Extended arthmetic element	SL - Slave task
 FP - Floating point 			SP - Spool map output
 FU - Full search			SQ - Sequential allocation
 HD - Task header			SS - Selective search
 LB - Library file			TR - Trace task
 MA - Map contents 			WI - Wide listing
 MM - Memory management			XT:n - Exit TKB after n errors
 MP - Overlay description
2 AC

 TKB> file/AC[:n]=file

 The /AC switch specifies that the task is an ancillary control
 processor (ACP). 'n' specifies the base relocation register and may
 take the values 0, 4, or 5. If 'n' is not specified, a value of 5 is
 assumed.

 The default is /-AC. 
2 AL

 TKB> file/AL=file

 The /AL switch specifies that the task is checkpointable and that
 checkpoint space is to be allocated in the task image file.

 The default is /-AL.
2 CC

 TKB> file=file/CC

 The /CC switch identifies the input file as a concatenated object file.
 All modules in the file will be processed to form the task image.

 /-CC specifies that only the first object module encountered will be
 processed. 

 The default is /CC.
2 CP

 TKB> file/CP=file

 The /CP switch specifies that the task is to be checkpointable. The
 task will be checkpointed into the system checkpoint file. 

 The default is /-CP.
2 CR

 TKB> file,file/CR=file

 The /CR switch specifies that a global cross-reference listing be
 appended to the map file. 

 The default is /-CR.
2 DA

 TKB> file/DA=file
	or
 TKB> file=file,file/DA

 The /DA switch specifies that a debugging aid be included in the task
 image. If /DA is specified after the task image filespec, the Online
 Debugging Tool (ODT) will be included in your task image.

 If /DA is specified on an input file, it specifies that that object
 file is another debugging aid, and that program transfer should be
 made there. 

 The default is /-DA.
2 DL

 TKB> file=file,file.OLB/DL

 The /DL switch specifies a default library. The specified library 
 replaces LB0:[1,1]SYSLIB.OLB as the default library for the task build.
2 EA

 TKB> file/EA=file

 The /EA switch specifies that the task uses the Extended Arithmetic
 Element. 

 The default is /-EA.
2 FP

 TKB> file/FP=file

 The /FP switch specifies that the task uses the Floating Point Proces-
 sor.

 The default is /-FP. 
2 FU

 TKB> file/FU=file

 The /FU switch specifies that all co-tree overlay segments are to be
 searched for matching definitions or references when processing
 modules from the default library.

 The default is /-FU. 
2 HD

 TKB> file/HD=file
	or
 TKB| file,,file/HD=file

 The /HD switch specifies that the task be built with a task header. A
 task header is necessary if the task is to run.

 /-HD specifies that the task should be built without a task header.
 This is used for building shared regions or drivers.

 The default is /HD.

 This switch may be applied to either the task image file or the symbol
 definition file with equal results.
2 LB

 TKB> file=file,file/LB[:mod1:mod2:...:mod8]

 The /LB switch specifies that the input file is an object library. 
 Without arguments, the library file is searched to resolve undefined
 global references, and modules that contain definitions for such
 references are extracted.

 If module[s] are specified, only these modules will be included in the
 task image. Up to eight such module specifications may be specified on
 the switch. 
2 MA

 TKB> file,file/MA=file
	or
 TKB> file,file=file/MA

 The /MA switch controls information included in the memory allocation
 file.

 When applied to the memory allocation file, the Task Builder includes
 in the map file the names of the routines it has added to the task from
 SYSLIB.  It will also include in the map file information contained in
 the symbol definition file of any shared region referenced by the task.

 When applied to an input file, the Task Builder will exclude
 from the map and cross-reference listings all global symbols defined in
 or referred to in the file.

 The default for an input file is /MA. The default for the memory allo-
 cation file is /-MA. 
2 MM

 TKB> file/MM=file

 The /MM switch specifies that the target system (the one for which the
 task is being built to run on) has memory management.

 The default is /MM if your system has memory management and /-MM if it
 does not.
2 MP 

 TKB> file=file/MP

 The /MP switch specifies that the input file, rather than being an
 object file, is an "ODL" file describing the overlay structure of the
 task. This ODL file contains statements in an Overlay Description
 Language.

 For help with this overlay description language, see HELP TKB ODL. 
2 PI

 TKB> file/PI,,file=file
	or
 TKB| file,,file/PI=file

 The /PI switch specifies that the task or shared region being built
 contains only position independant code or data. 

 The default is /-PI.

 This switch can be placed on either the task image file or the symbol
 definition file, with equal results.
2 PM

 TKB> file/PM=file

 The /PM switch specifies that a post mortem dump should be generated
 if the task terminates with an SST abort. 

 The default is /-PM.
2 PR

 TKB>file/PR[:n]=file

 The /PR switch specifies that the task has privileged access rights.
 The argument 'n' specifies the first relocation register to be used to
 map the task. Legal values are 0, 4, and 5. If 'n' is not specified,
 a value of 5 is assumed.

 The default is /-PR. 
2 RO

 TKB> file/RO=file

 The /RO switch enables the recognition of the memory-resident overlay
 operator. This is the default.
2 SE

 TKB> file/SE=file

 The /SE switch specifies that the task be allowed to receive messages
 via the SEND directive. This is the default. 
2 SH

 TKB> file,file/SH=file

 The /SH switch specifies that the short form of memory allocation file
 be produced. This is the default.
2 SL

 TKB> file/SL=file

 The /SL specifies that the task being built is to run slaved to an
 initiating task.

 The default is /-SL. 
2 SP

 TKB> file,file/SP=file

 The /SP switch specifies that the memory allocation file be spooled to
 the line printer. This is the default. 
2 SQ 

 TKB> file/SQ=file

 The /SQ switch specifies that the task image be constructed from the
 specified program sections in the order in which they are input.

 The default is /-SQ and specifies that the task image be constructed
 from the specified program sections in alphabetical order. 
2 SS

 TKB> file=file,file/SS

 The /SS switch specifies a selective search for global symbols. Global
 definitions from the input module will not be included unless a 
 previously undefined reference to the symbol exists. 

 The default is /-SS.
2 TR

 TKB> file/TR=file

 The /TR switch specifies that a trace trap occur upon completion of
 each instruction.

 The default is /-TR. 
2 WI

 TKB> file,file/WI=file

 The /WI switch specifies that the memory allocation file be produced in
 132-column format. This is the default.

 /-WI produces an 80-column map.
2 XT

 TKB> file/XT[:n]=file

 The /XT switch specifies that the task build terminate after 'n'
 diagnostic errors. The number of diagnostics may be specified in either
 decimal or octal. If 'n' is not specified, it is assumed to be 1.

 The default is /-XT. 
2 ODL
#OVERLAY
2 OVERLAY
The format for an ODL line is:
 
	label:	directive	argument-list	;comment
 
LABEL:  only necessary in .FCTR directives.
 
DIRECTIVES:
	.ROOT
	.END
	.FCTR
	.PSECT
	.NAME	segname[,attr][,attr]
 
OPERATORS:
 
	-  concatenate arguments
	,  delimit overlay tree
	!  memory-resident overlay
	() group segments
	*  autoload segment
2 OPTIONS
 ABORT  - Abort task build		ODTV   _ ODT SST vector
 ABSPAT - Absolute patch		PAR    - Partition
 ACTFIL - Number of active files	PRI    - Priority
 ASG	- Device assignment		RESCOM - Resident common
 COMMON - System-owned common		RESLIB - Resident library
 EXTSCT - Program section extension	STACK  - Stack size
 EXTTSK - Extend task memory		TASK   - Task name
 FMTBUF - Format buffer size		TSKV   - Task SST vector
 GBLDEF - Global symbol definition	UIC    - User ident. code
 GBLPAT - Global relative patch		UNITS  - Logical units usage
 GBLREF - Global symbol reference	VSECT  - Virtual program section
 LIBR   - System-owned resident library	WNDWS  - No. of address windows
 MAXBUF - Maximum record buffer size	
 
	For more information type: "HELP TKB OPTION option".
3 ABORT

 ABORT=n

 The ABORT option directs the Task Builder to abort the task-build.

 ABORT is used when it is discovered that an earlier error in the
 terminal sequence will cause the Task Builder to produce an unusable
 task image.

 The Task Builder, on recognizing the keyword ABORT, stops accepting
 input and restarts for another task build.

 The parameter 'n' is an integer value that is ignored by the Task
 Builder. It is required only to satisfy the general form of an option.
3 ABSPAT

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

 The ABSPAT option declares a series of patches starting at the speci-
 fied base address. Up to 8 patch values can be given.

 The parameter 'segmentname' is the 1 to 6 character radix-50 name of
 the segment.

 The parameter 'address' is 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.

 The parameters 'val1...val8' are octal numbers in the range 0-177777
 to be stored at the appropriate addresses.
3 ACTFIL

 ACTFIL=filemax

 The ACTFIL option declares the maximum number of files that the task
 can have open simultaneously. For each active file, an allocation of
 approximately 512 bytes is made.

 If the number of active files used by the task is less than four, the
 default, the ACTFIL option can be used to save space. If the number of
 active files is more than four, the ACTFIL option must be used to make
 the additional allocation so that the task can run.

 The parameter 'filemax' is 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

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

 The paramter 'devicename' is a 2 character alphabetic device name
 followed by a 1 to 3 digit decimal unit number.

 The parameters 'unitnum1...' are decimal integers indicating the
 logical unit numbers.

 The default is ASG=SY0:1:2:3:4,TI0:5,CL0:6
3 COMMON
#LIBR
3 EXTSCT

 EXTSCT=psectname:extension

 The EXTSCT option 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.

 The parameter 'psectname' is a 1 to 6 character radix-50 name
 specifying the p-section to be extended. The parameter 'extension' is
 an octal integer that specifies the number of bytes by which the
 p-section is to be extended.
3 EXTTSK

 EXTTSK=length

 The EXTTSK option declares the amount of additional memory to be allo-
 cated to the task when installed.

 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).

 The parameter 'length' is a decimal number specifying the increase in
 task memory allocation (in words).
3 FMTBUF

 FMTBUF=maxformat

 The FMTBUF option declares the length of internal working storage
 allocated for the compilation of 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.

 The parameter 'maxformat'  is a decimal integer larger than the default
 that specifies the number of characters in the longest format speci-
 fication.

 The default is FMTBUF=132.
3 GBLDEF

 GBLDEF=symbolname:value

 The GBLDEF option declares the definition of a global symbol.

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

 The parameter 'symbolname' is a 1 to 6 character radix-50 name of the
 defined symbol.

 The parameter 'value' is an octal number in the range 0-177777 assigned
 to the defined symbol.
3 GBLPAT

 GBLPAT=segmentname:symbolname[+/-offset]:val1:val2:...:val8

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

 The parameter 'segmentname' is the 1 to 6 character radix-50 name of
 the segment.

 The parameter 'symbolname' is a 1 to 6 character radix-50 name speci-
 fying the global symbol.

 The parameter 'offset' is an octal number specifying the offset from the
 global symbol.

 The parameters 'val1...val8' are octal numbers in the range 0-177777
 to be stored at the appropriate addresses.
3 GBLREF

 GBLREF=symbolname

 The GBLREF option declares a global symbol reference. The reference
 originates in the root segment of the task. This keyword is used for
 memory-resident overlays of shared regions.
3 LIBR

 COMMON=name:accesscode[:apr]
 LIBR=name:accesscode[:apr]

 The identical options COMMON and LIBR, each declare a system-owned
 shared region for use by the task.

 The parameter 'name' is the 1 to 6 character radix-50 name specifying
 the library. The Task Builder expects to find a symbol table file
 having the same name as the library with an extension of .STB under
 [1,1] on LB:.

 The parameter 'accesscode' is the code "RW" (read-write) or the code
 "RO" (read-only) indicating the type of access the task requires.

 The parameter 'apr' is an integer in the range 1 to 7 that specifies
 the first Active Page Register to be reserved for the library. The apr
 can be specified only for position independent libraries.
3 MAXBUF

 MAXBUF=maxrecord

 The MAXBUF option 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.

 The parameter 'maxrecord' is 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

 The ODTV option 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.

 The parameter 'symbolname' is a 1 to 6 character radix-50 name of a
 global symbol.

 The parameter 'vectorlength' is a decimal integer in the range 1-32
 specifying the length of the SST vector in words.
3 PAR

 PAR=partition

 The PAR option specifies the partition for which the task is built.

 If the partition specified here does not exist in the system when the
 task is installed, it will be installed in the partition GEN.

 The default is PAR=GEN.
3 PRI

 PRI=priority

 The PRI option declares the priority at which the task executes. If
 no priority is specified when the task is installed, this priority is
 used.

 The priority is a decimal integer in the range of 1 to 250.

 The default is PRI=50.
3 RESCOM
#RESLIB
3 RESLIB

 RESCOM=filespec/accesscode[:apr]
 RESLIB=filespec/accesscode[:apr]

 The identical options RESCOM and RESLIB each declare a shared region
 for use by the task. The UFD and remaining portions of the file
 specification can be specified by the user. Comments must not appear
 on a line with RESCOM or RESLIB.

 The parameter 'filespec' represents the memory image file of the
 resident common block or resident library.

 The parameter 'accesscode' is the code "RW" (read-write) or the code
 "RO" (read-only), indicating the type of access required by the task.

 The parameter 'apr' is an integer in the range 1 to 7 that specifies
 the first Active Page Register to be reserved for the common block or
 library. The apr can only be specified for position-independent
 libraries.
3	STACK

 STACK=stacksize

 The STACK option declares the maximum size of the stack requied by the
 task.

 The stack is an area of memory used for temporary storage, subroutine
 calls, and synchronous trap service linkage. The stack is referenced
 by hardware register 6.

 The parameter 'stacksize' is a decimal integer specifying the number
 of words required for the stack.

 The default is STACK=256.
3 TASK

 TASK=taskname

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

 The taskname is a 1 to 6 character rad50 name identifying the task.

 The default taskname is the first 6 characters of the task image
 filename.
3 TSKV

 TSKV=symbolname:vectorlength

 The TSKV option declares a global symbol to be the address of the task
 SST vector. The global symbol must be defined in the main root segment.

 The parameter 'symbolname' is a 1 to 6 character radix-50 name of a
 global symbol.

 The parameter 'vectorlength' is a decimal integer in the range 1-32
 specifying the length of the SST vector in words.
3 UIC

 UIC=[g,m]

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

 The parameters 'g' and 'm' (group and member) are octal numbers in the
 range of 1 to 377.

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

 UNITS=maxunits

 The UNITS option declares the number of logical units that are used by
 the task.

 The parameter 'maxunits' is a decimal integer in the range 0 to 250
 specifying the maximum number of logical units. It should be noted
 that the UNITS keyword creaes tables that require dynamic memory.
 Therefore, large arguments can exhaust dynamic memory.

 The default is units=6.
3 VSECT

 VSECT=psectname:base:window[:physicallength]

 The VSECT option allows the user to specify the virtualbase address,
 virtual length, and physical memory allocated to the named p-section.

 The parameter 'psectname' is a 1 to 6chracter program section name.

 The parameter 'base' is an octal value specifying the virtual base
 address of the program section in the range 0-177777. This value must
 be a multiple of 4K if used with the mapping directives. 

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

 The parameter 'physicallength' is an octal value specifying the 
 minimum amount of physical memory to be allocated to the section in 
 units of 64-byte blocks. The Task Builder 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, a value of zero is assumed.
3 WNDWS

 WNDWS=n

 The WNDWS option 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.

 The parameter 'n' is an integer in the range of 0 to 7.

 The default is WNDWS=0.
