|
|
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
0x000…040 Line {l1=0x3e, l2=»;*************************************************************«, l3=0x3e}
0x040…080 Line {l1=0x3e, l2=»;* PASCAL STANDARD ASSEMBLER PACKAGE. *«, l3=0x3e}
0x080…0c0 Line {l1=0x3e, l2=»;* *«, l3=0x3e}
0x0c0…100 Line {l1=0x3e, l2=»;* (C) 1980 DANSK DATA ELEKTRONIK APS. *«, l3=0x3e}
0x100…140 Line {l1=0x3e, l2=»;*************************************************************«, l3=0x3e}
0x140…143 Line {l1=0x01, l2=»;«, l3=0x01}
0x143…183 Line {l1=0x3e, l2=»;*************************************************************«, l3=0x3e}
0x183…1c3 Line {l1=0x3e, l2=»;* PROCEDURE NAME: RELEAS *«, l3=0x3e}
0x1c3…203 Line {l1=0x3e, l2=»;*************************************************************«, l3=0x3e}
0x203…206 Line {l1=0x01, l2=»;«, l3=0x01}
0x206…218 Line {l1=0x10, l2=»; CT 07-MAY-1980«, l3=0x10}
0x218…21b Line {l1=0x01, l2=»;«, l3=0x01}
0x21b…25b Line {l1=0x3e, l2=»;=============================================================«, l3=0x3e}
0x25b…26b Line {l1=0x0e, l2=»; DESCRIPTION:«, l3=0x0e}
0x26b…2a5 Line {l1=0x38, l2=»; THIS PROCEDURE IS USED TO RELEASE A SYMBOLIC RESOURCE.«, l3=0x38}
0x2a5…2e5 Line {l1=0x3e, l2=»; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL«, l3=0x3e}
0x2e5…301 Line {l1=0x1a, l2=»; SECTION 7.2 FOR DETAILS.«, l3=0x1a}
0x301…304 Line {l1=0x01, l2=»;«, l3=0x01}
0x304…344 Line {l1=0x3e, l2=»;-------------------------------------------------------------«, l3=0x3e}
0x344…376 Line {l1=0x30, l2=»; STACK CONTENTS ON ENTRY: I I«, l3=0x30}
0x376…3a8 Line {l1=0x30, l2=»; I---------------I«, l3=0x30}
0x3a8…3da Line {l1=0x30, l2=»; I RETURN ADR. I«, l3=0x30}
0x3da…40c Line {l1=0x30, l2=»; I---------------I«, l3=0x30}
0x40c…43e Line {l1=0x30, l2=»; I -> STATUS I«, l3=0x30}
0x43e…470 Line {l1=0x30, l2=»; I---------------I«, l3=0x30}
0x470…4a2 Line {l1=0x30, l2=»; I -> RESOURCE I«, l3=0x30}
0x4a2…4d4 Line {l1=0x30, l2=»; I---------------I«, l3=0x30}
0x4d4…506 Line {l1=0x30, l2=»; I I«, l3=0x30}
0x506…546 Line {l1=0x3e, l2=»;-------------------------------------------------------------«, l3=0x3e}
0x546…56c Line {l1=0x24, l2=»; STACK CONTENTS ON EXIT: EMPTY«, l3=0x24}
0x56c…5ac Line {l1=0x3e, l2=»;=============================================================«, l3=0x3e}
0x5ac…5af Line {l1=0x01, l2=» «, l3=0x01}
0x5af…5bc Line {l1=0x0b, l2=» SKIP«, l3=0x0b}
0x5bc…5c6 Line {l1=0x08, l2=»RELEAS::«, l3=0x08}
0x5c6…5c9 Line {l1=0x01, l2=» «, l3=0x01}
0x5c9…5cc Line {l1=0x01, l2=»;«, l3=0x01}
0x5cc…608 Line {l1=0x3a, l2=»;GET PARAMETERS FROM PASCAL AND BUILD PARAMETERS FOR RELSE«, l3=0x3a}
0x608…60b Line {l1=0x01, l2=»;«, l3=0x01}
0x60b…636 Line {l1=0x29, l2=» POP D ;DE=RETURN ADDRESS«, l3=0x29}
0x636…65a Line {l1=0x22, l2=» POP H ;HL->STATUS«, l3=0x22}
0x65a…68a Line {l1=0x2e, l2=» SHLD STADR ;SAVE ADDRESS OF STATUS«, l3=0x2e}
0x68a…6b3 Line {l1=0x27, l2=» POP H ;HL->RESOURCE(0)«, l3=0x27}
0x6b3…6e8 Line {l1=0x33, l2=» PUSH D ;PUT RETURN ADDRESS ON STACK«, l3=0x33}
0x6e8…724 Line {l1=0x3a, l2=» PUSH H ;SAVE ADDRESS OF RESOURCE PARAMETER«, l3=0x3a}
0x724…727 Line {l1=0x01, l2=» «, l3=0x01}
0x727…72a Line {l1=0x01, l2=»;«, l3=0x01}
0x72a…739 Line {l1=0x0d, l2=»;BLANK RESOUR«, l3=0x0d}
0x739…73c Line {l1=0x01, l2=»;«, l3=0x01}
0x73c…777 Line {l1=0x39, l2=» MVI A,#10 ;A:=LENGTH OF FIELD TO BE BLANKED«, l3=0x39}
0x777…7a9 Line {l1=0x30, l2=» LXI H,RESOUR ;HL->FIELD TO BE BLANKED«, l3=0x30}
0x7a9…7cd Line {l1=0x22, l2=» CALL E0LIN ;BLANK IT!«, l3=0x22}
0x7cd…7d0 Line {l1=0x01, l2=» «, l3=0x01}
0x7d0…7d3 Line {l1=0x01, l2=»;«, l3=0x01}
0x7d3…7f7 Line {l1=0x22, l2=»;MOVE RESOURCE PARAMETER TO RESOUR«, l3=0x22}
0x7f7…7fa Line {l1=0x01, l2=»;«, l3=0x01}
0x7fa…837 Line {l1=0x3b, l2=» POP H ;HL->RESOURCE(0) I.E. THE LENGTH OF«, l3=0x3b}
0x837…877 Line {l1=0x3e, l2=» ; THE RESOURCE STRING«, l3=0x3e}
0x877…8b0 Line {l1=0x37, l2=» MOV B,M ;B=LENGTH OF STRING TO BE MOVED«, l3=0x37}
0x8b0…8da Line {l1=0x28, l2=» INX H ;HL->RESOURCE(1)«, l3=0x28}
0x8da…90b Line {l1=0x2f, l2=» XCHG ;DE->RESOURCE PARAMETER«, l3=0x2f}
0x90b…93c Line {l1=0x2f, l2=» LXI H,RESOUR ;HL->DESTINATION STRING«, l3=0x2f}
0x93c…95f Line {l1=0x21, l2=» CALL MOVE ;MOVE IT!«, l3=0x21}
0x95f…962 Line {l1=0x01, l2=» «, l3=0x01}
0x962…965 Line {l1=0x01, l2=»;«, l3=0x01}
0x965…998 Line {l1=0x31, l2=»;GET THE LAST TWO CHARACTERS OF THE RESOURCE NAME«, l3=0x31}
0x998…99b Line {l1=0x01, l2=»;«, l3=0x01}
0x99b…9d9 Line {l1=0x3c, l2=» LHLD RESOUR+8 ;HL:=LAST TWO CHARACTERS OF RESOURCE«, l3=0x3c}
0x9d9…a18 Line {l1=0x3d, l2=» PUSH H ;PUSH LAST TWO CHARACTERS OF RESOURCE«, l3=0x3d}
0xa18…a3d Line {l1=0x23, l2=» LXI H,RESOUR ;HL->RESOUR«, l3=0x23}
0xa3d…a70 Line {l1=0x31, l2=» PUSH H ;PUSH ADDRESS OF RESOURCE«, l3=0x31}
0xa70…a86 Line {l1=0x14, l2=» CALL RELSE«, l3=0x14}
0xa86…a89 Line {l1=0x01, l2=» «, l3=0x01}
0xa89…a8c Line {l1=0x01, l2=»;«, l3=0x01}
0xa8c…ac6 Line {l1=0x38, l2=»;UPON RETURN FROM RELSE REGISTER A CONTAINS STATUS VALUE«, l3=0x38}
0xac6…ac9 Line {l1=0x01, l2=»;«, l3=0x01}
0xac9…aed Line {l1=0x22, l2=» LHLD STADR ;HL->STATUS«, l3=0x22}
0xaed…b01 Line {l1=0x12, l2=» MOV M,A«, l3=0x12}
0xb01…b13 Line {l1=0x10, l2=» INX H«, l3=0x10}
0xb13…b3f Line {l1=0x2a, l2=» MVI M,0 ;STORE STATUS VALUE«, l3=0x2a}
0xb3f…b42 Line {l1=0x01, l2=» «, l3=0x01}
0xb42…b4e Line {l1=0x0a, l2=» RET«, l3=0x0a}
0xb4e…b51 Line {l1=0x01, l2=» «, l3=0x01}
0xb51…b5e Line {l1=0x0b, l2=» SKIP«, l3=0x0b}
0xb5e…b7c Line {l1=0x1c, l2=»;******* LOCAL DATA ********«, l3=0x1c}
0xb7c…ba7 Line {l1=0x29, l2=»STADR: DS 2 ;ADDRESS OF STATUS«, l3=0x29}
0xba7…bce Line {l1=0x25, l2=»RESOUR:DS #10 ;RESOURCE NAME«, l3=0x25}
0xbce…bd7 Line {l1=0x07, l2=» «, l3=0x07}
0xbd7…be3 Line {l1=0x0a, l2=» END«, l3=0x0a}
0xbe3…c00 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ ccccccccccccccccccccccccccc┆
0xc00…c20 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆cccccccccccccccccccccccccccccccc┆
[…0xe…]
>;*************************************************************>>;* 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