Miscellaneous

Halt

JSBR IZ 1777

Halts execution of the issuing task. A system message is issued indicating the task number, program name, absolute back address (= JSBR+1) and contents of the A-Register. All numbers are octal.

If the task halts whilst it has locked a direct access device, this will be unlocked.

The task may be restarted at any chosen point by utility program R (Restart Task).

Suspend

JSBR IZ 1625

Temporarily relinquishes control of the CPU to the OS Task Scheduler, which may allocate processing time to other tasks.

Control is returned to the step following JSBR. Once a task gains control of the CPU it retains control until it relinquishes it to the Task Scheduler. This occurs automatically upon issuing any Input/Output request (Fetch, Spool, Get, etc.) but instances of heavy computation between I/O requests can arise, and these should be segmented by SUSPEND calls.

In practical terms, printer programs should be liberally laced with SUSPEND calls on account of their low priority and buffering facilities (e.g. after every COMPUTE call, after every 3 or 4 Binary to ASCII Conversions) whereas I/O station programs are normally adequately segmented by I/O requests alone (it being the policy to place the computational work load onto printer programs).

It will be apparent that it is the programmer’s responsibility to ensure CPU time segmentation; a program loop will hang the entire system if it does not include an I/O or SUSPEND call.

Note that entry to the Task Scheduler automatically unlocks locked direct access records, and may result in the contents of shared core locations (such as 0/0045) being overwritten by other tasks.

Some observed processor timings

25/sec
COMPUTE
3500/sec
ADD
250/sec
Conversion (Doubleword Binary → 6 characters ASCII
20/sec
Conversion (Singleword Binary → 6 characters ASCII with Checkdigit)
180/sec
SUSPEND (Idle system, 5 tasks configured)

Transfers – I/O Stations only

End I/O Program

JUMP  Z 1400   End Program (clearing screen)

or

JUMP  Z 1402   End Program (without clearing screen)

The PROGRAM? prompt is sent to the issuing task’s I/O station (after sending the CAN code if the screen is to be cleared).

The new program will always be re-overlaid from disc (even if it is the same overlay as previously).

Error Handler

JUMP IZ 1641   ERROR

The message ERROR and the BEL code are sent to the issuing task’s I/O station.

When the message is acknowledged by the station operator (by pressing the cancellation key), the most recent GET or SPLIT subroutine call will be automatically restarted (this subroutine and its parameter block must not have been overlaid in core).

Transfers - Printers only

End Printer Program

JUMP  Z 1406   Return to Control program

or

JUMP  Z 1402   Return to Control program

Terminates processing of the current print queue posting.

The control program may recall the printer routine (without re-overlaying from disc) to process a further posting. This will occur wherever postings requiring the same program are adjacent in the same print queue and there is no operator intervention to change the print queue assignment of the printer.

Thus a printer routine may be regarded as a subroutine called once for each posting but possibly many times during the generation of a single report or batch of work.

The routine may, however, nominate a different entry point to be used if it is recalled:

Specify Re-entry Point

JSBR IZ 1610
P1=Address of re-entry point

Further, the routine may nominate a termination routine which the control program will call when it is eventually compelled to re-overlay the program partition:

Specify Termination Routine

JSBR IZ 1611
P1=Address of Termination Routine

The termination routine might be used to print a total line. It must start with the back address word and return to the control program by jumping to the back address. The termination routine is omitted in the event of operator cancellation of a printout.