|
|
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: 4320 (0x10e0)
Types: TextFile
Notes: Mikados_K
Names: »RESERV.K«
└─⟦33b8385fd⟧ Bits:30009009 PSAP1
└─⟦this⟧ »RESERV.K«
;*************************************************************
;* PASCAL STANDARD ASSEMBLER PACKAGE. *
;* *
;* (C) 1980 DANSK DATA ELEKTRONIK APS. *
;*************************************************************
;
;*************************************************************
;* PROCEDURE NAME: RESERV *
;*************************************************************
;
; CT 07-MAY-1980
;
;=============================================================
; DESCRIPTION:
; THIS PROCEDURE IS USED TO RESERVE A SYMBOLIC RESOURCE.
; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL
; SECTION 7.1 FOR DETAILS.
;
;-------------------------------------------------------------
; STACK CONTENTS ON ENTRY: I I
; I---------------I
; I RETURN ADR. I
; I---------------I
; I -> STATUS I
; I---------------I
; I WAIT I
; I---------------I
; I EXCLUSIVE I
; I---------------I
; I -> RESOURCE I
; I---------------I
; I I
;-------------------------------------------------------------
; STACK CONTENTS ON EXIT: EMPTY
;=============================================================
SKIP
RESERV::
;
;GET PARAMETERS FROM PASCAL AND BUILD PARAMETERS FOR RESRV
;
POP H ;HL=RETURN ADDRESS
SHLD RETADR ;SAVE RETURN ADDRESS
POP H ;HL->STATUS
SHLD STADR ;SAVE ADDRESS OF STATUS
POP H ;HL (BIT 0) = WAIT
MOV A,L ;A (BIT 0) = WAIT
RLC ;A (BIT 1) = WAIT
POP H ;HL (BIT 0) = EXCLUSIVE
ORA L ;A (BIT 1,0) = WAIT,EXCLUSIVE
MOV L,A ;HL (BIT 1,0) = WAIT,EXCLUSIVE
XTHL ;PUSH SUBPARAMETERS ;HL->RESOURCE(0)
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 RESRV
;
;UPON RETURN FROM RESRV REG. A CONTAINS STATUS VALUE
;
LHLD STADR ;HL->STATUS
MOV M,A
INX H
MVI M,0 ;STORE STATUS VALUE
;
;RETURN
;
LHLD RETADR ;HL=RETURN ADDRESS
PCHL
SKIP
;******* LOCAL DATA ********
RETADR:DS 2 ;RETURN ADDRESS
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: RESERV *>>;*************************************************************>▶01◀;▶01◀▶10◀; CT 07-MAY-1980▶10◀▶01◀;▶01◀>;=============================================================>▶0e◀; DESCRIPTION:▶0e◀8; THIS PROCEDURE IS USED TO RESERVE A SYMBOLIC RESOURCE.8>; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL>▶1a◀; SECTION 7.1 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 WAIT I00; I---------------I00; I EXCLUSIVE I00; I---------------I00; I -> RESOURCE I00; I---------------I00; I I0>;------------------------------------------------------------->$; STACK CONTENTS ON EXIT: EMPTY$>;=============================================================>▶01◀ ▶01◀▶0b◀ SKIP▶0b◀▶08◀RESERV::▶08◀▶01◀ ▶01◀▶01◀;▶01◀:;GET PARAMETERS FROM PASCAL AND BUILD PARAMETERS FOR RESRV:▶01◀;▶01◀) POP H ;HL=RETURN ADDRESS)+ SHLD RETADR ;SAVE RETURN ADDRESS+" POP H ;HL->STATUS". SHLD STADR ;SAVE ADDRESS OF STATUS.) POP H ;HL (BIT 0) = WAIT)) MOV A,L ;A (BIT 0) = WAIT)) RLC ;A (BIT 1) = WAIT). POP H ;HL (BIT 0) = EXCLUSIVE.5 ORA L ;A (BIT 1,0) = WAIT,EXCLUSIVE55 MOV L,A ;HL (BIT 1,0) = WAIT,EXCLUSIVE5; XTHL ;PUSH SUBPARAMETERS ;HL->RESOURCE(0);: 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 RESRV▶14◀▶01◀ ▶01◀▶01◀;▶01◀4;UPON RETURN FROM RESRV REG. A CONTAINS STATUS VALUE4▶01◀;▶01◀" LHLD STADR ;HL->STATUS"▶12◀ MOV M,A▶12◀▶10◀ INX H▶10◀* MVI M,0 ;STORE STATUS VALUE*▶01◀ ▶01◀▶01◀;▶01◀▶07◀;RETURN▶07◀▶01◀;▶01◀) LHLD RETADR ;HL=RETURN ADDRESS)▶0b◀ PCHL▶0b◀▶01◀ ▶01◀▶0b◀ SKIP▶0b◀▶1c◀;******* LOCAL DATA ********▶1c◀&RETADR:DS 2 ;RETURN ADDRESS&)STADR: DS 2 ;ADDRESS OF STATUS)%RESOUR:DS #10 ;RESOURCE NAME%▶07◀ ▶07◀
END
▶00◀▶00◀ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc