mirror of
https://github.com/PDP-10/stacken.git
synced 2026-03-01 01:19:17 +00:00
82 lines
1.7 KiB
Plaintext
82 lines
1.7 KiB
Plaintext
UNIVER PRS
|
||
SUBTTL GENERAL DEFINITIONS
|
||
PASS2
|
||
|
||
;AC NAMING AND USAGE CONVENTIONS:
|
||
;NO ROUTINE IS EXPECTED TO PRESERVE T1-T4.
|
||
;THEY ARE INTENDED AS TEMPORARY SCRATCH SPACE ONLY.
|
||
;T1-T4 ARE GUARANTEED TO BE CONSECUTIVE AC'S IN THAT ORDER.
|
||
;ALL ROUTINES ARE EXPECTED TO PRESERVE P1-P4.
|
||
;P1-P4 ARE GUARANTEED TO BE CONSECUTIVE AC'S IN THAT ORDER.
|
||
;C CONTAINS THE NEXT CHARACTER FOR I/O.
|
||
;ROUTINES THAT PARSE INPUT WILL LEAVE C WITH THE FIRST
|
||
;CHARACTER FOR THE NEXT ROUTINE.
|
||
;P IS THE STACK POINTER.
|
||
T1=1 ;TEMPS
|
||
T2=T1+1
|
||
T3=T2+1
|
||
T4=T3+1
|
||
P1=5 ;PRESERVED AC'S
|
||
P2=P1+1
|
||
P3=P2+1
|
||
P4=P3+1
|
||
C=11 ;CHAR
|
||
P=17 ;PDL
|
||
|
||
;ASSEMBLY PARAMETERS
|
||
IFNDEF SFDS,<SFDS==5> ;NUMBER OF SFDS TO SUPPORT
|
||
IFNDEF FOOSIZ,<FOOSIZ==25> ;SIZE SCR SPACE
|
||
|
||
;OP-CODES
|
||
OPDEF PJRST[JRST] ;POPPING JRST
|
||
SUBTTL FORMAT OF FILE SPC BLOCK
|
||
PHASE 0
|
||
.SBSIZ:! ;LH=SIZE OF BLK (INCLUSIVE)
|
||
.SBNXT:! BLOCK 1 ;RH=ADR NEXT BLK OR 0
|
||
.SBDEV:! BLOCK 1 ;DEVICE
|
||
.SMDEV:! BLOCK 1 ;DEVICE MASK
|
||
.SBPPN:! BLOCK SFDS+1 ;PPN&SFDS
|
||
IFN SFDS,<BLOCK 1> ;ZERO
|
||
.SMPPN:! BLOCK SFDS+1 ;PPN&SFDS MASKS
|
||
.SBNAM:! BLOCK 1 ;FILENAME
|
||
.SMNAM:! BLOCK 1 ;FILENAME MASK
|
||
.SBEXT:! ;LH=EXTENSION
|
||
.SMEXT:! BLOCK 1 ;RH=EXTENSION MASK
|
||
.SBMOD:! BLOCK 1 ;MODE
|
||
;PUT NEW WORDS ABOVE HERE
|
||
SPCSIZ:! ;SIZE OF A SPC BLK
|
||
DEPHAS
|
||
SUBTTL ERROR MESSAGES
|
||
|
||
ER.EAT==1B0 ;EAT TYPE AHEAD
|
||
|
||
DEFINE VB(AA,BB,CC,DD),<
|
||
AA+BB
|
||
SIXBIT /CC/
|
||
ASCIZ /DD/
|
||
>
|
||
|
||
DEFINE VRB(AA,BB,CC,DD),<
|
||
MOVEI T1,[VB AA,BB,CC,<DD>]
|
||
>
|
||
|
||
DEFINE VERB(AA,BB,CC,DD),<
|
||
VRB AA,BB,CC,<DD>
|
||
PUSHJ P,VERBO##
|
||
>
|
||
|
||
DEFINE ERR(AA,BB,CC,DD),<
|
||
VRB AA,BB,CC,<DD>
|
||
JRST VERBO##
|
||
>
|
||
|
||
DEFINE WARN(CC,DD),<
|
||
PUSHJ P,[ERR 0,"%",CC,<DD>]
|
||
|
||
>
|
||
|
||
DEFINE FATAL(CC,DD),<
|
||
JRST [ERR ER.EAT,"?",CC,<DD>]
|
||
>
|
||
|
||
END
|