Trailing-Edge
-
PDP-10 Archives
-
BB-H506D-SM_1983
-
cobol/source/cleant.mac
There are 9 other files named cleant.mac in the archive. Click here to see a list.
; UPD ID= 2509 on 2/14/80 at 5:41 PM by NIXON
TITLE CLEANT FOR COBOL V12B
SUBTTL SQUASH TABLES TO GAIN CORE AL BLACKINGTON/CAM
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) 1974, 1981 BY DIGITAL EQUIPMENT CORPORATION
SEARCH P
%%P==:%%P
;EDITS
;V10*****************
;NAME DATE COMMENTS
;********************
TWOSEG
RELOC 400000
ENTRY CLEANT
EXTERNAL LITLOC,NAMLOC,FREESP
;RESET TABLE SIZES
CLEANT: MOVE TA,CLENTX
CLENT0: HLRZ TD,0(TA) ;GET XLOC
SKIPE (TD) ;DOES THIS TABLE EXIST?
JRST CLNT0J ;YES, GO ON.
HLRE TC,-3(TD) ;FIGURE OUT WHERE THE LAST
MOVMS TC ; TABLE ENDED.
ADD TC,-3(TD) ;PRETEND THIS TABLE STARTS IN
ADDI TC,1 ; THE NEXT LOCATION.
TLO TC,-1 ;SET LH TO -1.
MOVEM TC,(TD) ;SET XLOC
MOVEM TC,1(TD) ; AND XNXT.
CLNT0J: HRRZ TE,0(TA) ;GET SQUASH CODE
CAIN TE,1 ;IS IT 'DELETE EMPTIES'?
JRST CLENT1 ;YES
JUMPN TE,CLENT2 ;NO--IS IT 'EMPTY IT'?
HRRZ TE,0(TD) ;YES--SET LH
HRLI TE,-1 ; OF
MOVEM TE,0(TD) ; XLOC AND
MOVEM TE,1(TD) ; XNXT TO -1
JRST CLENT3
CLENT1: HRRZ TE,1(TD) ;SET
HRRZ TC,0(TD) ; LH OF
SUBI TE,-1(TC) ; XLOC
MOVNS TE ; TO BE
HRLM TE,0(TD) ; NEW SIZE
MOVSI TE,-1 ;SET LH OF XNXT
HLLM TE,1(TD) ; TO -1
JRST CLENT3
CLENT2: CAIE TD,LITLOC ;IS IT LITAB?
JRST CLENT3 ;NO
HLRZ TE,0(TD) ;YES--IF
CAIGE TE,-^D1100 ; SIZE IS
MOVEI TE,-^D1100 ; GREATER THAN 1100,
HRLM TE,0(TD) ; RESET TO 1100
CLENT3: AOBJN TA,CLENT0
;THROW AWAY AIR BETWEEN TABLES
MOVEI TA,NAMLOC+3 ;START AT FIRST TABLE AFTER NAMTAB
CLENT4: HLRE TD,0(TA) ;GET SIZE OF
MOVMS TD ; THIS TABLE
ADDI TD,1 ; PLUS ONE
ADD TD,0(TA) ;DESTINATION ADDRESS
HRRZ TE,3(TA) ;IF THAT
CAIG TE,(TD) ; DOES NOT CHANGE ANYTHING,
JRST CLENT5 ; GO TO NEXT TABLE
HRL TD,3(TA) ;SOURCE ADDRESS
MOVE TC,4(TA) ;COMPUTE
SUB TC,3(TA) ; SIZE OF
HRRZS TC ; NEXT TABLE
ADDI TC,(TD) ;NEW FINAL DESTINATION
HRRM TD,3(TA) ;RESET XLOC
HRRM TC,4(TA) ;RESET XNXT
BLT TD,(TC) ;MOVE DATA DOWN
CLENT5: ADDI TA,3 ;STEP UP TO NEXT TABLE PARAMETERS
SKIPE 3(TA) ;IS THIS THE LAST TABLE.
JRST CLENT4 ;NO, GO SQUASH IT.
HLRE TE,0(TA) ;IT IS--RE-COMPUTE
MOVMS TE ; LOCATION
ADDI TE,1 ; OF
ADD TE,0(TA) ; FREE
HRRM TE,FREESP ; CORE
POPJ PP, ;RETURN.
DEFINE TABSET (A,B,C,D,E,F,G)<
IFDIF <A><NAM><EXTERNAL A'LOC
XWD A'LOC,E
>>
CLENTT: TABLES
CLENTX: XWD CLENTT-.,CLENTT
END