|
|
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«
└─⟦38ff28550⟧ Bits:30004682 Pascal Standard Assembler til MIKADOS
└─⟦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 0d 05 4c 4f 4d 41 58 20 20 20 26 00 01 08 0d 0d 05 4c 54 45 53 54 20 20 20 27 00 ┆ LOMAX & LTEST ' ┆
0xc00…c20 01 08 0d 0d 05 49 4e 56 42 20 20 20 20 28 00 01 08 0d 0d 05 4c 4f 45 4e 44 20 20 20 29 00 01 08 ┆ INVB ( LOEND ) ┆
0xc20…c40 0d 0d 04 4c 53 5c 47 41 20 20 20 02 bc 01 08 0d 0d 04 4c 53 5c 47 44 20 20 20 02 17 02 08 0d 0d ┆ LSØGA LSØGD ┆
0xc40…c60 05 4c 4f 54 41 42 20 20 20 2a 00 02 08 0d 0d 04 4c 53 5c 47 52 20 20 20 02 4a 02 08 0d 0d 05 4c ┆ LOTAB * LSØGR J L┆
0xc60…c80 4f 4f 46 46 20 20 20 2b 00 02 08 0d 0d 05 4c 4f 52 45 46 20 20 20 2c 00 02 08 0d 0d 05 55 44 52 ┆OOFF + LOREF , UDR┆
0xc80…ca0 45 31 20 20 20 2d 00 02 08 0d 0d 05 55 44 52 45 47 20 20 20 2e 00 02 08 0d 0d 05 4c 46 45 4a 4c ┆E1 - UDREG . LFEJL┆
0xca0…cc0 20 20 20 2f 00 02 08 0d 0d 05 4c 4f 58 50 4c 20 20 20 30 00 02 08 0d 0d 05 4c 58 54 59 50 20 20 ┆ / LOXPL 0 LXTYP ┆
0xcc0…ce0 20 31 00 02 08 0d 0d 05 4f 50 45 4e 20 20 20 20 32 00 02 08 0d 0d 04 58 53 4b 52 56 20 20 20 02 ┆ 1 OPEN 2 XSKRV ┆
0xce0…d00 b1 02 08 0d 0d 05 57 52 49 54 45 20 20 20 33 00 02 08 0d 02 08 fe 02 05 0c 01 00 00 00 05 03 08 ┆ WRITE 3 ┆
0xd00…d20 c8 3a 03 05 0b 02 00 00 00 05 04 08 fe 2a ca 04 04 0a 02 0d 00 04 04 08 19 c9 2a 04 05 0b 03 00 ┆ : * * ┆
0xd20…d40 01 00 05 04 08 19 eb 2a 04 05 0b 04 00 01 00 05 07 08 19 c9 01 00 00 fe 07 05 0c 01 00 00 00 05 ┆ * ┆
0xd40…d60 02 08 ca 02 04 0a 02 31 00 04 02 08 01 02 05 0b 05 00 00 00 05 02 08 fe 02 05 0c 06 00 00 00 05 ┆ 1 ┆
0xd60…d80 02 08 ca 02 04 0a 02 2a 00 04 02 08 01 02 05 0b 07 00 00 00 05 02 08 2a 02 05 0b 08 00 00 00 05 ┆ * * ┆
0xd80…da0 0b 08 09 4e 23 46 eb 09 c9 f5 e5 2a 0b 05 0b 09 00 00 00 05 02 08 22 02 05 0b 0a 00 00 00 05 03 ┆ N#F * " ┆
0xda0…dc0 08 eb 2a 03 05 0b 0b 00 00 00 05 06 08 73 23 72 e1 22 06 05 0b 09 00 00 00 05 02 08 21 02 05 0b ┆ * s#r " ! ┆
0xdc0…de0 0c 00 00 00 05 06 08 f1 47 e6 03 fe 06 05 0c 06 00 00 00 05 02 08 ca 02 04 0a 02 56 00 04 02 63 ┆ G V c┆