|
|
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 - download
Length: 3552 (0xde0)
Types: TextFile
Notes: Mikados_K
Names: »RELEAS.K«
└─⟦33b8385fd⟧ Bits:30009009 PSAP1
└─⟦this⟧ »RELEAS.K«
;*************************************************************
;* 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
>;*************************************************************>>;* PASCAL STANDARD ASSEMBLER PACKAGE. *>>;* *>>;* (C) 1980 DANSK DATA ELEKTRONIK APS. *>>;*************************************************************>▶01◀;▶01◀>;*************************************************************>>;* PROCEDURE NAME: RELEAS *>>;*************************************************************>▶01◀;▶01◀▶10◀; CT 07-MAY-1980▶10◀▶01◀;▶01◀>;=============================================================>▶0e◀; DESCRIPTION:▶0e◀8; THIS PROCEDURE IS USED TO RELEASE A SYMBOLIC RESOURCE.8>; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL>▶1a◀; SECTION 7.2 FOR DETAILS.▶1a◀▶01◀;▶01◀>;------------------------------------------------------------->0; STACK CONTENTS ON ENTRY: I I00; I---------------I00; I RETURN ADR. I00; I---------------I00; I -> STATUS I00; I---------------I00; I -> RESOURCE I00; I---------------I00; I I0>;------------------------------------------------------------->$; STACK CONTENTS ON EXIT: EMPTY$>;=============================================================>▶01◀ ▶01◀▶0b◀ SKIP▶0b◀▶08◀RELEAS::▶08◀▶01◀ ▶01◀▶01◀;▶01◀:;GET PARAMETERS FROM PASCAL AND BUILD PARAMETERS FOR RELSE:▶01◀;▶01◀) POP D ;DE=RETURN ADDRESS)" POP H ;HL->STATUS". SHLD STADR ;SAVE ADDRESS OF STATUS.' POP H ;HL->RESOURCE(0)'3 PUSH D ;PUT RETURN ADDRESS ON STACK3: PUSH H ;SAVE ADDRESS OF RESOURCE PARAMETER:▶01◀ ▶01◀▶01◀;▶01◀\r;BLANK RESOUR\r▶01◀;▶01◀9 MVI A,#10 ;A:=LENGTH OF FIELD TO BE BLANKED90 LXI H,RESOUR ;HL->FIELD TO BE BLANKED0" CALL E0LIN ;BLANK IT!"▶01◀ ▶01◀▶01◀;▶01◀";MOVE RESOURCE PARAMETER TO RESOUR"▶01◀;▶01◀; POP H ;HL->RESOURCE(0) I.E. THE LENGTH OF;> ; THE RESOURCE STRING>7 MOV B,M ;B=LENGTH OF STRING TO BE MOVED7( INX H ;HL->RESOURCE(1)(/ XCHG ;DE->RESOURCE PARAMETER// LXI H,RESOUR ;HL->DESTINATION STRING/! CALL MOVE ;MOVE IT!!▶01◀ ▶01◀▶01◀;▶01◀1;GET THE LAST TWO CHARACTERS OF THE RESOURCE NAME1▶01◀;▶01◀< LHLD RESOUR+8 ;HL:=LAST TWO CHARACTERS OF RESOURCE<= PUSH H ;PUSH LAST TWO CHARACTERS OF RESOURCE=# LXI H,RESOUR ;HL->RESOUR#1 PUSH H ;PUSH ADDRESS OF RESOURCE1▶14◀ CALL RELSE▶14◀▶01◀ ▶01◀▶01◀;▶01◀8;UPON RETURN FROM RELSE REGISTER A CONTAINS STATUS VALUE8▶01◀;▶01◀" LHLD STADR ;HL->STATUS"▶12◀ MOV M,A▶12◀▶10◀ INX H▶10◀* MVI M,0 ;STORE STATUS VALUE*▶01◀ ▶01◀
RET
▶01◀ ▶01◀▶0b◀ SKIP▶0b◀▶1c◀;******* LOCAL DATA ********▶1c◀)STADR: DS 2 ;ADDRESS OF STATUS)%RESOUR:DS #10 ;RESOURCE NAME%▶07◀ ▶07◀
END
▶00◀▶00◀ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc