DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦8f8b630d4⟧

    Length: 3552 (0xde0)
    Notes: Mikados TextFile, Mikados_K
    Names: »RELEAS«

Derivation

└─⟦38ff28550⟧ Bits:30004682 Pascal Standard Assembler til MIKADOS
    └─ ⟦this⟧ »RELEAS« 

Text

;*************************************************************
;*         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
;=============================================================
 
       SKIP
RELEAS::
 
;
;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 STATUS
RESOUR:DS      #10     ;RESOURCE NAME
       
       END