Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/mcbda/mdawnd.bli
There is 1 other file named mdawnd.bli in the archive. Click here to see a list.
MODULE WINDOW ( !
IDENT = '003010',
LANGUAGE (BLISS16, BLISS36)
) =
BEGIN
!
! COPYRIGHT (c) 1980, 1981, 1982
! DIGITAL EQUIPMENT CORPORATION
! Maynard, Massachusetts
!
! This software is furnished under a license and may be used
! and copied only in accordance with the terms of such license
! and with the inclusion of the above copyright notice. This
! software or any other copies thereof may not be provided or
! otherwise made available to any other person. No title to
! and ownership of the software is hereby transferred.
!
! The information in this software is subject to change
! without notice and should not be construed as a commitment
! by DIGITAL EQUIPMENT CORPORATION.
!
! DIGITAL assumes no responsibility for the use or reliability
! of its software on equipment which is not supplied by
! DIGITAL.
!
!++
! FACILITY: MCBDA - MCB Crash Dump Analyzer
!
! ABSTRACT:
!
!
! ENVIRONMENT: ANY
!
! AUTHOR: ALAN D. PECKHAM , CREATION DATE:
!
! MODIFIED BY:
!
! Alan D. Peckham, 10-Jul-80: VERSION 3
! 01 - Update RSX symbol references.
!--
!
! TABLE OF CONTENTS:
!
FORWARD ROUTINE
PUTWND; !
!
! INCLUDE FILES:
!
LIBRARY 'MDACOM'; !MDA common definitions.
LIBRARY 'RSXLIB'; !RSX definitions.
!
! MACROS:
!
!
! EQUATED SYMBOLS:
!
! None
!
! OWN STORAGE:
!
!
! EXTERNAL REFERENCES:
!
EXTERNAL ROUTINE
GETWRD, !Get a word from the dump image.
GETBYT, !Get a byte from the dump image.
SKIP : NOVALUE; !Insert blank lines on listing.
GLOBAL ROUTINE PUTWND (BLANK_LINES, HEADER_ADDRESS) =
!++
! FUNCTIONAL DESCRIPTION:
!
!
! FORMAL PARAMETERS:
!
! NONE
!
! IMPLICIT INPUTS:
!
! NONE
!
! IMPLICIT OUTPUTS:
!
! NONE
!
! ROUTINE VALUE:
!
! NONE
!
! SIDE EFFECTS:
!
! NONE
!
!--
BEGIN
LOCAL
ADR,
LAST_PDR,
NAME_0,
NAME_1,
NUM_PDRS,
NUM_WINDOWS,
PDR_ADDRESS,
WINDOW_ADDRESS;
IF (WINDOW_ADDRESS = GETWRD (.HEADER_ADDRESS + FL$OFFSET (H_WND))) NEQ 0
THEN
IF (NUM_WINDOWS = GETWRD (.WINDOW_ADDRESS)) NEQ 0
THEN
BEGIN
IF (.NUM_WINDOWS GTR RSX_MAX_WND)
THEN
BEGIN
PUTLN (1, CH$ASCIZ (WARNING, 'TOO MANY WINDOWS (%M.)'), .NUM_WINDOWS);
NUM_WINDOWS = RSX_MAX_WND
END;
PUTLN (.BLANK_LINES, CH$ASCIZ ('%4SWINDOW BLOCKS:'));
PUTLN (1, CH$ASCIZ ('%5SPAR VIRT LIMITS ATT DESC WND SIZE OFFSET PDR CONTENTS'));
PUTLN (0, CH$ASCIZ ('%5S--- ----------- -------- -------- ------ ------ --------'));
WINDOW_ADDRESS = .WINDOW_ADDRESS + 2;
WHILE (NUM_WINDOWS = .NUM_WINDOWS - 1) GEQ 0 DO
BEGIN
NAME_0 = (NAME_1 = 0);
IF (ADR = GETWRD (.WINDOW_ADDRESS + FL$OFFSET (W_BPCB))) NEQ 0
THEN
BEGIN
NAME_0 = GETWRD (.ADR + FL$OFFSET (P_NAM) + 0);
NAME_1 = GETWRD (.ADR + FL$OFFSET (P_NAM) + 2)
END;
PDR_ADDRESS = (GETBYT (.WINDOW_ADDRESS + FL$OFFSET (W_BFPD)) + %O'177400');
NUM_PDRS = GETBYT (.WINDOW_ADDRESS + FL$OFFSET (W_BNPD));
LAST_PDR = GETWRD (.WINDOW_ADDRESS + FL$OFFSET (W_BLPD));
PUTLN (0, CH$ASCIZ ('%4S%2R %P %P %P %P %P %P %P'), .NAME_0, .NAME_1,
GETWRD (.WINDOW_ADDRESS + FL$OFFSET (W_BLVR)),
GETWRD (.WINDOW_ADDRESS + FL$OFFSET (W_BHVR)),
GETWRD (.WINDOW_ADDRESS + FL$OFFSET (W_BATT)),
GETWRD (.WINDOW_ADDRESS + FL$OFFSET (W_BSIZ)),
GETWRD (.WINDOW_ADDRESS + FL$OFFSET (W_BOFF)), .PDR_ADDRESS,
(IF .NUM_PDRS GTR 1 THEN (.LAST_PDR<0, 8> + %O'77400') ELSE .LAST_PDR));
WHILE (NUM_PDRS = .NUM_PDRS - 1) GTR 0 DO
PUTLN (0, CH$ASCIZ ('%56T%P %P'), (PDR_ADDRESS = .PDR_ADDRESS + 2),
(IF .NUM_PDRS GTR 1 THEN (.LAST_PDR<0, 8> + %O'77400') ELSE .LAST_PDR));
WINDOW_ADDRESS = .WINDOW_ADDRESS + W_BLGH^1
END
END;
TRUE
END; !End of PUTWND
END !End of module
ELUDOM