173B SET CPU STATUS¶
MON 60 subfunction 173B (octal) = 0x7B = 123 dec.
Authoritative purpose (SUBFUNCTION-TABLE.md / 5P-P2-MON60.NPL): SET CPU STATUS (ICPUSTAT).
Server handler: ICPUSTAT.
All addresses are OCTAL ND-100 word addresses, BANK 1, base 0.
Source: SINTRAN/ND500/nd-500-mon/nd-500-mon-j04.prog.asm
Thunk 147044 = SAA 173 ; JMP I 1 ; 146244 (gateway). Confirmed verbatim in the .asm.
Handler location(s)¶
| Call site | Enclosing ENTER-routine | Framesize | Error path (callsite+1) | Success path (callsite+2) |
|---|---|---|---|---|
| 032605 | 032442 | 000046 | 032606 -> ptr 032612 = 177327 (LEAVE error) | 032607 -> ptr 032616 = 177335 (LEAVE-SKIP) |
Every call site resolves as JPL I <disp> -> EA=P+disp -> bank1[EA] = pointer word
= thunk 147044 (PROVEN by resolving the pointer word).
Parameter block filled before the call¶
Call site 032605 (in 032442):
- param1 (,X 6) = word at (B-172)+3 (032567 LDX ,B-172 / 032570 AAX 3 / 032571 LDA ,X 0 / 032573 STA ,X 6).
- param2 (,X 7) = &(B-137) (032575 AAA -137 / 032576 STA ,X 7).
- param3 (,X 10) = &(B-141) (032600 AAA -141 / 032601 STA ,X 10).
- param4 (,X 11) = &(B-135) (032603 AAA -135 / 032604 STA ,X 11).
The block base is X := ,B -176 (stack top = base of the gateway frame); slot ,X n
becomes MON 60 parameter n-5 (PROVEN convention, prog.md sec 4.4).
What the caller does¶
Passes one scalar (fetched from an array element at (B-172)+3) plus three local-address pointers. On SET-CPU-STATUS the scalar is the status word and the pointers are return/scratch buffers. Field semantics INFERRED.
032610-032616 includes this routine's pointer pool (177300, 177327, 147044 thunk, 177335).
Unknown / inferred¶
- INFERRED: param1 = CPU status word, params 2-4 = return/scratch buffers; not read from server source.
Number bases¶
173B octal = 0x7B = 123 dec.