DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦fc069ba41⟧ TextFile

    Length: 4320 (0x10e0)
    Types: TextFile
    Notes: Mikados_K
    Names: »RESERV.K«

Derivation

└─⟦38ff28550⟧ Bits:30004682 Pascal Standard Assembler til MIKADOS
    └─⟦this⟧ »RESERV.K« 

Mikados K File

;*************************************************************
;*         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

Mikados K File

0x0000…0040 Line {l1=0x3e, l2=»;*************************************************************«, l3=0x3e}
0x0040…0080 Line {l1=0x3e, l2=»;*         PASCAL STANDARD ASSEMBLER PACKAGE.                *«, l3=0x3e}
0x0080…00c0 Line {l1=0x3e, l2=»;*                                                           *«, l3=0x3e}
0x00c0…0100 Line {l1=0x3e, l2=»;* (C) 1980 DANSK DATA ELEKTRONIK APS.                       *«, l3=0x3e}
0x0100…0140 Line {l1=0x3e, l2=»;*************************************************************«, l3=0x3e}
0x0140…0143 Line {l1=0x01, l2=»;«, l3=0x01}
0x0143…0183 Line {l1=0x3e, l2=»;*************************************************************«, l3=0x3e}
0x0183…01c3 Line {l1=0x3e, l2=»;* PROCEDURE NAME:      RESERV                               *«, l3=0x3e}
0x01c3…0203 Line {l1=0x3e, l2=»;*************************************************************«, l3=0x3e}
0x0203…0206 Line {l1=0x01, l2=»;«, l3=0x01}
0x0206…0218 Line {l1=0x10, l2=»; CT 07-MAY-1980«, l3=0x10}
0x0218…021b Line {l1=0x01, l2=»;«, l3=0x01}
0x021b…025b Line {l1=0x3e, l2=»;=============================================================«, l3=0x3e}
0x025b…026b Line {l1=0x0e, l2=»; DESCRIPTION:«, l3=0x0e}
0x026b…02a5 Line {l1=0x38, l2=»; THIS PROCEDURE IS USED TO RESERVE A SYMBOLIC RESOURCE.«, l3=0x38}
0x02a5…02e5 Line {l1=0x3e, l2=»; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL«, l3=0x3e}
0x02e5…0301 Line {l1=0x1a, l2=»; SECTION 7.1 FOR DETAILS.«, l3=0x1a}
0x0301…0304 Line {l1=0x01, l2=»;«, l3=0x01}
0x0304…0344 Line {l1=0x3e, l2=»;-------------------------------------------------------------«, l3=0x3e}
0x0344…0376 Line {l1=0x30, l2=»; STACK CONTENTS ON ENTRY:     I               I«, l3=0x30}
0x0376…03a8 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x03a8…03da Line {l1=0x30, l2=»;                              I RETURN ADR.   I«, l3=0x30}
0x03da…040c Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x040c…043e Line {l1=0x30, l2=»;                              I -> STATUS     I«, l3=0x30}
0x043e…0470 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x0470…04a2 Line {l1=0x30, l2=»;                              I     WAIT      I«, l3=0x30}
0x04a2…04d4 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x04d4…0506 Line {l1=0x30, l2=»;                              I   EXCLUSIVE   I«, l3=0x30}
0x0506…0538 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x0538…056a Line {l1=0x30, l2=»;                              I -> RESOURCE   I«, l3=0x30}
0x056a…059c Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x059c…05ce Line {l1=0x30, l2=»;                              I               I«, l3=0x30}
0x05ce…060e Line {l1=0x3e, l2=»;-------------------------------------------------------------«, l3=0x3e}
0x060e…0634 Line {l1=0x24, l2=»; STACK CONTENTS ON EXIT:      EMPTY«, l3=0x24}
0x0634…0674 Line {l1=0x3e, l2=»;=============================================================«, l3=0x3e}
0x0674…0677 Line {l1=0x01, l2=» «, l3=0x01}
0x0677…0684 Line {l1=0x0b, l2=»       SKIP«, l3=0x0b}
0x0684…068e Line {l1=0x08, l2=»RESERV::«, l3=0x08}
0x068e…0691 Line {l1=0x01, l2=» «, l3=0x01}
0x0691…0694 Line {l1=0x01, l2=»;«, l3=0x01}
0x0694…06d0 Line {l1=0x3a, l2=»;GET PARAMETERS FROM PASCAL AND BUILD PARAMETERS FOR RESRV«, l3=0x3a}
0x06d0…06d3 Line {l1=0x01, l2=»;«, l3=0x01}
0x06d3…06fe Line {l1=0x29, l2=»       POP     H       ;HL=RETURN ADDRESS«, l3=0x29}
0x06fe…072b Line {l1=0x2b, l2=»       SHLD    RETADR  ;SAVE RETURN ADDRESS«, l3=0x2b}
0x072b…074f Line {l1=0x22, l2=»       POP     H       ;HL->STATUS«, l3=0x22}
0x074f…077f Line {l1=0x2e, l2=»       SHLD    STADR   ;SAVE ADDRESS OF STATUS«, l3=0x2e}
0x077f…07aa Line {l1=0x29, l2=»       POP     H       ;HL (BIT 0) = WAIT«, l3=0x29}
0x07aa…07d5 Line {l1=0x29, l2=»       MOV     A,L     ;A  (BIT 0) = WAIT«, l3=0x29}
0x07d5…0800 Line {l1=0x29, l2=»       RLC             ;A  (BIT 1) = WAIT«, l3=0x29}
0x0800…0830 Line {l1=0x2e, l2=»       POP     H       ;HL (BIT 0) = EXCLUSIVE«, l3=0x2e}
0x0830…0867 Line {l1=0x35, l2=»       ORA     L       ;A  (BIT 1,0) = WAIT,EXCLUSIVE«, l3=0x35}
0x0867…089e Line {l1=0x35, l2=»       MOV     L,A     ;HL (BIT 1,0) = WAIT,EXCLUSIVE«, l3=0x35}
0x089e…08db Line {l1=0x3b, l2=»       XTHL            ;PUSH SUBPARAMETERS ;HL->RESOURCE(0)«, l3=0x3b}
0x08db…0917 Line {l1=0x3a, l2=»       PUSH    H       ;SAVE ADDRESS OF RESOURCE PARAMETER«, l3=0x3a}
0x0917…091a Line {l1=0x01, l2=» «, l3=0x01}
0x091a…091d Line {l1=0x01, l2=»;«, l3=0x01}
0x091d…092c Line {l1=0x0d, l2=»;BLANK RESOUR«, l3=0x0d}
0x092c…092f Line {l1=0x01, l2=»;«, l3=0x01}
0x092f…096a Line {l1=0x39, l2=»       MVI     A,#10    ;A:=LENGTH OF FIELD TO BE BLANKED«, l3=0x39}
0x096a…099c Line {l1=0x30, l2=»       LXI     H,RESOUR ;HL->FIELD TO BE BLANKED«, l3=0x30}
0x099c…09c0 Line {l1=0x22, l2=»       CALL    E0LIN    ;BLANK IT!«, l3=0x22}
0x09c0…09c3 Line {l1=0x01, l2=» «, l3=0x01}
0x09c3…09c6 Line {l1=0x01, l2=»;«, l3=0x01}
0x09c6…09ea Line {l1=0x22, l2=»;MOVE RESOURCE PARAMETER TO RESOUR«, l3=0x22}
0x09ea…09ed Line {l1=0x01, l2=»;«, l3=0x01}
0x09ed…0a2a Line {l1=0x3b, l2=»       POP     H        ;HL->RESOURCE(0) I.E. THE LENGTH OF«, l3=0x3b}
0x0a2a…0a6a Line {l1=0x3e, l2=»                        ;                  THE RESOURCE STRING«, l3=0x3e}
0x0a6a…0aa3 Line {l1=0x37, l2=»       MOV     B,M      ;B=LENGTH OF STRING TO BE MOVED«, l3=0x37}
0x0aa3…0acd Line {l1=0x28, l2=»       INX     H        ;HL->RESOURCE(1)«, l3=0x28}
0x0acd…0afe Line {l1=0x2f, l2=»       XCHG             ;DE->RESOURCE PARAMETER«, l3=0x2f}
0x0afe…0b2f Line {l1=0x2f, l2=»       LXI     H,RESOUR ;HL->DESTINATION STRING«, l3=0x2f}
0x0b2f…0b52 Line {l1=0x21, l2=»       CALL    MOVE     ;MOVE IT!«, l3=0x21}
0x0b52…0b55 Line {l1=0x01, l2=» «, l3=0x01}
0x0b55…0b58 Line {l1=0x01, l2=»;«, l3=0x01}
0x0b58…0b8b Line {l1=0x31, l2=»;GET THE LAST TWO CHARACTERS OF THE RESOURCE NAME«, l3=0x31}
0x0b8b…0b8e Line {l1=0x01, l2=»;«, l3=0x01}
0x0b8e…0bcc Line {l1=0x3c, l2=»       LHLD    RESOUR+8 ;HL:=LAST TWO CHARACTERS OF RESOURCE«, l3=0x3c}
0x0bcc…0c0b Line {l1=0x3d, l2=»       PUSH    H        ;PUSH LAST TWO CHARACTERS OF RESOURCE«, l3=0x3d}
0x0c0b…0c30 Line {l1=0x23, l2=»       LXI     H,RESOUR ;HL->RESOUR«, l3=0x23}
0x0c30…0c63 Line {l1=0x31, l2=»       PUSH    H        ;PUSH ADDRESS OF RESOURCE«, l3=0x31}
0x0c63…0c79 Line {l1=0x14, l2=»       CALL    RESRV«, l3=0x14}
0x0c79…0c7c Line {l1=0x01, l2=» «, l3=0x01}
0x0c7c…0c7f Line {l1=0x01, l2=»;«, l3=0x01}
0x0c7f…0cb5 Line {l1=0x34, l2=»;UPON RETURN FROM RESRV REG. A CONTAINS STATUS VALUE«, l3=0x34}
0x0cb5…0cb8 Line {l1=0x01, l2=»;«, l3=0x01}
0x0cb8…0cdc Line {l1=0x22, l2=»       LHLD    STADR   ;HL->STATUS«, l3=0x22}
0x0cdc…0cf0 Line {l1=0x12, l2=»       MOV     M,A«, l3=0x12}
0x0cf0…0d02 Line {l1=0x10, l2=»       INX     H«, l3=0x10}
0x0d02…0d2e Line {l1=0x2a, l2=»       MVI     M,0     ;STORE STATUS VALUE«, l3=0x2a}
0x0d2e…0d31 Line {l1=0x01, l2=» «, l3=0x01}
0x0d31…0d34 Line {l1=0x01, l2=»;«, l3=0x01}
0x0d34…0d3d Line {l1=0x07, l2=»;RETURN«, l3=0x07}
0x0d3d…0d40 Line {l1=0x01, l2=»;«, l3=0x01}
0x0d40…0d6b Line {l1=0x29, l2=»       LHLD    RETADR  ;HL=RETURN ADDRESS«, l3=0x29}
0x0d6b…0d78 Line {l1=0x0b, l2=»       PCHL«, l3=0x0b}
0x0d78…0d7b Line {l1=0x01, l2=» «, l3=0x01}
0x0d7b…0d88 Line {l1=0x0b, l2=»       SKIP«, l3=0x0b}
0x0d88…0da6 Line {l1=0x1c, l2=»;******* LOCAL DATA ********«, l3=0x1c}
0x0da6…0dce Line {l1=0x26, l2=»RETADR:DS      2       ;RETURN ADDRESS«, l3=0x26}
0x0dce…0df9 Line {l1=0x29, l2=»STADR: DS      2       ;ADDRESS OF STATUS«, l3=0x29}
0x0df9…0e20 Line {l1=0x25, l2=»RESOUR:DS      #10     ;RESOURCE NAME«, l3=0x25}
0x0e20…0e29 Line {l1=0x07, l2=»       «, l3=0x07}
0x0e29…0e35 Line {l1=0x0a, l2=»       END«, l3=0x0a}
0x0e35…0e40 00 00 c3 02 04 0a 02 86 00 04 06                                                                  ┆           ┆
0x0e40…0e60 08 26 00 2b 13 cd 06 05 0b 09 00 00 00 05 02 08 c3 02 04 0a 02 86 00 04 07 08 13 eb 5e 23 56 21   ┆ & +                        ^#V!┆
0x0e60…0e80 07 05 0b 01 00 00 00 05 02 08 3e 02 05 0c 1f 00 00 00 05 06 08 36 76 23 3d c2 06 04 0a 02 33 01   ┆          >          6v#=     3 ┆
0x0e80…0ea0 04 02 08 21 02 05 0b 1f 00 00 00 05 02 08 cd 02 05 0b 20 00 00 00 05 03 08 d5 11 03 05 0b 01 00   ┆   !                            ┆
0x0ea0…0ec0 00 00 05 04 08 7c b5 ca 04 04 0a 02 4c 01 04 02 08 cd 02 05 0b 09 00 00 00 05 02 08 21 02 05 0b   ┆     ø      L               !   ┆
0x0ec0…0ee0 1f 00 00 00 05 05 08 c1 78 b1 ca 05 04 0a 02 86 00 04 03 08 0b cd 03 05 0b 09 00 00 00 05 02 08   ┆        x                       ┆
0x0ee0…0f00 c3 02 04 0a 02 50 01 04 09 08 13 eb 7e 23 5e 23 56 cd 09 05 0b 21 00 00 00 05 02 08 22 02 05 0b   ┆     P      ü#^#V    !      "   ┆
0x0f00…0f20 01 00 01 00 05 02 08 11 02 05 0b 01 00 01 00 05 05 08 21 02 00 cd 05 05 0b 09 00 00 00 05 02 08   ┆                  !             ┆
0x0f20…0f40 c3 02 04 0a 02 86 00 04 07 08 13 eb 5e 23 56 cd 07 05 0b 22 00 00 00 05 02 08 22 02 05 0b 23 00   ┆            ^#V    "      "   # ┆
0x0f40…0f60 00 00 05 02 08 2a 02 05 0b 01 00 03 00 05 03 08 eb 2a 03 05 0b 23 00 00 00 05 02 08 01 02 05 0b   ┆     *           *   #          ┆
0x0f60…0f80 24 00 00 00 05 08 08 09 4e 23 46 eb 09 22 08 05 0b 01 00 01 00 05 02 08 3a 02 05 0b 01 00 00 00   ┆$       N#F  "          :       ┆
0x0f80…0fa0 05 04 08 fe 0c ca 04 04 0a 02 a7 01 04 02 08 11 02 05 0b 01 00 01 00 05 05 08 21 02 00 cd 05 05   ┆                          !     ┆
0x0fa0…0fc0 0b 09 00 00 00 05 02 08 c3 02 04 0a 02 86 00 04 03 08 24 ca 03 04 0a 02 af 01 04 03 08 25 c2 03   ┆                  $          %  ┆
0x0fc0…0fe0 04 0a 02 bb 01 04 02 08 11 02 05 0b 01 00 01 00 05 05 08 21 01 00 cd 05 05 0b 09 00 00 00 05 02   ┆                   !            ┆
0x0fe0…1000 4c 49 4e 4b 31 20 20 20 52 43 02 05 00 15 00 08 14 00 07 15 00 08 41 09 00 04 00 49 4e 49 54 20   ┆LINK1   RC            A    INIT ┆
0x1000…1020 08 c3 02 04 0a 02 86 00 04 02 08 2a 02 05 0b 23 00 00 00 05 03 08 eb 21 03 05 0b 25 00 00 00 05   ┆           *   #       !   %    ┆
0x1020…1040 04 08 06 05 cd 04 05 0b 26 00 00 00 05 02 08 2a 02 05 0b 10 00 00 00 05 03 08 eb 21 03 05 0b 27   ┆        &      *           !   '┆
0x1040…1060 00 00 00 05 04 08 06 08 cd 04 05 0b 26 00 00 00 05 02 08 21 02 05 0b 28 00 00 00 05 02 08 cd 02   ┆            &      !   (        ┆
0x1060…1080 04 0a 02 9f 03 04 02 08 c3 02 04 0a 02 af 01 04 02 08 2a 02 05 0b 10 00 00 00 05 02 08 01 02 05   ┆                  *             ┆
0x1080…10a0 0b 29 00 00 00 05 03 08 09 22 03 05 0b 10 00 00 00 05 02 08 01 02 05 0b 2a 00 00 00 05 02 08 cd   ┆ )       "              *       ┆
0x10a0…10c0 02 05 0b 2b 00 00 00 05 02 08 da 02 04 0a 02 4e 00 04 02 08 21 02 05 0b 2c 00 00 00 05 03 08 e5   ┆   +           N    !   ,       ┆
0x10c0…10e0 cd 03 05 0b 16 00 00 00 05 06 08 a7 c4 08 f0 2a 06 05 0b 0c 00 00 00 05 02 08 22 02 05 0b 10 63   ┆               *          "    c┆

Reduced view