Skip to content

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).