|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 27100 (0x69dc)
Notes: pts_type(UF)
Names: »SYSMAC.UF«
└─⟦f45ea3bc3⟧ Bits:30009713 Philips computer tape "WSM"
└─⟦this⟧ »WSM:PROC/SYSMAC.UF«
IDENT SYSMAC
MACRO EQU
$ MACRO EQU;
EJECT
****************************************
** NOTE THAT THIS SYSMAC IS ONLY FOR: **
** WSM CREATOR AND UTILITIES **
** **
** LATEST UPDATING: 1985-09-01 BY:CJ **
****************************************
EJECT
**
** WSM FUNCTION CODES
**
WOPEN EQU /0000
WATTCH EQU /0100
WRCIVE EQU /0200
*UNPCK EQU -
WMSG EQU /0300
WSEND EQU /0400
WPRINT EQU /0500
WCLOSE EQU /0600
WSAVE EQU /0700
WDLETE EQU /0800
WFATTR EQU /0900
WCODE EQU /0A00
WFID EQU /0B00
EJECT
**
** WSM SYSTEM PARAMETERS
**
TFP EQU 1 CONDITIONAL ASSEMBLY FOR TFP PACKAGE
CPU EQU 857
POLSIZ EQU 248 SIZE OF POOL UNITS IN THE POOL
POLDIS EQU 6 USER DISPLACEMENT IN POOL-UNITS
PADLEN EQU 12 LENGTS OF POOL-ADM-DATA
FIDSIZ EQU 4 SIZE OF FIELD IDENTITY
** SCRSIZ & EKOCHR MOVED 1981-09-07 TO W:INIT **
**
** OPTIONAL DEVICES
**
PRTDEV EQU 12 =12 IF PRINT DEVICE IN SYSTEM, ELSE =0
INPDEV EQU 0 =12 IF OTHER INPUT DEVICE THAN KEYBOARD ...
... IN SYSTEM, ELSE =0
**
** BUFFER SIZES
**
** MOVED 1981-08-04 TO W:INIT **
EJECT
**
** DISPLACEMENTS IN ECB
**
ECB:FC EQU 0
ECB:BA EQU 2
ECB:RL EQU 4
ECB:EL EQU 6
ECB:RC EQU 8
ECB:CW EQU 10
EJECT
**
** ORDERS TO THE POOL & FILE HANDLER
**
PF:RD EQU /01 READ
PF:GET EQU /02 GET
PF:SCH EQU /04 SEARCH
PF:WRT EQU /05 WRITE
PF:CLO EQU /08 CLO
PF:OFR EQU /10 LOCK
PF:RLS EQU /20 RELEASE
PF:DLT EQU /40 DELETE
PF:OPN EQU /80 OPEN
NEXT EQU /0100 NEXT
PREV EQU /0200 PREVIOUS
INDEX EQU /0400 BY INDEX
ALL EQU /0800 ALL ON LRU QUE
NOWAIT EQU /1000 USED FOR READ WITH NOWAIT
EJECT
**
** DISPLACEMENTS IN THE POOL & FILE HANDLER COM. AREA
**
PF:BF1 EQU 0 ADDRESS TO BUFFER 1
PF:BF2 EQU PF:BF1+2 ADDRESS TO BUFFER 2
PF:TYP EQU PF:BF2+3 TYPE OF DATA
PF:NAM EQU PF:TYP+1 IDENTIFICATION
**
** THIS PART OF THE COM. AREA IS THE ECB
**
PF:ECB EQU PF:NAM+6 START OF THE ECB
PF:FNR EQU PF:ECB+1 FILE NUMBER
PF:IOB EQU PF:FNR+1 ADDRESS TO THE I/O-BUFFER
PF:RLN EQU PF:IOB+2 REQUESTED LENGTH
PF:ELN EQU PF:RLN+2 EFFECTIVE LENGTH
PF:RET EQU PF:ELN+2 RETURN CODE
PF:CW1 EQU PF:RET+2 CONTROL WORD 1
PF:CW2 EQU PF:CW1+2 CONTROL WORD 2
**
** THIS PART OF THE COM. AREA IS FOR THE FPB
**
PF:FIL EQU PF:CW2+2 THE FILE NAME
PF:VOL EQU PF:FIL+8 THE VOLUME NAME
PF:RN1 EQU PF:VOL+6 RECNO 1
PF:RN2 EQU PF:RN1+2 RECNO 2
PF:END EQU PF:RN2+2
EJECT
**
** LAYOUT OF POOL-FREE-SPACE AREA
**
PP:CON EQU 0 NO OF FREE UNITS IN THIS AREA
PP:LEN EQU PP:CON+2 LENGTH OF THIS AREA
PP:NAM EQU PP:LEN+2 NAME OF THIS AREA
PP:BIT EQU PP:NAM+2 FREE-SPACE INDICATOR BITS
**
EJECT
**
** LAYOUT OF FREE-SPACE ON DISC
**
DS:TYP EQU 0 TYPE = "FS"
DS:LK1 EQU DS:TYP+2 LINK FORWARD 1
DS:LK2 EQU DS:LK1+2 - " - 2
DS:NUM EQU DS:LK2+2 NUMBER OF RECORDS
DS:NOF EQU DS:NUM+2 NUMBER OF FREE RECORDS
DS:FI1 EQU DS:NOF+2 FIRST REL.RECNO
DS:FI2 EQU DS:FI1+2 USED AS REC.BASE
DS:REL EQU DS:FI2+2 RELATIV FR.SP.REC.
DS:PTR EQU DS:REL+1 FREE-SPACE POINTERS
DS:RLN EQU 256 RECORD LENGTH
**
** POOL-ADMINSTRATION DATA
**
PA:TYP EQU 0 TYPE OF DATA IN THE UNIT
PA:IDE EQU PA:TYP+1 NAME OF DATA
PA:FIL EQU PA:IDE+6 FILE NUMBER
PA:NUM EQU PA:FIL+1 NUMBER OF USERS
PA:SEG EQU PA:NUM+1 SEGMENT NUMBER
PA:UNI EQU PA:SEG+1 POOL-UNIT
PA:LNK EQU PA:UNI+1 LINK TO NEXT
EJECT
**
** FILE-TABLE LAYOUT
**
PT:FIL EQU 0 FILENAME
PT:VOL EQU PT:FIL+8 VOLUME NAME
PT:FC EQU PT:VOL+6 FILE CODE
PT:CON EQU PT:FC+1 COMPULSURY COUNTER
PT:OC EQU PT:CON+1 OPEN/CLOSE BYTE
PT:ACT EQU PT:OC+1 ACTIVE COUNTER
PT:LEN EQU 18 LENGTH OF ONE ENTRY
PT:END EQU 72 LENGT OF FILE-TABLE
**
** ORDER-DATA LAYOUT
**
PO:ORD EQU 0 ORDER
PO:TYP EQU PO:ORD+2 TYPE + NAME
PO:FIL EQU PO:TYP+7 FILE TABLE NO. (0-3)
PO:LNK EQU PO:FIL+1 LINK TO NEXT ORDER
PO:LEN EQU 12 LENGTH OF ONE ORDER
PO:STA EQU 4 START OF ORDERS
PO:END EQU 256 LENGTH OF ORDER-TABLE
PO:RDY EQU /8000 ORDER EXECUTED
PO:DLY EQU 1 DELAY TIME
EJECT
**
** KEYBOARD ECB AND PARAMETER BLOCK FOR ADVANCED READ
**
KB:CW2 EQU ECB:CW+2
KB:PBL EQU KB:CW2+2 PARAMETER BLOCK LENGTH
KB:EKO EQU KB:PBL+1 ECHO CHARACTER (/00 => ORDINARY ECHO)
KB:PW EQU KB:EKO+1 PARAMETER WORD
KB:CUR EQU KB:PW+2 CURSOR POSITION WORD
KB:SHB EQU KB:CUR+2 SHIFT BUFFER BYTE
KB:CND EQU KB:SHB+1 CURRENT # DECIMALS
KB:PL EQU KB:CND+1 PICTURE LENGTH
KB:CNI EQU KB:PL+1 CURRENT # INTEGERS OR CHARACTERS
KB:IL EQU KB:CNI+1 INPUT LENGTH
KB:POS EQU KB:IL+1 POSITION IN FIELD
KB:PNT EQU KB:POS+1 DECIMAL POINT STATUS WORD
KB:MNI EQU KB:PNT+2 MAX # INTEGERS
KB:MND EQU KB:MNI+1 MAX # DECIMALS
KB:END EQU KB:MND+1
EJECT
**
** WS:TCA
** WSM TASK CONTROL AREA
**
TC:TID EQU 0 WSM TASK ID
TC:FC EQU TC:TID+2 PREVIOUS FUNCTION CODE
TC:SCR EQU TC:FC+1 BITS FOR WATTCH, WRCIVE ETC.:
BIT 0:
- DURING WRCIVE:
. = 1 IF INPUT BUFFER CHANGED BY DUPLICATION
. OR VALIDATION OR IF MINUS KEY USED
BIT 1:
- DURING WRCIVE:
. = 1 IF NEGATIVE INPUT
BIT 2:
- DURING WRCIVE:
. = 1 IF FIELDLIST FIELD NOT IN SECTION
BIT 3:
- DURING WRCIVE:
. = 1 IF PB BUFFER IS FULL
*******
BIT 4:
- DURING WRCIVE:
. = 1 IF VALIDATION AFTER ENTER KEY
BIT 5:
- DURING WATTCH:
. = 1 IF WANTED SECTION IS BEFORE ...
. ATTACHED SECTION IN SST
BIT 6 = 1 IF WATTCH WITHOUT DISPLAY
BIT 7 =1 IF WANTED PAGE IS ON SCREEN
EJECT
TC:MSC EQU TC:FC+2 MISCELLANEOUS:
BIT 0-1:
- NOT USED
*******
BIT 2:
- = 1 IF LOOP DETECTOR IS RUNNING
BIT 3:
- = 1 IF BASIC DEBUGGER IS ON
BIT 4:
- =1 IF WMSG ON HLP LINE (2 MSG LINES)
BIT 5:
- =1 IF WMSG ON ERROR LINE
BIT 6:
- =1 IF ERROR MSG ON ERROR LINE
BIT 7:
- =1 IF EXT.PROMPT , GUID. MSG,
. WMSG ON HLP LINE OR SEC/FUN.
BIT 8:
- = 1 IF ALL KEY USED
BIT 9:
- = 1 IF CORRECTION AFTER ERROR HANDLING
BIT 10:
- = 1 IF LKM BLOCKING ON CURRENT SUBSCREEN
. ( <=> CURSOR OFF )
BIT 11:
- = 1 IF BLACK BACKGROUND
*******
BIT 12:
- = 1 IF VD82/83 (8 SUBSCREENS,
. 1 SYSTEM LINE)
BIT 13:
- NOT USED
BIT 14:
- = 1 IF PD85 ETC (ONE-LINE DISPLAYS)
BIT 15:
- = 1 IF AUTO SKIP/DUP FLAG IS ON
EJECT
** INFORMATION ABOUT TWO MESSAGELINES: **
TC:MSG EQU TC:MSC+2 SEE W:MESS AND W:MESG IN W:INIT
** SUBSCREEN INFORMATION: **
TC:SZE EQU TC:MSG+2 SIZE OF SUBSCREEN 1
TC:SIZ EQU TC:SZE+2 CURRENT SCREEN/SUBSCREEN SIZE
TC:SUS EQU TC:SIZ+2 CURRENT SUBSCREEN NO.
TC:LIN EQU TC:SUS+2 1:ST FREE LINE ON CURR. SCREEN/SUBSCREEN
... FOLLOWED BY 1:ST FREE LINE OF
... 9 SUBSCREENS
TC:FRD EQU TC:LIN+11 DISPL. TO BE ADDED TO 1:ST FREE LINE
... WHEN HAVING SECTIONS ON MSG LINE ON OTHER
... DISPLAYS THAN VD82 (RIGHT BYTE REQ.)
** CURRENT FORMAT DEF INFORMATION: **
TC:FDC EQU TC:FRD+1 ADDR. TO FORMAT DEFINITION CODE
** SST INFORMATION: **
TC:SST EQU TC:FDC+2 0. ADDR. TO 1:ST BYTE AFTER SST
2. " " CURRENT SECTION IN SST
4. " " LAST SECTION IN SST
6. LARGEST SECTION SEQUENCE NUMBER IN USE
8. SST ADDR. OF SECTION ON MSG LINE
EJECT
** CURRENT SECTION INFORMATION: **
TC:FSC EQU TC:SST+10 ADDR. TO FORMAT SECTION CODE
TC:CFC EQU TC:FSC+2 " " CURRENT DYN. FIELD CODE
" " " " " " (REL)
TC:DFD EQU TC:CFC+4 " " 1:ST BYTE IN DFD
TC:CFD EQU TC:DFD+2 ADDR. TO CURRENT DYN. FIELD DATA
TC:CFX EQU TC:CFD+2 INDEX OF CURRENT DYN. FIELD
TC:KY1 EQU TC:CFX+2 ADDRESS TO KEYTABLE 1.
TC:KTV EQU TC:KY1+2 ADDRESS TO BITMASK FOR KEYCHECKS
TC:CN1 EQU TC:KTV+2 LOOP COUNTER - SECTION LEVEL
TC:CN2 EQU TC:CN1+2 LOOP COUNTER - FIELD LEVEL
EJECT
** WWI:S, ECB:S, BUFFER:S AND STACK: **
TC:IIE EQU TC:CN2+2 ADDR TO 1ST BYTE AFTER INPUT BUFFER
TC:WWI EQU TC:IIE+2 ADDR. TO WWI:S, EQUAL TO ...
TC:IOE EQU TC:WWI ADDR TO 1ST BYTE AFTER OUTPUT BUFFER
TC:STK EQU TC:IOE+2 ADDR TO THE STACK, WS:STK
TC:PFB EQU TC:STK+2 POOL & FILE HANDLER COM. AREA ...
TC:FIL EQU TC:PFB+PF:ECB ... INCLUDING DISC FILE PARAMETERS
TC:IC EQU TC:PFB+PF:END INTERTASK COM. ECB
TC:KB EQU TC:IC+14 KEYBOARD ECB
TC:EKO EQU TC:KB+KB:END ECHO DEVICE ECB
TC:PRT EQU TC:EKO+PRTDEV PRINT DEVICE ECB
TC:INP EQU TC:PRT+INPDEV OTHER INPUT DEVICE ECB
EJECT
**
** WSM PARAMETER BLOCK
**
PB:FC EQU TC:INP+12 WSM FUNCTION CODE
PB:FOR EQU PB:FC+2 CURRENT FORMAT DEFINITION NAME
PB:SEC EQU PB:FOR+6 CURRENT FORMAT SECTION NAME
PB:SSN EQU PB:SEC+6 CURRENT SECTION SEQUENCE NUMBER
PB:SUS EQU PB:SSN+2 CURRENT SUBSCREEN
PB:INP EQU PB:SUS+1 INPUT ALLOWED, =0 IF YES, =1 IF NO
PB:FID EQU PB:INP+1 CURRENT FIELD IDENTITY
PB:FNO EQU PB:FID+4 FIELD NUMBER
PB:RC EQU PB:FNO+2 RETURN CODE
PB:KID EQU PB:RC+2 KEY ID 1 & 2
PB:XIT EQU PB:KID+4 EXIT ROUTINE NUMBER
PB:EBL EQU PB:XIT+2 EFFECTIVE LENGTH OF BUFFER CONTENTS
PB:MBL EQU PB:EBL+4 MAXIMUM LENGTH OF BUFFER CONTENTS
PB:BLO EQU PB:MBL+2 TYPE OF BUFFER LAYOUT
PB:PRFC EQU PB:BLO+1 PRINTER DEVICE FILE CODE
PB:BUF EQU PB:PRFC+1 PARAMETER BLOCK BUFFER
EJECT
**
** DISPLACEMENTS IN SECTION SEQUENCE TABLE ELEMENTS
**
* 0 SECTION DFD ADDRESS
SS:DFD EQU 2 SECTION DFD SIZE
SS:SCR EQU SS:DFD+2 SECTION ON SCREEN INDICATION
SS:TYP EQU SS:SCR+1 SECTION TYPE
SS:SS EQU SS:SCR+2 SUBSCREEN & SECTION SEQUENCE NO.
SS:LIN EQU SS:SS+2 (SUB-)SCREEN START LINE & NO. OF LINES
1:ST & LAST+1 LINE SHOWN
SS:CFX EQU SS:LIN+4 CURRENT DYNAMIC FIELD INDEX
SS:SEC EQU SS:CFX+2 SECTION NAME
SS:LEN EQU SS:SEC+6 LENGTH OF SST ELEMENT
**
** DISPLACEMENTS IN WSM WORK ITEMS OVERHEAD
**
WWI:NF EQU 0 NO OF FAST CHOISE SECTION WWI:S
WWI:LF EQU WWI:NF+1 LENGTH OF ONE FAST CHOISE SECT WWI
WWI:NN EQU WWI:LF+1 NO OF NUMERIC WWI:S
WWI:LN EQU WWI:NN+1 LENGTH OF ONE NUMERIC WWI
WWI:AN EQU WWI:LN+1 ADDRESS TO FIRST NUMERIC WWI
WWI:NA EQU WWI:AN+2 NO OF ALPHANUMERIC WWI:S
WWI:LA EQU WWI:NA+1 LENGTH OF ONE ALPHANUMERIC WWI
WWI:AA EQU WWI:LA+1 ADDRESS TO FIRST ALPHANUMERIC WWI
WWI:LO EQU WWI:AA+2 LENGTH OF WWI OVERHEAD
EJECT
**
** FORMAT DEFINITION CODE
**
FD:FOR EQU 0 FORMAT DEFINITION NAME
FD:ISN EQU FD:FOR+6 INTIAL SECTION NAME
FD:DSK EQU FD:ISN+6 # DISC SECTORS (BITS 0-7)
FD:FCS EQU FD:DSK+4 LIST OF FAST CHOICE SECTION NAMES
EJECT
**
** FORMAT SECTION CODE
**
** SECTION TYPES
RWS EQU 1 REMOVABLE WITH SCROLLING
RWP EQU 2 REMOVABLE WITH PAGING
FIX EQU 4 FIXED
FOB EQU RWS FIXED ON BOTTOM LINES OF SCREEN
FONP EQU RWP FIXED ON TOP OF NEW PAGE
TEMP EQU 8 TEMPORARY
SECMSK EQU /F MASK ISOLATING TYPE BITS
** SECTION OVERHEAD
SO:SEC EQU 0 SECTION NAME
SO:PSW EQU SO:SEC+6 ( PASSWORD )
SO:DSK EQU SO:PSW+6 NO. OF DISC SECTORS
SO:ONO EQU SO:PSW+7 OBJECT CODE VERSION
SO:VNO EQU SO:DSK+4 SECTION VERSION NO. & TYPE
SO:SIZ EQU SO:VNO+2 DEFINED SECTION SIZE, ROWS & COLUMNS, AND ...
... EFFECTIVE SECTION SIZE
SO:DFD EQU SO:SIZ+4 DFD SIZE
SO:SFC EQU SO:DFD+2 REL. ADDR TO STATIC FIELDS
SO:PP EQU SO:SFC+2 " " " PICTURE POOL
SO:DFC EQU SO:PP+2 " " " DYNAMIC FIELDS
SO:NDF EQU SO:DFC+2 DEC POINT OR COMMA & NO. OF DYN. FIELDS
SO:BGA EQU SO:NDF+4 BACKGROUND DEFAULT ATTRIBUTES
SO:SFA EQU SO:BGA+1 STATIC FIELD DEFAULT ATTRIBUTES
SO:DFA EQU SO:SFA+1 DYN. FIELD DEFAULT ATTRIBUTES
SO:MES EQU SO:DFA+4 DEFAULT GUIDING MESSAGE
EJECT
** STATIC FIELDS
SF:DEC EQU /1F LARGEST DECORATION BYTE
SF:SPA EQU /80 COMPRESSED SPACES
SF:DF EQU /FB DYNAMIC FIELDS
SF:HL EQU /FC HEADER LINES
SF:EOL EQU /FD END OF LINE
SF:EOS EQU /FE END OF SECTION
SF:EOP EQU /FF END OF POOL UNIT
EJECT
** DYNAMIC FIELDS
DYNAMIC FIELD TABLE DISPLACEMENTS
DF:FID EQU 0 FIELD IDENTITY
DF:COD EQU DF:FID+4 FIELD CODE ADDR: POOL & REL POOL ADDR
DF:DAT EQU DF:COD+2 FIELD DATA DISPL. EXCL. TEMP. DECORATIONS ETC.
DF:TLN EQU DF:DAT+2 FIELD TABLE ELEMENT LENGTH
DYNAMIC FIELD CODE DISPLACEMENTS
DF:ALN EQU 0 ATTRIBUTE AREA LENGTH INCL. OPTIONAL PARTS
DF:SCR EQU DF:ALN+2 REL. POSITION IN SECTION
DF:FLN EQU DF:SCR+2 MAX. EFFECTIVE & EDITED LENGTH
DF:TYP EQU DF:FLN+2 NUM- & ALPHANUM DEPENDANT INFORMATION
DF:INP EQU DF:TYP+2 BITS CONCERNING INPUT HANDLING
DF:DEC EQU DF:INP+2 DECORATION BITS
DF:OPT EQU DF:DEC+2 START OF OPTIONAL PART
OPTIONS:
DF:VAL EQU 1 VALIDATION
DF:ACC EQU 2 ACCUMULATION
DF:DUP EQU 3 DUPLICATION ORIGIN
DF:AM EQU 4 APPLICATION MESSAGE
DF:IFC EQU 5 FILE CODE, OTHER INPUT DEVICE
DF:DEF EQU 6 DEFAULT VALUE
DF:OUT EQU 7 OUTPUT PRINT POSITION
DF:GM EQU 15 GUIDING MESSAGE
EJECT
**********************************************************************
** WSM VALIDATION STATEMENT TYPES **
**********************************************************************
VS:ALE EQU /00 ALPHANUM LET EXCL. LET
VS:ALI EQU /01 ALPHANUM LET INCL. LET
VS:NLE EQU /02 NUMERIC LET EXCL. LET
VS:NLI EQU /03 NUMERIC LET INCL. LET
VS:GO EQU /04 GO TO
VS:GOT EQU /05 GOTO
VS:IFL EQU /06 IF <REL. EXPR.> THEN LINENO
VS:IFS EQU /08 IF <REL. EXPR.> THEN STATEMENT
VS:OGO EQU /0A ON <EXPR.> GO TO LINENUMBERS
VS:OGT EQU /0B ON <EXPR.> GOTO LINENUMBERS
VS:CAL EQU /0C CALL
VS:SEC EQU /0E SECT
VS:ATT EQU /10 ATTR
VS:STO EQU /12 STOP
VS:EXI EQU /14 EXIT
VS:ERR EQU /16 ERR
VS:WAR EQU /18 WARN
VS:REM EQU /1A REM
VS:EMP EQU /0C EMPTY
EJECT
**********************************************************************
** VALIDATION OPERATOR EQUATES **
**********************************************************************
VO:EEX EQU 1 END OF EXPRESSION
VO:AEQ EQU 2 = , ALPHANUMERIC COMPARISON
VO:AGE EQU 3 >=, "
VO:AGT EQU 4 > , "
VO:ALE EQU 5 <=, "
VO:ALT EQU 6 < , "
VO:ANE EQU 7 <>, "
VO:NEQ EQU 8 = , NUMERIC COMPARISON
VO:NGE EQU 9 >=, "
VO:NGT EQU /0A > , "
VO:NLE EQU /0B <=, "
VO:NLT EQU /0C < , "
VO:NNE EQU /0D <>, "
VO:CON EQU /0E CONCATENATE
VO:SUS EQU /0F SUBSTRING
VO:STR EQU /10 STR FUNCTION
VO:UPL EQU /11 UNARY PLUS
VO:UMI EQU /12 " MINUS <=> NEGATE
VO:ADD EQU /13 ADD
VO:SUB EQU /14 SUBTRACT
VO:DIV EQU /15 DIVIDE
VO:MUL EQU /16 MULTIPLY
VO:ABS EQU /17 ABS FUNCTION
VO:INT EQU /18 INT "
VO:SGN EQU /19 SGN "
VO:TIM EQU /1A TIM "
VO:DAY EQU /1B DAY "
VO:SYS EQU /1C SYS "
VO:LEN EQU /1D LEN "
VO:NUM EQU /1E NUM "
VO:DAT EQU /1F DAT "
VO:CDV EQU /20 CDV "
VO:POS EQU /21 POS "
VO:PAR EQU /22 PARANTHESIS
EJECT
**********************************************************************
** EQUATES TO THE DIFFERENT KEYTABLES **
**********************************************************************
**
** KEYTABLE 1 & 2
**
K1:CUP EQU 1
K1:CDW EQU K1:CUP+1
K1:TFD EQU K1:CDW+1
K1:TBD EQU K1:TFD+1
K1:PRT EQU K1:TBD+1
K1:LIN EQU K1:PRT+1
K1:HLP EQU K1:LIN+1
K1:ARI EQU K1:HLP+1
K1:ASD EQU K1:ARI+1
K1:CLR EQU K1:ASD+1
K1:SEC EQU K1:CLR+1
K1:CR EQU K1:SEC+1
K1:DUP EQU K1:CR+1
K1:ENT EQU K1:DUP+1
K1:FUN EQU K1:ENT+1
K1:CAN EQU K1:FUN+1
K1:USR EQU K1:CAN+1 K1:USR & ABOVE ARE USER DEFINED KEYS
EJECT
**
** KEYTABLE 3
**
K3:INS EQU 1
K3:DEL EQU K3:INS+1
K3:TFD EQU K3:DEL+1
K3:TBD EQU K3:TFD+1
K3:PRT EQU K3:TBD+1
K3:CLR EQU K3:PRT+1
K3:CAN EQU K3:CLR+1
K3:USR EQU K3:CAN+1
**
** KEYTABLE 4
**
K4:CLR EQU 1
K4:ENT EQU K4:CLR+1
K4:CAN EQU K4:ENT+1
K4:USR EQU K4:CAN+1
**
** KEYTABLE 5 & 6
**
K5:CLR EQU 1
K5:CAN EQU K5:CLR+1
K5:USR EQU K5:CAN+1 K5:USR & ABOVE ARE USER DEFINED KEYS
K6:OV EQU K5:CAN+1
K6:USR EQU K6:OV+1 K6:USR & ABOVE ARE USER DEFINED KEYS
EJECT
$ MEND;
EOS
MACRO RC
$ MACRO RC;
**********************************************************************
** WSM RETURN CODES **
**********************************************************************
** LATEST UPDATING: 1983-04-25 BY: GM *
RC:OK EQU 0 OK
RC:RTY EQU 1 OK, BUT ALL DATA NOT TRANSFERRED, RETRY
RC:TRU EQU 2 OK, BUT TRUNCATION HAS OCCURED
RC:KEY EQU 3 OK, NO DATA TRANSFERRED, KEYLOCK
RC:EXI EQU 4 EXIT ROUTINE REQUEST
RC:EWA EQU 5 EXTERNAL WARNING
RC:EER EQU 6 EXTERNAL ERROR
RC:VCU EQU 7 VALIDATION FROM CURRENT FIELD AND ON
RC:ORM EQU 7 ORIGIN MEDIUM > 1
RC:INA EQU 10 INPUT NOT ALLOWED
RC:DN1 EQU 11 DYN. FIELD NOT FOUND
RC:DN2 EQU 12 AS RC:DN1 BUT ALL OTHER DATA TRANSFERRED
RC:DN3 EQU 13 AS RC:DN1 BUT LACK OF BUFFER SPACE
RC:CNF EQU 20 SECT/DEF/TAB NOT FOUND
RC:NOP EQU 21 FORMAT NOT OPENED
RC:NAT EQU 22 FORMAT SECTION NOT ATTACHED
RC:ISS EQU 23 ILLEGAL SECTION SEQUENCE NO.
RC:PNX EQU 24 PREV./NEXT SECTION NOT FOUND
RC:ISU EQU 25 ILLEGAL SUBSCREEN NO.
RC:SCR EQU 26 NO SCREEN SIZE AVAILABLE
RC:OLD EQU 27 OLD SECTION FOUND
RC:ISE EQU 28 ILLEGAL SECTION REFERENCE
RC:SEC EQU 29 ILLEGAL ATTACH
RC:POL EQU 30 POOL ERROR
RC:STO EQU 31 SECTION SEQ. TABLE OVERFLOW
RC:SNO EQU 32 SECTION SEQ. NUMBER OVERFLOW
RC:LRU EQU 34 DELETE ON LRU-QUE / ADM.DATA
RC:DER EQU 40 DISC ERROR
RC:KER EQU 41 KEYBOARD I/O-ERROR
RC:OER EQU 42 OTHER DEVICE I/O-ERROR
RC:EJN EQU 45 PRINT WITHOUT EJECT/TOP-OF-FORM
RC:EJO EQU 46 EJECT/TOP-OF-FORM ONLY
RC:VER EQU 50 VALIDATION ERRORS:
RC:VOF EQU '01' - VALIDATION WORK AREA OVERFLOW
RC:VSE EQU '02' - VALIDATION STOP TARGET ERROR
RC:VWW EQU '03' - WSM WORK ITEM NOT FOUND
RC:VOB EQU '04' - VALIDATION OBJ. CODE ERROR
RC:VDZ EQU '05' - VALIDATION DIVISION BY ZERO
RC:LP2 EQU '06' - VALIDATION LOOP WITHIN FIELD
RC:LP1 EQU 51 LOOP ON SECTION LEVEL
RC:PBI EQU 60 PAR. BLOCK HOLDES ILLEGAL VALUE
RC:DIV EQU 61 FIELD NOT FOUND IN DATA DIVISION
RC:LKE EQU 62 LKM REQUEST ERROR
$ MEND;
EOS
MACRO C
$ MACRO C TXT;
** $TXT. **
$ MEND;
EOS
MACRO FRAME
$ MACRO FRAME;
**********************************************************************
$ MEND;
EOS
MACRO CVERS
$ MACRO CVERS;
**********************************************************************
** **
** CREDIT INTERPRETER VERSION: **
TEST EQU 1
NOTEST EQU 0
PARM EQU TEST
** **
**********************************************************************
$ MEND;
EOS
MACRO MOD
$ MACRO MOD NAME,AUT,DATE,CONT;
IDENT $NAME. W,REL=2.3,850901,870155940230
**********************************************************************
** **
** $NAME. LATEST UPDATING: $DATE. BY: $AUT. **
** **
** DESCRIPTION: $CONT. **
$ MEND;
EOS
MACRO DUMMY
$ MACRO DUMMY;
****** STANDARD IDENT:
IDENT $NAME. $DATE. /$AUT.
****** CREDIT TEST INTERPRETER IDENT:
IDENT $NAME. P,REL=12.1,811102,870136941200
****** CREDIT PROD INTERPRETER IDENT:
IDENT $NAME. T,REL=12.1,811102,870137141200
****** WSM INTERPRETER IDENT:
IDENT $NAME. W,REL=12.1,811111,870155941200
$ MEND;
EOS
MACRO HIST
$ MACRO HIST AUT,DATE,CONT;
** $DATE. /$AUT. $CONT.
$ MEND;
EOS
MACRO LABEL
$ MACRO LABEL NAME,CONT;
$NAME. EQU *
**********************************************************************
** **
** $NAME. $CONT. **
$ MEND;
EOS
MACRO RUT
$ MACRO RUT NAME,CONT;
EJECT
$NAME. EQU *
**********************************************************************
** **
** $NAME. $CONT. **
$ MEND;
EOS
MACRO OUTP
$ MACRO OUTP TXT;
** OUTPUT: $TXT. **
$ MEND;
EOS
MACRO INP
$ MACRO INP TXT;
** **
** INPUT: $TXT. **
$ MEND;
EOS
MACRO CRUT
$ MACRO CRUT TXT;
** CALLED ROUTINES: $TXT. **
$ MEND;
EOS
MACRO DREG
$ MACRO DREG TXT;
** DESTROYED REG.S: $TXT. **
$ MEND;
EOS
MACRO DMEM
$ MACRO DMEM TXT;
** DESTROYED MEM. : $TXT. **
$ MEND;
EOS
MACRO AIEQU1
$ MACRO AIEQU1;
EJECT
**
** WSM-APPLICATION INTERFACE - PARAMETER BLOCK
**
* LATEST UPDATING: 1981-08-25 BY: ME
FIDSIZ EQU 4 SIZE OF FIELD IDENTITY
PBLGTH EQU 46 PARAMETER BLOCK LENGTH
WNOLGH EQU 1 LENGTH OF ONE WORK BLOCK NUMBER
WBLNOS EQU 0 WORK BLOCK NUMBER AREA
FILL01 EQU WBLNOS+5 FILLER
FUNC EQU FILL01+1 FUNCTION CODE
FORMAT EQU FUNC+2 FORMAT NAME
SECT EQU FORMAT+6 SECTION NAME
SEQNO EQU SECT+6 SECTION SEQUENCE NUMBER
SUBSCR EQU SEQNO+2 SUBSCREEN NUMBER
INPAWD EQU SUBSCR+1 INPUT ALLOWED CODE
CURFID EQU INPAWD+1 CURRENT FIELD-ID
FIELNO EQU CURFID+FIDSIZ FIELD NUMBER
RETCOD EQU FIELNO+2 RETURN CODE
KEYID1 EQU RETCOD+2 KEY IDENTIFICATION 1
KEYID2 EQU KEYID1+2 " " 2
EXITNO EQU KEYID2+2 EXIT ROUTINE NUMBER
RECLGH EQU EXITNO+2 RECEIVED DATA LENGTH
BUFLGH EQU RECLGH+3 BUFFER LENGTH
BUFLAY EQU BUFLGH+3 BUFFER LAYOUT CODE
PRINFC EQU BUFLAY+1 PRINTER DEVICE FILE CODE
BUFFER EQU WBLNOS+PBLGTH BUFFER
EJECT
$ MEND;
EOS