Skip to content

510B CallSwapper

Not registered   MON 510B (328 decimal) · Mnemonic SWMC, SWAPMC · Group: Monitor Calls for Internal Use (manual section 2.14)

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

Emulation source: none - not registered in ndmonlib

Description

Monitor call to the ND-500 swapper. Packs a swapper trap/function code into the ND-500 message TRAPN field and hands the message to the ND-500 swapper process for servicing. Intended for ND subsystems only.

Notes

  • Internal-use monitor call (manual section 2.14); not intended for user programs.
  • The NPL name SWMC means "monitor call to the swapper" (MP-P2-N500.NPL:2042-2043), not "switch context".
  • Reverse-engineered from the level-12 handler SWMC in MP-P2-N500.NPL:2048-2051.
  • Handler builds TRAPN as (MSM510 << 8) OR (low byte of the caller's TRAPN), writes it back to the message, then CALL 5ACTSWAPPER enqueues the message to the swapper.
  • Dispatched via the ND-500 level-12 GOSW table, index = 510B - 500B = 8.

Parameters

Name Type Direction Description
TrapCode INTEGER In/Out Message field TRAPN. The low 8 bits supply the swapper trap/function code; the handler ORs in the fixed swapper constant MSM510 (shifted left 8) and writes the combined value back before enqueuing the message to the swapper.

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

See also

GetTrapReason

Compatibility

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

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

ndmonlib implementation

Not registered Not registered in src/core/mon_registry.c. mon_dispatch() reports the call as unimplemented.

Source

Reverse-engineered from SINTRAN III NPL source.