Google
 

Trailing-Edge - PDP-10 Archives - BB-J939D-BM - binary/chkext.b36
There is 1 other file named chkext.b36 in the archive. Click here to see a list.
MODULE CHKEXT(
    MAIN=CHECK,
    LANGUAGE(BLISS36))=
BEGIN
 
!+
! FUNCTION:
!   See if this system supports extended addressing.
!-
 
! First make sure that the default environment information is correct.
%IF NOT %SWITCHES(TOPS20)
%THEN
    %ERROR('Default monitor switch should be TOPS20 and isn''t.')
 
    ! Include something so as not to get a empty module error.
    BIND X=0;
%ELSE
 
LIBRARY 'MONSYM';

LINKAGE
    PSOUT_LINKAGE = JSYS(REGISTER = 1; REGISTER = 1) : SKIP(-1),
    SMAP_LINKAGE = JSYS(REGISTER = 1, REGISTER = 2, REGISTER = 3) : SKIP(-1);
BIND ROUTINE
    PSOUT_JSYS = PSOUT_ : PSOUT_LINKAGE,
    SMAP_JSYS = SMAP_ : SMAP_LINKAGE;
MACRO
    OUT_STRING(STR) = PSOUT_JSYS(%O'777777'^18
	OR UPLIT(%ASCIZ %STRING(STR,%CHAR(%O'15',%O'12')));) %;
ROUTINE CHECK:NOVALUE=
    BEGIN
 
    IF SMAP_JSYS(0,$FHSLF^18 OR 1,SM_RD OR SM_WR OR SM_EX OR 1)
    THEN
	BEGIN
	OUT_STRING('[This system supports extended addressing]');
	END
    ELSE
	BEGIN
	OUT_STRING('? This system does not support extended addressing');
	OUT_STRING('');
	OUT_STRING('[This error probably means that your system uses a KS');
	OUT_STRING('CPU and isn''t supposed to support extended addressing,');
	OUT_STRING('or it is a KL running a copy of Tops-20 older than');
	OUT_STRING('release 5, which was the first monitor to fully support');
	OUT_STRING('extended addressing]');
	END;
 
    END;
 
%FI
 
END ELUDOM