;*************************************************************;*         PASCAL STANDARD ASSEMBLER PACKAGE.                *;*                                                           *;* (C) 1980 DANSK DATA ELEKTRONIK APS.                       *;*************************************************************;;*************************************************************;* PROCEDURE NAME:      RELEAS                               *;*************************************************************;; CT 07-MAY-1980;;=============================================================; DESCRIPTION:; THIS PROCEDURE IS USED TO RELEASE A SYMBOLIC RESOURCE.; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL; SECTION 7.2 FOR DETAILS.;;-------------------------------------------------------------; STACK CONTENTS ON ENTRY:     I               I;                              I---------------I;                              I RETURN ADR.   I;                              I---------------I;                              I -> STATUS     I;                              I---------------I;                              I -> RESOURCE   I;                              I---------------I;                              I               I;-------------------------------------------------------------; STACK CONTENTS ON EXIT:      EMPTY;=============================================================        SKIPRELEAS:: ;;GET PARAMETERS FROM PASCAL AND BUILD PARAMETERS FOR RELSE;       POP     D       ;DE=RETURN ADDRESS       POP     H       ;HL->STATUS       SHLD    STADR   ;SAVE ADDRESS OF STATUS       POP     H       ;HL->RESOURCE(0)       PUSH    D       ;PUT RETURN ADDRESS ON STACK       PUSH    H       ;SAVE ADDRESS OF RESOURCE PARAMETER ;;BLANK RESOUR;       MVI     A,#10    ;A:=LENGTH OF FIELD TO BE BLANKED       LXI     H,RESOUR ;HL->FIELD TO BE BLANKED       CALL    E0LIN    ;BLANK IT! ;;MOVE RESOURCE PARAMETER TO RESOUR;       POP     H        ;HL->RESOURCE(0) I.E. THE LENGTH OF                        ;                  THE RESOURCE STRING       MOV     B,M      ;B=LENGTH OF STRING TO BE MOVED       INX     H        ;HL->RESOURCE(1)       XCHG             ;DE->RESOURCE PARAMETER       LXI     H,RESOUR ;HL->DESTINATION STRING       CALL    MOVE     ;MOVE IT! ;;GET THE LAST TWO CHARACTERS OF THE RESOURCE NAME;       LHLD    RESOUR+8 ;HL:=LAST TWO CHARACTERS OF RESOURCE       PUSH    H        ;PUSH LAST TWO CHARACTERS OF RESOURCE       LXI     H,RESOUR ;HL->RESOUR       PUSH    H        ;PUSH ADDRESS OF RESOURCE       CALL    RELSE ;;UPON RETURN FROM RELSE REGISTER A CONTAINS STATUS VALUE;       LHLD    STADR   ;HL->STATUS       MOV     M,A       INX     H       MVI     M,0     ;STORE STATUS VALUE        RET        SKIP;******* LOCAL DATA ********STADR: DS      2       ;ADDRESS OF STATUSRESOUR:DS      #10     ;RESOURCE NAME              END