ASMB,R,L,C       ** COR.B **
      HED COR.B ROUTINE 
*     SOURCE: 92067-18045 
*     RELOC:  PART OF 92067-16035 
*     PGMR:   S.P.K.
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
*  ***************************************************************
* 
      NAM COR.B,6 92067-16035 REV.1805 770816 
      ENT COR.B 
      EXT .ZPRV 
* 
* 
*   THIS ROUTINE RETURNS THE FWA OF FREE MEMORY FOR 
*   A MAIN PROGRAM,  THIS ADDRESS IS HIGH MAIN + 1
*   FOR A NON-SEGMENTED PROGRAM, AND HIGH LARGEST SEGMENT 
*   SEGMENT + 1 FOR A SEGMENTED PROGRAM 
* 
*   CALLING SEQUENCE: 
*       A REG = ID SEGMENT ADDRESS OF MAIN PROGRAM
*       JSB COR.B 
*   RETURNS:
*       A REG = 0 IF NORMAL RETURN
*             = -1 IF ERROR RETURN, B REG IS MEANINGLESS
*       B REG = FWA OF FREE MEM FOR MAIN PROGRAM
* 
*   COR.B MAKES AN ERROR RETURN IF THE ID SEGMENT ADDRESS 
*   PASSED IS THAT OF A SHORT ID SEGMENT
* 
* 
COR.B NOP 
      JSB .ZPRV 
      DEF LIBX
      ADA .14       POINT TO THE NAME 5 WORD
      XLB A,I       GET THE WORD
      BLF,BLF 
      BLF,SLB       SHORT ID SEG FLAG SET?
      JMP ERROR     YES, THEN ERROR RETURN
      ADA .9        NO, POINT TO HIGH MAIN + 1 WORD 
      XLB A,I       GET CONTENTS
      ADA .6        POINT TO HIGH LARGEST SEG + 1 WORD
      XLA A,I       GET CONTENTS
      SZA           SEGMENTED PROGRAM?
      LDB A         YES, RETURN WITH HIGH LARGEST SEG+1 ADDR
      CLA,RSS       NORMAL RETURN 
* 
ERROR CCA           ERROR RETURN
LIBX  JMP COR.B,I   RETURN
      DEF COR.B 
* 
* 
.6    DEC 6 
.9    DEC 9 
.14   DEC 14
* 
A     EQU 0 
B     EQU 1 
      END 
                                                                                              