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

⟦5ff3cb265⟧ TextFile

    Length: 2528 (0x9e0)
    Types: TextFile
    Notes: Mikados_K
    Names: »SETPR.K«

Derivation

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

Mikados K File

;*************************************************************
;*         PASCAL STANDARD ASSEMBLER PACKAGE.                *
;*                                                           *
;* (C) 1980 DANSK DATA ELEKTRONIK APS.                       *
;*************************************************************
;
;*************************************************************
;* PROCEDURE NAME:      SETPR                                *
;*************************************************************
;
; CT 07-MAY-1980
;
;=============================================================
; DESCRIPTION:
; THIS PROCEDURE IS USED TO CHANGE THE PRIORITY OF THE CALLING
; PROCESS.
; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL
; SECTION 5.1 FOR DETAILS.
;
;-------------------------------------------------------------
; STACK CONTENTS ON ENTRY:     I               I
;                              I---------------I
;                              I RETURN ADR.   I
;                              I---------------I
;                              I NEW PRIORITY  I
;                              I---------------I
;                              I               I
;-------------------------------------------------------------
; STACK CONTENTS ON EXIT:      EMPTY
;=============================================================
 
       SKIP
       SYMB
 
SETPR::
 
;
;DETERMINE ADDRESS OF PRIORITY FIELD IN PCB
;
       LHLD    RUNN    ;HL->PCB
       LXI     B,PRIO
       DAD     B       ;HL->PCB.PRIO
       XCHG            ;DE->PCB.PRIO
 
;
;GET PARAMETER FROM PASCAL PROCEDURE CALL
;
       POP     H       ;HL=RET.ADRESS
       XTHL            ;HL=NEW PRIORITY
       MOV     A,L     ;A=NEW PRIORITY
 
;
;TEST VALIDITY OF PRIORITY
;
       CPI     MINPR   ;A<MINPR?
       RC              ;YES, RETURN
       CPI     MAXPR   ;A>=MAXPR?
       RNC             ;YES, RETURN
 
;
;STORE NEW PRIORITY IN PRIORITY FIELD
;
       STAX    D       ;PCB.PRIO=NEW PRIORITY
       RET
 
       END

TextFile

>;*************************************************************>>;*         PASCAL STANDARD ASSEMBLER PACKAGE.                *>>;*                                                           *>>;* (C) 1980 DANSK DATA ELEKTRONIK APS.                       *>>;*************************************************************>▶01◀;▶01◀>;*************************************************************>>;* PROCEDURE NAME:      SETPR                                *>>;*************************************************************>▶01◀;▶01◀▶10◀; CT 07-MAY-1980▶10◀▶01◀;▶01◀>;=============================================================>▶0e◀; DESCRIPTION:▶0e◀>; THIS PROCEDURE IS USED TO CHANGE THE PRIORITY OF THE CALLING>
; PROCESS.
>; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL>▶1a◀; SECTION 5.1 FOR DETAILS.▶1a◀▶01◀;▶01◀>;------------------------------------------------------------->0; STACK CONTENTS ON ENTRY:     I               I00;                              I---------------I00;                              I RETURN ADR.   I00;                              I---------------I00;                              I NEW PRIORITY  I00;                              I---------------I00;                              I               I0>;------------------------------------------------------------->$; STACK CONTENTS ON EXIT:      EMPTY$>;=============================================================>▶01◀ ▶01◀▶0b◀       SKIP▶0b◀▶0b◀       SYMB▶0b◀▶01◀ ▶01◀▶07◀SETPR::▶07◀▶01◀ ▶01◀▶01◀;▶01◀+;DETERMINE ADDRESS OF PRIORITY FIELD IN PCB+▶01◀;▶01◀▶1f◀       LHLD    RUNN    ;HL->PCB▶1f◀▶15◀       LXI     B,PRIO▶15◀$       DAD     B       ;HL->PCB.PRIO$$       XCHG            ;DE->PCB.PRIO$▶01◀ ▶01◀▶01◀;▶01◀);GET PARAMETER FROM PASCAL PROCEDURE CALL)▶01◀;▶01◀%       POP     H       ;HL=RET.ADRESS%'       XTHL            ;HL=NEW PRIORITY'&       MOV     A,L     ;A=NEW PRIORITY&▶01◀ ▶01◀▶01◀;▶01◀▶1a◀;TEST VALIDITY OF PRIORITY▶1a◀▶01◀;▶01◀        CPI     MINPR   ;A<MINPR? #       RC              ;YES, RETURN#!       CPI     MAXPR   ;A>=MAXPR?!#       RNC             ;YES, RETURN#▶01◀ ▶01◀▶01◀;▶01◀%;STORE NEW PRIORITY IN PRIORITY FIELD%▶01◀;▶01◀-       STAX    D       ;PCB.PRIO=NEW PRIORITY-
       RET
▶01◀ ▶01◀
       END
▶00◀▶00◀ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

Full view