.TITLE HISTDA - DELETE ALL HISTOGRAMS .IDENT /16MAY7/ ;10:25:00 JB ; .ENTRY HISTDA - DELETE ALL HISTOGRAMS ;+ ; H I S T D A ; ; PURPOSE: THIS ROUTINE DELETES ALL HISTOGRAMS BELONGING ; TO A GIVEN OWNER. ; ; INTERFACE: CALLING SEQUENCE: (FORTRAN-CALLABLE SUBROUTINE) ; CALL HISTDA(IOWNER) ; ; INPUT: IOWNER (INTEGER) = HISTOGRAM OWNER ; ; LANGUAGE: MACRO-11 ; ; REFERENCES: "HISTOGRAMMING AND HISTOGRAM PLOTTING" ; SEE SUBROUTINE HISTSU FOR DESCRIPTION OF THE ; HISTOGRAM OWNER FORMAT. ;- ; REVISIONS: ; 03-JUN-75 MK WRITTEN ; 21-NOV-75 MK INTERFACE WITH NEW HST$DE ; 26-JAN-76 MK FIX INFINITE LOOP CAUSED BY NOT ADVANCING HDB PTR ; 02-FEB-77 NS CHANGE GLOBAL NAMES IN HCOM1 TO AVOID ; USER CONFLICTS ; ENABL=H.ENBL. HDBCHN=H.DBCH ; 16-MAY-77 JB UPDATED TO CONFORM TO STANDARDS ; .MCALL PUSH,POP HISTDA:: TST H.ENBL ;PACKAGE ENABLED? BEQ 4$ ;NO CALL HST$LK ;LOCK HDBS MOV H.DBCH,R3 ;GET FIRST HDB IN CHAIN BEQ 3$ ;NO CHAIN 1$: PUSH (R3) ;SAVE LINK TO NEXT HDB CMP @2(R5),HDB.OW(R3) ;DOES IT BELONG TO THIS OWNER? BNE 2$ ;NO CALL HST$DE ;DELETE HISTOGRAM 2$: POP R3 ;GET NEXT HDB IN CHAIN BNE 1$ ;YES 3$: CALL HST$UN ;UNLOCK HDBS 4$: RETURN .END