Skip to content

ABSMR

MON 60 subfunction 032B (octal) = 0x1A = 26 decimal. NPL purpose (authoritative, 5P-P2-MON60.NPL, via SUBFUNCTION-TABLE.md): PHYSICAL DATA MEMORY READ, server handler 5NOPAR. Client name (yaml 60B_N500M.yaml): ABSMR, "Absolute memory read", params <no. of bytes> <ND-500 addr.> <data area> <bytes returned>.

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 (PROVEN)

146426 SAA 32 / 146427 JMP I 1 / 146430 146244 (gateway). Verified from bytes.

Call sites (all PROVEN)

Call site Enclosing routine Resolution Kind
012721 JPL I 42 ENTER 012700 (framesize 000012=10) ptr 012763=146426 standalone ENTER
022616 JPL I 13 ENTER 022310 (framesize 000014=12) ptr 022631=146426 standalone ENTER
056364 JPL I 75 ENTER 056042 (framesize 000050=40) ptr 056461=146426 standalone ENTER
131163 JPL I 151 ENTER 130475 (framesize 000207=135) ptr 131334=146426 standalone ENTER

Parameter block filled before each call

Site ,X 6 (no. of bytes) ,X 7 (ND-500 addr.) data area bytes returned
A 012721 value (012710) &(B-165) (012713) (B-170) value at ,X 10 (012715) &(B-163) at ,X 11 (012720)
B 022616 &(B-160) (022604) value (022606) F 3-word at ,X 10 (022612) &(B-170) at ,X 13 (022615)
C 056364 value (056346) &(B-163) (056351) F 3-word at ,X 10 (056360) &(B-165) at ,X 13 (056363)
D 131163 &(B-66) (131151) value (131153) F 3-word at ,X 10 (131157) &(B-110) at ,X 13 (131162)

PROVEN layout difference: site A passes <data area> as a single word (,X 10), so <bytes returned> sits at ,X 11. Sites B/C/D pass a 3-word F descriptor at ,X 10, pushing <bytes returned> to ,X 13.

Skip / error handling

Site ERROR (callsite+1) SUCCESS (callsite+2)
A 012721 012722 JPL I 42 -> ptr 012764 = 177327 LEAVE(value) continues 012723
B 022616 022617 JPL I 4 -> ptr 022623 022620 JMP 1 -> 022621 (-> 022512)
C 056364 056365 JPL I -125 -> ptr 056240 056366 JMP I 64 -> ptr 056452
D 131163 131164 JPL I -55 -> 131107 continues 131165

Unknown / inferred

  • INFERRED (semantic): parameter labels follow the yaml order; every store/offset is PROVEN.
  • INFERRED (role): the per-routine error/success targets (012764, 022623, 056240/056452, 131107) are the routines' exit/continuation points; not traced.
  • The P-relative constants loaded for <no. of bytes> / <ND-500 addr.> were not read back to numeric values (labelled "constant"/"value").