|
|
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: 2528 (0x9e0)
Types: TextFile
Notes: Mikados_K
Names: »SETPR.K«
└─⟦33b8385fd⟧ Bits:30009009 PSAP1
└─⟦this⟧ »SETPR.K«
;*************************************************************
;* 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
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: SETPR *«, 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…2ab Line {l1=0x3e, l2=»; THIS PROCEDURE IS USED TO CHANGE THE PRIORITY OF THE CALLING«, l3=0x3e}
0x2ab…2b7 Line {l1=0x0a, l2=»; PROCESS.«, l3=0x0a}
0x2b7…2f7 Line {l1=0x3e, l2=»; PLEASE REFER TO THE PASCAL STANDARD ASSEMBLER PACKAGE MANUAL«, l3=0x3e}
0x2f7…313 Line {l1=0x1a, l2=»; SECTION 5.1 FOR DETAILS.«, l3=0x1a}
0x313…316 Line {l1=0x01, l2=»;«, l3=0x01}
0x316…356 Line {l1=0x3e, l2=»;-------------------------------------------------------------«, l3=0x3e}
0x356…388 Line {l1=0x30, l2=»; STACK CONTENTS ON ENTRY: I I«, l3=0x30}
0x388…3ba Line {l1=0x30, l2=»; I---------------I«, l3=0x30}
0x3ba…3ec Line {l1=0x30, l2=»; I RETURN ADR. I«, l3=0x30}
0x3ec…41e Line {l1=0x30, l2=»; I---------------I«, l3=0x30}
0x41e…450 Line {l1=0x30, l2=»; I NEW PRIORITY I«, l3=0x30}
0x450…482 Line {l1=0x30, l2=»; I---------------I«, l3=0x30}
0x482…4b4 Line {l1=0x30, l2=»; I I«, l3=0x30}
0x4b4…4f4 Line {l1=0x3e, l2=»;-------------------------------------------------------------«, l3=0x3e}
0x4f4…51a Line {l1=0x24, l2=»; STACK CONTENTS ON EXIT: EMPTY«, l3=0x24}
0x51a…55a Line {l1=0x3e, l2=»;=============================================================«, l3=0x3e}
0x55a…55d Line {l1=0x01, l2=» «, l3=0x01}
0x55d…56a Line {l1=0x0b, l2=» SKIP«, l3=0x0b}
0x56a…577 Line {l1=0x0b, l2=» SYMB«, l3=0x0b}
0x577…57a Line {l1=0x01, l2=» «, l3=0x01}
0x57a…583 Line {l1=0x07, l2=»SETPR::«, l3=0x07}
0x583…586 Line {l1=0x01, l2=» «, l3=0x01}
0x586…589 Line {l1=0x01, l2=»;«, l3=0x01}
0x589…5b6 Line {l1=0x2b, l2=»;DETERMINE ADDRESS OF PRIORITY FIELD IN PCB«, l3=0x2b}
0x5b6…5b9 Line {l1=0x01, l2=»;«, l3=0x01}
0x5b9…5da Line {l1=0x1f, l2=» LHLD RUNN ;HL->PCB«, l3=0x1f}
0x5da…5f1 Line {l1=0x15, l2=» LXI B,PRIO«, l3=0x15}
0x5f1…617 Line {l1=0x24, l2=» DAD B ;HL->PCB.PRIO«, l3=0x24}
0x617…63d Line {l1=0x24, l2=» XCHG ;DE->PCB.PRIO«, l3=0x24}
0x63d…640 Line {l1=0x01, l2=» «, l3=0x01}
0x640…643 Line {l1=0x01, l2=»;«, l3=0x01}
0x643…66e Line {l1=0x29, l2=»;GET PARAMETER FROM PASCAL PROCEDURE CALL«, l3=0x29}
0x66e…671 Line {l1=0x01, l2=»;«, l3=0x01}
0x671…698 Line {l1=0x25, l2=» POP H ;HL=RET.ADRESS«, l3=0x25}
0x698…6c1 Line {l1=0x27, l2=» XTHL ;HL=NEW PRIORITY«, l3=0x27}
0x6c1…6e9 Line {l1=0x26, l2=» MOV A,L ;A=NEW PRIORITY«, l3=0x26}
0x6e9…6ec Line {l1=0x01, l2=» «, l3=0x01}
0x6ec…6ef Line {l1=0x01, l2=»;«, l3=0x01}
0x6ef…70b Line {l1=0x1a, l2=»;TEST VALIDITY OF PRIORITY«, l3=0x1a}
0x70b…70e Line {l1=0x01, l2=»;«, l3=0x01}
0x70e…730 Line {l1=0x20, l2=» CPI MINPR ;A<MINPR?«, l3=0x20}
0x730…755 Line {l1=0x23, l2=» RC ;YES, RETURN«, l3=0x23}
0x755…778 Line {l1=0x21, l2=» CPI MAXPR ;A>=MAXPR?«, l3=0x21}
0x778…79d Line {l1=0x23, l2=» RNC ;YES, RETURN«, l3=0x23}
0x79d…7a0 Line {l1=0x01, l2=» «, l3=0x01}
0x7a0…7a3 Line {l1=0x01, l2=»;«, l3=0x01}
0x7a3…7ca Line {l1=0x25, l2=»;STORE NEW PRIORITY IN PRIORITY FIELD«, l3=0x25}
0x7ca…7cd Line {l1=0x01, l2=»;«, l3=0x01}
0x7cd…7fc Line {l1=0x2d, l2=» STAX D ;PCB.PRIO=NEW PRIORITY«, l3=0x2d}
0x7fc…808 Line {l1=0x0a, l2=» RET«, l3=0x0a}
0x808…80b Line {l1=0x01, l2=» «, l3=0x01}
0x80b…817 Line {l1=0x0a, l2=» END«, l3=0x0a}
0x817…820 00 00 63 63 63 63 63 63 63 ┆ ccccccc┆
0x820…840 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┆
[…0xd…]
>;*************************************************************>>;* 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