LIST-SYSTEM-PARAMETERS¶
MON 60 subfunction RSYSP = 103B (octal) = 0x43 = 67 decimal.
NPL purpose (authoritative, 5P-P2-MON60.NPL): READ SYSTEM VARIABLES
(server handler IRSYSP). yaml: RSYSP "Read system parameters",
param <parameter array>.
All addresses OCTAL, BANK 1, base 0.
Source: SINTRAN/ND500/nd-500-mon/nd-500-mon-j04.prog.asm
Handler location¶
| Item | Value | Status |
|---|---|---|
| Handler | STANDALONE ENTER-routine at 073115 (framesize 000336 = 222 locals), spans 073115..073411 | PROVEN |
| MON 60 call site (103B) | 073132 JPL I 160 -> ptr 073312, bank1[073312]=146624 = thunk SAA 103 |
PROVEN |
| Error path (103B) | 073133 -> ptr 073313 = LEAVE(value) 177327 | PROVEN |
| Success | fall-through 073134; routine success -> LEAVE-SKIP 177335 (via 073330/073405) | PROVEN |
| Internal dispatch | 073263-073265 LDX ,B -170 / LDX I ,X 43 / JMP ,X 0 (jump-table select) |
PROVEN |
MON 60 subfunction(s) used (all PROVEN by thunk resolution)¶
| Subfn | Octal / Hex | Thunk | Purpose | Site | Parameter-block layout (yaml params) | Skip/Error |
|---|---|---|---|---|---|---|
| RSYSP | 103B / 0x43 | 146624 | READ SYSTEM VARIABLES | 073132 | ,X 6 = &sysarr (@B-157) [<parameter array>] |
err=073133->LEAVE(val) |
| RDSWP | 121B / 0x51 | 146665 | Read from swapper | 073152 | ,X 6=[155] <no.bytes>; ,X 7=[153] <ND-500 addr>; ,X 10=&(B-122) <data area>; ,X 11=&(B-130) <bytes read> |
err=073153->LEAVE(val) |
| WSYSP | 104B / 0x44 | 146627 | Write system parameters | 073354 | ,X 6 = &sysarr (@B-167) |
err=073355->LEAVE(val) |
| TOSWP | 76B / 0x3E | 146610 | Send message to swapper | 073362 | ,X 6 = &record (@B-167) |
err=073363->LEAVE(val); ok=073364->LEAVE-SKIP |
Byte citations: 073312=146624 (RSYSP thunk, SAA 103); 073316=146665
(RDSWP); 073402=146627 (WSYSP); 073404=146610 (TOSWP).
What it does¶
- Always: reads the ND-500 system variables via
MON 60RSYSP (103B), passing a pointer to a local array. (073125-073132) - Always: reads a block from the swapper via
MON 60RDSWP (121B) with the full four-argument signature (byte count, ND-500 address, data-area pointer, bytes-read pointer). (073137-073152) - Formats the collected values for the operator terminal via helper routines
(
054045,000067,054430,030060,001726; none are MON calls). - An internal jump table (
073264-073265) then selects a follow-up branch:- the WRITE branch issues
MON 60WSYSP (104B) at073354; - the SEND branch issues
MON 60TOSWP (76B) at073362. These two are mutually-exclusive branches, not always executed.
- the WRITE branch issues
- Errors from any MON 60 unwind to LEAVE(value); success takes LEAVE-SKIP.
How it fits ND-500 init¶
This is the operator's read/adjust command for the ND-500 monitor's system variables: it reads the live system variables and a swapper block, displays them, and (on the write branch) can push updated parameters back and message the swapper. It sits with the swapper/system-tuning group used while configuring a running ND-500.
Unknown / inferred¶
- INFERRED: local
@B-157= the system-variable array (the RSYSP<parameter array>); the address arithmetic (AAA -167 ; AAA 10) is PROVEN, the semantic label follows the yaml. - INFERRED: globals
[153]/[155]are the ND-500 address and byte count handed to RDSWP; addresses PROVEN, roles from the RDSWP signature. - INFERRED (jump-table cases): the WRITE/SEND labels for the internal dispatch are named from the subfunctions on each branch; the selector's value->branch mapping was not fully enumerated.
- PROVEN: exactly these four MON 60 subfunctions are issued inside 073115..073411;
no MON
instructions appear.