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