File TASK.MA (MACREL macro assembler source file)

Directory of image this file is from
This file as a plain text file

/.TASK DIRECTIVE AS A MACRO
/
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1977 BY DIGITAL EQUIPMENT CORPORATION
/
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
/
/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/
/
/
/
/
/
/

/.TASK DIRECTIVE AS A MACRO-V1A /WHERE TSKNUM IS TASK NUMBER (DEFAULT "TASK") / STRTAD IS TASK STARTING ADDRESS (DEFAULT "START" OR ".") / STATUS IS TASK FLAGS (DEFAULT "INIWT" OR 0) / VERSON IS TASK VERSION (DEFAULT "VER" OR 0) / AC IS TASK AC (DEFAULT 0) / MESS1 IS MESSAGE TABLE ENTRY 1 (DEFAULT 0) / MESS2 IS MESSAGE TABLE ENTRY 2 (DEFAULT 0) .MACRO .TASK TSKNUM,STRTAD,STATUS,VERSON,AC,MESS1,MESS2 .IF NB TSKNUM <..TASK=TSKNUM> //USES SYMBOLS: .IF BL TSKNUM <..TASK=TASK> //..TASK=CURRENT TASK NUMBER $TASK=. //$TASK=CURRENT ADDRESS .IF ABS $TASK <$$TASK=.FLD> //$$TASK=CURRENT FIELD .DSECT TSTABX //SET UP TASK STATE TABLE *..TASK-1^4 //ORIGIN IN //SET $TASK TO STARTING //ADDRESS IF NOT "." .IF NB STRTAD <$TASK=STRTAD> .IF BL STRTAD < IFDEF START <$TASK=START> > //DO STARTING FIELD .IF ABS $TASK <$$TASK%10+$$TASK> .IF REL $TASK < <EDF $TASK>%10+<EDF $TASK> > $TASK //DO STARTING ADDRESS //DO ACC .IF NB AC <AC> .IF BL AC <0> //DO MQ .IF NB VERSON <VERSON> .IF BL VERSON < IFDEF VER <VER> IFNDEF VER <0> > .SECT * //RESTORE OLD SECT .DSECT TFTABX //SET UP TASK FLAGS TABLE *..TASK-1 //ORIGIN INTO IT .IF NB STATUS <STATUS> .IF BL STATUS < IFDEF INIWT <INIWT> IFNDEF INIWT <0> > .SECT * //RESTORE OLD SECT .DSECT MSGTBX //SET UP MESSAGE TABLE *..TASK-1^2 //ORIGIN INTO TABLE .IF NB MESS1 <MESS1> .IF BL MESS1 <0> .IF NB MESS2 <MESS2> .IF BL MESS2 <0> .SECT * //RESTORE OLD SECT .ENDM .TASK //DONE



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search