>;*************************************************************>>;*         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.;>;------------------------------------------------------------->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$>;=============================================================>        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
  ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc