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

⟦1e338ef52⟧ TextFile

    Length: 3552 (0xde0)
    Types: TextFile
    Notes: Mikados_K
    Names: »WAITNG.K«

Derivation

└─⟦33b8385fd⟧ Bits:30009009 PSAP1
    └─⟦this⟧ »WAITNG.K« 

Mikados K File

;*************************************************************
;*         PASCAL STANDARD ASSEMBLER PACKAGE.                *
;*                                                           *
;* (C) 1980 DANSK DATA ELEKTRONIK APS.                       *
;*************************************************************
;
;*************************************************************
;* FUNCTION NAME:       WAITNG                               *
;*************************************************************
;
; CT 07-MAY-1980
;
;=============================================================
; DESCRIPTION:
; THIS FUNCTIONS TESTS IF THERE ARE ANY MESSAGES WAITING ON
; THE MAIN SEMAPHORE OF THE CALLING PROCESS.
; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL
; SECTION 4.3 FOR DETAILS.
;
;-------------------------------------------------------------
; STACK CONTENTS ON ENTRY:     I               I
;                              I---------------I
;                              I  RETURN ADR.  I
;                              I---------------I
;                              I DUMMY ELEMENT I
;                              I---------------I
;                              I DUMMY ELEMENT I
;                              I---------------I
;                              I DUMMY ELEMENT I
;                              I---------------I
;                              I DUMMY ELEMENT I
;                              I---------------I
;                              I               I
;-------------------------------------------------------------
; STACK CONTENTS ON EXIT:      I               I
;                              I---------------I
;                              I TRUE / FALSE  I
;                              I---------------I
;                              I               I
;=============================================================
 
       SKIP
       SYMB
 
WAITNG::
 
;
;CLEAN UP ON STACK
;
       POP     B       ;BC:=RETURN ADDRESS
       POP     D       ;REMOVE
       POP     D       ;  DUMMY
       POP     D       ;    ELEMENT
       POP     D       ;      FROM STACK
 
;
;GET VALUE FIELD OF MAIN SEMAPHORE
;
       LHLD    RUNN    ;HL->PCB OF CALLING PROCESS
       LXI     D,KOSEM
       DAD     D       ;HL->ADDRESS OF MAIN SEMAPHORE
       MOV     E,M     ;DE->
       INX     H       ;    MAIN
       MOV     D,M     ;       SEMAPHORE
       LDAX    D       ;A:=VALUE FIELD OF SEMAPHORE
       CPI     1       ;ANY MESSAGE WAITING
       JZ      OK      ;YES
 
;
;NO MESSAGE WAITING, RETURN VALUE:=FALSE
;
       LXI     D,0     ;DE:=FALSE
       PUSH    D       ;STACK RETURN VALUE
       PUSH    B       ;RESTORE RETURN ADDRESS
       RET
 
;
;MESSAGE WAITING, RETURN VALUE:=TRUE
;
OK:    LXI     D,1     ;DE:=TRUE
       PUSH    D       ;STACK RETURN VALUE
       PUSH    B       ;RESTORE RETURN ADDRESS
       RET
 
       END

Mikados K File

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=»;* FUNCTION NAME:       WAITNG                               *«, 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…2a8 Line {l1=0x3b, l2=»; THIS FUNCTIONS TESTS IF THERE ARE ANY MESSAGES WAITING ON«, l3=0x3b}
0x2a8…2d6 Line {l1=0x2c, l2=»; THE MAIN SEMAPHORE OF THE CALLING PROCESS.«, l3=0x2c}
0x2d6…316 Line {l1=0x3e, l2=»; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL«, l3=0x3e}
0x316…332 Line {l1=0x1a, l2=»; SECTION 4.3 FOR DETAILS.«, l3=0x1a}
0x332…335 Line {l1=0x01, l2=»;«, l3=0x01}
0x335…375 Line {l1=0x3e, l2=»;-------------------------------------------------------------«, l3=0x3e}
0x375…3a7 Line {l1=0x30, l2=»; STACK CONTENTS ON ENTRY:     I               I«, l3=0x30}
0x3a7…3d9 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x3d9…40b Line {l1=0x30, l2=»;                              I  RETURN ADR.  I«, l3=0x30}
0x40b…43d Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x43d…46f Line {l1=0x30, l2=»;                              I DUMMY ELEMENT I«, l3=0x30}
0x46f…4a1 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x4a1…4d3 Line {l1=0x30, l2=»;                              I DUMMY ELEMENT I«, l3=0x30}
0x4d3…505 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x505…537 Line {l1=0x30, l2=»;                              I DUMMY ELEMENT I«, l3=0x30}
0x537…569 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x569…59b Line {l1=0x30, l2=»;                              I DUMMY ELEMENT I«, l3=0x30}
0x59b…5cd Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x5cd…5ff Line {l1=0x30, l2=»;                              I               I«, l3=0x30}
0x5ff…63f Line {l1=0x3e, l2=»;-------------------------------------------------------------«, l3=0x3e}
0x63f…671 Line {l1=0x30, l2=»; STACK CONTENTS ON EXIT:      I               I«, l3=0x30}
0x671…6a3 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x6a3…6d5 Line {l1=0x30, l2=»;                              I TRUE / FALSE  I«, l3=0x30}
0x6d5…707 Line {l1=0x30, l2=»;                              I---------------I«, l3=0x30}
0x707…739 Line {l1=0x30, l2=»;                              I               I«, l3=0x30}
0x739…779 Line {l1=0x3e, l2=»;=============================================================«, l3=0x3e}
0x779…77c Line {l1=0x01, l2=» «, l3=0x01}
0x77c…789 Line {l1=0x0b, l2=»       SKIP«, l3=0x0b}
0x789…796 Line {l1=0x0b, l2=»       SYMB«, l3=0x0b}
0x796…799 Line {l1=0x01, l2=» «, l3=0x01}
0x799…7a3 Line {l1=0x08, l2=»WAITNG::«, l3=0x08}
0x7a3…7a6 Line {l1=0x01, l2=» «, l3=0x01}
0x7a6…7a9 Line {l1=0x01, l2=»;«, l3=0x01}
0x7a9…7bd Line {l1=0x12, l2=»;CLEAN UP ON STACK«, l3=0x12}
0x7bd…7c0 Line {l1=0x01, l2=»;«, l3=0x01}
0x7c0…7ec Line {l1=0x2a, l2=»       POP     B       ;BC:=RETURN ADDRESS«, l3=0x2a}
0x7ec…80c Line {l1=0x1e, l2=»       POP     D       ;REMOVE«, l3=0x1e}
0x80c…82d Line {l1=0x1f, l2=»       POP     D       ;  DUMMY«, l3=0x1f}
0x82d…852 Line {l1=0x23, l2=»       POP     D       ;    ELEMENT«, l3=0x23}
0x852…87c Line {l1=0x28, l2=»       POP     D       ;      FROM STACK«, l3=0x28}
0x87c…87f Line {l1=0x01, l2=» «, l3=0x01}
0x87f…882 Line {l1=0x01, l2=»;«, l3=0x01}
0x882…8a6 Line {l1=0x22, l2=»;GET VALUE FIELD OF MAIN SEMAPHORE«, l3=0x22}
0x8a6…8a9 Line {l1=0x01, l2=»;«, l3=0x01}
0x8a9…8dd Line {l1=0x32, l2=»       LHLD    RUNN    ;HL->PCB OF CALLING PROCESS«, l3=0x32}
0x8dd…8f5 Line {l1=0x16, l2=»       LXI     D,KOSEM«, l3=0x16}
0x8f5…92c Line {l1=0x35, l2=»       DAD     D       ;HL->ADDRESS OF MAIN SEMAPHORE«, l3=0x35}
0x92c…94a Line {l1=0x1c, l2=»       MOV     E,M     ;DE->«, l3=0x1c}
0x94a…96c Line {l1=0x20, l2=»       INX     H       ;    MAIN«, l3=0x20}
0x96c…996 Line {l1=0x28, l2=»       MOV     D,M     ;       SEMAPHORE«, l3=0x28}
0x996…9cb Line {l1=0x33, l2=»       LDAX    D       ;A:=VALUE FIELD OF SEMAPHORE«, l3=0x33}
0x9cb…9f8 Line {l1=0x2b, l2=»       CPI     1       ;ANY MESSAGE WAITING«, l3=0x2b}
0x9f8…a15 Line {l1=0x1b, l2=»       JZ      OK      ;YES«, l3=0x1b}
0xa15…a18 Line {l1=0x01, l2=» «, l3=0x01}
0xa18…a1b Line {l1=0x01, l2=»;«, l3=0x01}
0xa1b…a45 Line {l1=0x28, l2=»;NO MESSAGE WAITING, RETURN VALUE:=FALSE«, l3=0x28}
0xa45…a48 Line {l1=0x01, l2=»;«, l3=0x01}
0xa48…a6b Line {l1=0x21, l2=»       LXI     D,0     ;DE:=FALSE«, l3=0x21}
0xa6b…a97 Line {l1=0x2a, l2=»       PUSH    D       ;STACK RETURN VALUE«, l3=0x2a}
0xa97…ac7 Line {l1=0x2e, l2=»       PUSH    B       ;RESTORE RETURN ADDRESS«, l3=0x2e}
0xac7…ad3 Line {l1=0x0a, l2=»       RET«, l3=0x0a}
0xad3…ad6 Line {l1=0x01, l2=» «, l3=0x01}
0xad6…ad9 Line {l1=0x01, l2=»;«, l3=0x01}
0xad9…aff Line {l1=0x24, l2=»;MESSAGE WAITING, RETURN VALUE:=TRUE«, l3=0x24}
0xaff…b02 Line {l1=0x01, l2=»;«, l3=0x01}
0xb02…b24 Line {l1=0x20, l2=»OK:    LXI     D,1     ;DE:=TRUE«, l3=0x20}
0xb24…b50 Line {l1=0x2a, l2=»       PUSH    D       ;STACK RETURN VALUE«, l3=0x2a}
0xb50…b80 Line {l1=0x2e, l2=»       PUSH    B       ;RESTORE RETURN ADDRESS«, l3=0x2e}
0xb80…b8c Line {l1=0x0a, l2=»       RET«, l3=0x0a}
0xb8c…b8f Line {l1=0x01, l2=» «, l3=0x01}
0xb8f…b9b Line {l1=0x0a, l2=»       END«, l3=0x0a}
0xb9b…ba0 00 00 63 63 63                                                                                    ┆  ccc┆
0xba0…bc0 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┆
          […0x11…]

TextFile

>;*************************************************************>>;*         PASCAL STANDARD ASSEMBLER PACKAGE.                *>>;*                                                           *>>;* (C) 1980 DANSK DATA ELEKTRONIK APS.                       *>>;*************************************************************>▶01◀;▶01◀>;*************************************************************>>;* FUNCTION NAME:       WAITNG                               *>>;*************************************************************>▶01◀;▶01◀▶10◀; CT 07-MAY-1980▶10◀▶01◀;▶01◀>;=============================================================>▶0e◀; DESCRIPTION:▶0e◀;; THIS FUNCTIONS TESTS IF THERE ARE ANY MESSAGES WAITING ON;,; THE MAIN SEMAPHORE OF THE CALLING PROCESS.,>; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL>▶1a◀; SECTION 4.3 FOR DETAILS.▶1a◀▶01◀;▶01◀>;------------------------------------------------------------->0; STACK CONTENTS ON ENTRY:     I               I00;                              I---------------I00;                              I  RETURN ADR.  I00;                              I---------------I00;                              I DUMMY ELEMENT I00;                              I---------------I00;                              I DUMMY ELEMENT I00;                              I---------------I00;                              I DUMMY ELEMENT I00;                              I---------------I00;                              I DUMMY ELEMENT I00;                              I---------------I00;                              I               I0>;------------------------------------------------------------->0; STACK CONTENTS ON EXIT:      I               I00;                              I---------------I00;                              I TRUE / FALSE  I00;                              I---------------I00;                              I               I0>;=============================================================>▶01◀ ▶01◀▶0b◀       SKIP▶0b◀▶0b◀       SYMB▶0b◀▶01◀ ▶01◀▶08◀WAITNG::▶08◀▶01◀ ▶01◀▶01◀;▶01◀▶12◀;CLEAN UP ON STACK▶12◀▶01◀;▶01◀*       POP     B       ;BC:=RETURN ADDRESS*▶1e◀       POP     D       ;REMOVE▶1e◀▶1f◀       POP     D       ;  DUMMY▶1f◀#       POP     D       ;    ELEMENT#(       POP     D       ;      FROM STACK(▶01◀ ▶01◀▶01◀;▶01◀";GET VALUE FIELD OF MAIN SEMAPHORE"▶01◀;▶01◀2       LHLD    RUNN    ;HL->PCB OF CALLING PROCESS2▶16◀       LXI     D,KOSEM▶16◀5       DAD     D       ;HL->ADDRESS OF MAIN SEMAPHORE5▶1c◀       MOV     E,M     ;DE->▶1c◀        INX     H       ;    MAIN (       MOV     D,M     ;       SEMAPHORE(3       LDAX    D       ;A:=VALUE FIELD OF SEMAPHORE3+       CPI     1       ;ANY MESSAGE WAITING+▶1b◀       JZ      OK      ;YES▶1b◀▶01◀ ▶01◀▶01◀;▶01◀(;NO MESSAGE WAITING, RETURN VALUE:=FALSE(▶01◀;▶01◀!       LXI     D,0     ;DE:=FALSE!*       PUSH    D       ;STACK RETURN VALUE*.       PUSH    B       ;RESTORE RETURN ADDRESS.
       RET
▶01◀ ▶01◀▶01◀;▶01◀$;MESSAGE WAITING, RETURN VALUE:=TRUE$▶01◀;▶01◀ OK:    LXI     D,1     ;DE:=TRUE *       PUSH    D       ;STACK RETURN VALUE*.       PUSH    B       ;RESTORE RETURN ADDRESS.
       RET
▶01◀ ▶01◀
       END
▶00◀▶00◀ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

Reduced view