440B Attach500Segment¶
Stub MON 440B (288 decimal) · Mnemonic AT5SGM · Group: Not grouped in manual
Available from: not known - no compatibility box captured from the manual
Emulation source: src/handlers/mon_440B_Attach500Segment.c
Description¶
Maps a logical ND-500 data segment onto shared ND-100/ND-500(0) physical memory (multiport memory).
Notes¶
- Version history: the L-version documents MON 440 as mapping a logical ND-500 data segment onto shared ND-100/ND-500 physical (multi-port) memory, and now allows the target physical memory area to be defined either via the "Not initialize page" table (*CHANGE-TABLE) OR to be in a LAMU area (ND-860230-6-EN Sintran III - Release Information - L-Version.md:2774-2776).
- The specified physical memory area must be defined in the "Not initialize page" table by use of the *CHANGE-TABLE command in the SINTRAN Service Program (follow this command by a warm start to put the change into effect). Note that you should not use the first pages of the multiport memory (starting at "ND-500 page 0") for this.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
Function |
INTEGER | In | Function code. 0 = Detach (forget) a previously attached segment. 1 = Attach a segment. If a physical segment does not exist, create it and map the segment on to the physical ND-100 address area. 2 = Map an existing ND-500 logical data segment onto a physical ND-100 address area. |
SegNo0 |
INTEGER | In | Segment number (function code 0). Segment number in the range 0-31₁₀. |
SegNo1 |
INTEGER | In | ND-500 logical data segment address (function code 1). If you specify 0 (zero), the first free segment will be used. |
Length1 |
INTEGER | In | Length of segment in pages (function code 1). |
N1Addr1 |
INTEGER | In | ND-100 physical page address (function code 1). |
SegName |
STRING | In | Segment name (function code 1). A maximum of 35₁₀ characters in the name, including an optional user name, and a terminating apostrophe, which must be present. The parameter is a string descriptor. |
Access |
INTEGER | In | Access (function code 1). 0 = read only access. 1 = read/write access. |
RetSegNo |
INTEGER | Out | Logical segment number (function code 1). |
SegNo2 |
INTEGER | In | Start address of ND-500 logical data segment (function code 2). |
Length2 |
INTEGER | In | Length of the (entire) segment in pages (function code 2). |
N1Addr2 |
INTEGER | In | Physical ND-100 page address (function code 2). |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
Compatibility¶
| ND-100 | ND-500 | User programs | RT programs | System programs |
|---|---|---|---|---|
| No | Yes | Yes | Yes | Yes |
From the YAML extraction; this call's page in the manual had no compatibility box that was captured.
Examples¶
From the manual (OCR text, not corrected).
FUNCTION : W DATA 1 %function = 1
SEGNO : W DATA 1000000000B %address 0 on segment no. 1
LENGTH : W DATA 4 %segment length = 4 pages
N1ADDR : W DATA 2000B %mapped at page address 2000₈
SEGNAME : STRINGDATA 'ATTSEG1' %segment name = ATTSEG1
ACCESS : W DATA 1 %read/write access
RETSEGNO : W BLOCK 1 %returned segment number
...
CALLG 37000000440B, 7, FUNCTION, SEGNO, LENGTH, N1ADDR, SEGNAME, ACCESS, &
RETSEGNO %Mon 440 with 7 parameters
IF K GO ERROR
...
ERROR : W1 =: ErrCode %on error return, W1 = error code
ndmonlib implementation¶
Stub Registered MON_STATUS_NOT_IMPLEMENTED: the handler is a stub. mon_dispatch() in src/core/mon_dispatch.c reports the call as unimplemented without calling it.
| Handler | mon_440B_Attach500Segment |
| Code lines | 15 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN).