FUNCS routine bodies - annotated disassemblies¶
Per-routine disassembly of the FUNCS operation routines (the ND-500 operations dispatched by
FUNCS[code]; see ../FUNCS-dispatch-table.md). All from 030-S3SM5, base 040000B, byte-verified.
Grouped by category into annotated .ASM files (a folder-per-routine would be ~60 folders; grouped
listings are equivalent and complete).
Common pattern (CORRECTED 2026-08-10 - see SINTRAN\ND500\CARVE-ANSWER-RESULT-BLOCKS-2026-08-10.md)¶
Each FUNCS[code] routine: validates the request, reads its parameters from and writes its RESULTS
into the MON 60 info block (LDX ,B -11 = S500DF-ZPREG = static cell 165777B; ,X 40/43/46/...
= the 5DD1..5DD5/5P1..5P5 parameter records, L07 SYMBOL), touches the 5MPM message through a
SEPARATE frame cell (LDX ,B -67 = window address of the caller's MESSBUFF; ,X 7/10/11/13/14 =
message fields per ../ND500-5MPM-MESSAGE-AND-ACTIVATION.md), and JPLs to the shared helpers
(063007 build-message/MICFU:=A, 104236 send+wait, 141567/141600 OK/error exits, plus the
051023B IOX driver WADR/WRDAT/RDATL/REDAT for the 3022). The prior claim here that
B-11 is "the message pointer" was WRONG - it is the info block; its ,X 40+ stores are the
result slots the NPL post-return FUNCS copies back to the user.
Groups carved - ALL FUNCS ROUTINE BODIES DONE (2026-07-15)¶
| file | routines | codes |
|---|---|---|
FUNCS-register-memory.ASM |
REGRE REGWR PMREA DMREA AMEMR PMWRI DMWRI AMEMW | 000-005,032,033 - register + memory R/W |
FUNCS-controlstore-micro.ASM |
CSREA CSWRI MPSTA MPSTO 5MCLE CSLOA | 023,024,025,034,035,037 - control store + micro control |
FUNCS-segload-primitives.ASM |
SGLOA NSGLO MOVxx PLACE LDATX..STDTX LDSWA | 006,160,007 + message-move + 5MPM primitives |
FUNCS-file-process.ASM |
REGSR REGSW PROGS CONFI CLOSF RESR5 REL50 LIOPF CTUSE WHOIS SETER | 010-022 |
FUNCS-memconfig-reserve.ASM |
DEFMC RSTAT SWFDE SWFDL TSTFU RINTE G5PAG T5PAG RUNSW SPLAC EPLAC RMVER LIMEM MEMSP | 040-061 |
FUNCS-nameseg-process.ASM |
SPRTE GPRTE SSGTE GSGTE RPHSG SPRNM TOSWP 500SR WSYSP S1PRI LINKT WPHSG SOUTF MRELS | 067-110,120,123 |
FUNCS-domain-trace-cpu.ASM |
5DFSY 5NDFS 5SFSY 5DLSY 5LISY PLDEB GPRMA 5SRES COMSB SINPD SISTD DBUGS STSEL READS MONAC INITR CLRTR ARMTR DISAR DUMPT CLRAD GETCP SCACH RSCRR SETCU | 127-177 |
COMPLETE: all ~60 distinct FUNCS operation routines are disassembled (byte-verified vs
030-S3SM5, base 40000B; ~11,000 lines total). Spot-checked coherent (PROGS clean dispatch;
RSTAT IOXT present). Every routine follows the common pattern above (message-block field access +
JPL to the shared IOX driver). The emulator-critical ops (register/memory transfer, control-store,
micro control, RSTAT status) are in the first two + memconfig files.
This completes the ND-500 system-monitor carve: dispatch, IOX interface + register map, control-store gate, 5MPM message + activation, level-12 return path, AND every operation routine body.