Skip to content

300B SetEscapeHandling

In progress   MON 300B (192 decimal) · Mnemonic EUSEL · Group: Monitor Calls for Terminal Handling (manual section 2.6)

Available from: not known - no compatibility box captured from the manual

Emulation source: src/handlers/mon_300B_SetEscapeHandling.c

Description

Enables user-defined escape handling. When the ESCAPE key is pressed, execution continues at the specified address in your program.

Notes

  • Disable the user-defined escape handling with StopEscapeHandling.
  • The normal escape handling is reset when the program aborts.

Parameters

Name Type Direction Description
EscapeHandler INTEGER In Contents of first location of escape-handler routine. See PLANC example.

Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.

See also

EnableEscape, OffEscLocalFunction

Compatibility

ND-100 ND-500 User programs RT programs System programs
Yes No Yes No No

From the YAML extraction; this call's page in the manual had no compatibility box that was captured.

Examples

From the manual (OCR text, not corrected).

TYPE rvv=ROUTINE VOID,VOID
INTEGER POINTER: ip
rvv POINTER: rp=ip
ROUTINE VOID,VOID : EscHandling
...
ENDROUTINE
ON ROUTINEERROR DO
IF ErrCode <> 0 THEN ...
ENDON
...
Addr EscHandling =:rp
Monitor_Call('SetEscapeHandling', Ind(ip))
INTEGER EscapeHandler
...
Monitor_Call('SetEscapeHandling', EscapeHandler)
IF (ErrCode .NE. 0) THEN ...
EscapeHandler : INTEGER2;
...
SetEscapeHandling (EscapeHandler);
IF ErrCode <> 0 THEN ...
01 EscapeHandler COMP.
01 ErrCode COMP.
...
MONITOR-CALL "SetEscapeHandling" USING EscapeHandler.
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
LDA PROG                 %Address of user escape handler routine.
MON 300                  %Monitor call SetEscapeHandling.
JMP ERROR                %Error return from monitor call.
...                      %Normal return.
ERROR, ...               %Error number in register A.
PROG, ...

ndmonlib implementation

In progress Registered MON_STATUS_IN_PROGRESS: partly implemented. The dispatcher calls the handler.

Handler mon_300B_SetEscapeHandling
Code lines 11 (non-blank, non-comment lines in the file)

Notes from the handler source

src/handlers/mon_300B_SetEscapeHandling.c line 51

EUSEL carries no device number - it applies to the calling program's own
terminal. Device 1 == "own terminal", as MON 71B/72B DESCF/EESCF and MON
405B USTBRK use.

Source

SINTRAN III Monitor Calls (ND-860228.2 EN).