|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3552 (0xde0)
Notes: Mikados TextFile, Mikados_K
Names: »RELEAS«
└─⟦38ff28550⟧ Bits:30004682 Pascal Standard Assembler til MIKADOS
└─⟦this⟧ »RELEAS«
;*************************************************************
;* 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