Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/smfile.seq
There are no other files named smfile.seq in the archive.
DSQDF
SEQ 0001
IDENTIFICATION
--------------
PRODUCT CODE: AH-E522C-DD
DIAGNOSTIC CODE: DSQDF
PRODUCT NAME: DSQDFC0 DECSYSTEM 2020
DIAGNOSTICS FE-FILE PROGRAM
VERSION: 0.3
DATE RELEASED: FEBRUARY 1979
MAINTAINED BY: DIAGNOSTIC ENGINEERING
AUTHOR: JOHN R. KIRCHOFF
COPYRIGHT (C) 1978, 1979
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION
OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY OTHER
COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE
TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE
SOFTWARE SHALL AT ALL TIMES REMAIN IN 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 THE
USE OR RELIABILITY OF ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
SMFILE - DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
SEQ 0002
DISK
----
THE SYSTEM DISK WILL CONTAIN A RESERVED (CONTIGUOUS) FE-FILE
AREA FOR THE 8080 CONSOLE PROCESSOR'S USE.
TOPS-20 -- <ROOT-DIRECTORY>BOOTSTRAP.BIN
TOPS-10 -- [6,2020]KS10FE.BIN
THIS FE-FILE AREA WILL CONTAIN THE KS-10 MICROCODE, THE SYSTEM
AND DIAGNOSTIC PRE-BOOTS AND BOOTSTRAPS, THE BOOTCHECK 1 MICROCODE,
THE BOOTCHECK 2 DIAGNOSTIC CODE, AND 247 [0-366(8)] FRONT-END
INDIRECT 8080 COMMAND FILES.
THIS AREA WILL BE POINTER TO BY WORDS IN THE HOME BLOCK. THERE
WILL BE THREE WORDS USED IN THE HOME BLOCK. WORD 1 PROVIDES THE DISK
ADDRESS OF THE FE-FILE AREA. WORD 2 PROVIDES THE LENGTH OF THE FE-FILE
AREA. WORD 3 PROVIDES THE 8080 FORMAT TRACK/CYLINDER/SECTOR ADDRESS.
HOME BLOCK
----------
I
I---------
101 I DISK ADDRESS OF FE-FILE AREA (SECTOR #)
I---------
102 I LENGTH (# OF SECTORS)
I---------
103 I 8080 TRACK/CYL/SECTOR
I---------
I
----------
THE 8080 TRACK/CYLINDER/SECTOR WORD WILL BE AS FOLLOWS:
3-11 23-27 31-35
------------------------------------------------------
I 000 I I 0'S I I 000 I I
------------------------------------------------------
^ ^ ^
I I I
CYLINDER TRACK SECTOR
SMFILE - DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
SEQ 0003
THE FIRST PAGE IN THE FE-FILE AREA WILL BE USED AS AN 8080
DIRECTORY TO CONTAIN PHYSICAL DISK ADDRESSES AND LENGTHS FOR THE
ASSOCIATED FILES CONTAINED WITHIN THE REMAINDER OF THE FE-FILE AREA.
THE POINTER WORDS WILL BE IN THE 8080 TRACK/CYL/SECTOR FORMAT
AND THE PAGE ##,,LENGTH WORD WILL BE IN THE STARTING PAGE NUMBER IN THE
FILE AND THE NUMBER OF 512 WORD PAGES.
THIS FILE WILL BE AS FOLLOWS:
FE-FILE PAGE 0
--------------
WORD 0 I POINTER TO FREE SPACE
1 I PAGE #,,LENGTH
I-------------
2 I POINTER TO MICROCODE
3 I PAGE #,,LENGTH
I-------------
4 I POINTER TO MONITOR PRE-BOOT
5 I PAGE #,,LENGTH
I-------------
6 I POINTER TO DIAGNOSTIC PRE-BOOT
7 I PAGE #,,LENGTH
I-------------
10 I POINTER TO BOOTCHECK 1 MICROCODE
11 I PAGE #,,LENGTH
I-------------
12 I POINTER TO BOOTCHECK 2 PRE-BOOT
13 I PAGE #,,LENGTH
I-------------
14 I POINTER TO MONITOR BOOT
15 I PAGE #,,LENGTH
I-------------
16 I POINTER TO DIAGNOSTIC BOOT
17 I PAGE #,,LENGTH
I-------------
20 I POINTER TO BOOTCHECK 2
21 I PAGE #,,LENGTH
I-------------
22 I POINTER TO INDIRECT FILE 0
23 I PAGE #,,LENGTH
I-------------
24 I POINTER TO INDIRECT FILE 1
25 I PAGE #,,LENGTH
I-------------
/ ...
I-------------
776 I POINTER TO INDIRECT FILE 366(8)
777 I PAGE #,,LENGTH
--------------
SMFILE - DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
SEQ 0004
--------------
PAGE 1 I
I MICROCODE - 12 PAGES
I
--------------
--------------
PAGE 13 I
I MONITOR PRE-BOOT - 1 PAGE
I
--------------
--------------
PAGE 14 I
I DIAGNOSTICS PRE-BOOT - 1 PAGE
I
--------------
--------------
PAGE 15 I
I BOOTCHECK 1 MICROCODE - 12 PAGES
I
--------------
--------------
PAGE 27 I
I BOOTCHECK 2 PRE-BOOT - 1 PAGE
I
--------------
I
/
I
--------------
LAST PAGE I
I
I
--------------
FREE SPACE STARTS AT PAGE 28 ON "RESET" WITH THE BOOTS AND OTHER
FILES ASSIGNED SPACE AS APPROPRIATE.
THE FREE SPACE POINTER STARTS WITH THE PAGE #,,LENGTH WORD EQUAL
TO (^D28,,<LENGTH FROM HOME BLOCK 102 - ^D28>).
SMFILE - DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
SEQ 0005
THE SMFILE PROGRAM WILL HAVE THE FOLLOWING COMMANDS TO GENERATE
AND MAINTAIN THE FE-FILE SYSTEM:
1. DEPOSIT (BC1,CRAM)
2. DEBUG (CLEAR,SET)
3. ECHO (YES,NO)
4. EXAMINE (BC1,CRAM)
5. EXIT
6. HELP
7. INFORMATION (DISK,FEFILE,FREE,INDIRECT)
8. OUTPUT (BC1,CRAM,MTBOOT,RAM)
9. PUSH
10. RDBC1 ("FILE.EXT")
11. READ ("FILE.EXT")
12. SERIAL "NUMBER"
13. TAKE ("FILE.EXT")
14. TYPE (INDIRECT) (0-366(8))
15. WRITE (BC1,BC2,BOOT,CRAM,DIAGBT,DONE,INDIRECT,RESET,SETUP)
SMFILE - DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
SEQ 0006
THE WRITE COMMAND WILL HAVE THE FOLLOWING ARGUMENTS:
A. BC1
B. BC2 "FILE"
C. BOOT "FILE"
D. CRAM
E. DIAGBT "FILE"
F. INDIRECT "0-366(8)" "FILE"
G. RESET
H. SETUP "DEV:"
I. DONE
THE OUTPUT COMMAND WILL HAVE THE FOLLOWING ARGUMENTS:
A. BC1 "FILE".RAM
B. CRAM "FILE".RAM
C. RAM "FILE".RAM
D. MTBOOT "INPUT".EXE AS "MTBOOT".RDI
SMFILE - DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
SEQ 0007
AN EXAMPLE SET OF COMMANDS NECESSARY TO CREAT THE FRONT-END
FILE SYSTEM ON DISK FOR THE DECSYSTEM 2020:
@RUN SMFILE
DECSYSTEM-2020 FE-FILE PROGRAM
VERSION #.#
[FOR HELP TYPE "HELP"]
SMFILE>WRITE SETUP DEV:
SMFILE>WRITE RESET
SMFILE>READ KS10.ULD
SMFILE>SERIAL ####
SMFILE>WRITE CRAM
SMFILE>WRITE BOOT SMBOOT.EXE
SMFILE>WRITE DIAGBT SMMON.EXE
SMFILE>WRITE BC2 SMBC2.EXE
SMFILE>WRITE DONE
SMFILE>EXIT
AN EXAMPLE PROCEDURE FOR CREATING THE MICROCODE AND READ-IN
FILE TO BE THEN COPIED ONTO THE FRONT OF THE "SYSTEM" MAGTAPE FOR
MAGTAPE BOOTING:
@RUN SMFILE
DECSYSTEM-2020 FE-FILE PROGRAM
VERSION #.#
[FOR HELP TYPE "HELP"
SMFILE>READ KS10.ULD
SMFILE>OUTPUT CRAM KS10.RAM
SMFILE>OUTPUT MTBOOT MTBOOT.EXE AS MTBOOT.RDI
SMFILE>EXIT
SMFILE - DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
SEQ 0008
THE FRONT-END INDIRECT FILES CONTAIN FRONT-END MICRO-PROCESSOR
COMMANDS THAT ARE USED AS IF THE USER HAD TYPED THEM DIRECTLY. SEVERAL
COMMANDS MAY BE PUT ON A SINGLE LINE WITH COMMANDS SEPARATED BY COMMAS.
A COMMAND LINE MAY BE UP TO 80 CHARACTERS LONG. THE INDIRECT FILE MAY
CONTAIN MANY LINES OF COMMANDS WITH THE FILE BEING LIMITED TO A MAXIMUM
OF 2047(10) CHARACTERS. THE INPUT FILE USED TO CREATE THE FRONT-END
INDIRECT FILE WILL CONTAIN CR/LF PAIRS TO END LINES BUT THESE WILL BE
STRIPPED TO CR ONLY IN THE INDIRECT FILE.
THE BYTES OF THE INDIRECT FILE WILL BE ARRANGED INTO THE
FOLLOWING FORMAT TO FACILIATE THEIR USE BY THE FRONT-END MICRO-
PROCESSOR:
0-3 4-11 12-19 20-27 28-35
---------------------------------------------
I 0000 I CHAR 4 I CHAR 3 I CHAR 2 I CHAR 1 I
---------------------------------------------
I 0000 I CHAR 8 I CHAR 7 I CHAR 6 I CHAR 5 I
---------------------------------------------
I /----/ I
---------------------------------------------
I 0000 I 0 BYTE I CHAR Z I CHAR Y I CHAR X I
---------------------------------------------
THE FRONT-END INDIRECT FILE WILL TERMINATE WITH A ZERO BYTE.
SMFILE - DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
SEQ 0009
THE FOLLOWING HALT ADDRESSES DURING THE DISK PRE-BOOT
OPERATION INDICATE THE FOLLOWING FAILURES:
HALT 1001 - TRIED TO OVERLOAD PRE-BOOT
HALT 1002 - DISK RETRY FAILURE
HALT 1003 - NO RH-11 BASE ADDRESS
THE FOLLOWING HALT STATUS BLOCK IS SAVED IF THE DISK
PRE-BOOT FAILS:
LOC 100 - 8080 DISK ADDRESS
LOC 101 - MEMORY PAGE ADDRESS
LOC 102 - T3, SELECTION PICKUP POINTER
LOC 103 - RPCS1, CONTROL AND STATUS 1 REG
LOC 104 - RPCS10, CONTROL AND STATUS 2 REG
LOC 105 - RPDS, DRIVE STATUS REG
LOC 106 - RPER1, ERROR 1 REG
LOC 107 - RPER2, ERROR 2 REG
LOC 110 - RPER3, ERROR 3 REG
LOC 111 - UBA PAGING RAM LOCATION 0
LOC 112 - UBA STATUS REG
LOC 113 - PRE-BOOT VERSION
THE FOLLOWING HALT ADDRESSES DURING THE MAGTAPE PRE-BOOT
OPERATION INDICATE THE FOLLOWING FAILURES:
HALT 1001 - TRIED TO OVERLOAD PRE-BOOT
HALT 1002 - MAGTAPE READ ERROR
HALT 1003 - NO RH-11 BASE ADDRESS
HALT 1004 - MAGTAPE SKIP EOF ERROR
THE FOLLOWING HALT STATUS BLOCK IS SAVED IF THE MAGTAPE
PRE-BOOT FAILS:
LOC 100 - 0
LOC 101 - MEMORY PAGE ADDRESS
LOC 102 - T3, SLECECTION PICKUP POINTER
LOC 103 - MTCS1, CONTROL AND STATUS 1 REG
LOC 104 - MTCS2, CONTROL AND STATUS 2 REG
LOC 105 - MTDS, DRIVE STATUS REG
LOC 106 - MTER, ERROR REG
LOC 107 - 0
LOC 110 - 0
LOC 111 - UBA PAGING RAM LOCATION 0
LOC 112 - UBA STATUS REG
LOC 113 - PRE-BOOT VERSION
[END]
[SMFILE.HLP 30-FEB-79]
SEQ 0010
AN EXAMPLE SET OF COMMANDS NECESSARY TO CREAT THE FRONT-END
FILE SYSTEM ON DISK FOR THE DECSYSTEM 2020:
@RUN SMFILE
DECSYSTEM-2020 FE-FILE PROGRAM
VERSION #.#
[FOR HELP TYPE "HELP"]
SMFILE>WRITE SETUP DEV:
SMFILE>WRITE RESET
SMFILE>READ KS10.ULD
SMFILE>SERIAL ####
SMFILE>WRITE CRAM
SMFILE>WRITE BOOT SMBOOT.EXE
SMFILE>WRITE DIAGBT SMMON.EXE
SMFILE>WRITE BC2 SMBC2.EXE
SMFILE>WRITE DONE
SMFILE>EXIT
AN EXAMPLE PROCEDURE FOR CREATING THE MICROCODE AND READ-IN
FILE TO BE THEN COPIED ONTO THE FRONT OF THE "SYSTEM" MAGTAPE FOR
MAGTAPE BOOTING:
@RUN SMFILE
DECSYSTEM-2020 FE-FILE PROGRAM
VERSION #.#
[FOR HELP TYPE "HELP"
SMFILE>READ KS10.ULD
SMFILE>OUTPUT CRAM KS10.RAM
SMFILE>OUTPUT MTBOOT MTBOOT.EXE AS MTBOOT.RDI
SMFILE>EXIT
HISTORY FILE FOR SMFILE
---------------------- SEQ 0011
---------------------------------------------------------------
CODE: MAINDEC-10-SMFILE
TITLE: DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
VERSION: 0.3
DATE: FEBRUARY 1979
REASON: CORRECTED A PROBLEM DUE TO TOPS-20 RELEASE 4 CAUSING THE MONITOR
PREBOOT PAGE TO NOT BE WRITTEN INTO THE BOOTSTRAP.BIN AREA.
CHANGED THE TOPS-10 MONITOR BOOT SO THAT PAGE 0 DOES NOT GET
WRITTEN INTO THE BOOTSTRAP FILE.
---------------------------------------------------------------
CODE: MAINDEC-10-SMFILE
TITLE: DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
VERSION: 0.2
DATE: DECEMBER 1978
REASON: ENHANCED DIAGNOSTIC AND BOOT CHECK 2 PRE-BOOTS TO PERFORM BASIC
CPU CHECKING.
---------------------------------------------------------------
CODE: MAINDEC-10-SMFILE
TITLE: DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
VERSION: 0.1
DATE: MAY 1978
REASON: ORIGINAL RELEASE OF THIS PROGRAM FOR KS-10.
STARTED KEEPING A HISTORY.
---------------------------------------------------------------
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 1
SEQ 0012
DOCUMENT
**************
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^
**************
COPYRIGHT 1979
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASS. 01754
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 2
SEQ 0013
TABLE OF CONTENTS
*******************
36 PARAMETERS
252 STANDARD PROGRAM ASSIGNMENTS
332 MACROS
439 PROGRAM PARAMETERS
577 FIXED DATABASE
626 INIT PROGRAM
695 MAIN LOOP
850 COMMANDS -- INFORMATION
970 COMMANDS -- PUSH
1008 COMMANDS -- DEBUG
1030 COMMANDS -- ECHO
1044 COMMANDS -- DEPOSIT
1071 COMMANDS -- SERIAL
1097 COMMANDS -- EXAMINE
1145 COMMANDS -- EXIT
1154 COMMANDS -- HELP
1208 COMMANDS -- WRITE
3255 COMMANDS -- READ
3371 TOPS-10 DISK ROUTINE DEFINITIONS
3508 TOPS-10 DISK FILE PROCESS
3740 TOPS-10 INDIRECT COMMAND FILE PROCESS
3815 SPECIFY DEVICE FILE STRUCTURE FOR DIRECTORY
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 3
SEQ 0014
TABLE OF CONTENTS
*******************
4029 ROUTINE TO CREATE KS10FE.BIN FILE
4121 PROCESS ".ULD" MICROCODE
4449 COMMANDS -- OUTPUT
4753 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE
5173 COMMANDS -- TAKE
5206 COMMAND SUBROUTINES -- DPYFLD
5548 COMMAND SUBROUTINES -- UPDFLD
5623 DISPLAY CRAM BY FIELD BREAKDOWN -- CRMFLD
5787 MISCELLANEOUS ROUTINES
5824 PSI LOGIC -- LEVTAB & CHNTAB
5870 PSI LOGIC -- CONTROL-C AND CONTROL-X
5933 PSI LOGIC -- CONTROL T
5954 STORAGE -- PRESERVED
5998 COMMAND PROCESSOR
6026 MAIN SUBROUTINE PACKAGE CONTROL
6081 UUO HANDLING SUBROUTINE
6214 PROCESSOR TYPE DETERMINATION
6250 PROGRAM HALTS
6286 PROGRAM NAME PRINTER
6326 *SUBRTN* END OF PASS/END OF PROGRAM ROUTINES
6350 *SUBRTN* TELETYPE INPUT ROUTINES
6518 *SUBRTN* TELETYPE YES/NO TYPE-IN ROUTINE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 4
SEQ 0015
TABLE OF CONTENTS
*******************
6565 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE
6684 *SUBRTN* TELETYPE SIXBIT INPUT ROUTINE
6722 *SUBRTN* PRINT SUBROUTINES
7093 *SUBRTN* CHARACTER OUTPUT ROUTINES
7378 *STOR* RESERVED STORAGE
7515 STORAGE -- ZEROED ON STARTUP
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 5
SEQ 0016
18 COPYRIGHT 1978,1979
DIGITAL EQUIPMENT CORPORATION
MARLBORO, MASS. 01752
22 JOHN R. KIRCHOFF
*****************************************************************
36 PARAMETERS
*****************************************************************
41 DATA SWITCHES
47 AC USE
85 FE-FILE DIRECTORY DEFINTIONS
134 OPERATOR DEFINITIONS (NON-UUO'S)
144 SUBROUTINE INITIALIZATION CALL
150 HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
157 TERMINAL INPUT UUO'S
172 TERMINAL OUTPUT UUO'S.
241 SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
CONSERVES CORE OVER ASCIZ
247 END OF PASS/PROGRAM UUOS
*****************************************************************
252 STANDARD PROGRAM ASSIGNMENTS
*****************************************************************
255 PDP-10 STANDARD PC CONTROL FLAGS (SAVED ON PUSHJ, JSR, ETC..)
269 PDP-10 STANDARD ADDRESS ASSIGNMENTS
276 JOB DATA AREA EXTERNALS (OLD DEFINITIONS)
294 JOB DATA AREA EXTERNALS (NEW DEFINITIONS)
313 USER MODE APR ASSIGNMENTS (FOR "APRENB" CALL)
325 USER MODE PRINT OUTPUT CHANNEL ASSIGNMENTS (FOR SUBROUTINE PACKAGE)
THE USER SHOULD BE CAUTIONED NOT TO USE THESE CHANNELS WHEN
USING THE SUBROUTINE PACKAGE AND CODING USER MODE PROGRAMS.
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 6
SEQ 0017
*****************************************************************
332 MACROS
*****************************************************************
*****************************************************************
439 PROGRAM PARAMETERS
*****************************************************************
442 PROGRAM VARIABLE PARAMETER AREA
461 SPECIAL PROGRAM DISPATCH ADDRESSES
471 PROCESSOR CONTROL STORAGE
479 UUO DISPATCH TABLE
499 PRINT CONTROL STORAGE
530 USER MODE OUTPUT FILE INFORMATION
539 PUSHDOWN LIST CONTROL INFORMATION
547 NUMBER INPUT DIGIT FLAG
553 USER MODE MONITOR TYPE FLAG
559 SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
565 "SWITCH" CALL USAGE CONTROL
571 SM10 (KS-10) PROCESSOR TYPE FLAG
*****************************************************************
577 FIXED DATABASE
*****************************************************************
*****************************************************************
626 INIT PROGRAM
*****************************************************************
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 7
SEQ 0018
*****************************************************************
695 MAIN LOOP
*****************************************************************
807 HERE ON AN ERROR FROM COMMAND JSYS
828 COMMAND PARSER SUBROUTINES
*****************************************************************
850 COMMANDS -- INFORMATION
*****************************************************************
*****************************************************************
970 COMMANDS -- PUSH
*****************************************************************
*****************************************************************
1008 COMMANDS -- DEBUG
*****************************************************************
*****************************************************************
1030 COMMANDS -- ECHO
*****************************************************************
*****************************************************************
1044 COMMANDS -- DEPOSIT
*****************************************************************
1055 HERE TO STORE INTO CRAM
*****************************************************************
1071 COMMANDS -- SERIAL
*****************************************************************
*****************************************************************
1097 COMMANDS -- EXAMINE
*****************************************************************
1111 EXAMINE CRAM
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 8
SEQ 0019
*****************************************************************
1145 COMMANDS -- EXIT
*****************************************************************
*****************************************************************
1154 COMMANDS -- HELP
*****************************************************************
1187 TOPS-10 HELP
*****************************************************************
1208 COMMANDS -- WRITE
*****************************************************************
1225 WRTSET - READ FE-FILE DIRECTORY BLOCK INTO MEMORY
1317 WRTRSET - RESET FE-DIRECTORY
1357 FIND - FIND THE PHYSICAL DISK WITH THE GIVEN NAME
1423 STRCMP - STRING COMPARE ROUTINE
1432 FALIAS - FIND THE PHYSICAL DISK WITH THE GIVEN ALIAS
1493 COMPUTE DIAGNOSTIC PRE-BOOT PAGE POINTER
1570 WRTBOOT - WRITE MONITOR PRE-BOOT AND BOOT ON DISK
1690 WRTDB - WRITE DIAGNOSTIC PRE-BOOT AND "SMMON" ON DISK
1812 WRTBC2 - WRITE BOOTCHECK 2 PRE-BOOT AND "SMBC2" ON DISK
2035 NOW READ EXE FILE
2114 FIND 1ST PAGE OF FILE & PUT IN PRE-BOOT
2123 COMPUTE 8080 ADDRESSES - PUT IN PRE-BOOT
2188 NOW READ EXE FILE
2267 FIND 1ST PAGE OF FILE & PUT IN PRE-BOOT
2276 COMPUTE 8080 ADDRESSES - PUT IN PRE-BOOT
2340 NOW READ EXE FILE
2425 FIND 1ST PAGE OF FILE & PUT IN PRE-BOOT
2434 COMPUTE 8080 ADDRESSES - PUT IN PRE-BOOT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 9
SEQ 0020
2456 MONITOR BOOT STRAP PROGRAM TO BE WRITTEN ON THE DISK
2667 WRITE MICRO-CODE ONTO DISK
2721 WRTFEF, WRITE FRONT-END INDIRECT FILES
COMMAND - [INDIRECT "0-366(8)" "FILE.EXT"
CREATES - "FEF000.FI" TO "FEF366.FI" (TOPS-10)
2810 FEF10, TOPS-10 WRITE FRONT-END INDIRECT FILES
2886 FEIFMT, FORMAT FRONT-END INDIRECT FILES
2929 TYPE, TYPE CONTENTS OF INDIRECT FILE
3002 TYPF10, TOPS-10 TYPE CONTENTS OF INDIRECT FILE
3039 FETELL, REPORT INDIRECT FILES IN USE & FREE SPACE
3127 WRTDONE - WRITE FE-DIR FILE BLOCK
3216 SUBROUTINE TO READ AND WRITE HOME BLOCKS
CALL WITH:
T1/ DISK ADDRESS
STRDES/ DEVICE DESIGNATOR OF STRUCTURE
GO REDHOM/WRTHOM
ERROR
OK
3232 TXO T1,<.DOPSR>B1!DOP%SN ;MONSYM IS BAD
*****************************************************************
3255 COMMANDS -- READ
*****************************************************************
3333 TOPS-10 MICROCODE READ PROCESS
*****************************************************************
3371 TOPS-10 DISK ROUTINE DEFINITIONS
*****************************************************************
3373 I/O CHANNELS
3382 SYMBOL DEFINITIONS
3452 ERROR INTERCEPT CONTROL BLOCK
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 10
SEQ 0021
*****************************************************************
3508 TOPS-10 DISK FILE PROCESS
*****************************************************************
3510 GET A CHARACTER FROM -10 FILE
3527 END OF INPUT FILE
3539 PUT A CHARACTER TO -10 FILE
3551 COMPLETE OUTPUT FILE
3564 OPEN DEVICE/LOOKUP ON FILE
3609 OPEN DEVICE/LOOKUP ON DATA FILE
3642 OPEN DEVICE/ENTER ON FILE
3690 ENTER FILE ON CHANNEL WC
*****************************************************************
3740 TOPS-10 INDIRECT COMMAND FILE PROCESS
*****************************************************************
*****************************************************************
3815 SPECIFY DEVICE FILE STRUCTURE FOR DIRECTORY
*****************************************************************
3926 OPNHOM - ROUTINE TO OPEN THE DISK ON CHANNEL 'HOM'
3937 RADHOM - ROUTINE TO READ A BLOCK ON CHANNEL 'HOM'
3952 WHOM10 - ROUTINE TO WRITE A BLOCK ON CHANNEL 'HOM'
3966 OPWCDP - ROUTINE TO OPEN IN DUMP MODE TO WRITE
3977 OPRCDP - ROUTINE TO OPEN IN DUMP MODE TO READ
3987 GETBLK - ROUTINE TO GET THE LOGICAL BLOCK NUMBER OF THE
FIRST BLOCK OF A FILE IN THE TOPS-10 FILE SYSTEM.
CALL: GO GETBK1
OR
GO GETBK2
RETURN WITH BLOCK # IN T1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 11
SEQ 0022
*****************************************************************
4029 ROUTINE TO CREATE KS10FE.BIN FILE
*****************************************************************
4060 GET DISK DIRECTORY ADDRESS, PUT IN HOME BLOCK
4076 WRITE OUT HOME BLOCK #1
4082 HERE TO UPDATE AND WRITE OUT HOME BLOCK # 10
*****************************************************************
4121 PROCESS ".ULD" MICROCODE
*****************************************************************
4195 KSXX, CRAM PARITY COMPUTE SUBROUTINE
4396 SUBROUTINE TO FILE END OF LINE
CALL WITH:
GO RDEOL
RETURN HERE
*****************************************************************
4449 COMMANDS -- OUTPUT
*****************************************************************
4461 OUTRAM, OUTPUT MICROCODE ".RAM" FILE
4509 TOPS-10 OUTPUT MICRO-CODE ".RAM" FILE
4552 OUTMT, OUTPUT MAGTAPE ".RDI" FILE
4714 TOPS-10 OUTPUT MAGTAPE ".RDI" FILE
*****************************************************************
4753 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE
*****************************************************************
4880 SELECT NEXT EXE DATA PAGE
4884 READ EXE DATA PAGE
4888 READ EXE DIRECTORY PAGE
4908 MONITOR BOOT STRAP PROGRAM TO BE WRITTEN ON THE MAGTAPE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 12
SEQ 0023
*****************************************************************
5173 COMMANDS -- TAKE
*****************************************************************
*****************************************************************
5206 COMMAND SUBROUTINES -- DPYFLD
*****************************************************************
*****************************************************************
5548 COMMAND SUBROUTINES -- UPDFLD
*****************************************************************
5550 SUBROUTINE TO GET NEW VALUE FOR FIELD
CALL WITH:
T2/ OLD VALUE
GO UPDFLD
HERE IF "^" (UPARROW), BACKUP ONE FIELD
HERE WITH NEW VALUE IN T2
*****************************************************************
5623 DISPLAY CRAM BY FIELD BREAKDOWN -- CRMFLD
*****************************************************************
*****************************************************************
5787 MISCELLANEOUS ROUTINES
*****************************************************************
*****************************************************************
5824 PSI LOGIC -- LEVTAB & CHNTAB
*****************************************************************
*****************************************************************
5870 PSI LOGIC -- CONTROL-C AND CONTROL-X
*****************************************************************
5872 HERE ON A CONTROL-C INTERRUPT
5880 HERE ON CONTROL-X INTERRUPT
5891 HERE ON CONTROL-Z INTERRUPT
5902 HERE ON A CONTROL-T INTERRUPT
5910 here on control-o interrupt
5915 *PSI LOGIC -- FORK TERMINATION
5917 HERE WHEN A FORK TERMINATES
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 13
SEQ 0024
*****************************************************************
5933 PSI LOGIC -- CONTROL T
*****************************************************************
*****************************************************************
5954 STORAGE -- PRESERVED
*****************************************************************
5959 COMMAND STATUS BLOCK FOR COMND JSYS
*****************************************************************
5998 COMMAND PROCESSOR
*****************************************************************
*****************************************************************
6026 MAIN SUBROUTINE PACKAGE CONTROL
*****************************************************************
6029 INITIALIZE THE SUBROUTINE PACKAGE
6038 CONTRL* SUBROUTINE PACKAGE INITIALIZATION
6054 INITIALIZE PROCESSOR FLAGS AND PUSH LIST
6072 INITIALIZE SUBROUTINES
*****************************************************************
6081 UUO HANDLING SUBROUTINE
*****************************************************************
6084 UUO INITIALIZATION
6094 $UORTN - UUO PROCESSING
6126 UUO ERROR EXIT ROUTINE
6144 DECODE ROUTINE FOR SUBROUTINE UUO'S (037)
*****************************************************************
6214 PROCESSOR TYPE DETERMINATION
*****************************************************************
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 14
SEQ 0025
*****************************************************************
6250 PROGRAM HALTS
*****************************************************************
6252 SUBROUTINE ERROR HALT
6274 FATAL PROGRAM ERROR HALT
*****************************************************************
6286 PROGRAM NAME PRINTER
*****************************************************************
6288 PRINT PROGRAM NAME IF NOT STAND-ALONE OR USER MODE
*****************************************************************
6326 *SUBRTN* END OF PASS/END OF PROGRAM ROUTINES
*****************************************************************
6328 END OF PASS ROUTINE
6342 END OF PROGRAM ROUTINE
*****************************************************************
6350 *SUBRTN* TELETYPE INPUT ROUTINES
*****************************************************************
6353 CARRIAGE RETURN OR COMMA TERMINATES OCTAL, DECIMAL, OR CONVERT TYPE-IN.
CHARACTER OR NUMBER RETURNED IN AC0.
CALL SEQUENCE IS AS FOLLOWS:
NAME
NO/ERROR RESPONSE RETURN (+ 1)
NORMAL RESPONSE RETURN (+ 2)
$OPTLK = INPUT ANY CHARACTER
$YESNO = ASK QUESTION, CORRECT RESPONSE Y
$NOYES = ASK QUESTION, CORRECT RESPONSE N
$TPOCT = INPUT UP TO 12 OCTALS
$TPDEC = INPUT UP TO 11 DECIMALS
$TPCNV = INPUT UP TO 9 CONVERT'S
$TTLK = KEYBOARD CHECK, INPUT ANY CHARACTER (NO WAIT)
$TALTM = KEYBOARD, ALT-MODE CHECK
$TISIX = INPUT UP TO 6 SIXBIT CHARACTERS
6370 TELETYPE INPUT INITIALIZATION
6376 CHECKS FOR ANY KEY STRUCK, RETURNS IMMEDIATELY
RETURNS +1 IF NO TYPEIN, RETURNS +2 IF CHAR TYPED
6402 TELETYPE IMAGE MODE INPUT
PROVIDES UNBUFFERED MODE INPUT
WAITS FOREVER, RETURN WITH CHAR UPPER CASED & ECHOED
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 15
SEQ 0026
6429 TELETYPE ALT-MODE CHECK ROUTINE
6445 TELETYPE INPUT CHARACTER
6485 CHARACTER PROCESSING ROUTINE FOR INPUT
CHARACTER RETURNED IN AC0 IS UPPER CASE
ACTUAL CHARACTER IS IN $TTCHR
*****************************************************************
6518 *SUBRTN* TELETYPE YES/NO TYPE-IN ROUTINE
*****************************************************************
6521 ACCEPTS Y OR N
FOR YESNO, Y IS SKIP RETURN, N OR NO RESPONSE IS DIRECT RETURN
FOR NOYES, N IS SKIP RETURN, Y OR NO RESPONSE IS DIRECT RETURN
'Y OR N <CR> - ' ASKED UPON ENTRY
*****************************************************************
6565 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE
*****************************************************************
6568 ACCEPTS 0 TO 12 OCTALS, 0 TO 11 DECIMALS, 0 TO 9 CONVERT CHARACTERS
NUMBER RETURNED IN AC0.
6589 INPUT AND COMPUTE NUMBER
6612 CHECK FOR PROPER AMOUNT OF CHARACTERS
6637 NUMBER COMPUTING CONSTANTS
6660 CONVERT CONVERSION ROUTINE
*****************************************************************
6684 *SUBRTN* TELETYPE SIXBIT INPUT ROUTINE
*****************************************************************
6687 INPUTS UP TO SIX CHARACTERS, TERMINATES WITH A CR OR COMMA.
SIXBIT WORD RETURNED IN AC0
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 16
SEQ 0027
*****************************************************************
6722 *SUBRTN* PRINT SUBROUTINES
*****************************************************************
6725 $PNTSX PRINT SIXBIT NORMAL
$PTSXF PRINT SIXBIT FORCED
$PNTCW PRINT DF10 CONTROL WORD
$PNTI1 PRINT OCTAL NUMBER
$CHRPN PRINT CHARACTER
$ASCPN PRINT ASCII CHARACTER/LINE
$DECPN PRINT DECIMAL NUMBER
6735 PRINT SUBROUTINE INITIALIZATION
INITIALIZES CONTROL WORDS, AND TTY IF IN USER MODE
6773 PRINT SUBROUTINE ENTRY POINT
EXIT VIA $PNTI4 BELOW
6805 PRINT ROUTINE EXIT
6818 PRINT LIMIT WARNING & ALTERNATE EXIT PATH
6838 PRINT ROUTINE SELECTOR
BASED ON "AC FIELD" = 12 - 17
6868 SIXBIT PRINT SUBROUTINE
PRINTS SIXBIT WORD IN AC0
6872 NORMAL PRINTOUT
6885 FORCED PRINTOUT
6898 SIXBIT MESSAGE PRINT ROUTINE
PRINTS THE SIXBIT MESSAGE THOSE ADDRESS IS IN AC0
"BACKARROW" (77) SIGNIFIES END OF TEXT
"UPARROW" (76) SIGNIFIES CR/LF
"RIGHT SQUARE BRACKET" (75) SIGNIFIES TAB
6948 OCTAL SUPPRESS LEADING ZEROS PRINT ROUTINE
PRINTS NUMBER IN AC0, SUPPRESSING LEADING ZEROS
PRINTS MINUS SIGN IF NUMBER IS NEGATIVE
6997 OCTAL PRINTOUT ROUTINE
PRINTS NUMBER IN AC0
7029 ASCII/CHARACTER PRINTOUT ROUTINE
PRINTS CHAR IN LOWER 7 BITS OF AC0
7039 PRINTS ASCII WHOSE ADDRESS IS IN AC0
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^ DECDOC VER 00.24 19-FEB-79 10:59:48 PAGE 17
SEQ 0028
7058 DECIMAL PRINTOUT ROUTINE
PRINTS NUMBER IN AC0
*****************************************************************
7093 *SUBRTN* CHARACTER OUTPUT ROUTINES
*****************************************************************
7096 OUTPUT TERMINATION CONTROL ROUTINE
7103 OVERALL CHARACTER OUTPUT CONTROL ROUTINE
7130 USER MODE LF & CR FILLERS
7146 RETURN BACK TO PRINTING ROUTINE FROM CHAR OUTPUT
7151 USER MODE CHARACTER OUTPUT
7183 USER MODE LOGICAL DEVICE OUTPUT
7192 LOGICAL DEVICE OUTPUT ROUTINES
7221 LOGICAL DEVICE INITIALIZATION
PHY DEV ASSIGNED AT RUN TIME
7265 USER MODE CLOSE FILE
7312 TOPS10, LOGICAL DEVICE OUTPUT
7323 $INT10, TOPS10 INITIALIZE LOGICAL OUTPUT
7352 USER MODE CLOSE FILE
*****************************************************************
7378 *STOR* RESERVED STORAGE
*****************************************************************
*****************************************************************
7515 STORAGE -- ZEROED ON STARTUP
*****************************************************************
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2^ DECDOC VER 00.24 19-FEB-79 11:02:49 PAGE 1
SEQ 0029
DOCUMENT
**************
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2^
**************
COPYRIGHT 1979
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASS. 01754
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2^ DECDOC VER 00.24 19-FEB-79 11:02:49 PAGE 2
SEQ 0030
TABLE OF CONTENTS
*******************
23 PARAMETERS
94 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2^ DECDOC VER 00.24 19-FEB-79 11:02:49 PAGE 3
SEQ 0031
14 JOHN R. KIRCHOFF
*****************************************************************
23 PARAMETERS
*****************************************************************
*****************************************************************
94 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK
*****************************************************************
GSCN -- C/--!.$ S#!..%2 I.4%2&!#% &/2 DIAGNOSTICS DECDOC VER 00.24 19-FEB-79 11:01:47 PAGE 1
SEQ 0032
DOCUMENT
**************
GSCN -- Command Scanner Interface for DIAGNOSTICS
**************
COPYRIGHT 1979
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASS. 01754
GSCN -- C/--!.$ S#!..%2 I.4%2&!#% &/2 DIAGNOSTICS DECDOC VER 00.24 19-FEB-79 11:01:47 PAGE 2
SEQ 0033
TABLE OF CONTENTS
*******************
29 Table of Contents
51 Revision History
84 Local Definitions
133 Module Storage
167 S%INIT -- Initialize the GLXSCN Module
180 S%ERR - ERROR TYPEOUT ROUTINE
201 S%CMND -- Scan a command
2118 S%SCMP -- String Comparison Routine
2170 S%TBLK -- Table lookup routine
2297 KEYBOARD INTERFACE
2303 Table of Contents
2329 Revision History
2356 Local Definitions
2370 Module Storage
2389 K%INIT -- Initialization of the Scanning Module
2430 K%RCOC -- Read Character Output Control Table
2462 K%WCOC -- Write Character Output Control table
2485 K%SUET -- Set User Escape Table
2515 K%STYP -- Set terminal type
2614 K%TXTI -- Handle Terminal Input
2671 TXTL -- Loop for inputting text
2758 TTYCHR -- Here to receive 1 character from the TTY
GSCN -- C/--!.$ S#!..%2 I.4%2&!#% &/2 DIAGNOSTICS DECDOC VER 00.24 19-FEB-79 11:01:47 PAGE 3
SEQ 0034
TABLE OF CONTENTS
*******************
2776 Utilities for text handling
2970 SPCHK -- Check for special characters
3000 CCU -- Handle ^U (Rubout entire line)
3028 CCR -- Handle ^R (Re-type the line)
3048 CCDEL -- Handle Rubout (Delete one character)
3079 CCW -- Handle ^W (Delete back to punctuation character)
3103 BEGBUF -- Handle rubouts to beginning of buffer
3116 TYPEBP -- Type a string according to a byte-pointer
3138 GLXCOM -- Common module for Sub-Systems Components
3166 Table of contents
3183 Revision History
3197 Global Storage
3213 .INIT - Initialize the common code
3234 .ZPAGA - .ZPAGN - .ZCHNK -- Zero out memory
3263 .SAVEx Routines -- Save permanent ACS
3311 .SAVET -- Routine to save the temporary ACS
3327 .SVxx -- Routines for saving random ACS
3368 .POPJ, .RETE,.RETT & .RETF -- Common return routines
3389 .AOS, .SOS and .ZERO - Support for INCR,DECR, ZERO
3416 STOP CODE Processor
GSCN -- C/--!.$ S#!..%2 I.4%2&!#% &/2 DIAGNOSTICS DECDOC VER 00.24 19-FEB-79 11:01:47 PAGE 4
SEQ 0035
*****************************************************************
29 Table of Contents
*****************************************************************
*****************************************************************
51 Revision History
*****************************************************************
*****************************************************************
84 Local Definitions
*****************************************************************
*****************************************************************
133 Module Storage
*****************************************************************
*****************************************************************
167 S%INIT -- Initialize the GLXSCN Module
*****************************************************************
*****************************************************************
180 S%ERR - ERROR TYPEOUT ROUTINE
*****************************************************************
*****************************************************************
201 S%CMND -- Scan a command
*****************************************************************
572 * RFPOS
* HRRZ T2,T2
* JUMPE T2,CMRTY2 ;JUMP IF AT LEFT MARGIN
653 ***************************************
***************************************
1120 ***********************
***********************
1606 * IMCALL .IDTNC
1616 * ODCNV ;GET TODAY
* UMOVEM T3,T3
1619 * IMCALL .IDCNV ;CONVERT TO INTERNAL
GSCN -- C/--!.$ S#!..%2 I.4%2&!#% &/2 DIAGNOSTICS DECDOC VER 00.24 19-FEB-79 11:01:47 PAGE 5
SEQ 0036
*****************************************************************
2118 S%SCMP -- String Comparison Routine
*****************************************************************
*****************************************************************
2170 S%TBLK -- Table lookup routine
*****************************************************************
*****************************************************************
2297 KEYBOARD INTERFACE
*****************************************************************
*****************************************************************
2303 Table of Contents
*****************************************************************
*****************************************************************
2329 Revision History
*****************************************************************
*****************************************************************
2356 Local Definitions
*****************************************************************
*****************************************************************
2370 Module Storage
*****************************************************************
*****************************************************************
2389 K%INIT -- Initialization of the Scanning Module
*****************************************************************
*****************************************************************
2430 K%RCOC -- Read Character Output Control Table
*****************************************************************
*****************************************************************
2462 K%WCOC -- Write Character Output Control table
*****************************************************************
GSCN -- C/--!.$ S#!..%2 I.4%2&!#% &/2 DIAGNOSTICS DECDOC VER 00.24 19-FEB-79 11:01:47 PAGE 6
SEQ 0037
*****************************************************************
2485 K%SUET -- Set User Escape Table
*****************************************************************
*****************************************************************
2515 K%STYP -- Set terminal type
*****************************************************************
*****************************************************************
2614 K%TXTI -- Handle Terminal Input
*****************************************************************
*****************************************************************
2671 TXTL -- Loop for inputting text
*****************************************************************
*****************************************************************
2758 TTYCHR -- Here to receive 1 character from the TTY
*****************************************************************
*****************************************************************
2776 Utilities for text handling
*****************************************************************
*****************************************************************
2970 SPCHK -- Check for special characters
*****************************************************************
*****************************************************************
3000 CCU -- Handle ^U (Rubout entire line)
*****************************************************************
*****************************************************************
3028 CCR -- Handle ^R (Re-type the line)
*****************************************************************
*****************************************************************
3048 CCDEL -- Handle Rubout (Delete one character)
*****************************************************************
GSCN -- C/--!.$ S#!..%2 I.4%2&!#% &/2 DIAGNOSTICS DECDOC VER 00.24 19-FEB-79 11:01:47 PAGE 7
SEQ 0038
*****************************************************************
3079 CCW -- Handle ^W (Delete back to punctuation character)
*****************************************************************
*****************************************************************
3103 BEGBUF -- Handle rubouts to beginning of buffer
*****************************************************************
*****************************************************************
3116 TYPEBP -- Type a string according to a byte-pointer
*****************************************************************
*****************************************************************
3138 GLXCOM -- Common module for Sub-Systems Components
*****************************************************************
*****************************************************************
3166 Table of contents
*****************************************************************
*****************************************************************
3183 Revision History
*****************************************************************
*****************************************************************
3197 Global Storage
*****************************************************************
*****************************************************************
3213 .INIT - Initialize the common code
*****************************************************************
*****************************************************************
3234 .ZPAGA - .ZPAGN - .ZCHNK -- Zero out memory
*****************************************************************
*****************************************************************
3263 .SAVEx Routines -- Save permanent ACS
*****************************************************************
GSCN -- C/--!.$ S#!..%2 I.4%2&!#% &/2 DIAGNOSTICS DECDOC VER 00.24 19-FEB-79 11:01:47 PAGE 8
SEQ 0039
*****************************************************************
3311 .SAVET -- Routine to save the temporary ACS
*****************************************************************
*****************************************************************
3327 .SVxx -- Routines for saving random ACS
*****************************************************************
*****************************************************************
3368 .POPJ, .RETE,.RETT & .RETF -- Common return routines
*****************************************************************
*****************************************************************
3389 .AOS, .SOS and .ZERO - Support for INCR,DECR, ZERO
*****************************************************************
*****************************************************************
3416 STOP CODE Processor
*****************************************************************
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 1
SMFILE MAC 19-Feb-79 10:46 SEQ 0040
1 ;MAINDEC-10-SMFILE
2
3 000000 MCNVER=0
4 000003 DECVER=3
5
6 XLIST
7 LIST
8 LALL
9
10 NAME \MCNVER,\DECVER^
11
12 TITLE SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3^
13
14 000137 LOC 137
15 000137 000000 000003 MCNVER,,DECVER
16 000000' RELOC
17
18 ;*COPYRIGHT 1978,1979
19 ;*DIGITAL EQUIPMENT CORPORATION
20 ;*MARLBORO, MASS. 01752
21
22 ;*JOHN R. KIRCHOFF
23
24 NOSYM
25 SEARCH MONSYM,MACSYM
26 .REQUI SYS:MACREL
27 .REQUI SYS:MONSYM ;FOR DDT
28
29 INTERN $CCLIN
30 EXTERN K%INIT,S%INIT,S%CMND,S%ERR
31
32 EXTERN SMPREB ;START ADDRESS OF DIAGNOSTIC PRE-BOOT
33 EXTERN SMPEND ;END ADDRESS OF DIAGNOSTIC PRE-BOOT
34
35 IF2,<PRINTX [STARTING PASS 2]>
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 2
SMFILE MAC 19-Feb-79 10:46 PARAMETERS SEQ 0041
36 SUBTTL PARAMETERS
37
38 DEFINE S,<;*********************************************************************>
39
40 S^;*********************************************************************^
41 ;*DATA SWITCHES
42 S^;*********************************************************************^
43
44 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
45 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (DSK IN USER MODE)
46
47 ;*AC USE
48
49 000001 T1=1 ;TEMPS
50 000002 T2=2
51 000003 T3=3
52 000004 T4=4
53 000005 T5=5
54 000006 T6=6
55 000007 T7=7
56 000010 AC10=10
57 000011 AC11=11
58 000012 AC12=12
59 000013 AC13=13
60 000014 STPNTR=14 ;STBUF STORE POINTER
61 000015 FP=15 ;STACK FRAME POINTER
62 000016 CX=16 ;CALL/RETURN TEMP
63 000016 T16=16
64 000017 P=17
65
66 000001 A= 1
67 000002 B= 2
68 000003 C= 3
69 000004 D= 4
70
71 000000 AC0= 0
72 000001 AC1= 1
73 000002 AC2= 2
74 000003 AC3= 3
75 000004 AC4= 4
76 000005 AC= 5
77 000006 CHR= 6
78 000007 CHR1= 7
79 000010 LP= 10 ;LINE CHAR POINTER
80 000015 CNT= 15
81 000016 INDX= 16
82 000001 BYTE= 1
83 000013 P1= 13
84 000014 P2= 14
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 3
SMFILE MAC 19-Feb-79 10:46 PARAMETERS SEQ 0042
85 ;*FE-FILE DIRECTORY DEFINTIONS
86
87 400000 FEDIR=400000 ;FE-DIR PAGE
88
89 000000 FSP= 0 ;FREE SPACE POINTER
90 000001 FSL= 1 ;FREE SPACE PAGE #,,LENGTH
91
92 000002 MCP= 2 ;MICROCODE POINTER
93 000003 MCL= 3 ;MICROCODE PAGE #,,LENGTH
94
95 000004 MPBP= 4 ;MONITOR PRE-BOOT POINTER
96 000005 MPBL= 5 ;MONITOR PRE-BOOT PAGE #,,LENGTH
97
98 000006 DPBP= 6 ;DIAGNOSTIC PRE-BOOT POINTER
99 000007 DPBL= 7 ;DIAGNOSTIC PRE-BOOT PAGE #,,LENGTH
100
101 000010 BC1P= 10 ;BOOTCHECK 1 POINTER
102 000011 BC1L= 11 ;BOOTCHECK 1 PAGE #,,LENGTH
103
104 000012 BCKP= 12 ;BOOTCHECK 2 PRE-BOOT POINTER
105 000013 BCKL= 13 ;BOOTCHECK 2 PRE-BOOT PAGE #,,LENGTH
106
107 000014 MBOOTP= 14 ;MONITOR BOOT POINTER
108 000015 MBOOTL= 15 ;MONITOR BOOT PAGE #,,LENGTH
109
110 000016 DBP= 16 ;DIAGNOSTIC BOOT POINTER
111 000017 DBOOTL= 17 ;DIAGNOSTIC BOOT PAGE #,,LENGTH
112
113 000020 BCHKP= 20 ;BOOTCHECK 2 POINTER
114 000021 BCHKL= 21 ;BOOTCHECK 2 PAGE #,,LENGTH
115
116 000022 IFP0= 22 ;INDIRECT FILE 0 POINTER
117 000023 IFL0= 23 ;INDIRECT FILE 0 PAGE #,,LENGTH
118
119 401000 CRAM= 401000 ;CRAM STORAGE, 12 PAGES WORTH
120
121 415000 MPREBP= 415000 ;MONITOR PRE-BOOT PAGE
122 416000 DPREBP= 416000 ;DIAGNOSTIC PRE-BOOT PAGE
123
124 417000 CRMBC1= 417000 ;BOOTCHECK 1 STORAGE, 12 PAGES WORTH
125
126 433000 BCPREBP=433000 ;BOOTCHECK 2 PRE-BOOT PAGE
127
128 434000 WINDOW= 434000 ;WINDOW PAGE
129
130 435000 GENPAG= 435000 ;
131
132 436000 HOMPAG= 436000 ;HOME BLOCKS READ INTO HERE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 4
SMFILE MAC 19-Feb-79 10:46 PARAMETERS SEQ 0043
133 S^;*********************************************************************^
134 ;*OPERATOR DEFINITIONS (NON-UUO'S)
135 S^;*********************************************************************^
136
137 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL
138 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN
139 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST
140 262740 000000 OPDEF GETIT [POP P,] ;GET DATA FROM PUSH LIST
141 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S
142
143 S^;*********************************************************************^
144 ;*SUBROUTINE INITIALIZATION CALL
145 S^;*********************************************************************^
146
147 265000 016626' OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION
148
149 S^;*********************************************************************^
150 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
151 S^;*********************************************************************^
152
153 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT
154 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT
155
156 S^;*********************************************************************^
157 ;*TERMINAL INPUT UUO'S
158 S^;*********************************************************************^
159
160 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER
161 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y
162 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N
163 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD
164 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD
165 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD
166 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK
167 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK
168 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD
169 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT
170 037500 000003 OPDEF TTICLR [37B8!12B12!3] ;TTY, CLEAR INPUT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 5
SMFILE MAC 19-Feb-79 10:46 PARAMETERS SEQ 0044
171 S^;*********************************************************************^
172 ;*TERMINAL OUTPUT UUO'S.
173 S^;*********************************************************************^
174
175 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD
176 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED
177 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE
178 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED
179 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE
180 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED
181 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE
182 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED
183 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE
184 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED
185 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE
186 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED
187 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER
188 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED
189 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT
190 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED
191 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS
192 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED
193 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS
194 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED
195 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS
196 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED
197 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS
198 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED
199 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS
200 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED
201 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS
202 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED
203 037400 000000 OPDEF PNT8 [37B8!10B12!0] ;PRINT 8 OCTAL DIGITS
204 037400 000001 OPDEF PNT8F [37B8!10B12!1] ;PRINT 8 OCTAL DIGITS FORCED
205 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS
206 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED.
207 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS
208 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED
209 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL
210 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED
211 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6
212 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
213 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S
214 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
215 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S
216 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
217 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S
218 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 6
SMFILE MAC 19-Feb-79 10:46 PARAMETERS SEQ 0045
219 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME
220 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD
221 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED
222 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE
223 037000 000063' OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
224 037040 000063' OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
225 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE
226 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED
227 037040 000040 OPDEF PSPACE [37B8!1B12!40] ;PRINT SPACE FORCED
228 037040 000011 OPDEF PTAB [37B8!1B12!11] ;PRINT TAB FORCED
229 037000 000064' OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
230 037040 000064' OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
231 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL
232
233 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE
234
235 DEFINE PMSG (ARG),<
236 PSIXM [SIXBIT\ARG'_\]>
237
238 DEFINE PMSGF (ARG),<
239 PSIXMF [SIXBIT\ARG'_\]>
240
241 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
242 ;* CONSERVES CORE OVER ASCIZ
243
244 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]>
245
246 S^;*********************************************************************^
247 ;*END OF PASS/PROGRAM UUOS
248 S^;*********************************************************************^
249
250 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS
251 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 7
SMFILE MAC 19-Feb-79 10:46 STANDARD PROGRAM ASSIGNMENTS SEQ 0046
252 SUBTTL STANDARD PROGRAM ASSIGNMENTS
253
254 S^;*********************************************************************^
255 ;*PDP-10 STANDARD PC CONTROL FLAGS (SAVED ON PUSHJ, JSR, ETC..)
256 S^;*********************************************************************^
257
258 400000 AROV== 400000 ;ARITHMETIC OVERFLOW
259 200000 CRY0== 200000 ;CARRY 0
260 100000 CRY1== 100000 ;CARRY 1
261 040000 FOV== 40000 ;FLOATING POINT OVERFLOW
262 020000 BIS== 20000 ;BYTE INTERRUPT
263 010000 USERF== 10000 ;USER MODE
264 004000 EXIOT== 4000 ;USER PRIV I/O
265 000100 FXU== 100 ;FLOATING POINT UNDERFLOW
266 000040 DCK== 40 ;DIVIDE CHECK
267
268 S^;*********************************************************************^
269 ;*PDP-10 STANDARD ADDRESS ASSIGNMENTS
270 S^;*********************************************************************^
271
272 000040 LUUO== 40 ;UUO STORAGE, UUO 1-37
273 000041 LUUOI== 41 ;UUO SERVICE INSTRUCTION
274
275 S^;*********************************************************************^
276 ;*JOB DATA AREA EXTERNALS (OLD DEFINITIONS)
277 S^;*********************************************************************^
278
279 000040 JOBUUO==40
280 000041 JOB41== 41
281 000044 JOBREL==44
282 000074 JOBDDT==74
283 000116 JOBSYM==116
284 000117 JOBUSY==117
285 000120 JOBSA== 120
286 000121 JOBFF== 121
287 000124 JOBREN==124
288 000125 JOBAPR==125
289 000126 JOBCNI==126
290 000127 JOBTPC==127
291 000130 JOBOPC==130
292 000137 JOBVER==137
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 8
SMFILE MAC 19-Feb-79 10:46 STANDARD PROGRAM ASSIGNMENTS SEQ 0047
293 S^;*********************************************************************^
294 ;*JOB DATA AREA EXTERNALS (NEW DEFINITIONS)
295 S^;*********************************************************************^
296
297 000040 .JBUUO==40
298 000041 .JB41== 41
299 000044 .JBREL==44
300 000074 .JBDDT==74
301 000116 .JBSYM==116
302 000117 .JBUSY==117
303 000120 .JBSA== 120
304 000121 .JBFF== 121
305 000124 .JBREN==124
306 000125 .JBAPR==125
307 000126 .JBCNI==126
308 000127 .JBTPC==127
309 000130 .JBOPC==130
310 000137 .JBVER==137
311
312 S^;*********************************************************************^
313 ;*USER MODE APR ASSIGNMENTS (FOR "APRENB" CALL)
314 S^;*********************************************************************^
315
316 200000 PDLOVU==200000 ;PUSHDOWN LIST OVERFLOW
317 020000 MPVU== 20000 ;MEMORY PROTECTION VIOLATION
318 010000 NXMU== 10000 ;NON-X-MEMORY
319 004000 PARU== 4000 ;PARITY ERROR
320 001000 CLKU== 1000 ;CLOCK
321 000100 FOVU== 100 ;FLOATING OVERFLOW
322 000010 AROVU== 10 ;ARITHMETIC OVERFLOW
323
324 S^;*********************************************************************^
325 ;*USER MODE PRINT OUTPUT CHANNEL ASSIGNMENTS (FOR SUBROUTINE PACKAGE)
326 ;*THE USER SHOULD BE CAUTIONED NOT TO USE THESE CHANNELS WHEN
327 ;*USING THE SUBROUTINE PACKAGE AND CODING USER MODE PROGRAMS.
328 S^;*********************************************************************^
329
330 000017 $DEVCH==17 ;LOGICAL DEVICE CHANNEL
331
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 9
SMFILE MAC 19-Feb-79 10:46 MACROS SEQ 0048
332 SUBTTL MACROS
333
334 DEFINE SCMTAB(NAME),<
335 NAME: XWD L.'NAME,L.'NAME
336
337 DEFINE ECMTAB,<
338 L.'NAME==.-NAME-1
339 >
340 >
341
342 DEFINE CMTAB(CMD,ADR),<
343 [ASCIZ "CMD"],,ADR
344 >
345
346 DEFINE CMABR(ABBR,REST,ADDR),<
347 [ASCIZ "ABBR"],,[ TLNN T1,(CM%ESC)
348 JRST ADDR
349 HRROI T1,[ASCIZ "REST "]
350 SKIPN MONTYP
351 JRST [HRRZ 1,1
352 OUTSTR @1
353 JRST ADDR]
354 PSOUT
355 JRST ADDR]
356 >
357
358 DEFINE CMD(FUNC,ERR,%A),<
359 %A:! XLIST
360 IFNB <ERR>,<
361 MOVEI T1,[ASCIZ "ERR"]
362 MOVEM T1,CMDMSG
363 >
364 IFB <ERR>,<
365 SETZM CMDMSG
366 >
367 MOVEI T1,CSB
368 MOVEI T2,FUNC
369 SKIPN MONTYP
370 JRST [GO S%CMND
371 JRST .+3]
372 COMND
373 ERJMP [PUSH P,[%A]
374 JRST CMJERR]
375 TLNE T1,(CM%NOP)
376 GO CMDERR
377 LIST
378 >
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 10
SMFILE MAC 19-Feb-79 10:46 MACROS SEQ 0049
379 DEFINE NOISE(TEXT),<
380 CMD [FLDDB.(.CMNOI,,<-1,,[ASCIZ "TEXT"]>)],<EXPECTING TEXT>
381 >
382 DEFINE CMDNOP(FUNC,ERR,%A),<
383 %A:! XLIST
384 IFNB <ERR>,<
385 MOVEI T1,[ASCIZ "ERR"]
386 MOVEM T1,CMDMSG
387 >
388 IFB <ERR>,<
389 SETZM CMDMSG
390 >
391 MOVEI T1,CSB
392 MOVEI T2,FUNC
393 SKIPN MONTYP
394 JRST [GO S%CMND
395 JRST .+3]
396 COMND
397 ERJMP [PUSH P,[%A]
398 JRST CMJERR]
399 TLNE T1,(CM%NOP)
400 LIST
401 >
402
403 DEFINE ERR(TEXT),<
404 GO [HRROI T1,[ASCIZ "TEXT"]
405 JRST ERR%]
406 >
407
408 DEFINE WARN(TEXT),<
409 MOVEI [ASCIZ "
410 % TEXT
411 "]
412 PNTALF
413 >
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 11
SMFILE MAC 19-Feb-79 10:46 MACROS SEQ 0050
414 DEFINE MOVSLJ(AC,E),<
415 EXTEND AC,[EXP <016B8+<Z E>>]
416 >
417
418 DEFINE MOVST(AC,E),<
419 EXTEND AC,[EXP <015B8+<Z E>>]
420 >
421
422 260740 000623' OPDEF CONFIRM [GO CFMCMD]
423
424 DEFINE OP$$AC(OP,ACLST),<
425 XLIST
426 IRP ACLST,<
427 OP P,ACLST
428 >
429 LIST
430 >
431
432 DEFINE SAVEAC,<
433 OP$$AC PUSH,<T1,T2,T3,T4,T5,T6,FP,CX>
434 >
435
436 DEFINE RESTAC,<
437 OP$$AC POP,<CX,FP,T6,T5,T4,T3,T2,T1>
438 >
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 12
SMFILE MAC 19-Feb-79 10:46 PROGRAM PARAMETERS SEQ 0051
439 SUBTTL PROGRAM PARAMETERS
440
441 S^;*********************************************************************^
442 ;*PROGRAM VARIABLE PARAMETER AREA
443 S^;*********************************************************************^
444
445 000000' 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG
446 000001' 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10
447 000002' 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
448 000003' 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG
449 000004' 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG
450 000005' 000000 000000 MONTEN: 0 ;-1= LOADED BY 10
451 000006' 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS
452 000007' 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT
453 000010' 000000 000000 ITRCNT: 0 ;PROGRAM ITERATION COUNT
454 000011' 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG
455 000012' 000000 000000 TESTPC: 0 ;SUBTEST PC
456 000013' 000000 000000 ERRPC: 0 ;ERROR PC
457 000014' 000000 000000 ERRTLS: 0 ;ERROR TOTALS
458 000015' 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG
459
460 S^;*********************************************************************^
461 ;*SPECIAL PROGRAM DISPATCH ADDRESSES
462 S^;*********************************************************************^
463
464 000016' CPOPJ1: ;SKIP RETURN
465 000016' 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO
466 000017' CPOPJ: ;NON-SKIP REGULAR RETURN
467 000017' 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN
468 000020' 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX)
469
470 S^;*********************************************************************^
471 ;*PROCESSOR CONTROL STORAGE
472 S^;*********************************************************************^
473
474 000021' 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0
475
476 000022' 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO
477 000023' 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 13
SMFILE MAC 19-Feb-79 10:46 PROGRAM PARAMETERS SEQ 0052
478 S^;*********************************************************************^
479 ;*UUO DISPATCH TABLE
480 S^;*********************************************************************^
481 XLIST
482 LIST
483 000024' 000020' 000020' UUODIS: LUUO1,,$UUOER
484 000025' 000020' 000020' LUUO3,,LUUO2
485 000026' 000020' 000020' LUUO5,,LUUO4
486 000027' 000020' 000020' LUUO7,,LUUO6
487 000030' 000020' 000020' LUUO11,,LUUO10
488 000031' 000020' 000020' LUUO13,,LUUO12
489 000032' 000020' 000020' LUUO15,,LUUO14
490 000033' 000020' 000020' LUUO17,,LUUO16
491 000034' 000020' 000020' LUUO21,,LUUO20
492 000035' 000020' 000020' LUUO23,,LUUO22
493 000036' 000020' 000020' LUUO25,,LUUO24
494 000037' 000020' 000020' LUUO27,,LUUO26
495 000040' 000020' 000020' LUUO31,,LUUO30
496 000041' 000020' 000020' LUUO33,,LUUO32
497
498 S^;*********************************************************************^
499 ;*PRINT CONTROL STORAGE
500 S^;*********************************************************************^
501
502 000042' 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
503 000043' 000000 000000 PNTENB: 0 ;PRINT ENABLE
504 000044' 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG
505 000045' 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS
506 000046' 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL
507 000047' 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME
508 000050' 000000 000000 $TWCNT: 0 ;TIME WAITED
509 000051' 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG
510 000052' 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR
511 000053' 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR
512 000054' 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER
513 000055' 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG
514 000056' 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG
515 000057' 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG
516 000060' 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG
517 000061' 000000 000000 USRLFF: 0 ;USER LF FILLERS
518 000062' 000000 000000 USRCRF: 0 ;USER CR FILLERS
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 14
SMFILE MAC 19-Feb-79 10:46 PROGRAM PARAMETERS SEQ 0053
519
520 000063' CRLF: ASCII/
521 000063' 015 012 000 000 000 /
522 000064' CRLF2: ASCII/
523
524 000064' 015 012 015 012 000 /
525 000065' 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX
526 000066' 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR
527 000067' 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT
528
529 S^;*********************************************************************^
530 ;*USER MODE OUTPUT FILE INFORMATION
531 S^;*********************************************************************^
532
533 000070' $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER
534 000073' 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME
535 000074' 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION
536 000075' BLOCK 2
537
538 S^;*********************************************************************^
539 ;*PUSHDOWN LIST CONTROL INFORMATION
540 S^;*********************************************************************^
541
542 000077' 777577 000077' PLIST: PLIST-PLISTE,,PLIST
543 000100' PLISTS: BLOCK 200
544 000300' 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST
545
546 S^;*********************************************************************^
547 ;*NUMBER INPUT DIGIT FLAG
548 S^;*********************************************************************^
549
550 000301' 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED
551
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 15
SMFILE MAC 19-Feb-79 10:46 PROGRAM PARAMETERS SEQ 0054
552 S^;*********************************************************************^
553 ;*USER MODE MONITOR TYPE FLAG
554 S^;*********************************************************************^
555
556 000302' 000000 000000 MONTYP: 0 ;0 = TOPS10, -1 = TOPS20
557
558 S^;*********************************************************************^
559 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
560 S^;*********************************************************************^
561
562 000303' 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
563
564 S^;*********************************************************************^
565 ;*"SWITCH" CALL USAGE CONTROL
566 S^;*********************************************************************^
567
568 000304' 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
569
570 S^;*********************************************************************^
571 ;*SM10 (KS-10) PROCESSOR TYPE FLAG
572 S^;*********************************************************************^
573
574 000305' 000000 000000 SM10: 0 ;IF -1 THIS IS A KS-10
575
576 SALL
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 16
SMFILE MAC 19-Feb-79 10:46 FIXED DATABASE SEQ 0055
577 SUBTTL FIXED DATABASE
578
579 000306' 254 00 0 00 000345' EV: JRST START
580 000307' 254 00 0 00 000537' JRST REEN
581 000310' 000000 000003 MCNVER,,DECVER
582
583 000311' 123 115 106 111 114 PROMPT: ASCIZ "SMFILE>"
584 000312' 105 076 000 000 000
585
586 000313' 000000 000000 CMDFNC: FLDDB. (.CMKEY,,MAINCM)
587 000314' 000000 000315'
588 000315' 000023 000023 SCMTAB MAINCM
589
590 000316' 012650' 012656' CMABR D,EPOSIT,DEP
591 000317' 012665' 012670' CMABR DE,OSIT,DEP
592 000320' 012677' 001074' CMTAB DEBUG,SETDEB
593 000321' 012701' 001176' CMTAB DEPOSIT,DEP
594
595 000322' 012703' 012711' CMABR E,XAMINE,EXAM
596 000323' 012720' 001143' CMTAB ECHO,ECHO
597 000324' 012721' 012726' CMABR EX,IT,.EXIT
598 000325' 012735' 001324' CMTAB EXAMINE,EXAM
599 000326' 012737' 001421' CMTAB EXIT,.EXIT
600
601 000327' 012740' 001440' CMTAB HELP,HELP
602
603 000330' 012741' 000664' CMTAB INFORMATION,INFORM
604
605 000331' 012744' 010230' CMTAB OUTPUT,OUTX
606
607 000332' 012746' 001022' CMTAB PUSH,PUSHCM
608
609 000333' 012747' 005215' CMTAB RDBC1,RDBC1
610 000334' 012751' 005217' CMTAB READ,READ
611
612 000335' 012752' 001252' CMTAB SERIAL,SERIAL
613
614 000336' 012754' 011405' CMTAB TAKE,TAKE
615 000337' 012755' 004621' CMTAB TYPE,.TYPE
616
617 000340' 012756' 001526' CMTAB WRITE,WRITE
618
619 ECMTAB
620
621 000341' 014000 000000 INIT: FLDDB. .CMINI
622 000342' 000000 000000
623 000343' 010000 000000 CFM: FLDDB. .CMCFM
624 000344' 000000 000000
625
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 17
SMFILE MAC 19-Feb-79 10:46 INIT PROGRAM SEQ 0056
626 SUBTTL INIT PROGRAM
627
628 000345' 265 00 0 00 016626' START: PGMINT
629
630 000346' 402 00 0 00 000046' SETZM PNTSPC ;NO SPACES AFTER NUMBERS
631 000347' 201 16 0 00 000001 MOVEI 16,1 ;CLEAR AC'S
632 000350' 403 00 0 00 021144' SETZB 0,FIRZER ;AND LOW CORE
633 000351' 251 16 0 00 000016 BLT 16,16
634 000352' 200 01 0 00 012760' MOVE T1,[FIRZER,,FIRZER+1]
635 000353' 251 01 0 00 021433' BLT T1,ENDZER ;ZAP!
636
637 000354' 200 01 0 00 012761' MOVE T1,[.PRIIN,,.PRIOU]
638 000355' 202 01 0 00 016373' MOVEM T1,CSB+.CMIOJ
639
640 000356' 332 00 0 00 000302' SKIPE MONTYP
641 000357' 254 00 0 00 000367' JRST START1
642
643 OUTSTR [ASCIZ/[FOR HELP TYPE "HELP"]
644 000360' 051 03 0 00 012762' /]
645 000361' 260 17 0 00 012465' GO CONCIN ;INIT ^C INTERRUPT
646 000362' 260 17 0 00 000000* GO S%INIT ;INIT SCANNING MODULE
647 000363' 260 17 0 00 000000* GO K%INIT ;INIT KEYBOARD MODULE
648 000364' 260 17 0 00 000522' GO T$INT ;INIT SPECIAL SUBRTN INPUT
649 000365' 260 17 0 00 012444' GO INTCOR ;INIT CORE FOR CRAM STORE
650 000366' 254 00 0 00 000541' JRST NEXT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 18
SMFILE MAC 19-Feb-79 10:46 INIT PROGRAM SEQ 0057
651 START1: TMSG <[FOR HELP TYPE "HELP"]
652 000367' 561 01 0 00 012762' >
653 000370' 104 00 0 00 000076
654 000371' 201 01 0 00 400000 MOVEI T1,.FHSLF
655 000372' 104 00 0 00 000150 RPCAP ;GET CURRENT CAPABILITIES
656 000373' 320 16 0 00 012772' ERMSG <RPCAP FAILED>
657 000374' 661 03 0 00 600000 TLO T3,(SC%CTC+SC%GTB)
658 000375' 104 00 0 00 000151 EPCAP
659 000376' 320 16 0 00 013000' ERMSG <EPCAP FAILED>
660
661 000377' 201 01 0 00 400000 MOVEI T1,.FHSLF ;THIS FORK
662 000400' 200 02 0 00 013003' MOVE T2,[LEVTAB,,CHNTAB]
663 000401' 104 00 0 00 000125 SIR
664 000402' 320 16 0 00 013015' ERMSG <CAN NOT SET ADDRESS OF LEVTAB AND CHNTAB>
665
666 000403' 200 01 0 00 013020' MOVE T1,[.TICCX,,^D30]
667 000404' 104 00 0 00 000137 ATI
668 000405' 320 16 0 00 013027' ERMSG <CAN NOT ENABLE CONTROL-X>
669
670 000406' 200 01 0 00 013032' MOVE T1,[.TICCC,,^D31]
671 000407' 104 00 0 00 000137 ATI
672 000410' 320 16 0 00 013041' ERMSG <CAN NOT ENABLE CONTROL-C>
673
674 000411' 200 01 0 00 013044' MOVE T1,[.TICCZ,,^D32]
675 000412' 104 00 0 00 000137 ATI
676 000413' 320 16 0 00 013053' ERMSG <CAN NOT ENABLE CONTROL-Z>
677
678 000414' 200 01 0 00 013056' MOVE T1,[.TICCT,,^D33]
679 000415' 104 00 0 00 000137 ATI
680 000416' 320 16 0 00 013065' ERMSG <CAN NOT ENABLE CONTROL-T>
681
682 000417' 200 01 0 00 013070' MOVE T1,[.TICCo,,^D34]
683 000420' 104 00 0 00 000137 ATI
684 000421' 320 16 0 00 013077' ERMSG <CAN NOT ENABLE CONTROL-o>
685
686 000422' 201 01 0 00 400000 MOVEI T1,.FHSLF
687 000423' 201 02 0 00 200076 MOVEI T2,1B19+1B30+1B31+1B32+1B33+1b34
688 000424' 104 00 0 00 000131 AIC
689 000425' 320 16 0 00 013105' ERMSG <AIC FAILED>
690
691 000426' 104 00 0 00 000126 EIR
692 000427' 320 16 0 00 013113' ERMSG <EIR FAILED>
693
694 000430' 254 00 0 00 000541' JRST NEXT ;JOIN MAIN LOOP
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 19
SMFILE MAC 19-Feb-79 10:46 MAIN LOOP SEQ 0058
695 SUBTTL MAIN LOOP
696
697 000431' 336 00 0 00 000302' CMDERR: SKIPN MONTYP
698 000432' 254 00 0 00 000462' JRST CMDE10
699 000433' 261 17 0 00 000002 PUSH P,T2
700 000434' 201 01 0 00 400000 MOVEI T1,.FHSLF
701 000435' 104 00 0 00 000012 GETER
702 000436' 320 16 0 00 013123' ERMSG <CMDERR: GETER FAILED>
703 000437' 621 02 0 00 777777 TLZ T2,-1
704 000440' 306 02 0 00 600416 CAIN T2,IFIXX3
705 JRST [POP P,T2
706 000441' 254 00 0 00 013126' RET]
707
708 000442' 336 00 0 00 021155' SKIPN CMDMSG
709 000443' 254 00 0 00 000451' JRST .+6
710
711 HRROI T1,[ASCIZ "
712 000444' 561 01 0 00 013130' ?COMMAND ERROR: "]
713 000445' 104 00 0 00 000076 PSOUT
714 000446' 560 01 0 00 021155' HRRO T1,CMDMSG
715 000447' 104 00 0 00 000076 PSOUT
716 000450' 254 00 0 00 000537' JRST REEN
717
718 HRROI T1,[ASCIZ "
719 000451' 561 01 0 00 013134' ?JSYS ERROR: "]
720 000452' 104 00 0 00 000076 PSOUT
721 000453' 201 01 0 00 000101 MOVEI T1,.PRIOU
722 000454' 525 02 0 00 400000 HRLOI T2,.FHSLF
723 000455' 201 03 0 00 000000 MOVEI T3,0
724 000456' 104 00 0 00 000011 ERSTR
725 000457' 320 16 0 00 000457' ERJMP .
726 000460' 320 16 0 00 000460' ERJMP .
727 000461' 254 00 0 00 000537' JRST REEN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 20
SMFILE MAC 19-Feb-79 10:46 MAIN LOOP SEQ 0059
728
729 000462' 336 00 0 00 021155' CMDE10: SKIPN CMDMSG
730 000463' 254 00 0 00 000470' JRST .+5
731 000464' 051 03 0 00 013140' OUTSTR [ASCIZ/?COMMAND ERROR: /]
732 000465' 051 03 1 00 021155' OUTSTR @CMDMSG
733 OUTSTR [ASCIZ/
734 000466' 051 03 0 00 013144' /]
735 000467' 254 00 0 00 000537' JRST REEN
736 000470' 260 17 0 00 000000* GO S%ERR ;REPORT SCANNER ERROR
737 000471' 254 00 0 00 000537' JRST REEN
738
739 000472' 336 00 0 00 000302' ERR%: SKIPN MONTYP
740 000473' 254 00 0 00 000505' JRST ERR%10
741 000474' 104 00 0 00 000313 ESOUT
742 000475' 561 01 0 00 013145' TMSG < - ERROR AT PC >
743 000476' 104 00 0 00 000076
744 000477' 550 00 0 17 000000 HRRZ (P)
745 000500' 370 00 0 00 000000 SOS
746 000501' 037 17 0 00 000003 PNTOCF
747 TMSG <
748 000502' 561 01 0 00 013144' >
749 000503' 104 00 0 00 000076
750 000504' 254 00 0 00 000537' JRST REEN
751 000505' 051 13 0 00 000000 ERR%10: TTCALL 13,0
752 000506' 255 00 0 00 000000 JFCL
753 000507' 550 01 0 00 000001 HRRZ 1,1
754 000510' 051 03 0 00 013151' OUTSTR [ASCIZ/?/]
755 000511' 051 03 1 00 000001 OUTSTR @1
756 000512' 051 03 0 00 013145' OUTSTR [ASCIZ/ - ERROR AT PC /]
757 000513' 550 00 0 17 000000 HRRZ (P)
758 000514' 370 00 0 00 000000 SOS
759 000515' 037 17 0 00 000003 PNTOCF
760 OUTSTR [ASCIZ/
761 000516' 051 03 0 00 013144' /]
762 000517' 051 11 0 00 000000 CLRBFI
763 000520' 402 00 0 00 005403' SETZM CCBLK+2
764 000521' 254 00 0 00 000537' JRST REEN
765
766 000522' 200 00 0 00 013152' T$INT: MOVE [GO $$TT0]
767 000523' 202 00 0 00 017246' MOVEM $$$TT0
768 000524' 200 00 0 00 013153' MOVE [GO $$TT1]
769 000525' 202 00 0 00 017317' MOVEM $$$TT1
770 000526' 263 17 0 00 000000 RTN
771
772 000527' 051 00 0 00 000052' $$TT0: INCHRW $TTCHR
773 000530' 200 00 0 00 000052' MOVE $TTCHR
774 000531' 302 00 0 00 000032 CAIE "Z"-100
775 000532' 037 12 0 00 000000 PNTCHR
776 000533' 263 17 0 00 000000 RTN
777
778 000534' 051 00 0 00 000000 $$TT1: INCHRW
779 000535' 037 12 0 00 000000 PNTCHR
780 000536' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 21
SMFILE MAC 19-Feb-79 10:46 MAIN LOOP SEQ 0060
781 000537' 200 01 0 00 012761' REEN: MOVE T1,[.PRIIN,,.PRIOU]
782 000540' 202 01 0 00 016373' MOVEM T1,CSB+.CMIOJ
783
784 000541' 402 00 0 00 021160' NEXT: SETZM CTADR
785 000542' 561 01 0 00 016423' HRROI T1,CMDBUF
786 000543' 202 01 0 00 016375' MOVEM T1,CSB+.CMBFP
787 000544' 202 01 0 00 016376' MOVEM T1,CSB+.CMPTR
788 000545' 201 01 0 00 000372 MOVEI T1,^D250
789 000546' 202 01 0 00 016377' MOVEM T1,CSB+.CMCNT
790 000547' 202 01 0 00 016402' MOVEM T1,CSB+.CMABC
791 000550' 561 01 0 00 016505' HRROI T1,ATOM
792 000551' 202 01 0 00 016401' MOVEM T1,CSB+.CMABP
793
794 000552' CMD INIT
795
796 000563' 200 17 0 00 000077' PARSE: MOVE P,PLIST
797 000564' 201 01 0 00 012645' MOVEI T1,PARSET
798 000565' 202 01 0 00 021160' MOVEM T1,CTADR
799
800 000566' CMD CMDFNC,<NOT A VALID COMMAND>
801
802 000600' 402 00 0 00 021160' SETZM CTADR
803 000601' 550 04 0 02 000000 HRRZ T4,(T2) ;GET DISPATCH ADDRESS
804 000602' 260 17 0 04 000000 GO (T4) ;PROCESS COMMAND
805
806 000603' 254 00 0 00 000541' JRST NEXT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 22
SMFILE MAC 19-Feb-79 10:46 MAIN LOOP SEQ 0061
807 ;*HERE ON AN ERROR FROM COMMAND JSYS
808
809 000604' 201 01 0 00 400000 CMJERR: MOVEI T1,.FHSLF
810 000605' 104 00 0 00 000012 GETER
811 000606' 320 16 0 00 013175' ERMSG <GETER FAILED>
812 000607' 621 02 0 00 777777 TLZ T2,-1
813 000610' 302 02 0 00 600220 CAIE T2,IOX4
814 000611' 260 17 0 00 000000* CALL JSHLT0
815
816 000612' EOCF: MOVEI [ASCIZ "
817 [END OF COMMAND FILE]
818 000612' 201 00 0 00 013200' SMFILE>"]
819 000613' 037 17 0 00 000001 PNTALF
820 000614' 554 01 0 00 016373' HLRZ T1,CSB+.CMIOJ
821 000615' 104 00 0 00 000022 CLOSF
822 000616' 260 17 0 00 013215' ERR <CAN NOT CLOSE COMMAND FILE>
823 000617' 200 01 0 00 012761' MOVE T1,[.PRIIN,,.PRIOU]
824 000620' 202 01 0 00 016373' MOVEM T1,CSB+.CMIOJ
825 000621' 402 00 0 00 021165' SETZM INTAKE
826 000622' 263 17 0 00 000000 RTN
827
828 ;*COMMAND PARSER SUBROUTINES
829
830 000623' CFMCMD: CMD CFM,<MUST END LINE WITH RETURN>
831 000635' 554 01 0 00 016373' HLRZ T1,CSB+.CMIOJ
832 000636' 306 01 0 00 000100 CAIN T1,.PRIIN
833 000637' 254 00 0 00 000644' JRST CFMCM1
834 000640' 201 00 0 00 016423' MOVEI CMDBUF
835 000641' 335 00 0 00 016573' SKIPGE ECOFLG
836 000642' 037 17 0 00 000001 PNTALF
837 000643' 263 17 0 00 000000 RET
838 000644' 201 00 0 00 016423' CFMCM1: MOVEI CMDBUF
839 000645' 332 00 0 00 000051' SKIPE $DVOFF ;LOGGING ?
840 000646' 037 17 0 00 000000 PNTAL
841 000647' 263 17 0 00 000000 RTN
842
843 000650' 200 12 0 00 013232' SIXOUT: MOVE AC12,[POINT 6,AC11]
844 000651' 201 13 0 00 000006 MOVEI AC13,6
845 000652' 134 00 0 00 000012 ILDB AC12
846 000653' 271 00 0 00 000040 ADDI 40
847 000654' 037 12 0 00 000001 PNTCHF
848 000655' 367 13 0 00 000652' SOJG AC13,.-3
849 000656' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 23
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- INFORMATION SEQ 0062
850 SUBTTL COMMANDS -- INFORMATION
851
852 000657' 000004 000004 SCMTAB INFO
853 000660' 013233' 000753' CMTAB DISK,IDISK
854 000661' 013234' 000717' CMTAB FEFILE,IFEFILE
855 000662' 013236' 000703' CMTAB FREE,IFREE
856 000663' 013237' 004760' CMTAB INDIRECT,FETELL
857 ECMTAB
858
859 000664' INFORM: CMD [FLDDB.(.CMKEY,,INFO)],<NO INFORMATION ABOUT THAT>
860 000676' 550 01 0 02 000000 HRRZ T1,(T2)
861 000677' 261 17 0 00 000001 PUT T1
862 000700' 260 17 0 00 000623' CONFIRM
863 000701' 262 17 0 00 000001 GETIT T1
864 000702' 254 00 0 01 000000 JRST (T1)
865
866 000703' 336 00 0 00 000302' IFREE: SKIPN MONTYP
867 000704' 254 00 0 00 000715' JRST IFREE10
868 000705' 336 00 0 00 021046' SKIPN FESETF
869 000706' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
870
871 000707' 037 02 0 00 013264' PMSG <^FRONT-END FREE PAGES = >
872
873 000710' 550 00 0 00 400001 HRRZ FEDIR+FSL
874 000711' 037 15 0 00 000001 PNTDCF
875
876 000712' 037 01 0 00 000063' PCRLF
877 000713' 037 01 0 00 000063' PCRLF
878 000714' 263 17 0 00 000000 RTN
879
880 000715' 037 04 0 00 013271' IFREE10:PMSGF <N/A - TOPS-10^>
881 000716' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 24
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- INFORMATION SEQ 0063
882
883 000717' 336 00 0 00 021046' IFEFILE:SKIPN FESETF
884 000720' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
885
886 000721' 336 00 0 00 000302' SKIPN MONTYP
887 000722' 254 00 0 00 000737' JRST IFEF10
888
889 000723' 037 04 0 00 013274' PMSGF <^DISK ADDRESS IN HOME BLOCK = >
890 000724' 200 00 0 00 436301 MOVE HOMPAG+200+101
891 000725' 037 13 0 00 000001 PNTHWF
892
893 000726' 037 04 0 00 013302' PMSGF <^LENGTH IN HOME BLOCK = >
894 000727' 200 00 0 00 436302 MOVE HOMPAG+200+102
895 000730' 037 13 0 00 000001 PNTHWF
896
897 000731' 037 04 0 00 013310' PMSGF <^8080 POINTER IN HOME BLOCK = >
898 000732' 200 00 0 00 436303 MOVE HOMPAG+200+103
899 000733' 037 13 0 00 000001 PNTHWF
900
901 000734' 037 01 0 00 000063' PCRLF
902 000735' 037 01 0 00 000063' PCRLF
903 000736' 263 17 0 00 000000 RTN
904
905 000737' 037 04 0 00 013274' IFEF10: PMSGF <^DISK ADDRESS IN HOME BLOCK = >
906 000740' 200 00 0 00 005542' MOVE HOMBUF+101
907 000741' 037 13 0 00 000001 PNTHWF
908
909 000742' 037 04 0 00 013316' PMSGF <^LENGTH IN HOME BLOCK = >
910 000743' 200 00 0 00 005543' MOVE HOMBUF+102
911 000744' 037 13 0 00 000001 PNTHWF
912
913 000745' 037 04 0 00 013310' PMSGF <^8080 POINTER IN HOME BLOCK = >
914 000746' 200 00 0 00 005544' MOVE HOMBUF+103
915 000747' 037 13 0 00 000001 PNTHWF
916
917 000750' 037 01 0 00 000063' PCRLF
918 000751' 037 01 0 00 000063' PCRLF
919 000752' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 25
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- INFORMATION SEQ 0064
920
921 000753' 336 00 0 00 021046' IDISK: SKIPN FESETF
922 000754' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
923
924 000755' 336 00 0 00 000302' SKIPN MONTYP
925 000756' 254 00 0 00 001004' JRST IDSK10 ;TOPS-10
926
927 000757' 561 01 0 00 021274' HRROI T1,STBUF
928 000760' 550 02 0 00 002523' HRRZ T2,FEJFN
929 000761' 205 03 0 00 100000 MOVSI T3,(1B2)
930 000762' 104 00 0 00 000030 JFNS
931 000763' 320 16 0 00 013332' ERMSG <CAN NOT GET STRUCTURE NAME>
932
933 000764' 037 04 0 00 013335' PMSGF <^USING >
934 000765' 201 00 0 00 021274' MOVEI STBUF
935 000766' 037 17 0 00 000001 PNTALF ;PRINT STRUCTURE
936
937 000767' 037 01 0 00 000011 PTAB
938
939 000770' 200 01 0 00 021037' MOVE T1,DSKTYP
940 000771' 306 01 0 00 000001 CAIN T1,.MSRP4
941 000772' 037 04 0 00 013337' PMSGF <RP04>
942 000773' 306 01 0 00 000005 CAIN T1,.MSRP5
943 000774' 037 04 0 00 013340' PMSGF <RP05>
944 000775' 306 01 0 00 000006 CAIN T1,.MSRP6
945 000776' 037 04 0 00 013341' PMSGF <RP06>
946 000777' 306 01 0 00 000011 CAIN T1,11
947 001000' 037 04 0 00 013342' PMSGF <RM03>
948
949 001001' 037 01 0 00 000063' PCRLF
950 001002' 037 01 0 00 000063' PCRLF
951 001003' 263 17 0 00 000000 RTN
952
953 001004' 037 04 0 00 013335' IDSK10: PMSGF <^USING >
954 001005' 200 00 0 00 005405' MOVE DIRDEV
955 001006' 037 01 0 00 000002 PNTSXF ;PRINT STRUCTURE
956
957 001007' 037 01 0 00 000011 PTAB
958
959 001010' 200 01 0 00 021037' MOVE T1,DSKTYP
960 001011' 306 01 0 00 000000 CAIN T1,.DCUR4
961 001012' 037 04 0 00 013337' PMSGF <RP04>
962 001013' 306 01 0 00 000001 CAIN T1,.DCUR6
963 001014' 037 04 0 00 013341' PMSGF <RP06>
964 001015' 306 01 0 00 000002 CAIN T1,.DCUR3
965 001016' 037 04 0 00 013342' PMSGF <RM03>
966
967 001017' 037 01 0 00 000063' PCRLF
968 001020' 037 01 0 00 000063' PCRLF
969 001021' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 26
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- PUSH SEQ 0065
970 SUBTTL COMMANDS -- PUSH
971
972 001022' PUSHCM: NOISE <COMMAND LEVEL>
973 001034' 260 17 0 00 000623' CONFIRM
974 001035' 336 00 0 00 000302' SKIPN MONTYP
975 001036' 254 00 0 00 001065' JRST PUSH10
976
977 001037' 205 01 0 00 000001 MOVSI T1,(GJ%SHT)
978 001040' 561 02 0 00 013357' HRROI T2,[ASCIZ "PS:<SYSTEM>EXEC.EXE.0"]
979 001041' 104 00 0 00 000020 GTJFN
980 001042' 320 16 0 00 013372' ERMSG <CAN NOT GET JFN ON EXEC>
981
982 001043' 552 01 0 00 021042' HRRZM T1,EXJFN#
983 001044' 205 02 0 00 200000 MOVSI T2,(CR%CAP)
984 001045' 104 00 0 00 000152 CFORK
985 001046' 320 16 0 00 013403' ERMSG <CAN NOT CREATE AN EXEC FORK>
986
987 001047' 552 01 0 00 021041' HRRZM T1,EXFORK#
988 001050' 514 01 0 00 000001 HRLZ T1,T1
989 001051' 540 01 0 00 021042' HRR T1,EXJFN
990 001052' 104 00 0 00 000200 GET
991 001053' 320 16 0 00 013412' ERMSG <CAN NOT GET EXEC>
992
993 001054' 550 01 0 00 021041' HRRZ T1,EXFORK
994 001055' 201 02 0 00 000000 MOVEI T2,0
995 001056' 104 00 0 00 000201 SFRKV
996 001057' 320 16 0 00 013422' ERMSG <CAN NOT START EXEC>
997
998 001060' 104 00 0 00 000163 WFORK
999 001061' 320 16 0 00 013431' pushpc: ERMSG <PUSH: WFORK ERROR>
1000
1001 001062' 104 00 0 00 000153 KFORK
1002 001063' 320 16 0 00 013441' ERMSG <CAN NOT KILL EXEC FORK>
1003
1004 001064' 263 17 0 00 000000 RTN
1005
1006 001065' 037 04 0 00 013444' PUSH10: PMSGF <NO TOPS-10 FUNCTIONALITY^>
1007 001066' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 27
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- DEBUG SEQ 0066
1008 SUBTTL COMMANDS -- DEBUG
1009
1010 001067' 000002 000002 SCMTAB SETCLR
1011 001070' 013451' 012667' CMTAB CLEAR,[0]
1012 001071' 013453' 013454' CMTAB SET,[-1]
1013 ECMTAB
1014
1015 001072' 000001 000001 SCMTAB DBFLGS
1016 001073' 012677' 016567' CMTAB DEBUG,DEBUGF
1017 ECMTAB
1018
1019
1020 001074' SETDEB: CMD [FLDDB.(.CMKEY,,SETCLR)],<MUST BE 'SET' OR 'CLEAR'>
1021 001106' 550 01 0 02 000000 HRRZ T1,(T2) ;GET POINTER
1022 001107' 200 06 0 01 000000 MOVE T6,(T1) ;GET FLAG
1023 001110' CMD [FLDDB.(.CMKEY,,DBFLGS)],<NOT A DEBUG FLAG>
1024 001122' 550 05 0 02 000000 HRRZ T5,(T2) ;PLACE TO STORE ANSWER
1025 001123' NOISE <FLAG>
1026 001135' 260 17 0 00 000623' CONFIRM
1027 001136' 202 06 0 05 000000 MOVEM T6,(T5) ;SET/CLEAR FLAG
1028 001137' 263 17 0 00 000000 RTN
1029
1030 SUBTTL COMMANDS -- ECHO
1031
1032 001140' 000002 000002 SCMTAB YESNO
1033 001141' 013516' 000000 CMTAB NO,0
1034 001142' 013517' 777777 CMTAB YES,777777
1035 ECMTAB
1036
1037 001143' ECHO: NOISE <COMMAND FILES>
1038 001155' CMD [FLDDB.(.CMKEY,,YESNO,<YES OR NO>,<YES>)]
1039 001166' 570 01 0 02 000000 HRRE T1,(T2)
1040 001167' 261 17 0 00 000001 PUT T1
1041 001170' 260 17 0 00 000623' CONFIRM
1042 001171' 262 17 0 00 016573' GETIT ECOFLG
1043 001172' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 28
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- DEPOSIT SEQ 0067
1044 SUBTTL COMMANDS -- DEPOSIT
1045
1046 001173' 000002 000002 SCMTAB DEPCMD
1047 001174' 013547' 001212' CMTAB BC1,DPBC1
1048 001175' 013550' 001214' CMTAB CRAM,DPCRAM
1049 ECMTAB
1050
1051 001176' DEP: CMD [FLDDB.(.CMKEY,,DEPCMD)],<CAN NOT DEPOSIT THAT>
1052 001210' 550 01 0 02 000000 HRRZ T1,(T2)
1053 001211' 254 00 0 01 000000 JRST (T1)
1054
1055 ;*HERE TO STORE INTO CRAM
1056
1057 001212' 476 00 0 00 021027' DPBC1: SETOM BC1FLG#
1058 001213' 254 00 0 00 001215' JRST DPCRAM+1
1059 001214' 402 00 0 00 021027' DPCRAM: SETZM BC1FLG
1060 001215' NOISE <LOCATION>
1061 001227' CMD [FLDDB.(.CMNUM,,^D8)],<NOT A VALID CRAM ADDRESS>
1062 001241' 331 00 0 00 000002 SKIPL T2
1063 001242' 301 02 0 00 004000 CAIL T2,4000
1064 001243' 260 17 0 00 013621' ERR <ADDRESS MUST BE 0 TO 3777>
1065 001244' 202 02 0 00 021152' MOVEM T2,EXMADR
1066 001245' 260 17 0 00 000623' CONFIRM
1067 001246' 200 06 0 00 021152' MOVE T6,EXMADR
1068 001247' 476 00 0 00 021163' SETOM DEPFLG
1069 001250' 260 17 0 00 011465' GO DPYFLD
1070 001251' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 29
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- SERIAL SEQ 0068
1071 SUBTTL COMMANDS -- SERIAL
1072
1073 001252' SERIAL: NOISE <CPU SERIAL NUMBER (4097 TO 32767) INTO MICROCODE>
1074 001264' CMD [FLDDB.(.CMNUM,,^D10)],<NOT A VALID SERIAL NUMBER>
1075 001276' 202 02 0 00 021071' MOVEM T2,SNBR#
1076 001277' 260 17 0 00 000623' CONFIRM
1077
1078 001300' 200 02 0 00 021071' MOVE T2,SNBR
1079 001301' 331 00 0 00 000002 SKIPL T2
1080 001302' 305 02 0 00 010001 CAIGE T2,^D4097
1081 001303' 260 17 0 00 013663' ERR <NOT A VALID SERIAL NUMBER>
1082 001304' 303 02 0 00 077777 CAILE T2,^D32767
1083 001305' 260 17 0 00 013663' ERR <NOT A VALID SERIAL NUMBER>
1084
1085 001306' 336 00 0 00 016572' SKIPN RDFLAG
1086 001307' 260 17 0 00 013676' ERR <MUST FIRST READ MICROCODE WITH READ COMMAND>
1087
1088 001310' 201 06 0 00 001700 MOVEI T6,1700 ;SERIAL # AT APRID: (1700) OF MICROCODE
1089 001311' 221 06 0 00 000003 IMULI T6,3
1090 001312' 271 06 0 00 401000 ADDI T6,CRAM
1091
1092 001313' 137 02 0 00 013700' DPB T2,[POINT 12,1(T6),23]
1093 001314' 242 02 0 00 777764 LSH T2,-^D12
1094 001315' 137 02 0 00 013701' DPB T2,[POINT 6,1(T6),35]
1095
1096 001316' 254 00 0 00 012121' JRST ENDDPY+2 ;RECOMPUTE CRAM PARITY
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 30
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- EXAMINE SEQ 0069
1097 SUBTTL COMMANDS -- EXAMINE
1098
1099 001317' 000002 000002 SCMTAB EXCMDS
1100 001320' 013547' 001340' CMTAB BC1,EXBC1
1101 001321' 013550' 001342' CMTAB CRAM,EXCRAM
1102 ECMTAB
1103
1104 001322' 000000 000000 EMDFNC: FLDDB. (.CMKEY,,EXCMDS)
1105 001323' 000000 001317'
1106
1107 001324' EXAM: CMD EMDFNC,<CAN NOT EXAMINE THAT>
1108 001336' 550 01 0 02 000000 HRRZ T1,(T2)
1109 001337' 254 00 0 01 000000 JRST (T1)
1110
1111 ;*EXAMINE CRAM
1112
1113 001340' 476 00 0 00 021027' EXBC1: SETOM BC1FLG
1114 001341' 254 00 0 00 001343' JRST EXCRAM+1
1115 001342' 402 00 0 00 021027' EXCRAM: SETZM BC1FLG
1116 001343' NOISE <LOCATION>
1117 001355' CMD [FLDDB.(.CMNUM,,^D8)],<NOT A VALID CRAM LOCATION>
1118 001367' 261 17 0 00 000002 PUSH P,T2
1119 001370' 260 17 0 00 000623' CONFIRM
1120 001371' 262 17 0 00 000002 POP P,T2
1121 001372' 331 00 0 00 000002 SKIPL T2
1122 001373' 301 02 0 00 004000 CAIL T2,4000
1123 001374' 260 17 0 00 013621' ERR ADDRESS MUST BE 0 TO 3777
1124 001375' 202 02 0 00 021152' MOVEM T2,EXMADR
1125 001376' 037 01 0 00 013734' EXCRM: PNTMSF [ASCIZ/SHOULD BE: /]
1126 001377' 200 00 0 00 021152' MOVE EXMADR
1127 001400' 037 06 0 00 000001 PNT6F
1128 001401' 037 01 0 00 000057 PNTCIF "/"
1129 001402' 200 06 0 00 021152' MOVE T6,EXMADR
1130 001403' 221 06 0 00 000003 IMULI T6,3
1131 001404' 336 00 0 00 021027' SKIPN BC1FLG
1132 001405' 271 06 0 00 401000 ADDI T6,CRAM
1133 001406' 332 00 0 00 021027' SKIPE BC1FLG
1134 001407' 271 06 0 00 417000 ADDI T6,CRMBC1
1135 001410' 200 00 0 06 000002 MOVE 2(T6)
1136 001411' 037 10 0 00 000001 PNT8F
1137 001412' 200 00 0 06 000001 MOVE 1(T6)
1138 001413' 037 14 0 00 000001 PNTOTF
1139 001414' 200 00 0 06 000000 MOVE (T6)
1140 001415' 037 14 0 00 000001 PNTOTF
1141
1142 001416' 260 17 0 00 012227' GO CRMFLD
1143 001417' 037 01 0 00 000063' PCRLF
1144 001420' 263 17 0 00 000000 RET
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 31
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- EXIT SEQ 0070
1145 SUBTTL COMMANDS -- EXIT
1146
1147 001421' .EXIT: NOISE <TO MONITOR>
1148 001433' 260 17 0 00 000623' CONFIRM
1149 001434' 336 00 0 00 000302' SKIPN MONTYP
1150 001435' 047 00 0 00 000012 EXIT
1151 001436' 104 00 0 00 000170 HALTF
1152 001437' 254 00 0 00 000345' JRST START
1153
1154 SUBTTL COMMANDS -- HELP
1155
1156 001440' 260 17 0 00 000623' HELP: CONFIRM
1157 001441' 336 00 0 00 000302' SKIPN MONTYP
1158 001442' 254 00 0 00 001474' JRST HELP10
1159 001443' 205 01 0 00 100011 MOVSI T1,(GJ%OLD!GJ%PHY!GJ%SHT)
1160 001444' 561 02 0 00 001471' HRROI T2,HLPFIL
1161 001445' 104 00 0 00 000020 GTJFN
1162 001446' 254 00 0 00 001464' JRST NOHELP
1163 001447' 200 02 0 00 013753' MOVE T2,[7B5!OF%RD!OF%NWT]
1164 001450' 104 00 0 00 000021 OPENF
1165 001451' 254 00 0 00 001464' JRST NOHELP
1166 001452' 201 06 0 00 000101 MOVEI T6,.PRIOU
1167 001453' 104 00 0 00 000050 HELPLP: BIN
1168 001454' 320 16 0 00 001461' ERJMP HELPEX
1169 001455' 250 01 0 00 000006 EXCH T1,T6
1170 001456' 104 00 0 00 000051 BOUT
1171 001457' 250 01 0 00 000006 EXCH T1,T6
1172 001460' 254 00 0 00 001453' JRST HELPLP
1173
1174 001461' 104 00 0 00 000022 HELPEX: CLOSF
1175 001462' 260 17 0 00 013762' ERR <HELP: CAN NOT CLOSE HELP FILE>
1176 001463' 263 17 0 00 000000 RTN
1177
1178 001464' 037 04 0 00 013764' NOHELP: PMSGF <?CAN NOT READ >
1179 001465' 201 00 0 00 001471' MOVEI HLPFIL
1180 001466' 037 17 0 00 000001 PNTALF
1181 001467' 037 01 0 00 000063' PCRLF
1182 001470' 263 17 0 00 000000 RTN
1183
1184 001471' 123 115 106 111 114 HLPFIL: ASCIZ "SMFILE.HLP"
1185 001472' 105 056 110 114 120
1186 001473' 000 000 000 000 000
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 32
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- HELP SEQ 0071
1187 ;*TOPS-10 HELP
1188
1189 001474' 200 00 0 00 013767' HELP10: MOVE [SIXBIT/DSK/]
1190 001475' 202 00 0 00 016406' MOVEM GTJDEV
1191 001476' 402 00 0 00 016407' SETZM GTJDIR
1192 001477' 200 00 0 00 013770' MOVE [SIXBIT/SMFILE/]
1193 001500' 202 00 0 00 016410' MOVEM GTJFIL
1194 001501' 200 00 0 00 013771' MOVE [SIXBIT/HLP/]
1195 001502' 202 00 0 00 016411' MOVEM GTJEXT
1196
1197 001503' 260 17 0 00 007027' GO OPNTEN ;FIND FILE
1198 001504' 260 17 0 00 013777' ERR <SMFILE.HLP NOT FOUND>
1199
1200 001505' 260 17 0 00 006764' HLP10A: GO GET10
1201 001506' 335 00 0 00 021040' SKIPGE EOFSW
1202 001507' 254 00 0 00 007015' JRST R10EOF
1203
1204 001510' 202 03 0 00 021047' MOVEM T3,HLP10X#
1205 001511' 201 00 0 00 021047' MOVEI HLP10X
1206 001512' 037 00 0 00 000000 PNTA
1207 001513' 254 00 0 00 001505' JRST HLP10A
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 33
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0072
1208 SUBTTL COMMANDS -- WRITE
1209
1210 001514' 000011 000011 SCMTAB WRTCMD
1211 001515' 013547' 004265' CMTAB BC1,WRTBC1
1212 001516' 014001' 003021' CMTAB BC2,WRTBC2
1213 001517' 014002' 002526' CMTAB BOOT,WRTBOOT
1214 001520' 013550' 004267' CMTAB CRAM,WRTCRM
1215 001521' 014003' 002663' CMTAB DIAGBT,WRTDB
1216 001522' 014005' 005064' CMTAB DONE,WRTDONE
1217 001523' 013237' 004352' CMTAB INDIRECT,WRTFEF
1218 001524' 014006' 001657' CMTAB RESET,WRTRSET
1219 001525' 014010' 001542' CMTAB SETUP,WRTSET
1220 ECMTAB
1221
1222 001526' WRITE: CMD [FLDDB.(.CMKEY,,WRTCMD)],<CAN NOT WRITE THAT>
1223 001540' 550 01 0 02 000000 HRRZ T1,(T2)
1224 001541' 254 00 0 01 000000 JRST (T1)
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 34
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0073
1225 ;*WRTSET - READ FE-FILE DIRECTORY BLOCK INTO MEMORY
1226
1227 001542' 561 01 0 00 014025' WRTSET: HRROI T1,[ASCIZ "BOOTSTRAP"]
1228 001543' 332 00 0 00 016567' SKIPE DEBUGF
1229 001544' 561 01 0 00 014027' HRROI T1,[ASCIZ "BOOTST"]
1230 001545' 336 00 0 00 000302' SKIPN MONTYP
1231 001546' 561 01 0 00 014031' HRROI T1,[ASCIZ "KS10FE"]
1232 001547' 202 01 0 00 016410' MOVEM T1,GTJFIL
1233
1234 001550' 561 01 0 00 014033' HRROI T1,[ASCIZ "BIN"]
1235 001551' 202 01 0 00 016411' MOVEM T1,GTJEXT
1236
1237 001552' 561 01 0 00 014034' HRROI T1,[ASCIZ "ROOT-DIRECTORY"]
1238 001553' 332 00 0 00 016567' SKIPE DEBUGF
1239 001554' 561 01 0 00 014037' HRROI T1,[ASCIZ "KIRCHOFF"]
1240 001555' 336 00 0 00 000302' SKIPN MONTYP
1241 001556' 561 01 0 00 014041' HRROI T1,[ASCIZ "[6,2020]"]
1242 001557' 202 01 0 00 016407' MOVEM T1,GTJDIR
1243
1244 001560' 561 01 0 00 014043' HRROI T1,[ASCIZ "XXX:"]
1245 001561' 202 01 0 00 016406' MOVEM T1,GTJDEV
1246
1247 001562' 205 01 0 00 100000 MOVSI T1,(GJ%OLD)
1248 001563' 202 01 0 00 016404' MOVEM T1,GTJFLG
1249
1250 001564' CMD [FLDDB.(.CMFIL)]
1251 001575' 552 02 0 00 002523' HRRZM T2,FEJFN
1252
1253 001576' 260 17 0 00 000623' CONFIRM
1254
1255 001577' 336 00 0 00 000302' SKIPN MONTYP
1256 001600' 254 00 0 00 007315' JRST DEVSTR ;TOPS-10
1257
1258 001601' 561 01 0 00 021274' HRROI T1,STBUF
1259 001602' 550 02 0 00 002523' HRRZ T2,FEJFN
1260 001603' 205 03 0 00 100000 MOVSI T3,(1B2)
1261 001604' 104 00 0 00 000030 JFNS
1262 001605' 320 16 0 00 013332' ERMSG <CAN NOT GET STRUCTURE NAME>
1263
1264 001606' 336 00 0 00 016567' SKIPN DEBUGF
1265 001607' 260 17 0 00 001713' GO FIND ;FIND PHYSICAL DISK
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 35
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0074
1266
1267 001610' 561 01 0 00 021274' HRROI T1,STBUF
1268 001611' 104 00 0 00 000120 STDEV
1269 001612' 260 17 0 00 014061' ERR <STDEV FAILED FOR STRUCTURE>
1270 001613' 202 02 0 00 021072' MOVEM T2,STRDES#
1271
1272 001614' 550 01 0 00 002523' HRRZ T1,FEJFN
1273 001615' 200 02 0 00 014063' MOVE T2,[1,,.FBCTL]
1274 001616' 201 03 0 00 000003 MOVEI T3,T3
1275 001617' 104 00 0 00 000063 GTFDB
1276 001620' 320 16 0 00 014071' ERMSG <WRTSETUP: GTFDB FAILED>
1277 001621' 603 03 0 00 020000 TLNE T3,(FB%NXF) ;DOES FILE EXIST
1278 001622' 260 17 0 00 014102' ERR <FRONT-END FILE DOES NOT EXIST>
1279
1280 001623' 200 02 0 00 014104' MOVE T2,[1,,.FBBYV]
1281 001624' 201 03 0 00 000003 MOVEI T3,T3
1282 001625' 104 00 0 00 000063 GTFDB
1283 001626' 320 16 0 00 014114' ERMSG <WRITE: GTFBD FOR SIZE FAILED>
1284 001627' 621 03 0 00 777777 TLZ T3,FB%PGC ;JUST PAGE COUNT
1285 001630' 305 03 0 00 000060 CAIGE T3,^D48
1286 001631' 260 17 0 00 014125' ERR <BOOTSTRAP.BIN FILE TOO SMALL>
1287
1288 001632' 200 01 0 00 002523' MOVE T1,FEJFN
1289 001633' 201 02 0 00 300000 MOVEI T2,OF%RD!OF%WR
1290 001634' 104 00 0 00 000021 OPENF ;OPEN THE FILE
1291 JRST [JSERR ;CAN'T OPEN THE FRONT-END FILE SYSTEM?
1292 001635' 254 00 0 00 014127' JRST START]
1293
1294 001636' 514 01 0 00 002523' HRLZ T1,FEJFN
1295 001637' 200 02 0 00 014131' MOVE T2,[.FHSLF,,<FEDIR_-^D9>]
1296 001640' 200 03 0 00 014132' MOVE T3,[PM%RD+PM%WR+PM%PLD]
1297 001641' 104 00 0 00 000056 PMAP ;READ FE DIRECTORY BLOCK
1298 ERJMP [JSERR
1299 001642' 320 16 0 00 014127' JRST START]
1300
1301 001643' 332 00 0 00 016567' SKIPE DEBUGF
1302 001644' 254 00 0 00 001654' JRST WRTSEX
1303
1304 001645' 201 01 0 00 000000 MOVEI T1,0
1305 001646' 260 17 0 00 005166' GO REDHOM ;READ HOME BLOCK
1306 001647' 263 17 0 00 000000 RTN
1307
1308 001650' 336 00 0 00 436301 SKIPN HOMPAG+200+101
1309 001651' 260 17 0 00 014141' ERR <NO DISK ADDRESS IN HOME BLOCK>
1310
1311 001652' 336 00 0 00 436302 SKIPN HOMPAG+200+102
1312 001653' 260 17 0 00 014150' ERR <NO LENGTH IN HOME BLOCK>
1313
1314 001654' 476 00 0 00 021046' WRTSEX: SETOM FESETF#
1315 001655' 402 00 0 00 021045' SETZM FERSETF#
1316 001656' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 36
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0075
1317 ;*WRTRSET - RESET FE-DIRECTORY
1318
1319 001657' 260 17 0 00 000623' WRTRSET:CONFIRM
1320 001660' 336 00 0 00 021046' SKIPN FESETF ;FE-DIR IN CODE ?
1321 001661' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
1322
1323 001662' 402 00 0 00 400000 SETZM FEDIR ;CLEAR FE-DIR PAGE
1324 001663' 200 00 0 00 014152' MOVE [FEDIR,,FEDIR+1]
1325 001664' 251 00 0 00 400777 BLT FEDIR+777
1326
1327 001665' 332 00 0 00 000302' SKIPE MONTYP
1328 001666' 200 01 0 00 436302 MOVE T1,HOMPAG+200+102 ;GET LENGTH IN SECTORS
1329 001667' 336 00 0 00 000302' SKIPN MONTYP
1330 001670' 200 01 0 00 005543' MOVE T1,HOMBUF+102
1331 001671' 332 00 0 00 016567' SKIPE DEBUGF
1332 001672' 201 01 0 00 000400 MOVEI T1,^D64*4
1333
1334 001673' 231 01 0 00 000004 IDIVI T1,^D4 ;CONVERT TO PAGES
1335 001674' 275 01 0 00 000034 SUBI T1,^D28 ;SUB FIXED FILES
1336 001675' 505 01 0 00 000034 HRLI T1,^D28 ;FIRST FREE PAGE STARTS AT PAGE 28
1337 001676' 202 01 0 00 400001 MOVEM T1,FEDIR+FSL ;SET RESET PAGE #,,LENGTH
1338
1339 001677' 200 01 0 00 014153' MOVE T1,[^D1,,^D12]
1340 001700' 202 01 0 00 400003 MOVEM T1,FEDIR+MCL ;SETUP MCODE PAGE #,,LENGTH
1341
1342 001701' 200 01 0 00 014154' MOVE T1,[^D13,,^D1]
1343 001702' 202 01 0 00 400005 MOVEM T1,FEDIR+MPBL ;SETUP M-PRE-BOOT PAGE #,,LENGTH
1344
1345 001703' 200 01 0 00 014155' MOVE T1,[^D14,,^D1]
1346 001704' 202 01 0 00 400007 MOVEM T1,FEDIR+DPBL ;SETUP D-PRE-BOOT PAGE #,,LENGTH
1347
1348 001705' 200 01 0 00 014156' MOVE T1,[^D15,,^D12]
1349 001706' 202 01 0 00 400011 MOVEM T1,FEDIR+BC1L ;SETUP BOOTCHECK 1 PAGE #,,LENGTH
1350
1351 001707' 200 01 0 00 014157' MOVE T1,[^D27,,^D1]
1352 001710' 202 01 0 00 400013 MOVEM T1,FEDIR+BCKL ;SETUP BC2-PRE-BOOT PAGE #,,LENGTH
1353
1354 001711' 476 00 0 00 021045' SETOM FERSETF ;INDICATE RESET
1355
1356 001712' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 37
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0076
1357 ;*FIND - FIND THE PHYSICAL DISK WITH THE GIVEN NAME
1358
1359 001713' 201 06 0 00 001761' FIND: MOVEI T6,ARGBLK ;SET ARG BLOCK INDEX
1360 001714' 476 00 0 06 000000 SETOM .MSRCH(T6) ;-1 TO CHAN ENTRY OF BLOCK
1361 001715' 476 00 0 06 000001 SETOM .MSRCT(T6) ;-1 TO CONTROLLER ENTRY OF BLOCK
1362 001716' 476 00 0 06 000002 SETOM .MSRUN(T6) ;-1 TO UNIT ENTRY OF BLOCK
1363
1364 001717' 402 00 0 06 000003 FINDN: SETZM .MSRST(T6) ;CLEAR STATUS ENTRY OF BLOCK
1365 001720' 200 01 0 00 014160' MOVE T1,[ARGBLK+.MSRST,,ARGBLK+.MSRST+1]
1366 001721' 251 01 0 00 002007' BLT T1,ARGBLK+ARGLN-1 ;CLEAR REST OF BLOCK
1367
1368 001722' 561 01 0 00 002122' HRROI T1,BUFFER
1369 001723' 202 01 0 06 000004 MOVEM T1,.MSRSN(T6) ;USE BUFFER TO SAVE PACK NAME
1370
1371 001724' 200 01 0 00 014161' MOVE T1,[.MSRLN,,.MSRNU]
1372 001725' 201 02 0 00 001761' MOVEI T2,ARGBLK
1373 001726' 104 00 0 00 000555 MS: MSTR ;GET STATUS OF NEXT DISK UNIT
1374 001727' 320 17 0 00 002010' ERCAL FINDER ; ERROR
1375
1376 001730' 306 02 0 00 601757 CAIN T2,MSTX27 ;ERROR, IS THE UNIT A DISK ?
1377 001731' 254 00 0 00 001717' JRST FINDN ;NO, NOT A DISK, TRY FOR ANOTHER
1378
1379 001732' 200 01 0 06 000003 MOVE T1,.MSRST(T6) ;GET UNIT STATUS
1380 001733' 607 01 0 00 400000 TLNN T1,(MS%MNT) ;MOUNTED ?
1381 001734' 254 00 0 00 001717' JRST FINDN ;NO, TRY ANOTHER
1382 001735' 603 01 0 00 040000 TLNE T1,(MS%OFL) ;IS THE UNIT OFF-LINE ?
1383 001736' 254 00 0 00 001717' JRST FINDN ;YES, TRY ANOTHER
1384
1385 001737' 200 02 0 00 014162' MOVE T2,[POINT 7,STBUF]
1386 001740' 200 03 0 00 014163' MOVE T3,[POINT 7,BUFFER]
1387 001741' 260 17 0 00 002021' GO STRCMP ;COMPARE REQUESTED/DISK NAME
1388 001742' 254 00 0 00 001717' JRST FINDN ;NO MATCH
1389
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 38
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0077
1390 001743' 200 01 0 06 000003 MOVE T1,.MSRST(T6) ;GET MONITORS DRIVE TYPE
1391 001744' 135 01 0 00 014164' LDB T1,[POINT 9,T1,17]
1392 001745' 202 01 0 00 021037' MOVEM T1,DSKTYP# ;SAVE
1393
1394 001746' 402 00 0 00 021064' SETZM RM03F#
1395 001747' 306 01 0 00 000001 CAIN T1,.MSRP4 ;RP04 ?
1396 001750' 254 00 0 00 001760' JRST FINDX ;YES
1397 001751' 306 01 0 00 000005 CAIN T1,.MSRP5 ;RP05 ?
1398 001752' 254 00 0 00 001760' JRST FINDX ;YES
1399 001753' 306 01 0 00 000006 CAIN T1,.MSRP6 ;RP06 ?
1400 001754' 254 00 0 00 001760' JRST FINDX ;YES
1401 001755' 302 01 0 00 000011 CAIE T1,11 ;.MSRM3 RM03 ?
1402 001756' 260 17 0 00 014172' ERR <DISK IS NOT A VALID TYPE>
1403 001757' 476 00 0 00 021064' SETOM RM03F ;YES
1404
1405 001760' 263 17 0 00 000000 FINDX: RTN
1406
1407 000027 ARGLN=.MSRLN
1408 001761' ARGBLK: BLOCK ARGLN
1409
1410 ;ERROR HANDLER FOR THE GET NEXT UNIT JSYS
1411
1412 002010' 201 01 0 00 400000 FINDER: MOVEI T1,400000 ;SET PROCESS HANDLE
1413 002011' 104 00 0 00 000012 GETER ;GET ERROR CODE
1414 002012' 550 02 0 00 000002 HRRZ T2,T2 ;ERROR CODE ONLY
1415 002013' 306 02 0 00 601757 CAIN T2,MSTX27 ;IS THE UNIT A DISK ?
1416 002014' 263 17 0 00 000000 RTN ;NO, GO BACK AND LOOK FURTHER
1417 002015' 302 02 0 00 601422 CAIE T2,MSTX18 ;NO MORE UNITS FOUND ?
1418 JRST [JSERR
1419 002016' 254 00 0 00 014127' JRST START]
1420 002017' 262 17 0 00 000006 GETIT T6
1421 002020' 254 00 0 00 002027' JRST FALIAS ;CAN'T FIND PHYSICAL, TRY ALIAS
1422
1423 ;*STRCMP - STRING COMPARE ROUTINE
1424
1425 002021' 134 00 0 00 000002 STRCMP: ILDB 0,T2
1426 002022' 134 01 0 00 000003 ILDB T1,T3
1427 002023' 312 00 0 00 000001 CAME 0,T1 ;EQUAL ?
1428 002024' 263 17 0 00 000000 RTN ;NO, LOSE
1429
1430 002025' 326 00 0 00 002021' JUMPN 0,STRCMP ;YES, END OF STRING ?
1431 002026' 254 00 0 00 000016' JRST CPOPJ1 ;YES, SKIP RETURN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 39
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0078
1432 ;*FALIAS - FIND THE PHYSICAL DISK WITH THE GIVEN ALIAS
1433
1434 002027' 201 06 0 00 001761' FALIAS: MOVEI T6,ARGBLK ;SET ARG BLOCK INDEX
1435 002030' 476 00 0 06 000000 SETOM .MSRCH(T6) ;-1 TO CHAN ENTRY OF BLOCK
1436 002031' 476 00 0 06 000001 SETOM .MSRCT(T6) ;-1 TO CONTROLLER ENTRY OF BLOCK
1437 002032' 476 00 0 06 000002 SETOM .MSRUN(T6) ;-1 TO UNIT ENTRY OF BLOCK
1438
1439 002033' 402 00 0 06 000003 FADN: SETZM .MSRST(T6) ;CLEAR STATUS ENTRY OF BLOCK
1440 002034' 200 01 0 00 014160' MOVE T1,[ARGBLK+.MSRST,,ARGBLK+.MSRST+1]
1441 002035' 251 01 0 00 002007' BLT T1,ARGBLK+ARGLN-1 ;CLEAR REST OF BLOCK
1442
1443 002036' 561 01 0 00 002122' HRROI T1,BUFFER
1444 002037' 202 01 0 06 000005 MOVEM T1,.MSRSA(T6) ;USE BUFFER TO SAVE PACK ALIAS
1445
1446 002040' 200 01 0 00 014161' MOVE T1,[.MSRLN,,.MSRNU]
1447 002041' 201 02 0 00 001761' MOVEI T2,ARGBLK
1448 002042' 104 00 0 00 000555 FAMS: MSTR ;GET STATUS OF NEXT DISK UNIT
1449 002043' 320 17 0 00 002075' ERCAL FADER ; ERROR
1450
1451 002044' 306 02 0 00 601757 CAIN T2,MSTX27 ;ERROR, IS THE UNIT A DISK ?
1452 002045' 254 00 0 00 002033' JRST FADN ;NO, NOT A DISK, TRY FOR ANOTHER
1453
1454 002046' 200 01 0 06 000003 MOVE T1,.MSRST(T6) ;GET UNIT STATUS
1455 002047' 607 01 0 00 400000 TLNN T1,(MS%MNT) ;MOUNTED ?
1456 002050' 254 00 0 00 002033' JRST FADN ;NO, TRY ANOTHER
1457 002051' 603 01 0 00 040000 TLNE T1,(MS%OFL) ;IS THE UNIT OFF-LINE ?
1458 002052' 254 00 0 00 002033' JRST FADN ;YES, TRY ANOTHER
1459
1460 002053' 200 02 0 00 014162' MOVE T2,[POINT 7,STBUF]
1461 002054' 200 03 0 00 014163' MOVE T3,[POINT 7,BUFFER]
1462 002055' 260 17 0 00 002021' GO STRCMP ;COMPARE REQUESTED/DISK NAME
1463 002056' 254 00 0 00 002033' JRST FADN ;NO MATCH
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 40
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0079
1464 002057' 200 01 0 06 000003 MOVE T1,.MSRST(T6) ;GET MONITORS DRIVE TYPE
1465 002060' 135 01 0 00 014164' LDB T1,[POINT 9,T1,17]
1466 002061' 202 01 0 00 021037' MOVEM T1,DSKTYP# ;SAVE
1467
1468 002062' 402 00 0 00 021064' SETZM RM03F#
1469 002063' 306 01 0 00 000001 CAIN T1,.MSRP4 ;RP04 ?
1470 002064' 254 00 0 00 002074' JRST FINDAX ;YES
1471 002065' 306 01 0 00 000005 CAIN T1,.MSRP5 ;RP05 ?
1472 002066' 254 00 0 00 002074' JRST FINDAX ;YES
1473 002067' 306 01 0 00 000006 CAIN T1,.MSRP6 ;RP06 ?
1474 002070' 254 00 0 00 002074' JRST FINDAX ;YES
1475 002071' 302 01 0 00 000011 CAIE T1,11 ;.MSRM3 RM03 ?
1476 002072' 260 17 0 00 014172' ERR <DISK IS NOT A VALID TYPE>
1477 002073' 476 00 0 00 021064' SETOM RM03F ;YES
1478
1479 002074' 263 17 0 00 000000 FINDAX: RTN
1480
1481 ;ERROR HANDLER FOR THE GET NEXT UNIT JSYS
1482
1483 002075' 201 01 0 00 400000 FADER: MOVEI T1,400000 ;SET PROCESS HANDLE
1484 002076' 104 00 0 00 000012 GETER ;GET ERROR CODE
1485 002077' 550 02 0 00 000002 HRRZ T2,T2 ;ERROR CODE ONLY
1486 002100' 306 02 0 00 601757 CAIN T2,MSTX27 ;IS THE UNIT A DISK ?
1487 002101' 263 17 0 00 000000 RTN ;NO, GO BACK AND LOOK FURTHER
1488 002102' 306 02 0 00 601422 CAIN T2,MSTX18 ;NO MORE UNITS FOUND ?
1489 002103' 260 17 0 00 014200' ERR <CAN'T FIND DISK>
1490 JRST [JSERR
1491 002104' 254 00 0 00 014127' JRST START]
1492
1493 ;*COMPUTE DIAGNOSTIC PRE-BOOT PAGE POINTER
1494
1495 002105' 201 00 0 00 000000* CPBPNTR:MOVEI SMPREB ;GET START ADR OF PRE-BOOT
1496 002106' 271 00 0 00 000005 ADDI 5 ;ADD OFFSET TO POINTER
1497 002107' 200 00 1 00 000000 MOVE 0,@0 ;GET POINTER TO POINTER BLOCK
1498 002110' 554 01 0 00 000000 HLRZ 1,0 ;GET LH CODE WORD
1499 002111' 302 01 0 00 123456 CAIE 1,123456 ;IS IT CORRECT ?
1500 002112' 260 17 0 00 014212' ERR <DIAGNOSTIC PRE-BOOT CODE WORD INCORRECT>
1501 002113' 275 00 0 00 001000 SUBI 0,1000 ;REMOVE OFFSET
1502 002114' 271 00 0 00 002105* ADDI 0,SMPREB ;ADD ACTUAL LOCATION
1503 002115' 552 00 0 00 021070' HRRZM 0,SMPBPG# ;SAVE
1504 002116' 504 00 0 00 000000 HRL 0,0 ;FORM BLT POINTER
1505 002117' 271 00 0 00 000001 ADDI 0,1
1506 002120' 202 00 0 00 021067' MOVEM 0,SMPBBLT# ;SAVE
1507 002121' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 41
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0080
1508
1509 ;DEFINITIONS FOR SM10
1510
1511 001000 BOORG=1000 ;START OF HARDWARE BOOT
1512 000101 FEADR=101 ;ADDRESS OF BOOTSTRAP
1513 000102 FEMAX=102 ;ADDRESS OF LENGTH POINTER
1514
1515 701140 000000 OPDEF WRUBR [701B8+3B12] ;WRITE USER BASE REGISTER
1516 712000 000000 OPDEF RDIO [712B8] ;READ I/O
1517 711000 000000 OPDEF TION [711B8] ;TEST I/O
1518 713000 000000 OPDEF WRIO [713B8] ;WRITE I/O
1519
1520 763000 UBAP0= 763000 ;ADDRESS OF UNIBUS MAP
1521 763100 UBSTAT= 763100 ;ADDRESS OF UNIBUS STATUS
1522
1523 000031 KPALIVE=31 ;KEEP-ALIVE & STATUS WORD
1524 000036 MSRH= 36 ;RH-11 BASE ADDRESS
1525 000037 MSDRIVE=37 ;DRIVE NUMBER
1526 000040 MSSLAVE=40 ;SLAVE & FORMAT
1527
1528 000021 RIPST=21 ;READ IN PRESET
1529 000071 RDATA=71 ;READ DATA
1530 000200 RDY=200 ;READY
1531 020000 MCPE=20000 ;MASS I/O CONTROL BUS PARITY ERROR
1532 040000 TRE=40000 ;TRANSFER ERROR
1533 100000 SC=100000 ;SPECIAL CONDITION
1534 010000 FMT22=10000 ;FORMAT 22 (FORMAT BIT)
1535
1536 000040 RHCLR= 40 ;CONTROLLER CLEAR
1537
1538 000071 MT.RF= 71 ;READ FORWARD
1539 000031 MT.SF= 31 ;SPACE FILE FORWARD
1540 000033 MT.SR= 33 ;SPACE REVERSE
1541 000004 MTTM= 4 ;TAPE MARK
1542 020000 MTPIP= 20000 ;POSITIONING IN PROGRESS
1543 000200 MTDRY= 200 ;DRIVE READY
1544 001000 MTFCE= 1000 ;FRAME COUNT ERROR
1545
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 42
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0081
1546 ;REGISTER DEFINITIONS
1547
1548 000000 RPCS1= 00 ;CONTROL AND STATUS 1
1549 000002 RPWC= 02 ;WORD COUNT REGISTER
1550 000004 RPBA= 04 ;UNIBUS ADDRESS REGISTER
1551 000006 RPDA= 06 ;DESIRED SECTOR/TRACK ADDRESS REGISTER
1552 000010 RPCS2= 10 ;CONTROL AND STATUS 2
1553 000012 RPDS= 12 ;DRIVE STATUS
1554 000014 RPER1= 14 ;ERROR 1
1555 000040 RPER2= 40 ;ERROR 2
1556 000042 RPER3= 42 ;ERROR 3
1557 000032 RPOF= 32 ;OFFSET REGISTER
1558 000034 RPDC= 34 ;DESIRED CYLINDER REGISTER
1559 000006 RPFC= 6 ;MAGTAPE FRAME COUNTER
1560 000032 RPTC= 32 ;MAGTAPE TAPE CONTROL
1561
1562 100000 UNV36X=100000 ;UNIBUS 36 BIT TRANSFER BIT
1563 040000 UBVBIT==40000 ;UNIBUS VALID BIT
1564
1565 002122' BUFFER: BLOCK <BUFSIZ==400>
1566 002522' BTJFN: BLOCK 1 ;BOOT JFN
1567 002523' FEJFN: BLOCK 1 ;JFN FOR THE FRONT-END FILE SYSTEM
1568 002524' BOOTEV: BLOCK 1 ;ENTRY VECTOR FOR BOOT
1569 002525' FORKN: BLOCK 1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 43
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0082
1570 ;*WRTBOOT - WRITE MONITOR PRE-BOOT AND BOOT ON DISK
1571
1572 002526' 561 01 0 00 014214' WRTBOOT:HRROI T1,[ASCIZ "SMBOOT"]
1573 002527' 202 01 0 00 016410' MOVEM T1,GTJFIL
1574
1575 002530' 561 01 0 00 014216' HRROI T1,[ASCIZ "EXE"]
1576 002531' 202 01 0 00 016411' MOVEM T1,GTJEXT
1577
1578 002532' 402 00 0 00 016406' SETZM GTJDEV
1579 002533' 402 00 0 00 016407' SETZM GTJDIR
1580
1581 002534' 205 01 0 00 100000 MOVSI T1,(GJ%OLD)
1582 002535' 202 01 0 00 016404' MOVEM T1,GTJFLG
1583
1584 002536' CMD [FLDDB.(.CMFIL)]
1585 002547' 202 02 0 00 002522' MOVEM T2,BTJFN ;SAVE THE JFN OF THE BOOT FILE
1586
1587 002550' 260 17 0 00 000623' CONFIRM
1588
1589 002551' 336 00 0 00 021046' SKIPN FESETF ;FE-DIR IN CORE ?
1590 002552' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
1591 002553' 336 00 0 00 021045' SKIPN FERSETF
1592 002554' 260 17 0 00 014231' ERR <FE-FILE SYSTEM NOT RESET>
1593
1594 002555' 402 00 0 00 004164' SETZM RPPAGD
1595 002556' 200 00 0 00 014233' MOVE [RPPAGD,,RPPAGD+1]
1596 002557' 251 00 0 00 004264' BLT RPPAGX ;CLEAR PRE-BOOT POINTER STORAGE
1597
1598 002560' 336 00 0 00 000302' SKIPN MONTYP
1599 002561' 254 00 0 00 003232' JRST WB10 ;TOPS-10
1600
1601 002562' 403 01 0 00 000002 SETZB T1,T2 ;CREATE A BLANK FORK
1602 002563' 104 00 0 00 000152 CFORK
1603 ERJMP [JSERR ;ERROR ON CFORK
1604 002564' 320 16 0 00 014234' HALTF]
1605 002565' 202 01 0 00 002525' MOVEM T1,FORKN ;SAVE FORK
1606
1607 002566' 550 01 0 00 002522' HRRZ T1,BTJFN ;GET THE JFN OF THE BOOT
1608 002567' 504 01 0 00 002525' HRL T1,FORKN ;GET PROCESS HANDLE
1609 002570' 400 02 0 00 000000 SETZ T2,0
1610 002571' 104 00 0 00 000200 GET
1611 ERJMP [JSERR ;ERROR ON GET
1612 002572' 320 16 0 00 014127' JRST START]
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 44
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0083
1613
1614 002573' 200 01 0 00 002525' MOVE T1,FORKN
1615 002574' 104 00 0 00 000205 GEVEC ;GET THE VECTOR OF BOOT
1616 002575' 202 02 0 00 002524' MOVEM T2,BOOTEV ;SAVE BOOT ENTRY VECTOR ADDRESS
1617
1618 002576' 400 03 0 00 000000 SETZ T3, ;CLEAR PAGE COUNTER
1619 002577' 200 04 0 00 014236' MOVE T4,[-1000,,0] ;ALLOW FOR 1000 PAGES
1620 002600' 514 01 0 00 002525' HRLZ T1,FORKN ;GET PROCESS HANDLE
1621 002601' 540 01 0 00 000004 HRR T1,T4 ;GET PAGE NUMBER
1622
1623 002602' 104 00 0 00 000057 RPACS ;READ PAGE ACCESS
1624 002603' 612 02 0 00 014237' TDNE T2,[PA%RD!PA%PEX]
1625 002604' 350 00 0 00 000003 AOS T3 ;IT'S THERE, COUNT IT
1626 002605' 253 04 0 00 002600' AOBJN T4,.-5
1627
1628 002606' 550 01 0 00 400001 HRRZ T1,FEDIR+FSL ;GET PRESENT FREE SPACE LENGTH
1629 002607' 315 01 0 00 000003 CAMGE T1,T3 ;ENOUGH ROOM ?
1630 002610' 260 17 0 00 014245' ERR <NOT ENOUGH FREE SPACE>
1631
1632 002611' 402 00 0 00 434000 SETZM WINDOW
1633 002612' 200 00 0 00 014247' MOVE [WINDOW,,WINDOW+1]
1634 002613' 251 00 0 00 434777 BLT WINDOW+777 ;CLEAR MONITOR PRE-BOOT PAGE
1635
1636 002614' 200 04 0 00 014236' MOVE T4,[-1000,,0] ;ALLOW FOR 1000 PAGES
1637 002615' 514 13 0 00 002523' HRLZ P1,FEJFN ;GET JFN OF FRONT-END-FILE SYSTEM
1638 002616' 544 13 0 00 400001 HLR P1,FEDIR+FSL ;GET FREE SPACE PAGE #
1639 002617' 516 13 0 00 400015 HRLZM P1,FEDIR+MBOOTL ;SET MBOOT START PAGE
1640
1641 002620' 201 14 0 00 004164' MOVEI P2,RPPAGD
1642 002621' 402 00 0 00 021061' SETZM PBCNT#
1643 002622' 554 07 0 00 400015 HLRZ T7,FEDIR+MBOOTL
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 45
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0084
1644
1645 002623' 514 01 0 00 002525' PAGELP: HRLZ T1,FORKN ;GET PROCESS HANDLE
1646 002624' 540 01 0 00 000004 HRR T1,T4 ;GET PAGE NUMBER
1647 002625' 104 00 0 00 000057 RPACS ;READ PAGE ACCESS
1648 002626' 612 02 0 00 014237' TDNE T2,[PA%RD!PA%PEX]
1649 002627' 260 17 0 00 003157' GO COPPAG ;COPY PAGE
1650
1651 002630' 253 04 0 00 002623' AOBJN T4,PAGELP ;TRY ANOTHER PAGE
1652
1653 002631' 405 13 0 00 777777 ANDI P1,-1
1654 002632' 506 13 0 00 400001 HRLM P1,FEDIR+FSL ;RESET FREE SPACE START PAGE
1655 002633' 550 00 0 00 400001 HRRZ 0,FEDIR+FSL ;FREE SPACE NOW SMALLER BY BOOT
1656 002634' 274 00 0 00 021061' SUB 0,PBCNT
1657 002635' 542 00 0 00 400001 HRRM 0,FEDIR+FSL
1658
1659 002636' 200 13 0 00 021061' MOVE P1,PBCNT
1660 002637' 542 13 0 00 400015 HRRM P1,FEDIR+MBOOTL ;SET MBOOT LENGTH
1661
1662 002640' 476 00 0 14 000000 SETOM (P2) ;INDICATE END OF SPACE
1663
1664 002641' 200 01 0 00 002524' MOVE T1,BOOTEV ;FIND ENTRY VECTOR
1665 002642' 552 01 0 14 000001 HRRZM T1,1(P2) ;SET ENTRY VECTOR
1666
1667 002643' 514 01 0 00 002523' HRLZ T1,FEJFN
1668 002644' 541 01 0 00 000015 HRRI T1,^D13
1669 002645' 200 02 0 00 014250' MOVE T2,[.FHSLF,,<WINDOW_-^D9>]
1670 002646' 200 03 0 00 014251' MOVE T3,[PM%WR!PM%RD]
1671 002647' 104 00 0 00 000056 PMAP ;GET MONITOR PRE-BOOT IN FE-FILE
1672 ERJMP [JSERR
1673 002650' 320 16 0 00 014127' JRST START]
1674
1675 002651' 200 00 0 00 014252' MOVE [BTSTR1,,WINDOW]
1676 002652' 251 00 0 00 434335 BLT WINDOW+<RPPAGX-BTSTR1>
1677
1678 002653' 474 01 0 00 000000 SETO T1,
1679 002654' 400 03 0 00 000000 SETZ T3,
1680 002655' 104 00 0 00 000056 PMAP ;PUT MONITOR PRE-BOOT IN FE-FILE
1681 ERJMP [JSERR
1682 002656' 320 16 0 00 014127' JRST START]
1683
1684 002657' 200 01 0 00 002525' MOVE T1,FORKN
1685 002660' 104 00 0 00 000153 KFORK ;KILL "GET" FORK
1686 ERJMP [JSERR
1687 002661' 320 16 0 00 014127' JRST START]
1688
1689 002662' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 46
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0085
1690 ;*WRTDB - WRITE DIAGNOSTIC PRE-BOOT AND "SMMON" ON DISK
1691
1692 002663' 561 01 0 00 014253' WRTDB: HRROI T1,[ASCIZ "SMMON"]
1693 002664' 202 01 0 00 016410' MOVEM T1,GTJFIL
1694
1695 002665' 561 01 0 00 014216' HRROI T1,[ASCIZ "EXE"]
1696 002666' 202 01 0 00 016411' MOVEM T1,GTJEXT
1697
1698 002667' 402 00 0 00 016406' SETZM GTJDEV
1699 002670' 402 00 0 00 016407' SETZM GTJDIR
1700
1701 002671' 205 01 0 00 100000 MOVSI T1,(GJ%OLD)
1702 002672' 202 01 0 00 016404' MOVEM T1,GTJFLG
1703
1704 002673' CMD [FLDDB.(.CMFIL)]
1705 002704' 202 02 0 00 002522' MOVEM T2,BTJFN ;SAVE THE JFN OF THE BOOT FILE
1706
1707 002705' 260 17 0 00 000623' CONFIRM
1708
1709 002706' 336 00 0 00 021046' SKIPN FESETF ;FE-DIR IN CODE ?
1710 002707' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
1711 002710' 336 00 0 00 021045' SKIPN FERSETF
1712 002711' 260 17 0 00 014231' ERR <FE-FILE SYSTEM NOT RESET>
1713
1714 002712' 260 17 0 00 002105' GO CPBPNTR ;COMPUTE DIAGNOSTIC PRE-BOOT POINTER
1715
1716 002713' 402 00 1 00 021070' SETZM @SMPBPG
1717 002714' 200 00 0 00 021067' MOVE SMPBBLT
1718 002715' 251 00 0 00 000000* BLT SMPEND ;CLEAR PRE-BOOT POINTER STORAGE
1719
1720 002716' 336 00 0 00 000302' SKIPN MONTYP
1721 002717' 254 00 0 00 003402' JRST WDB10 ;TOPS-10
1722
1723 002720' 403 01 0 00 000002 SETZB T1,T2 ;CREATE A BLANK FORK
1724 002721' 104 00 0 00 000152 CFORK
1725 ERJMP [JSERR ;ERROR ON CFORK
1726 002722' 320 16 0 00 014234' HALTF]
1727 002723' 202 01 0 00 002525' MOVEM T1,FORKN ;SAVE FORK
1728
1729 002724' 550 01 0 00 002522' HRRZ T1,BTJFN ;GET THE JFN OF THE BOOT
1730 002725' 504 01 0 00 002525' HRL T1,FORKN ;GET PROCESS HANDLE
1731 002726' 400 02 0 00 000000 SETZ T2,0
1732 002727' 104 00 0 00 000200 GET
1733 ERJMP [JSERR ;ERROR ON GET
1734 002730' 320 16 0 00 014127' JRST START]
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 47
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0086
1735
1736 002731' 200 01 0 00 002525' MOVE T1,FORKN
1737 002732' 104 00 0 00 000205 GEVEC ;GET THE VECTOR OF BOOT
1738 002733' 202 02 0 00 002524' MOVEM T2,BOOTEV ;SAVE BOOT ENTRY VECTOR ADDRESS
1739
1740 002734' 400 03 0 00 000000 SETZ T3, ;CLEAR PAGE COUNTER
1741 002735' 200 04 0 00 014236' MOVE T4,[-1000,,0] ;ALLOW FOR 1000 PAGES
1742 002736' 514 01 0 00 002525' HRLZ T1,FORKN ;GET PROCESS HANDLE
1743 002737' 540 01 0 00 000004 HRR T1,T4 ;GET PAGE NUMBER
1744
1745 002740' 104 00 0 00 000057 RPACS ;READ PAGE ACCESS
1746 002741' 612 02 0 00 014237' TDNE T2,[PA%RD!PA%PEX]
1747 002742' 350 00 0 00 000003 AOS T3 ;IT'S THERE, COUNT IT
1748 002743' 253 04 0 00 002736' AOBJN T4,.-5
1749
1750 002744' 550 01 0 00 400001 HRRZ T1,FEDIR+FSL ;GET PRESENT FREE SPACE LENGTH
1751 002745' 315 01 0 00 000003 CAMGE T1,T3 ;ENOUGH ROOM ?
1752 002746' 260 17 0 00 014245' ERR <NOT ENOUGH FREE SPACE>
1753
1754 002747' 402 00 0 00 434000 SETZM WINDOW
1755 002750' 200 00 0 00 014247' MOVE [WINDOW,,WINDOW+1]
1756 002751' 251 00 0 00 434777 BLT WINDOW+777 ;CLEAR DIAG PRE-BOOT PAGE
1757
1758 002752' 200 04 0 00 014236' MOVE T4,[-1000,,0] ;ALLOW FOR 1000 PAGES
1759 002753' 514 13 0 00 002523' HRLZ P1,FEJFN ;GET JFN OF FRONT-END-FILE SYSTEM
1760 002754' 544 13 0 00 400001 HLR P1,FEDIR+FSL ;GET FREE SPACE PAGE #
1761 002755' 516 13 0 00 400017 HRLZM P1,FEDIR+DBOOTL ;SET DBOOT START PAGE
1762
1763 002756' 200 14 0 00 021070' MOVE P2,SMPBPG
1764 002757' 402 00 0 00 021061' SETZM PBCNT
1765 002760' 554 07 0 00 400017 HLRZ T7,FEDIR+DBOOTL
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 48
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0087
1766
1767 002761' 514 01 0 00 002525' WRTDBLP:HRLZ T1,FORKN ;GET PROCESS HANDLE
1768 002762' 540 01 0 00 000004 HRR T1,T4 ;GET PAGE NUMBER
1769 002763' 104 00 0 00 000057 RPACS ;READ PAGE ACCESS
1770 002764' 612 02 0 00 014237' TDNE T2,[PA%RD!PA%PEX]
1771 002765' 260 17 0 00 003157' GO COPPAG ;COPY PAGE
1772
1773 002766' 253 04 0 00 002761' AOBJN T4,WRTDBLP ;TRY ANOTHER PAGE
1774
1775 002767' 405 13 0 00 777777 ANDI P1,-1
1776 002770' 506 13 0 00 400001 HRLM P1,FEDIR+FSL ;RESET FREE SPACE START PAGE
1777 002771' 550 00 0 00 400001 HRRZ 0,FEDIR+FSL ;FREE SPACE NOW SMALLER BY BOOT
1778 002772' 274 00 0 00 021061' SUB 0,PBCNT
1779 002773' 542 00 0 00 400001 HRRM 0,FEDIR+FSL
1780
1781 002774' 200 13 0 00 021061' MOVE P1,PBCNT
1782 002775' 542 13 0 00 400017 HRRM P1,FEDIR+DBOOTL ;SET DBOOT LENGTH
1783
1784 002776' 476 00 0 14 000000 SETOM (P2) ;INDICATE END OF SPACE
1785
1786 002777' 200 01 0 00 002524' MOVE T1,BOOTEV ;FIND ENTRY VECTOR
1787 003000' 552 01 0 14 000001 HRRZM T1,1(P2) ;SET ENTRY VECTOR
1788
1789 003001' 514 01 0 00 002523' HRLZ T1,FEJFN
1790 003002' 541 01 0 00 000016 HRRI T1,^D14
1791 003003' 200 02 0 00 014250' MOVE T2,[.FHSLF,,<WINDOW_-^D9>]
1792 003004' 200 03 0 00 014251' MOVE T3,[PM%WR!PM%RD]
1793 003005' 104 00 0 00 000056 PMAP ;GET DIAG PRE-BOOT IN FE-FILE
1794 ERJMP [JSERR
1795 003006' 320 16 0 00 014127' JRST START]
1796
1797 003007' 200 00 0 00 014262' MOVE [SMPREB,,WINDOW]
1798 003010' 251 00 0 00 434777 BLT WINDOW+777
1799
1800 003011' 474 01 0 00 000000 SETO T1,
1801 003012' 400 03 0 00 000000 SETZ T3,
1802 003013' 104 00 0 00 000056 PMAP ;PUT DIAG PRE-BOOT IN FE-FILE
1803 ERJMP [JSERR
1804 003014' 320 16 0 00 014127' JRST START]
1805
1806 003015' 200 01 0 00 002525' MOVE T1,FORKN
1807 003016' 104 00 0 00 000153 KFORK ;KILL "GET" FORK
1808 ERJMP [JSERR
1809 003017' 320 16 0 00 014127' JRST START]
1810
1811 003020' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 49
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0088
1812 ;*WRTBC2 - WRITE BOOTCHECK 2 PRE-BOOT AND "SMBC2" ON DISK
1813
1814 003021' 561 01 0 00 014263' WRTBC2:HRROI T1,[ASCIZ "SMBC2"]
1815 003022' 202 01 0 00 016410' MOVEM T1,GTJFIL
1816
1817 003023' 561 01 0 00 014216' HRROI T1,[ASCIZ "EXE"]
1818 003024' 202 01 0 00 016411' MOVEM T1,GTJEXT
1819
1820 003025' 402 00 0 00 016406' SETZM GTJDEV
1821 003026' 402 00 0 00 016407' SETZM GTJDIR
1822
1823 003027' 205 01 0 00 100000 MOVSI T1,(GJ%OLD)
1824 003030' 202 01 0 00 016404' MOVEM T1,GTJFLG
1825
1826 003031' CMD [FLDDB.(.CMFIL)]
1827 003042' 202 02 0 00 002522' MOVEM T2,BTJFN ;SAVE THE JFN OF THE BC2 FILE
1828
1829 003043' 260 17 0 00 000623' CONFIRM
1830
1831 003044' 336 00 0 00 021046' SKIPN FESETF ;FE-DIR IN CODE ?
1832 003045' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
1833 003046' 336 00 0 00 021045' SKIPN FERSETF
1834 003047' 260 17 0 00 014231' ERR <FE-FILE SYSTEM NOT RESET>
1835
1836 003050' 260 17 0 00 002105' GO CPBPNTR ;COMPUTE DIAGNOSTIC PRE-BOOT POINTER
1837
1838 003051' 402 00 1 00 021070' SETZM @SMPBPG
1839 003052' 200 00 0 00 021067' MOVE SMPBBLT
1840 003053' 251 00 0 00 002715* BLT SMPEND ;CLEAR PRE-BOOT POINTER STORAGE
1841
1842 003054' 336 00 0 00 000302' SKIPN MONTYP
1843 003055' 254 00 0 00 003552' JRST BC210 ;TOPS-10
1844
1845 003056' 403 01 0 00 000002 SETZB T1,T2 ;CREATE A BLANK FORK
1846 003057' 104 00 0 00 000152 CFORK
1847 ERJMP [JSERR ;ERROR ON CFORK
1848 003060' 320 16 0 00 014234' HALTF]
1849 003061' 202 01 0 00 002525' MOVEM T1,FORKN ;SAVE FORK
1850
1851 003062' 550 01 0 00 002522' HRRZ T1,BTJFN ;GET THE JFN OF THE BOOT
1852 003063' 504 01 0 00 002525' HRL T1,FORKN ;GET PROCESS HANDLE
1853 003064' 400 02 0 00 000000 SETZ T2,0
1854 003065' 104 00 0 00 000200 GET
1855 ERJMP [JSERR ;ERROR ON GET
1856 003066' 320 16 0 00 014127' JRST START]
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 50
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0089
1857
1858 003067' 200 01 0 00 002525' MOVE T1,FORKN
1859 003070' 104 00 0 00 000205 GEVEC ;GET THE VECTOR OF BOOT
1860 003071' 202 02 0 00 002524' MOVEM T2,BOOTEV ;SAVE BOOT ENTRY VECTOR ADDRESS
1861
1862 003072' 400 03 0 00 000000 SETZ T3, ;CLEAR PAGE COUNTER
1863 003073' 200 04 0 00 014236' MOVE T4,[-1000,,0] ;ALLOW FOR 1000 PAGES
1864 003074' 514 01 0 00 002525' HRLZ T1,FORKN ;GET PROCESS HANDLE
1865 003075' 540 01 0 00 000004 HRR T1,T4 ;GET PAGE NUMBER
1866
1867 003076' 104 00 0 00 000057 RPACS ;READ PAGE ACCESS
1868 003077' 612 02 0 00 014237' TDNE T2,[PA%RD!PA%PEX]
1869 003100' 350 00 0 00 000003 AOS T3 ;IT'S THERE, COUNT IT
1870 003101' 253 04 0 00 003074' AOBJN T4,.-5
1871
1872 003102' 550 01 0 00 400001 HRRZ T1,FEDIR+FSL ;GET PRESENT FREE SPACE LENGTH
1873 003103' 315 01 0 00 000003 CAMGE T1,T3 ;ENOUGH ROOM ?
1874 003104' 260 17 0 00 014245' ERR <NOT ENOUGH FREE SPACE>
1875
1876 003105' 402 00 0 00 434000 SETZM WINDOW
1877 003106' 200 00 0 00 014247' MOVE [WINDOW,,WINDOW+1]
1878 003107' 251 00 0 00 434777 BLT WINDOW+777 ;CLEAR BC2 PRE-BOOT PAGE
1879
1880 003110' 200 04 0 00 014236' MOVE T4,[-1000,,0] ;ALLOW FOR 1000 PAGES
1881 003111' 514 13 0 00 002523' HRLZ P1,FEJFN ;GET JFN OF FRONT-END-FILE SYSTEM
1882 003112' 544 13 0 00 400001 HLR P1,FEDIR+FSL ;GET FREE SPACE PAGE #
1883 003113' 516 13 0 00 400021 HRLZM P1,FEDIR+BCHKL ;SET BC2 START PAGE
1884
1885 003114' 200 14 0 00 021070' MOVE P2,SMPBPG
1886 003115' 402 00 0 00 021061' SETZM PBCNT
1887 003116' 554 07 0 00 400021 HLRZ T7,FEDIR+BCHKL
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 51
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0090
1888
1889 003117' 514 01 0 00 002525' BC2LP: HRLZ T1,FORKN ;GET PROCESS HANDLE
1890 003120' 540 01 0 00 000004 HRR T1,T4 ;GET PAGE NUMBER
1891 003121' 104 00 0 00 000057 RPACS ;READ PAGE ACCESS
1892 003122' 612 02 0 00 014237' TDNE T2,[PA%RD!PA%PEX]
1893 003123' 260 17 0 00 003157' GO COPPAG ;COPY PAGE
1894
1895 003124' 253 04 0 00 003117' AOBJN T4,BC2LP ;TRY ANOTHER PAGE
1896
1897 003125' 405 13 0 00 777777 ANDI P1,-1
1898 003126' 506 13 0 00 400001 HRLM P1,FEDIR+FSL ;RESET FREE SPACE START PAGE
1899 003127' 550 00 0 00 400001 HRRZ 0,FEDIR+FSL ;FREE SPACE NOW SMALLER BY BC2
1900 003130' 274 00 0 00 021061' SUB 0,PBCNT
1901 003131' 542 00 0 00 400001 HRRM 0,FEDIR+FSL
1902
1903 003132' 200 13 0 00 021061' MOVE P1,PBCNT
1904 003133' 542 13 0 00 400021 HRRM P1,FEDIR+BCHKL ;SET BC2 LENGTH
1905
1906 003134' 476 00 0 14 000000 SETOM (P2) ;INDICATE END OF SPACE
1907
1908 003135' 200 01 0 00 002524' MOVE T1,BOOTEV ;FIND ENTRY VECTOR
1909 003136' 552 01 0 14 000001 HRRZM T1,1(P2) ;SET ENTRY VECTOR
1910
1911 003137' 514 01 0 00 002523' HRLZ T1,FEJFN
1912 003140' 541 01 0 00 000033 HRRI T1,^D27
1913 003141' 200 02 0 00 014250' MOVE T2,[.FHSLF,,<WINDOW_-^D9>]
1914 003142' 200 03 0 00 014251' MOVE T3,[PM%WR!PM%RD]
1915 003143' 104 00 0 00 000056 PMAP ;GET BC2 PRE-BOOT IN FE-FILE
1916 ERJMP [JSERR
1917 003144' 320 16 0 00 014127' JRST START]
1918
1919 003145' 200 00 0 00 014262' MOVE [SMPREB,,WINDOW]
1920 003146' 251 00 0 00 434777 BLT WINDOW+777
1921
1922 003147' 474 01 0 00 000000 SETO T1,
1923 003150' 400 03 0 00 000000 SETZ T3,
1924 003151' 104 00 0 00 000056 PMAP ;PUT BC2 PRE-BOOT IN FE-FILE
1925 ERJMP [JSERR
1926 003152' 320 16 0 00 014127' JRST START]
1927
1928 003153' 200 01 0 00 002525' MOVE T1,FORKN
1929 003154' 104 00 0 00 000153 KFORK ;KILL "GET" FORK
1930 ERJMP [JSERR
1931 003155' 320 16 0 00 014127' JRST START]
1932
1933 003156' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 52
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0091
1934
1935 003157' 261 17 0 00 000001 COPPAG: PUT T1
1936 003160' 261 17 0 00 000003 PUT T3
1937
1938 003161' 402 00 0 00 021060' SETZM PAG0FLG#
1939 003162' 550 03 0 00 000001 HRRZ T3,T1
1940 003163' 306 03 0 00 000001 CAIN T3,1 ;IS THIS PAGE 1 ?
1941 003164' 260 17 0 00 014300' ERR <CAN'T OVERLOAD PRE-BOOT PAGE>
1942
1943 003165' 306 03 0 00 000000 CAIN T3,0 ;IS THIS PAGE 0 ?
1944 003166' 476 00 0 00 021060' SETOM PAG0FLG ;IF PAGE 0 OF FILE, SET FLAG
1945 003167' 262 17 0 00 000003 GETIT T3
1946 003170' 262 17 0 00 000001 GETIT T1
1947
1948 003171' 332 00 0 00 021060' SKIPE PAG0FLG ;IF PAGE 0, IGNORE IT
1949 003172' 263 17 0 00 000000 RTN
1950
1951 003173' 261 17 0 00 000001 PUT T1
1952 003174' 200 06 0 00 000014 MOVE T6,P2
1953 003175' 260 17 0 00 005041' GO SBOOTP ;SET 8080 POINTER
1954 003176' 350 00 0 00 000014 AOS P2
1955
1956 003177' 262 17 0 00 000001 GETIT T1
1957 003200' 552 01 0 14 000000 HRRZM T1,0(P2) ;SET A POINTER TO PAGE NUMBER
1958 003201' 350 00 0 00 000014 AOS P2 ;POINT TO NEXT
1959
1960 003202' 261 17 0 00 000001 PUT T1
1961 003203' 550 03 0 00 000001 HRRZ T3,T1 ;FIND THE PAGE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 53
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0092
1962
1963 003204' 504 01 0 00 002525' HRL T1,FORKN ;GET FORK NUMBER
1964 003205' 540 01 0 00 000003 HRR T1,T3 ;GET PAGE NUMBER
1965 003206' 200 02 0 00 014302' MOVE T2,[.FHSLF,,<GENPAG_-^D9>]
1966 003207' 200 03 0 00 014303' MOVE T3,[PM%RD]
1967 003210' 104 00 0 00 000056 PMAP ;GET PAGE IN SELF
1968 ERJMP [JSERR
1969 003211' 320 16 0 00 014127' JRST START]
1970
1971 003212' 200 01 0 00 000013 MOVE T1,P1 ;SET UP PMAP ARGUMENTS
1972 003213' 200 02 0 00 014304' MOVE T2,[.FHSLF,,<IPAG_-^D9>]
1973 003214' 205 03 0 00 140000 MOVSI T3,(PM%WR!PM%RD)
1974 003215' 104 00 0 00 000056 PMAP
1975 ERJMP [JSERR
1976 003216' 320 16 0 00 014127' JRST START] ;JSYS ERROR
1977
1978 003217' 200 03 0 00 014305' MOVE T3,[GENPAG,,IPAG]
1979 003220' 251 03 0 00 022637' BLT T3,IPAG+777
1980
1981 003221' 474 01 0 00 000000 SETO T1,
1982 003222' 400 03 0 00 000000 SETZ T3,
1983 003223' 104 00 0 00 000056 PMAP
1984 ERJMP [JSERR
1985 003224' 320 16 0 00 014127' JRST START] ;JSYS ERROR
1986
1987 003225' 262 17 0 00 000003 GETIT T3 ;REMOVE PAGE NUMBER
1988 003226' 350 00 0 00 000013 AOS P1 ;UPDATE P1 ARGUMENTS
1989 003227' 350 00 0 00 021061' AOS PBCNT ;COUNT PAGES
1990 003230' 271 07 0 00 000001 ADDI T7,1 ;UPDATE DISK ADDRESS
1991 003231' 263 17 0 00 000000 RTN ;RETURN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 54
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0093
1992 ;HERE TO READ MONITOR BOOT EXE FILE
1993
1994 003232' 260 17 0 00 007027' WB10: GO OPNTEN ;OPEN INPUT FILE
1995 003233' 260 17 0 00 014311' ERR <FILE NOT FOUND>
1996
1997 003234' 200 01 0 00 006663' MOVE T1,LOOK10+.RBNAM
1998 003235' 202 01 0 00 006043' MOVEM T1,O.NAM1 ;SAME NAME AS INPUT
1999
2000 003236' 205 01 0 00 625155 MOVSI T1,(SIXBIT/RIM/)
2001 003237' 202 01 0 00 006044' MOVEM T1,O.EXT ;OUTPUT EXT IS ".RIM"
2002
2003 003240' 200 01 0 00 006667' MOVE T1,LOOK10+.RBVER
2004 003241' 202 01 0 00 006051' MOVEM T1,O.VER ;USE INPUT VERSION AS OUTPUT VERSION
2005
2006 003242' 135 01 0 00 014313' LDB T1,[POINT 11,LOOK10+.RBPRV,23]
2007 003243' 202 01 0 00 006050' MOVEM T1,O.TIME ;USE INPUT TIME AND DATE AS OUTPUT
2008
2009 003244' 135 01 0 00 014314' LDB T1,[POINT 3,LOOK10+.RBEXT,20]
2010 003245' 137 01 0 00 014315' DPB T1,[POINT 3,O.DATE,23]
2011 003246' 135 01 0 00 014316' LDB T1,[POINT 12,LOOK10+.RBPRV,35]
2012 003247' 137 01 0 00 014317' DPB T1,[POINT 12,O.DATE,35]
2013
2014 003250' 200 01 0 00 021036' MOVE T1,DIRDIR ;USE WRTSET'S PPN
2015 003251' 202 01 0 00 006046' MOVEM T1,O.PPN
2016
2017 003252' 200 01 0 00 005405' MOVE T1,DIRDEV ;USE WRTSET'S DEVICE
2018 003253' 202 01 0 00 006042' MOVEM T1,O.DEV
2019
2020 003254' 201 01 0 00 000577 MOVEI T1,577 ;SET PROTECTION TO 577
2021 003255' 202 01 0 00 006045' MOVEM T1,O.PRT
2022
2023 003256' 200 01 0 00 006666' MOVE T1,LOOK10+.RBSIZ ;GET FILE SIZE IN WORDS
2024 003257' 602 01 0 00 000777 TRNE T1,777
2025 003260' 260 17 0 00 014327' ERR <FILE NOT EVEN MULTIPLE OF PAGES>
2026 003261' 370 00 0 00 000001 SOS T1 ;MINUS EXE DIR PAGE
2027 003262' 231 01 0 00 001000 IDIVI T1,^D512 ;CONVERT TO PAGES
2028 003263' 202 01 0 00 400015 MOVEM T1,FEDIR+MBOOTL ;SET MONITOR BOOT LENGTH
2029 003264' 221 01 0 00 000004 IMULI T1,4 ;CONVERT TO BLOCKS
2030 003265' 202 01 0 00 021065' MOVEM T1,S.ALO ;SET FOR ALLOCATION
2031
2032 003266' 260 17 0 00 007160' GO ETER10 ;ENTER OUTPUT FILE
2033 003267' 260 17 0 00 014335' ERR <FILE ENTER FAILURE>
2034
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 55
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0094
2035 ;*NOW READ EXE FILE
2036
2037 003270' 402 00 0 00 021066' SETZM SELPAG#
2038 003271' 260 17 0 00 010762' GO REDDIR ;READ THE DIRECTORY PAGE
2039
2040 003272' 554 01 0 00 434000 HLRZ A,DBUF ;DIRECTORY DESCRIPTOR
2041 003273' 550 06 0 00 434000 HRRZ T6,DBUF ;LENGTH OF THE DIRECTORY
2042 003274' 306 01 0 00 001776 CAIN A,SV.DIR ;IS THIS A DIRECTORY?
2043 003275' 301 06 0 00 000200 CAIL T6,^D128 ; WHICH IS LESS THAN OR EQUAL TO 128 WORDS LONG?
2044 003276' 260 17 0 00 014347' ERR <NOT A DIRECTORY OR ONE WE CAN'T HANDLE>
2045
2046 003277' 211 06 0 06 777777 MOVNI T6,-1(T6) ;MAKE AN AOBJN POINTER TO THE DIRECTORY
2047 003300' 505 06 0 00 434001 HRLI T6,DBUF+1 ; ..
2048 003301' 207 00 0 00 000006 MOVSS T6 ; ..
2049
2050 003302' 201 14 0 00 004164' MOVEI P2,RPPAGD
2051 003303' 271 14 0 00 000001 ADDI P2,1
2052
2053 003304' 200 13 0 06 000000 WB10A: MOVE M,(T6) ;BITS,,FILE PAGE NUMBER
2054 003305' 321 13 0 00 003312' JUMPL M,WB10C ;JUMP IF HI SEG PAGE, READ IT IMMEDIATELY
2055 ; ABOVE THE LOW SEGMENT
2056
2057 003306' 550 05 0 06 000001 HRRZ T5,1(T6) ;CORE PAGE NUMBER
2058 003307' 242 05 0 00 000011 LSH T5,P2WLSH ;CORE ADDRESS
2059 003310' 336 00 0 00 000005 SKIPN T5 ;PAGE 0?
2060 003311' 561 05 0 00 000000 HRROI T5,0 ;YES, READ IT AND REMEMBER ITS PAGE 0
2061
2062 003312' 135 07 0 00 014351' WB10C: LDB T7,[POINT 9,1(T6),8]
2063
2064 003313' 606 13 0 00 777777 WB10D: TRNN M,-1 ;AN ALLOCATED BUT ZERO PAGE?
2065 003314' 364 13 0 00 003346' SOJA M,WB10H ;YES, COUNT DOWN REPEAT COUNT AND UPDATE CORE ADDRESS
2066 003315' 550 04 0 00 000013 HRRZ T4,M ;FILE PAGE NUMBER
2067 003316' 242 04 0 00 000002 LSH T4,P2BLSH ;CONVERT TO BLOCK WITHIN THE FILE
2068 003317' 315 04 0 00 021066' CAMGE T4,SELPAG ;FILE PAGE NUMBERS MUST BE MONOTONICALLY INCREASING
2069 003320' 260 17 0 00 014364' ERR <PAGES IN EXE DIR AREN'T MONOTONICALLY INCREASING>
2070
2071 003321' 316 04 0 00 021066' WB10E: CAMN T4,SELPAG ;AT THE RIGHT BLOCK WITHIN THE FILE?
2072 003322' 254 00 0 00 003325' JRST WB10G ;YES
2073
2074 003323' 260 17 0 00 010761' WB10F: GO SELBLK ;BYPASS FILE PAGE
2075 003324' 254 00 0 00 003321' JRST WB10E ;SEE IF THERE YET
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 56
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0095
2076
2077 003325' 306 05 0 00 001000 WB10G: CAIN T5,1000
2078 003326' 260 17 0 00 014300' ERR <CAN'T OVERLOAD PRE-BOOT PAGE>
2079
2080 003327' 260 17 0 00 010761' GO REDPAG ;READ EXE DATA PAGE
2081
2082 003330' 321 05 0 00 003343' JUMPL T5,WB10X ;PAGE 0 ?
2083
2084 003331' 261 17 0 00 000005 PUT T5
2085 003332' 405 05 0 00 777777 ANDI T5,-1
2086 003333' 242 05 0 00 777767 LSH T5,W2PLSH
2087 003334' 552 05 0 14 000000 HRRZM T5,(P2) ;SET A POINTER TO PAGE NUMBER
2088 003335' 262 17 0 00 000005 GETIT T5
2089 003336' 271 14 0 00 000002 ADDI P2,2 ;POINT TO NEXT
2090
2091 OUT WC,[IOWD ^D512,IPAG
2092 003337' 057 03 0 00 014366' 0]
2093 003340' 334 00 0 00 000000 SKIPA
2094 003341' 260 17 0 00 014373' ERR <WRITE ERROR>
2095
2096 003342' 325 05 0 00 003346' JUMPGE T5,WB10H ;PAGE 0 JUST READ?
2097
2098 003343' 200 00 0 00 021760' WB10X: MOVE IPAG+.JBSA
2099 003344' 202 00 0 00 002524' MOVEM BOOTEV ;SAVE STARTING ADDRESS
2100
2101 003345' 201 05 0 00 000000 MOVEI T5,0 ;READ NEXT PAGE INTO PAGE 1
2102
2103 003346' 271 05 0 00 001000 WB10H: ADDI T5,PAGSIZ ;NEXT PAGE
2104 003347' 371 00 0 00 000007 WB10I: SOSL T7 ;READ ALL THE PAGES DESCRIBED BY THIS ENTRY?
2105 003350' 344 13 0 00 003313' AOJA M,WB10D ;NO, READ THE NEXT PAGE
2106
2107 003351' 253 06 0 00 003352' AOBJN T6,.+1 ;BUMP PAST THIS DIRECTORY ENTRY, AND
2108 003352' 253 06 0 00 003304' AOBJN T6,WB10A ; GO GET THE NEXT DIRECTORY ENTRY
2109
2110 003353' 476 00 0 14 777777 SETOM -1(P2) ;INDICATE END OF SPACE
2111
2112 003354' 200 01 0 00 002524' MOVE T1,BOOTEV
2113 003355' 552 01 0 14 000000 HRRZM T1,(P2) ;SET ENTRY VECTOR
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 57
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0096
2114 ;*FIND 1ST PAGE OF FILE & PUT IN PRE-BOOT
2115
2116 003356' 070 03 0 00 000004 CLOSE WC,CL.DLL ;CLOSE FILE
2117 003357' 071 03 0 00 000000 RELEAS WC,
2118
2119 003360' 260 17 0 00 007507' GO GETBK2 ;GET DISK ADDRESS
2120 003361' 202 01 0 00 400014 MOVEM T1,FEDIR+MBOOTP
2121 003362' 202 01 0 00 000005 MOVEM T1,T5
2122
2123 ;*COMPUTE 8080 ADDRESSES - PUT IN PRE-BOOT
2124
2125 003363' 201 06 0 00 004164' MOVEI T6,RPPAGD
2126
2127 003364' 200 00 0 06 000000 WB10J: MOVE (T6) ;GET ADDRESS POINTER
2128 003365' 316 00 0 00 013454' CAMN [-1] ;TERMINATOR ?
2129 003366' 254 00 0 00 003374' JRST WB10K ;YES
2130
2131 003367' 200 01 0 00 000005 MOVE T1,T5
2132 003370' 260 17 0 00 005044' GO TBOOTP ;SET DISK ADDRESS
2133 003371' 271 05 0 00 000004 ADDI T5,4
2134 003372' 271 06 0 00 000002 ADDI T6,2
2135 003373' 254 00 0 00 003364' JRST WB10J
2136
2137 003374' 402 00 0 00 415000 WB10K: SETZM MPREBP
2138 003375' 200 00 0 00 014375' MOVE [MPREBP,,MPREBP+1]
2139 003376' 251 00 0 00 415777 BLT MPREBP+777
2140
2141 003377' 200 00 0 00 014376' MOVE [BTSTR1,,MPREBP] ;PUT MONITOR PRE-BOOT IN PLACE
2142 003400' 251 00 0 00 415335 BLT MPREBP+<RPPAGX-BTSTR1>
2143
2144 003401' 263 17 0 00 000000 RTN ;DONE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 58
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0097
2145 ;HERE TO READ DIAGNOSTIC BOOT EXE FILE
2146
2147 003402' 260 17 0 00 007027' WDB10: GO OPNTEN ;OPEN INPUT FILE
2148 003403' 260 17 0 00 014311' ERR <FILE NOT FOUND>
2149
2150 003404' 200 01 0 00 006663' MOVE T1,LOOK10+.RBNAM
2151 003405' 202 01 0 00 006043' MOVEM T1,O.NAM1 ;SAME NAME AS INPUT
2152
2153 003406' 205 01 0 00 625155 MOVSI T1,(SIXBIT/RIM/)
2154 003407' 202 01 0 00 006044' MOVEM T1,O.EXT ;OUTPUT EXT IS ".RIM"
2155
2156 003410' 200 01 0 00 006667' MOVE T1,LOOK10+.RBVER
2157 003411' 202 01 0 00 006051' MOVEM T1,O.VER ;USE INPUT VERSION AS OUTPUT VERSION
2158
2159 003412' 135 01 0 00 014313' LDB T1,[POINT 11,LOOK10+.RBPRV,23]
2160 003413' 202 01 0 00 006050' MOVEM T1,O.TIME ;USE INPUT TIME AND DATE AS OUTPUT
2161
2162 003414' 135 01 0 00 014314' LDB T1,[POINT 3,LOOK10+.RBEXT,20]
2163 003415' 137 01 0 00 014315' DPB T1,[POINT 3,O.DATE,23]
2164 003416' 135 01 0 00 014316' LDB T1,[POINT 12,LOOK10+.RBPRV,35]
2165 003417' 137 01 0 00 014317' DPB T1,[POINT 12,O.DATE,35]
2166
2167 003420' 200 01 0 00 021036' MOVE T1,DIRDIR ;USE WRTSET'S PPN
2168 003421' 202 01 0 00 006046' MOVEM T1,O.PPN
2169
2170 003422' 200 01 0 00 005405' MOVE T1,DIRDEV ;USE WRTSET'S DEVICE
2171 003423' 202 01 0 00 006042' MOVEM T1,O.DEV
2172
2173 003424' 201 01 0 00 000577 MOVEI T1,577 ;SET PROTECTION TO 577
2174 003425' 202 01 0 00 006045' MOVEM T1,O.PRT
2175
2176 003426' 200 01 0 00 006666' MOVE T1,LOOK10+.RBSIZ ;GET FILE SIZE IN WORDS
2177 003427' 602 01 0 00 000777 TRNE T1,777
2178 003430' 260 17 0 00 014327' ERR <FILE NOT EVEN MULTIPLE OF PAGES>
2179 003431' 370 00 0 00 000001 SOS T1 ;MINUS EXE DIR PAGE
2180 003432' 231 01 0 00 001000 IDIVI T1,^D512 ;CONVERT TO PAGES
2181 003433' 202 01 0 00 400017 MOVEM T1,FEDIR+DBOOTL ;SET MONITOR BOOT LENGTH
2182 003434' 221 01 0 00 000004 IMULI T1,4 ;CONVERT TO BLOCKS
2183 003435' 202 01 0 00 021065' MOVEM T1,S.ALO ;SET FOR ALLOCATION
2184
2185 003436' 260 17 0 00 007160' GO ETER10 ;ENTER OUTPUT FILE
2186 003437' 260 17 0 00 014335' ERR <FILE ENTER FAILURE>
2187
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 59
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0098
2188 ;*NOW READ EXE FILE
2189
2190 003440' 402 00 0 00 021066' SETZM SELPAG#
2191 003441' 260 17 0 00 010762' GO REDDIR ;READ THE DIRECTORY PAGE
2192
2193 003442' 554 01 0 00 434000 HLRZ A,DBUF ;DIRECTORY DESCRIPTOR
2194 003443' 550 06 0 00 434000 HRRZ T6,DBUF ;LENGTH OF THE DIRECTORY
2195 003444' 306 01 0 00 001776 CAIN A,SV.DIR ;IS THIS A DIRECTORY?
2196 003445' 301 06 0 00 000200 CAIL T6,^D128 ; WHICH IS LESS THAN OR EQUAL TO 128 WORDS LONG?
2197 003446' 260 17 0 00 014347' ERR <NOT A DIRECTORY OR ONE WE CAN'T HANDLE>
2198
2199 003447' 211 06 0 06 777777 MOVNI T6,-1(T6) ;MAKE AN AOBJN POINTER TO THE DIRECTORY
2200 003450' 505 06 0 00 434001 HRLI T6,DBUF+1 ; ..
2201 003451' 207 00 0 00 000006 MOVSS T6 ; ..
2202
2203 003452' 200 14 0 00 021070' MOVE P2,SMPBPG
2204 003453' 271 14 0 00 000001 ADDI P2,1
2205
2206 003454' 200 13 0 06 000000 WDB10A: MOVE M,(T6) ;BITS,,FILE PAGE NUMBER
2207 003455' 321 13 0 00 003462' JUMPL M,WDB10C ;JUMP IF HI SEG PAGE, READ IT IMMEDIATELY
2208 ; ABOVE THE LOW SEGMENT
2209
2210 003456' 550 05 0 06 000001 HRRZ T5,1(T6) ;CORE PAGE NUMBER
2211 003457' 242 05 0 00 000011 LSH T5,P2WLSH ;CORE ADDRESS
2212 003460' 336 00 0 00 000005 SKIPN T5 ;PAGE 0?
2213 003461' 561 05 0 00 000000 HRROI T5,0 ;YES, READ IT AND REMEMBER ITS PAGE 0
2214
2215 003462' 135 07 0 00 014351' WDB10C: LDB T7,[POINT 9,1(T6),8]
2216
2217 003463' 606 13 0 00 777777 WDB10D: TRNN M,-1 ;AN ALLOCATED BUT ZERO PAGE?
2218 003464' 364 13 0 00 003516' SOJA M,WDB10H ;YES, COUNT DOWN REPEAT COUNT AND UPDATE CORE ADDRESS
2219 003465' 550 04 0 00 000013 HRRZ T4,M ;FILE PAGE NUMBER
2220 003466' 242 04 0 00 000002 LSH T4,P2BLSH ;CONVERT TO BLOCK WITHIN THE FILE
2221 003467' 315 04 0 00 021066' CAMGE T4,SELPAG ;FILE PAGE NUMBERS MUST BE MONOTONICALLY INCREASING
2222 003470' 260 17 0 00 014364' ERR <PAGES IN EXE DIR AREN'T MONOTONICALLY INCREASING>
2223
2224 003471' 316 04 0 00 021066' WDB10E: CAMN T4,SELPAG ;AT THE RIGHT BLOCK WITHIN THE FILE?
2225 003472' 254 00 0 00 003475' JRST WDB10G ;YES
2226
2227 003473' 260 17 0 00 010761' WDB10F: GO SELBLK ;BYPASS FILE PAGE
2228 003474' 254 00 0 00 003471' JRST WDB10E ;SEE IF THERE YET
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 60
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0099
2229
2230 003475' 306 05 0 00 001000 WDB10G: CAIN T5,1000
2231 003476' 260 17 0 00 014300' ERR <CAN'T OVERLOAD PRE-BOOT PAGE>
2232
2233 003477' 260 17 0 00 010761' GO REDPAG ;READ EXE DATA PAGE
2234
2235 003500' 321 05 0 00 003513' JUMPL T5,WDB10X ;PAGE 0 ?
2236
2237 003501' 261 17 0 00 000005 PUT T5
2238 003502' 405 05 0 00 777777 ANDI T5,-1
2239 003503' 242 05 0 00 777767 LSH T5,W2PLSH
2240 003504' 552 05 0 14 000000 HRRZM T5,(P2) ;SET A POINTER TO PAGE NUMBER
2241 003505' 262 17 0 00 000005 GETIT T5
2242 003506' 271 14 0 00 000002 ADDI P2,2 ;POINT TO NEXT
2243
2244 OUT WC,[IOWD ^D512,IPAG
2245 003507' 057 03 0 00 014366' 0]
2246 003510' 334 00 0 00 000000 SKIPA
2247 003511' 260 17 0 00 014373' ERR <WRITE ERROR>
2248
2249 003512' 325 05 0 00 003516' JUMPGE T5,WDB10H ;PAGE 0 JUST READ?
2250
2251 003513' 200 00 0 00 021760' WDB10X: MOVE IPAG+.JBSA
2252 003514' 202 00 0 00 002524' MOVEM BOOTEV ;SAVE STARTING ADDRESS
2253
2254 003515' 201 05 0 00 000000 MOVEI T5,0 ;READ NEXT PAGE INTO PAGE 1
2255
2256 003516' 271 05 0 00 001000 WDB10H: ADDI T5,PAGSIZ ;NEXT PAGE
2257 003517' 371 00 0 00 000007 WDB10I: SOSL T7 ;READ ALL THE PAGES DESCRIBED BY THIS ENTRY?
2258 003520' 344 13 0 00 003463' AOJA M,WDB10D ;NO, READ THE NEXT PAGE
2259
2260 003521' 253 06 0 00 003522' AOBJN T6,.+1 ;BUMP PAST THIS DIRECTORY ENTRY, AND
2261 003522' 253 06 0 00 003454' AOBJN T6,WDB10A ; GO GET THE NEXT DIRECTORY ENTRY
2262
2263 003523' 476 00 0 14 777777 SETOM -1(P2) ;INDICATE END OF SPACE
2264
2265 003524' 200 01 0 00 002524' MOVE T1,BOOTEV
2266 003525' 552 01 0 14 000000 HRRZM T1,(P2) ;SET ENTRY VECTOR
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 61
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0100
2267 ;*FIND 1ST PAGE OF FILE & PUT IN PRE-BOOT
2268
2269 003526' 070 03 0 00 000004 CLOSE WC,CL.DLL ;CLOSE FILE
2270 003527' 071 03 0 00 000000 RELEAS WC,
2271
2272 003530' 260 17 0 00 007507' GO GETBK2 ;GET DISK ADDRESS
2273 003531' 202 01 0 00 400016 MOVEM T1,FEDIR+DBP
2274 003532' 202 01 0 00 000005 MOVEM T1,T5
2275
2276 ;*COMPUTE 8080 ADDRESSES - PUT IN PRE-BOOT
2277
2278 003533' 200 06 0 00 021070' MOVE T6,SMPBPG
2279
2280 003534' 200 00 0 06 000000 WDB10J: MOVE (T6) ;GET ADDRESS POINTER
2281 003535' 316 00 0 00 013454' CAMN [-1] ;TERMINATOR ?
2282 003536' 254 00 0 00 003544' JRST WDB10K ;YES
2283
2284 003537' 200 01 0 00 000005 MOVE T1,T5
2285 003540' 260 17 0 00 005044' GO TBOOTP ;SET DISK ADDRESS
2286 003541' 271 05 0 00 000004 ADDI T5,4
2287 003542' 271 06 0 00 000002 ADDI T6,2
2288 003543' 254 00 0 00 003534' JRST WDB10J
2289
2290 003544' 402 00 0 00 416000 WDB10K: SETZM DPREBP
2291 003545' 200 00 0 00 014377' MOVE [DPREBP,,DPREBP+1]
2292 003546' 251 00 0 00 416777 BLT DPREBP+777
2293
2294 003547' 200 00 0 00 014400' MOVE [SMPREB,,DPREBP] ;PUT DIAGNOSTIC PRE-BOOT IN PLACE
2295 003550' 251 00 0 00 416777 BLT DPREBP+777
2296
2297 003551' 263 17 0 00 000000 RTN ;DONE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 62
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0101
2298 ;HERE TO READ DIAGNOSTIC BC2 EXE FILE
2299
2300 003552' 260 17 0 00 007027' BC210: GO OPNTEN ;OPEN INPUT FILE
2301 003553' 260 17 0 00 014311' ERR <FILE NOT FOUND>
2302
2303 003554' 200 01 0 00 006663' MOVE T1,LOOK10+.RBNAM
2304 003555' 202 01 0 00 006043' MOVEM T1,O.NAM1 ;SAME NAME AS INPUT
2305
2306 003556' 205 01 0 00 625155 MOVSI T1,(SIXBIT/RIM/)
2307 003557' 202 01 0 00 006044' MOVEM T1,O.EXT ;OUTPUT EXT IS ".RIM"
2308
2309 003560' 200 01 0 00 006667' MOVE T1,LOOK10+.RBVER
2310 003561' 202 01 0 00 006051' MOVEM T1,O.VER ;USE INPUT VERSION AS OUTPUT VERSION
2311
2312 003562' 135 01 0 00 014313' LDB T1,[POINT 11,LOOK10+.RBPRV,23]
2313 003563' 202 01 0 00 006050' MOVEM T1,O.TIME ;USE INPUT TIME AND DATE AS OUTPUT
2314
2315 003564' 135 01 0 00 014314' LDB T1,[POINT 3,LOOK10+.RBEXT,20]
2316 003565' 137 01 0 00 014315' DPB T1,[POINT 3,O.DATE,23]
2317 003566' 135 01 0 00 014316' LDB T1,[POINT 12,LOOK10+.RBPRV,35]
2318 003567' 137 01 0 00 014317' DPB T1,[POINT 12,O.DATE,35]
2319
2320 003570' 200 01 0 00 021036' MOVE T1,DIRDIR ;USE WRTSET'S PPN
2321 003571' 202 01 0 00 006046' MOVEM T1,O.PPN
2322
2323 003572' 200 01 0 00 005405' MOVE T1,DIRDEV ;USE WRTSET'S DEVICE
2324 003573' 202 01 0 00 006042' MOVEM T1,O.DEV
2325
2326 003574' 201 01 0 00 000577 MOVEI T1,577 ;SET PROTECTION TO 577
2327 003575' 202 01 0 00 006045' MOVEM T1,O.PRT
2328
2329 003576' 200 01 0 00 006666' MOVE T1,LOOK10+.RBSIZ ;GET FILE SIZE IN WORDS
2330 003577' 602 01 0 00 000777 TRNE T1,777
2331 003600' 260 17 0 00 014327' ERR <FILE NOT EVEN MULTIPLE OF PAGES>
2332 003601' 370 00 0 00 000001 SOS T1 ;MINUS EXE DIR PAGE
2333 003602' 231 01 0 00 001000 IDIVI T1,^D512 ;CONVERT TO PAGES
2334 003603' 202 01 0 00 400021 MOVEM T1,FEDIR+BCHKL ;SET BC2 LENGTH
2335 003604' 221 01 0 00 000004 IMULI T1,4 ;CONVERT TO BLOCKS
2336 003605' 202 01 0 00 021065' MOVEM T1,S.ALO ;SET FOR ALLOCATION
2337
2338 003606' 260 17 0 00 007160' GO ETER10 ;ENTER OUTPUT FILE
2339 003607' 260 17 0 00 014335' ERR <FILE ENTER FAILURE>
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 63
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0102
2340 ;*NOW READ EXE FILE
2341
2342 003610' 402 00 0 00 021066' SETZM SELPAG#
2343 003611' 260 17 0 00 010762' GO REDDIR ;READ THE DIRECTORY PAGE
2344
2345 003612' 554 01 0 00 434000 HLRZ A,DBUF ;DIRECTORY DESCRIPTOR
2346 003613' 550 06 0 00 434000 HRRZ T6,DBUF ;LENGTH OF THE DIRECTORY
2347 003614' 306 01 0 00 001776 CAIN A,SV.DIR ;IS THIS A DIRECTORY?
2348 003615' 301 06 0 00 000200 CAIL T6,^D128 ; WHICH IS LESS THAN OR EQUAL TO 128 WORDS LONG?
2349 003616' 260 17 0 00 014347' ERR <NOT A DIRECTORY OR ONE WE CAN'T HANDLE>
2350
2351 003617' 211 06 0 06 777777 MOVNI T6,-1(T6) ;MAKE AN AOBJN POINTER TO THE DIRECTORY
2352 003620' 505 06 0 00 434001 HRLI T6,DBUF+1 ; ..
2353 003621' 207 00 0 00 000006 MOVSS T6 ; ..
2354
2355 003622' 200 14 0 00 021070' MOVE P2,SMPBPG
2356 003623' 271 14 0 00 000001 ADDI P2,1
2357
2358 003624' 200 13 0 06 000000 BC210A: MOVE M,(T6) ;BITS,,FILE PAGE NUMBER
2359 003625' 321 13 0 00 003632' JUMPL M,BC210C ;JUMP IF HI SEG PAGE, READ IT IMMEDIATELY
2360 ; ABOVE THE LOW SEGMENT
2361
2362 003626' 550 05 0 06 000001 HRRZ T5,1(T6) ;CORE PAGE NUMBER
2363 003627' 242 05 0 00 000011 LSH T5,P2WLSH ;CORE ADDRESS
2364 003630' 336 00 0 00 000005 SKIPN T5 ;PAGE 0?
2365 003631' 561 05 0 00 000000 HRROI T5,0 ;YES, READ IT AND REMEMBER ITS PAGE 0
2366
2367 003632' 135 07 0 00 014351' BC210C: LDB T7,[POINT 9,1(T6),8]
2368
2369 003633' 606 13 0 00 777777 BC210D: TRNN M,-1 ;AN ALLOCATED BUT ZERO PAGE?
2370 003634' 364 13 0 00 003673' SOJA M,BC210H ;YES, COUNT DOWN REPEAT COUNT AND UPDATE CORE ADDRESS
2371 003635' 550 04 0 00 000013 HRRZ T4,M ;FILE PAGE NUMBER
2372 003636' 242 04 0 00 000002 LSH T4,P2BLSH ;CONVERT TO BLOCK WITHIN THE FILE
2373 003637' 315 04 0 00 021066' CAMGE T4,SELPAG ;FILE PAGE NUMBERS MUST BE MONOTONICALLY INCREASING
2374 003640' 260 17 0 00 014364' ERR <PAGES IN EXE DIR AREN'T MONOTONICALLY INCREASING>
2375
2376 003641' 316 04 0 00 021066' BC210E: CAMN T4,SELPAG ;AT THE RIGHT BLOCK WITHIN THE FILE?
2377 003642' 254 00 0 00 003645' JRST BC210G ;YES
2378
2379 003643' 260 17 0 00 010761' BC210F: GO SELBLK ;BYPASS FILE PAGE
2380 003644' 254 00 0 00 003641' JRST BC210E ;SEE IF THERE YET
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 64
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0103
2381
2382 003645' 306 05 0 00 001000 BC210G: CAIN T5,1000
2383 003646' 260 17 0 00 014300' ERR <CAN'T OVERLOAD PRE-BOOT PAGE>
2384
2385 003647' 260 17 0 00 010761' GO REDPAG ;READ EXE DATA PAGE
2386
2387 003650' 325 05 0 00 003656' JUMPGE T5,.+6 ;PAGE 0 ?
2388
2389 003651' 261 17 0 00 000001 PUT T1
2390 003652' 402 00 0 00 021671' SETZM IPAG+KPALIVE ;YES, ZERO 8080 COMM AREA
2391 003653' 200 01 0 00 014401' MOVE T1,[IPAG+KPALIVE,,IPAG+KPALIVE+1]
2392 003654' 251 01 0 00 021700' BLT T1,IPAG+MSSLAVE
2393 003655' 262 17 0 00 000001 GETIT T1
2394
2395 003656' 261 17 0 00 000005 PUT T5
2396 003657' 405 05 0 00 777777 ANDI T5,-1
2397 003660' 242 05 0 00 777767 LSH T5,W2PLSH
2398 003661' 552 05 0 14 000000 HRRZM T5,(P2) ;SET A POINTER TO PAGE NUMBER
2399 003662' 262 17 0 00 000005 GETIT T5
2400 003663' 271 14 0 00 000002 ADDI P2,2 ;POINT TO NEXT
2401
2402 OUT WC,[IOWD ^D512,IPAG
2403 003664' 057 03 0 00 014366' 0]
2404 003665' 334 00 0 00 000000 SKIPA
2405 003666' 260 17 0 00 014373' ERR <WRITE ERROR>
2406
2407 003667' 325 05 0 00 003673' JUMPGE T5,BC210H ;PAGE 0 JUST READ?
2408
2409 003670' 200 00 0 00 021760' MOVE IPAG+.JBSA
2410 003671' 202 00 0 00 002524' MOVEM BOOTEV ;SAVE STARTING ADDRESS
2411
2412 003672' 201 05 0 00 000000 MOVEI T5,0 ;READ NEXT PAGE INTO PAGE 1
2413
2414 003673' 271 05 0 00 001000 BC210H: ADDI T5,PAGSIZ ;NEXT PAGE
2415 003674' 371 00 0 00 000007 BC210I: SOSL T7 ;READ ALL THE PAGES DESCRIBED BY THIS ENTRY?
2416 003675' 344 13 0 00 003633' AOJA M,BC210D ;NO, READ THE NEXT PAGE
2417
2418 003676' 253 06 0 00 003677' AOBJN T6,.+1 ;BUMP PAST THIS DIRECTORY ENTRY, AND
2419 003677' 253 06 0 00 003624' AOBJN T6,BC210A ; GO GET THE NEXT DIRECTORY ENTRY
2420
2421 003700' 476 00 0 14 777777 SETOM -1(P2) ;INDICATE END OF SPACE
2422
2423 003701' 200 01 0 00 002524' MOVE T1,BOOTEV
2424 003702' 552 01 0 14 000000 HRRZM T1,(P2) ;SET ENTRY VECTOR
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 65
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0104
2425 ;*FIND 1ST PAGE OF FILE & PUT IN PRE-BOOT
2426
2427 003703' 070 03 0 00 000004 CLOSE WC,CL.DLL ;CLOSE FILE
2428 003704' 071 03 0 00 000000 RELEAS WC,
2429
2430 003705' 260 17 0 00 007507' GO GETBK2 ;GET DISK ADDRESS
2431 003706' 202 01 0 00 400020 MOVEM T1,FEDIR+BCHKP
2432 003707' 202 01 0 00 000005 MOVEM T1,T5
2433
2434 ;*COMPUTE 8080 ADDRESSES - PUT IN PRE-BOOT
2435
2436 003710' 200 06 0 00 021070' MOVE T6,SMPBPG
2437
2438 003711' 200 00 0 06 000000 BC210J: MOVE (T6) ;GET ADDRESS POINTER
2439 003712' 316 00 0 00 013454' CAMN [-1] ;TERMINATOR ?
2440 003713' 254 00 0 00 003721' JRST BC210K ;YES
2441
2442 003714' 200 01 0 00 000005 MOVE T1,T5
2443 003715' 260 17 0 00 005044' GO TBOOTP ;SET DISK ADDRESS
2444 003716' 271 05 0 00 000004 ADDI T5,4
2445 003717' 271 06 0 00 000002 ADDI T6,2
2446 003720' 254 00 0 00 003711' JRST BC210J
2447
2448 003721' 402 00 0 00 433000 BC210K: SETZM BCPREBP
2449 003722' 200 00 0 00 014402' MOVE [BCPREBP,,BCPREBP+1]
2450 003723' 251 00 0 00 433777 BLT BCPREBP+777
2451
2452 003724' 200 00 0 00 014403' MOVE [SMPREB,,BCPREBP] ;PUT DIAGNOSTIC PRE-BOOT IN PLACE
2453 003725' 251 00 0 00 433777 BLT BCPREBP+777
2454
2455 003726' 263 17 0 00 000000 RTN ;DONE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 66
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0105
2456 ;*MONITOR BOOT STRAP PROGRAM TO BE WRITTEN ON THE DISK
2457
2458 003727' BTSTR1:
2459 001000 PHASE BOORG
2460
2461 001000 254 00 0 00 001005 BTSTRT:!JRST BTSTAR
2462
2463 001001 254 04 0 00 001001 BTHLT0:!HALT . ;TRIED TO OVERLOAD PRE-BOOT
2464 001002 254 04 0 00 001002 BTHLT1:!HALT . ;DISK RETRY FAILURE
2465 001003 254 04 0 00 001003 BTHLT2:!HALT . ;NO RH-11 BASE ADDRESS
2466 001004 254 04 0 00 001004 BTHLT3:!HALT . ;RESERVED
2467
2468 001005 205 17 0 00 777761 BTSTAR:!MOVSI 17,-17
2469 001006 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
2470 001007 253 17 0 00 001006 AOBJN 17,.-1
2471 001010 402 00 0 00 000017 SETZM 17
2472
2473 001011 200 13 0 00 000036 MOVE P1,MSRH ;GET DISK ADDRESS
2474 001012 202 13 0 00 001230 MOVEM P1,MSRHSV
2475 001013 336 00 0 00 000013 SKIPN P1
2476 001014 254 00 0 00 001003 JRST BTHLT2 ;NO RH-11 BASE ADDRESS ?
2477 001015 502 13 0 00 001233 HLLM P1,BTUBP0 ;SETUP UBA MAP POINTER
2478 001016 502 13 0 00 001234 HLLM P1,BTUBST ;SETUP UBA STATUS POINTER
2479
2480 001017 200 01 0 00 000031 MOVE T1,KPALIVE
2481 001020 202 01 0 00 001227 MOVEM T1,MSKPAL ;SAVE KEEP-ALIVE WORD
2482
2483 001021 201 01 0 00 000040 MOVEI T1,RHCLR
2484 001022 713 01 0 13 000010 WRIO T1,RPCS2(P1) ;CLEAR CONTROLLER
2485
2486 001023 200 01 0 00 000037 MOVE T1,MSDRIVE
2487 001024 202 01 0 00 001231 MOVEM T1,MSDRSV
2488 001025 713 01 0 13 000010 WRIO T1,RPCS2(P1) ;SELECT DRIVE
2489
2490 001026 201 01 0 00 000021 MOVEI T1,RIPST ;DO READIN PRESET
2491 001027 713 01 0 13 000000 WRIO T1,RPCS1(P1) ;WRITE REGISTER
2492 001030 201 02 0 00 000200 MOVEI T2,RDY ;WAIT FOR READY
2493 001031 711 02 0 13 000012 TION T2,RPDS(P1) ;CHECK READY?
2494 001032 254 00 0 00 001031 JRST .-1 ;NO -- CONTINUE WAIT
2495
2496 001033 201 03 0 00 001235 MOVEI T3,RPPAG ;FIND THE OFFSET STUFF
2497 001034 201 05 0 00 000012 MOVEI T5,^D10 ;SET RETRY COUNT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 67
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0106
2498
2499 001035 200 04 0 03 000000 RDABLK:!MOVE T4,0(T3) ;FIND THE DISK ADDRESS
2500 001036 321 04 0 00 001135 JUMPL T4,RDADON ;QUIT IF ALL DONE WITH PAGES
2501
2502 001037 350 00 0 00 000003 AOS T3 ;POINT TO BLOCK ENTRIES
2503 001040 713 04 0 13 000006 WRIO T4,RPDA(P1) ;SET DISK ADDRESS
2504 001041 207 00 0 00 000004 MOVSS T4 ;FIND CYL ADDRESS
2505 001042 713 04 0 13 000034 WRIO T4,RPDC(P1) ;SET CYL ADDRESS
2506
2507 001043 211 04 0 00 002000 MOVNI T4,2000 ;READ A PAGE (WORD COUNT)
2508 001044 713 04 0 13 000002 WRIO T4,RPWC(P1) ;SET WORD COUNT
2509
2510 001045 400 04 0 00 000000 SETZ T4, ;CLEAR CURRENT ADDRESS REGISTER
2511 001046 713 04 0 13 000004 WRIO T4,RPBA(P1) ;SET UNIBUS ADDRESS TO 0
2512
2513 001047 200 04 0 03 000000 MOVE T4,0(T3) ;FIND THE CORE ADDRESS
2514 001050 350 00 0 00 000003 AOS T3 ;POINT TO NEXT ENTRY
2515 001051 306 04 0 00 000001 CAIN T4,1 ;CAN'T OVERLOAD PRE-BOOT
2516 001052 254 00 0 00 001073 JRST RDBADR ;PAGE 1 REQUESTED TO BE LOADED ?
2517
2518 001053 435 04 0 00 140000 IORI T4,UBVBIT!UNV36X
2519 001054 713 04 1 00 001233 WRIO T4,@BTUBP0 ;SET UP UNIBUS ADAPTOR PAGE 0
2520
2521 001055 201 04 0 00 000071 MOVEI T4,RDATA ;SET GO
2522 001056 713 04 0 13 000000 WRIO T4,RPCS1(P1) ;WAIT FOR GO
2523 001057 712 04 0 13 000000 RDIO T4,RPCS1(P1)
2524 001060 606 04 0 00 000200 TRNN T4,RDY
2525 001061 254 00 0 00 001057 JRST .-2 ;HO HUM WAIT
2526
2527 001062 606 04 0 00 060000 TRNN T4,TRE!MCPE ;CHECK ERROR CONDITION SUMMARY
2528 001063 254 00 0 00 001035 JRST RDABLK ;DO NEXT PAGE
2529
2530 001064 275 03 0 00 000002 SUBI T3,2 ;BACKUP TO SAME ENTRY
2531 001065 363 05 0 00 001076 SOJLE T5,RDFAIL ;TRY AGAIN TILL RETRY RUNS OUT
2532
2533 001066 201 01 0 00 000040 RDRTRY:!MOVEI T1,RHCLR ;ERROR, CLEAR & TRY AGAIN
2534 001067 713 01 0 13 000010 WRIO T1,RPCS2(P1) ;CLEAR CONTROLLER
2535
2536 001070 200 01 0 00 000037 MOVE T1,MSDRIVE
2537 001071 713 01 0 13 000010 WRIO T1,RPCS2(P1) ;SELECT DRIVE
2538
2539 001072 254 00 0 00 001035 JRST RDABLK ;TRY AGAIN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 68
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0107
2540
2541 001073 201 17 0 00 001001 RDBADR:!MOVEI 17,BTHLT0 ;SET HALT ADDRESS
2542 001074 275 03 0 00 000002 SUBI T3,2 ;POINT TO FAILING ENTRY
2543 001075 254 00 0 00 001077 JRST .+2
2544
2545 001076 201 17 0 00 001002 RDFAIL:!MOVEI 17,BTHLT1 ;SET HALT ADDRESS
2546 001077 200 00 0 03 000000 MOVE (T3)
2547 001100 202 00 0 00 000100 MOVEM 100 ;SAVE 8080 DISK ADDRESS
2548 001101 200 00 0 03 000001 MOVE 1(T3)
2549 001102 202 00 0 00 000101 MOVEM 101 ;SAVE MEMORY PAGE ADDRESS
2550
2551 001103 202 03 0 00 000102 MOVEM T3,102 ;SAVE SELECTION PICKUP POINTER
2552
2553 001104 712 00 0 13 000000 RDIO RPCS1(P1)
2554 001105 202 00 0 00 000103 MOVEM 103 ;SAVE CONTROL AND STATUS 1
2555 001106 712 00 0 13 000010 RDIO RPCS2(P1)
2556 001107 202 00 0 00 000104 MOVEM 104 ;SAVE CONTROL AND STATUS 2
2557 001110 712 00 0 13 000012 RDIO RPDS(P1)
2558 001111 202 00 0 00 000105 MOVEM 105 ;SAVE DRIVE STATUS
2559 001112 712 00 0 13 000014 RDIO RPER1(P1)
2560 001113 202 00 0 00 000106 MOVEM 106 ;SAVE ERROR 1
2561 001114 712 00 0 13 000040 RDIO RPER2(P1)
2562 001115 202 00 0 00 000107 MOVEM 107 ;SAVE ERROR 2
2563 001116 712 00 0 13 000042 RDIO RPER3(P1)
2564 001117 202 00 0 00 000110 MOVEM 110 ;SAVE ERROR 3
2565
2566 001120 712 00 1 00 001233 RDIO @BTUBP0
2567 001121 202 00 0 00 000111 MOVEM 111 ;SAVE UBA PAGING RAM LOC 0
2568 001122 712 00 1 00 001234 RDIO @BTUBST
2569 001123 202 00 0 00 000112 MOVEM 112 ;SAVE UBA STATUS REG
2570
2571 001124 200 00 0 00 001232 MOVE BTVER
2572 001125 202 00 0 00 000113 MOVEM 113 ;SAVE PRE-BOOT VERSION
2573
2574 001126 200 00 0 00 001230 MOVE MSRHSV
2575 001127 202 00 0 00 000036 MOVEM MSRH ;REINSTALL RH-11 BASE ADDRESS
2576 001130 200 00 0 00 001231 MOVE MSDRSV
2577 001131 202 00 0 00 000037 MOVEM MSDRIVE ;REINSTALL DRIVE NUMBER
2578 001132 200 00 0 00 001227 MOVE MSKPAL
2579 001133 202 00 0 00 000031 MOVEM KPALIVE ;REINSTALL KEEP-ALIVE
2580
2581 001134 254 00 1 00 000017 JRST @17 ;HALT AT APPROPRIATE HALT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 69
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0108
2582
2583 001135 200 00 0 03 000001 RDADON:!MOVE 1(T3) ;GET START ADDRESS
2584 001136 202 00 0 00 000020 MOVEM 20 ;SAVE
2585
2586 001137 701 03 0 00 001217 WRUBR ACBLK7
2587 001140 205 17 0 00 777761 MOVSI 17,-17
2588 001141 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
2589 001142 253 17 0 00 001141 AOBJN 17,.-1
2590 001143 402 00 0 00 000017 SETZM 17
2591
2592 001144 701 03 0 00 001220 WRUBR ACBLK6
2593 001145 205 17 0 00 777761 MOVSI 17,-17
2594 001146 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
2595 001147 253 17 0 00 001146 AOBJN 17,.-1
2596 001150 402 00 0 00 000017 SETZM 17
2597
2598 001151 701 03 0 00 001221 WRUBR ACBLK5
2599 001152 205 17 0 00 777761 MOVSI 17,-17
2600 001153 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
2601 001154 253 17 0 00 001153 AOBJN 17,.-1
2602 001155 402 00 0 00 000017 SETZM 17
2603
2604 001156 701 03 0 00 001222 WRUBR ACBLK4
2605 001157 205 17 0 00 777761 MOVSI 17,-17
2606 001160 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
2607 001161 253 17 0 00 001160 AOBJN 17,.-1
2608 001162 402 00 0 00 000017 SETZM 17
2609
2610 001163 701 03 0 00 001223 WRUBR ACBLK3
2611 001164 205 17 0 00 777761 MOVSI 17,-17
2612 001165 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
2613 001166 253 17 0 00 001165 AOBJN 17,.-1
2614 001167 402 00 0 00 000017 SETZM 17
2615
2616 001170 701 03 0 00 001224 WRUBR ACBLK2
2617 001171 205 17 0 00 777761 MOVSI 17,-17
2618 001172 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
2619 001173 253 17 0 00 001172 AOBJN 17,.-1
2620 001174 402 00 0 00 000017 SETZM 17
2621
2622 001175 701 03 0 00 001225 WRUBR ACBLK1
2623 001176 205 17 0 00 777761 MOVSI 17,-17
2624 001177 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
2625 001200 253 17 0 00 001177 AOBJN 17,.-1
2626 001201 402 00 0 00 000017 SETZM 17
2627
2628 001202 701 03 0 00 001226 WRUBR ACBLK0
2629 001203 205 17 0 00 777761 MOVSI 17,-17
2630 001204 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
2631 001205 253 17 0 00 001204 AOBJN 17,.-1
2632 001206 402 00 0 00 000017 SETZM 17
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 70
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0109
2633
2634 001207 200 00 0 00 001230 MOVE MSRHSV
2635 001210 202 00 0 00 000036 MOVEM MSRH ;REINSTALL RH-11 BASE ADDRESS
2636 001211 200 00 0 00 001231 MOVE MSDRSV
2637 001212 202 00 0 00 000037 MOVEM MSDRIVE ;REINSTALL DRIVE NUMBER
2638 001213 200 00 0 00 001227 MOVE MSKPAL
2639 001214 202 00 0 00 000031 MOVEM KPALIVE ;REINSTALL KEEP-ALIVE
2640
2641 001215 400 00 0 00 000000 SETZ
2642 001216 254 00 1 00 000020 JRST @20 ;NOW START BOOT
2643
2644 001217 407000 000000 ACBLK7:! 1B0!7B8 ;WRUBR ARGUMENTS
2645 001220 406000 000000 ACBLK6:! 1B0!6B8
2646 001221 405000 000000 ACBLK5:! 1B0!5B8
2647 001222 404000 000000 ACBLK4:! 1B0!4B8
2648 001223 403000 000000 ACBLK3:! 1B0!3B8
2649 001224 402000 000000 ACBLK2:! 1B0!2B8
2650 001225 401000 000000 ACBLK1:! 1B0!1B8
2651 001226 400000 000000 ACBLK0:! 1B0!0B8
2652
2653 001227 000000 000000 MSKPAL:! 0 ;KEEP-ALIVE & STATUS WORD
2654 001230 000000 000000 MSRHSV:! 0 ;RH-11 BASE ADDRESS
2655 001231 000000 000000 MSDRSV:! 0 ;DRIVE NUMBER
2656
2657 001232 000000 000003 BTVER:! MCNVER,,DECVER ;PRE-BOOT VERSION
2658
2659 001233 000001 763000 BTUBP0:! 1,,763000 ;ADDRESS OF FIRST WINDOW
2660 001234 000001 763100 BTUBST:! 1,,763100 ;ADDRESS OF UBA STATUS
2661
2662 001235 RPPAG:! ;NEXT TWO INSTRUCTIONS MUST FOLLOW!!DO NOT MOVE
2663 004164' DEPHASE
2664
2665 004164' RPPAGD: BLOCK 100
2666 004264' 000000 000000 RPPAGX: 0
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 71
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0110
2667 ;*WRITE MICRO-CODE ONTO DISK
2668
2669 004265' 476 00 0 00 021027' WRTBC1: SETOM BC1FLG
2670 004266' 254 00 0 00 004270' JRST WRTCRM+1
2671 004267' 402 00 0 00 021027' WRTCRM: SETZM BC1FLG
2672 004270' NOISE <MICROCODE ONTO DISK>
2673 004302' 260 17 0 00 000623' CONFIRM
2674
2675 004303' 336 00 0 00 021046' SKIPN FESETF ;FE-DIR IN CODE ?
2676 004304' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
2677 004305' 336 00 0 00 016572' SKIPN RDFLAG
2678 004306' 260 17 0 00 013676' ERR <MUST FIRST READ MICROCODE WITH READ COMMAND>
2679
2680 004307' 336 00 0 00 000302' SKIPN MONTYP
2681 004310' 254 00 0 00 004342' JRST WRTC10 ;TOPS-10
2682
2683 004311' 554 03 0 00 400003 HLRZ T3,FEDIR+MCL ;GET MICROCODE START PAGE
2684 004312' 332 00 0 00 021027' SKIPE BC1FLG
2685 004313' 554 03 0 00 400011 HLRZ T3,FEDIR+BC1L
2686 004314' 242 03 0 00 000011 LSH T3,^D9 ;MAKE WORD POINTER INTO FILE
2687 004315' 202 03 0 00 021075' MOVEM T3,WTPTR# ;SAVE
2688
2689 004316' 200 01 0 00 002523' MOVE T1,FEJFN
2690 004317' 200 02 0 00 021075' MOVE T2,WTPTR
2691 004320' 104 00 0 00 000027 SFPTR
2692 004321' 320 16 0 00 014427' ERMSG <CAN NOT SET FILE POINTER>
2693
2694 004322' 201 06 0 00 401000 MOVEI T6,CRAM
2695 004323' 332 00 0 00 021027' SKIPE BC1FLG
2696 004324' 201 06 0 00 417000 MOVEI T6,CRMBC1
2697 004325' 201 05 0 00 004000 MOVEI T5,4000
2698 004326' 200 02 0 06 000000 WTLOOP: MOVE T2,(T6)
2699 004327' 104 00 0 00 000051 BOUT
2700 004330' 200 02 0 06 000001 MOVE T2,1(T6)
2701 004331' 104 00 0 00 000051 BOUT
2702 004332' 200 02 0 06 000002 MOVE T2,2(T6)
2703 004333' 104 00 0 00 000051 BOUT
2704 004334' 271 06 0 00 000003 ADDI T6,3
2705 004335' 367 05 0 00 004326' SOJG T5,WTLOOP
2706
2707 004336' 200 01 0 00 002523' MOVE T1,FEJFN
2708 004337' 201 02 0 00 000000 MOVEI T2,0 ;SET FILE POINTER TO 0
2709 004340' 104 00 0 00 000027 SFPTR
2710 004341' 320 16 0 00 014427' ERMSG <CAN NOT SET FILE POINTER>
2711
2712 004342' 201 06 0 00 400002 WRTC10: MOVEI T6,FEDIR+MCP
2713 004343' 554 07 0 00 400003 HLRZ T7,FEDIR+MCL
2714 004344' 336 00 0 00 021027' SKIPN BC1FLG
2715 004345' 254 00 0 00 004350' JRST .+3
2716 004346' 201 06 0 00 400010 MOVEI T6,FEDIR+BC1P
2717 004347' 554 07 0 00 400011 HLRZ T7,FEDIR+BC1L
2718 004350' 260 17 0 00 005012' GO S8080P ;SETUP 8080 POINTER
2719
2720 004351' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 72
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0111
2721 ;*WRTFEF, WRITE FRONT-END INDIRECT FILES
2722 ;* COMMAND - [INDIRECT "0-366(8)" "FILE.EXT"
2723 ;* CREATES - "FEF000.FI" TO "FEF366.FI" (TOPS-10)
2724
2725 004352' WRTFEF: CMD [FLDDB.(.CMNUM,,^D8)],<NOT A VALID FILE NUMBER>
2726
2727 004364' 331 00 0 00 000002 SKIPL T2
2728 004365' 303 02 0 00 000366 CAILE T2,366
2729 004366' 260 17 0 00 014444' ERR <NOT A VALID FILE NUMBER>
2730 004367' 202 02 0 00 021044' MOVEM T2,FEFNBR#
2731
2732 004370' 402 00 0 00 016410' SETZM GTJFIL ;NO DEFAULTS ALLOWED
2733 004371' 402 00 0 00 016411' SETZM GTJEXT
2734 004372' 402 00 0 00 016406' SETZM GTJDEV
2735 004373' 402 00 0 00 016407' SETZM GTJDIR
2736
2737 004374' 205 01 0 00 100000 MOVSI T1,(GJ%OLD)
2738 004375' 202 01 0 00 016404' MOVEM T1,GTJFLG
2739
2740 004376' CMD [FLDDB.(.CMFIL)]
2741 004407' 516 02 0 00 021043' HRLZM T2,FEFJFN# ;SAVE THE JFN OF THE FILE
2742
2743 004410' 260 17 0 00 000623' CONFIRM
2744
2745 004411' 336 00 0 00 021046' SKIPN FESETF
2746 004412' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
2747
2748 004413' 336 00 0 00 000302' SKIPN MONTYP
2749 004414' 254 00 0 00 004472' JRST FEF10 ;TOPS-10
2750
2751 004415' 550 01 0 00 400001 HRRZ T1,FEDIR+FSL ;GET FREE SPACE LENGTH
2752 004416' 305 01 0 00 000001 CAIGE T1,1 ;THIS NEEDS ONE PAGE
2753 004417' 260 17 0 00 014245' ERR <NOT ENOUGH FREE SPACE>
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 73
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0112
2754
2755 004420' 554 01 0 00 021043' HLRZ T1,FEFJFN
2756 004421' 201 02 0 00 200000 MOVEI T2,OF%RD
2757 004422' 104 00 0 00 000021 OPENF ;OPEN FILE
2758 004423' 260 17 0 00 014457' ERR <INDIRECT OPEN ERROR>
2759
2760 004424' 554 01 0 00 021043' HLRZ T1,FEFJFN
2761 004425' 200 02 0 00 014104' MOVE T2,[1,,.FBBYV]
2762 004426' 201 03 0 00 000004 MOVEI T3,T4
2763 004427' 104 00 0 00 000063 GTFDB ;GET FILE PAGE COUNT
2764 004430' 405 04 0 00 777777 ANDI T4,-1
2765 004431' 302 04 0 00 000001 CAIE T4,^D1 ;CAN ONLY BE ONE PAGE
2766 004432' 254 00 0 00 004466' JRST FEFERR ;WRONG LENGTH
2767
2768 004433' 200 01 0 00 021043' MOVE T1,FEFJFN
2769 004434' 200 02 0 00 014302' MOVE T2,[.FHSLF,,<GENPAG_-^D9>]
2770 004435' 200 03 0 00 014461' MOVE T3,[PM%RD+PM%PLD+PM%CPY]
2771 004436' 104 00 0 00 000056 PMAP ;GET FILE
2772 ERJMP [JSERR
2773 004437' 320 16 0 00 014127' JRST START]
2774
2775 004440' 416 00 0 00 435000 SETMM GENPAG ;MAKE PRIVATE
2776
2777 004441' 554 01 0 00 021043' HLRZ T1,FEFJFN
2778 004442' 104 00 0 00 000022 CLOSF ;CLOSE FILE
2779 004443' 260 17 0 00 014467' ERR <INDIRECT CLOSE ERROR>
2780
2781 004444' 260 17 0 00 004560' GO FEIFMT ;FORMAT INDIRECT FILE
2782
2783 004445' 200 01 0 00 014471' MOVE T1,[.FHSLF,,<IPAG_-^D9>]
2784 004446' 514 02 0 00 002523' HRLZ T2,FEJFN
2785 004447' 544 02 0 00 400001 HLR T2,FEDIR+FSL ;GET FREE-SPACE PAGE
2786 004450' 200 03 0 00 014472' MOVE T3,[PM%WR]
2787 004451' 104 00 0 00 000056 PMAP ;PUT INDIRECT INTO FE-FILE
2788 ERJMP [JSERR
2789 004452' 320 16 0 00 014127' JRST START]
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 74
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0113
2790
2791 004453' 200 01 0 00 400001 MOVE T1,FEDIR+FSL ;GET FREE-SPACE PAGE #,,LENGTH
2792 004454' 200 02 0 00 000001 MOVE T2,T1
2793 004455' 275 01 0 00 000001 SUBI T1,1 ;MINUS ONE IN LENGTH
2794 004456' 270 01 0 00 014473' ADD T1,[1,,0] ;PLUS ONE TO PAGE #
2795 004457' 202 01 0 00 400001 MOVEM T1,FEDIR+FSL ;RESAVE
2796
2797 004460' 200 01 0 00 021044' MOVE T1,FEFNBR ;GET INDIRECT NUMBER
2798 004461' 221 01 0 00 000002 IMULI T1,2 ;DOUBLE IT
2799 004462' 271 01 0 00 400023 ADDI T1,FEDIR+IFL0 ;ADD FEDIR START POSITION
2800
2801 004463' 541 02 0 00 000001 HRRI T2,^D1 ;MAKE POINTER PAGE #,,1
2802 004464' 202 02 0 01 000000 MOVEM T2,(T1) ;SETUP FE-DIR POINTER
2803
2804 004465' 263 17 0 00 000000 RTN
2805
2806 004466' 554 01 0 00 021043' FEFERR: HLRZ T1,FEFJFN
2807 004467' 104 00 0 00 000022 CLOSF ;CLOSE OUT BAD INDIRECT
2808 004470' 260 17 0 00 014467' ERR <INDIRECT CLOSE ERROR>
2809 004471' 260 17 0 00 014501' ERR <INDIRECT WRONG LENGTH>
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 75
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0114
2810 ;*FEF10, TOPS-10 WRITE FRONT-END INDIRECT FILES
2811
2812 004472' 260 17 0 00 007027' FEF10: GO OPNTEN ;OPEN INPUT FILE
2813 004473' 260 17 0 00 014311' ERR <FILE NOT FOUND>
2814
2815 004474' 200 01 0 00 006666' MOVE T1,LOOK10+.RBSIZ ;GET FILE SIZE IN WORDS
2816 004475' 303 01 0 00 001000 CAILE T1,^D512 ;MUST BE ONE PAGE OR LESS
2817 004476' 260 17 0 00 014501' ERR <INDIRECT WRONG LENGTH>
2818
2819 004477' 402 00 0 00 435000 SETZM GENPAG
2820 004500' 200 01 0 00 014503' MOVE T1,[GENPAG,,GENPAG+1]
2821 004501' 251 01 0 00 435777 BLT T1,GENPAG+777
2822
2823 004502' 201 07 0 00 435000 MOVEI T7,GENPAG ;READ IN INDIRECT
2824 004503' 260 17 0 00 006764' GO GET10
2825 004504' 335 00 0 00 021040' SKIPGE EOFSW
2826 004505' 254 00 0 00 004510' JRST .+3
2827 004506' 202 03 0 07 000000 MOVEM T3,(T7)
2828 004507' 344 07 0 00 004503' AOJA T7,.-4
2829
2830 004510' 260 17 0 00 007015' GO R10EOF ;CLOSE INPUT FILE
2831
2832 004511' 260 17 0 00 004560' GO FEIFMT ;FORMAT INDIRECT FILE
2833
2834 004512' 400 01 0 00 000000 SETZ T1, ;COOK UP OUTPUT FILE NAME
2835 004513' 135 00 0 00 014504' LDB [POINT 3,FEFNBR,29]
2836 004514' 137 00 0 00 014505' DPB [POINT 3,T1,23]
2837 004515' 135 00 0 00 014506' LDB [POINT 3,FEFNBR,32]
2838 004516' 137 00 0 00 014507' DPB [POINT 3,T1,29]
2839 004517' 135 00 0 00 014510' LDB [POINT 3,FEFNBR,35]
2840 004520' 137 00 0 00 014511' DPB [POINT 3,T1,35]
2841 004521' 270 01 0 00 014512' ADD T1,[SIXBIT/FEF000/]
2842 004522' 202 01 0 00 006043' MOVEM T1,O.NAM1
2843
2844 004523' 205 01 0 00 465100 MOVSI T1,(SIXBIT/FI/)
2845 004524' 202 01 0 00 006044' MOVEM T1,O.EXT
2846
2847 004525' 200 01 0 00 021036' MOVE T1,DIRDIR ;USE WRTSET'S PPN
2848 004526' 202 01 0 00 006046' MOVEM T1,O.PPN
2849
2850 004527' 200 01 0 00 005405' MOVE T1,DIRDEV ;USE WRTSET'S DEVICE
2851 004530' 202 01 0 00 006042' MOVEM T1,O.DEV
2852
2853 004531' 201 01 0 00 000577 MOVEI T1,577 ;SET PROTECTION 577
2854 004532' 202 01 0 00 006045' MOVEM T1,O.PRT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 76
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0115
2855
2856 004533' 402 00 0 00 006051' SETZM O.VER
2857 004534' 402 00 0 00 006050' SETZM O.TIME
2858 004535' 402 00 0 00 006047' SETZM O.DATE
2859
2860 004536' 201 01 0 00 000004 MOVEI T1,4 ;MAKE FILE ONE PAGE
2861 004537' 202 01 0 00 021065' MOVEM T1,S.ALO
2862
2863 004540' 260 17 0 00 007160' GO ETER10 ;CREATE FILE
2864 004541' 260 17 0 00 014517' ERR <FILE ENTER ERROR>
2865
2866 OUT WC,[IOWD ^D512,IPAG
2867 004542' 057 03 0 00 014366' 0]
2868 004543' 334 00 0 00 000000 SKIPA
2869 004544' 260 17 0 00 014373' ERR <WRITE ERROR>
2870
2871 004545' 070 03 0 00 000004 CLOSE WC,CL.DLL ;CLOSE FILE
2872 004546' 071 03 0 00 000000 RELEAS WC,
2873
2874 004547' 260 17 0 00 007507' GO GETBK2 ;GET DISK ADDRESS
2875 004550' 202 01 0 00 000007 MOVEM T1,T7
2876 004551' 200 06 0 00 021044' MOVE T6,FEFNBR ;POINT TO FEDIR POSITION
2877 004552' 221 06 0 00 000002 IMULI T6,2
2878 004553' 271 06 0 00 400022 ADDI T6,FEDIR+IFP0
2879
2880 004554' 201 02 0 00 000001 MOVEI T2,1
2881 004555' 202 02 0 06 000001 MOVEM T2,1(T6) ;MARK IN USE
2882
2883 004556' 260 17 0 00 005020' GO T8080P ;COMPUTE 8080 POINTER
2884
2885 004557' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 77
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0116
2886 ;*FEIFMT, FORMAT FRONT-END INDIRECT FILES
2887
2888 004560' 402 00 0 00 021640' FEIFMT: SETZM IPAG ;CLEAR STORAGE
2889 004561' 200 01 0 00 014521' MOVE T1,[IPAG,,IPAG+1]
2890 004562' 251 01 0 00 022637' BLT T1,IPAG+777
2891
2892 004563' 200 06 0 00 014522' MOVE T6,[POINT 7,GENPAG]
2893 004564' 201 05 0 00 021640' MOVEI T5,IPAG
2894 004565' 201 04 0 00 003777 MOVEI T4,<^D512*^D4>-1
2895
2896 004566' 400 02 0 00 000000 FEILP: SETZ T2,
2897 004567' 260 17 0 00 004607' GO FEICHR ;FIRST CHAR
2898 004570' 254 00 0 00 004606' JRST FEILP2 ;EOF
2899 004571' 137 03 0 00 014523' DPB T3,[POINT 8,T2,35]
2900
2901 004572' 260 17 0 00 004607' GO FEICHR ;SECOND CHAR
2902 004573' 254 00 0 00 004605' JRST FEILP1 ;EOF
2903 004574' 137 03 0 00 014524' DPB T3,[POINT 8,T2,27]
2904
2905 004575' 260 17 0 00 004607' GO FEICHR ;FIRST CHAR
2906 004576' 254 00 0 00 004605' JRST FEILP1 ;EOF
2907 004577' 137 03 0 00 014525' DPB T3,[POINT 8,T2,19]
2908
2909 004600' 260 17 0 00 004607' GO FEICHR ;FIRST CHAR
2910 004601' 254 00 0 00 004605' JRST FEILP1 ;EOF
2911 004602' 137 03 0 00 014526' DPB T3,[POINT 8,T2,11]
2912
2913 004603' 202 02 0 05 000000 MOVEM T2,(T5) ;STORE WORD
2914 004604' 344 05 0 00 004566' AOJA T5,FEILP ;LOOP TILL EOF
2915
2916 004605' 202 02 0 05 000000 FEILP1: MOVEM T2,(T5) ;SAVE FINAL WORD
2917 004606' 263 17 0 00 000000 FEILP2: RTN ;DONE
2918
2919 004607' 316 06 0 00 014527' FEICHR: CAMN T6,[POINT 7,GENPAG+777,34]
2920 004610' 254 00 0 00 004616' JRST FEIBIG ;INPUT FILE TOO BIG
2921
2922 004611' 134 03 0 00 000006 ILDB T3,T6 ;GET INPUT CHAR
2923 004612' 326 03 0 00 004614' JUMPN T3,.+2
2924 004613' 263 17 0 00 000000 RTN ;NULL, END-OF-FILE
2925 004614' 363 04 0 00 004616' SOJLE T4,FEIBIG ;COUNT CHAR, JUMP IF TOO MANY
2926 004615' 254 00 0 00 000016' JRST CPOPJ1 ;SKIP RETURN WITH CHAR
2927
2928 004616' 260 17 0 00 014535' FEIBIG: ERR <INDIRECT FILE TOO BIG>
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 78
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0117
2929 ;*TYPE, TYPE CONTENTS OF INDIRECT FILE
2930
2931 004617' 000001 000001 SCMTAB ..TYPE
2932 004620' 013237' 004635' CMTAB INDIRECT,TYPEFI
2933 ECMTAB
2934
2935 004621' .TYPE: CMD [FLDDB.(.CMKEY,,..TYPE)],<CAN NOT TYPE THAT>
2936 004633' 550 01 0 02 000000 HRRZ T1,(T2)
2937 004634' 254 00 0 01 000000 JRST (T1)
2938
2939 004635' TYPEFI: CMD [FLDDB.(.CMNUM,,^D8)],<NOT A VALID FILE NUMBER>
2940 004647' 331 00 0 00 000002 SKIPL T2
2941 004650' 303 02 0 00 000366 CAILE T2,366
2942 004651' 260 17 0 00 014444' ERR <NOT A VALID FILE NUMBER>
2943 004652' 202 02 0 00 021044' MOVEM T2,FEFNBR
2944
2945 004653' 260 17 0 00 000623' CONFIRM
2946
2947 004654' 336 00 0 00 021046' SKIPN FESETF
2948 004655' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
2949
2950 004656' 200 01 0 00 021044' MOVE T1,FEFNBR ;GET INDIRECT FILE NUMBER
2951 004657' 221 01 0 00 000002 IMULI T1,2 ;DOUBLE IT
2952 004660' 271 01 0 00 400023 ADDI T1,FEDIR+IFL0 ;ADD FEDIR START POSITION
2953
2954 004661' 336 00 0 00 000302' SKIPN MONTYP
2955 004662' 254 00 0 00 004725' JRST TYPF10 ;TOPS-10
2956
2957 004663' 554 01 0 01 000000 HLRZ T1,(T1) ;GET FE-DIR POINTER
2958
2959 004664' 336 00 0 00 000001 SKIPN T1
2960 004665' 260 17 0 00 014565' ERR <INDIRECT FILE DOES NOT EXIST>
2961
2962 004666' 504 01 0 00 002523' HRL T1,FEJFN
2963 004667' 200 02 0 00 014567' MOVE T2,[.FHSLF,,<IPAG_-^D9>]
2964 004670' 200 03 0 00 014303' MOVE T3,[PM%RD]
2965 004671' 104 00 0 00 000056 PMAP ;GET INDIRECT FILE
2966 ERJMP [JSERR
2967 004672' 320 16 0 00 014127' JRST START]
2968
2969 004673' 037 01 0 00 000063' PCRLF
2970 004674' 201 06 0 00 021640' MOVEI T6,IPAG
2971 004675' 200 03 0 06 000000 MOVE T3,(T6)
2972 004676' 260 17 0 00 004702' GO FEITYP ;PRINT IT
2973 004677' 344 06 0 00 004675' AOJA T6,.-2
2974 004700' 037 01 0 00 000063' PCRLF
2975
2976 004701' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 79
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0118
2977
2978 004702' 135 00 0 00 014570' FEITYP: LDB 0,[POINT 8,T3,35]
2979 004703' 322 00 0 00 000016' JUMPE 0,CPOPJ1
2980 004704' 260 17 0 00 004717' GO FEIPNT
2981
2982 004705' 135 00 0 00 014571' LDB 0,[POINT 8,T3,27]
2983 004706' 322 00 0 00 000016' JUMPE 0,CPOPJ1
2984 004707' 260 17 0 00 004717' GO FEIPNT
2985
2986 004710' 135 00 0 00 014572' LDB 0,[POINT 8,T3,19]
2987 004711' 322 00 0 00 000016' JUMPE 0,CPOPJ1
2988 004712' 260 17 0 00 004717' GO FEIPNT
2989
2990 004713' 135 00 0 00 014573' LDB 0,[POINT 8,T3,11]
2991 004714' 322 00 0 00 000016' JUMPE 0,CPOPJ1
2992 004715' 260 17 0 00 004717' GO FEIPNT
2993
2994 004716' 263 17 0 00 000000 RTN
2995
2996 004717' 302 00 0 00 000015 FEIPNT: CAIE 0,15 ;CR ?
2997 004720' 254 00 0 00 004723' JRST .+3 ;NO
2998 004721' 037 12 0 00 000001 PNTCHF ;YES, PRINT CR/LF
2999 004722' 201 00 0 00 000012 MOVEI 0,12
3000 004723' 037 12 0 00 000001 PNTCHF
3001 004724' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 80
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0119
3002 ;*TYPF10, TOPS-10 TYPE CONTENTS OF INDIRECT FILE
3003
3004 004725' 336 00 0 01 000000 TYPF10: SKIPN (T1)
3005 004726' 260 17 0 00 014565' ERR <INDIRECT FILE DOES NOT EXIST>
3006
3007 004727' 400 01 0 00 000000 SETZ T1, ;COOK UP INPUT FILE NAME
3008 004730' 135 00 0 00 014504' LDB [POINT 3,FEFNBR,29]
3009 004731' 137 00 0 00 014505' DPB [POINT 3,T1,23]
3010 004732' 135 00 0 00 014506' LDB [POINT 3,FEFNBR,32]
3011 004733' 137 00 0 00 014507' DPB [POINT 3,T1,29]
3012 004734' 135 00 0 00 014510' LDB [POINT 3,FEFNBR,35]
3013 004735' 137 00 0 00 014511' DPB [POINT 3,T1,35]
3014 004736' 270 01 0 00 014512' ADD T1,[SIXBIT/FEF000/]
3015 004737' 202 01 0 00 016410' MOVEM T1,GTJFIL
3016
3017 004740' 205 01 0 00 465100 MOVSI T1,(SIXBIT/FI/)
3018 004741' 202 01 0 00 016411' MOVEM T1,GTJEXT
3019
3020 004742' 200 01 0 00 021036' MOVE T1,DIRDIR
3021 004743' 202 01 0 00 016407' MOVEM T1,GTJDIR
3022
3023 004744' 200 01 0 00 005405' MOVE T1,DIRDEV
3024 004745' 202 01 0 00 016406' MOVEM T1,GTJDEV
3025
3026 004746' 260 17 0 00 007027' GO OPNTEN ;FIND INPUT FILE
3027 004747' 260 17 0 00 014565' ERR <INDIRECT FILE DOES NOT EXIST>
3028
3029 004750' 037 01 0 00 000063' PCRLF
3030 004751' 260 17 0 00 006764' TF10LP: GO GET10 ;GET INPUT WORD
3031 004752' 335 00 0 00 021040' SKIPGE EOFSW
3032 004753' 254 00 0 00 004756' JRST .+3 ;END-OF-FILE
3033
3034 004754' 260 17 0 00 004702' GO FEITYP ;PRINT IT
3035 004755' 254 00 0 00 004751' JRST TF10LP
3036
3037 004756' 037 01 0 00 000063' PCRLF
3038 004757' 254 00 0 00 007015' JRST R10EOF
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 81
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0120
3039 ;*FETELL, REPORT INDIRECT FILES IN USE & FREE SPACE
3040
3041 004760' 037 04 0 00 014574' FETELL: PMSGF <^THE FOLLOWING FRONT-END INDIRECT FILES EXIST:^>
3042
3043 004761' 201 06 0 00 400023 MOVEI T6,FEDIR+IFL0 ;GET START ADDRESS
3044 004762' 400 07 0 00 000000 SETZ T7, ;ZERO FORMAT COUNTER
3045
3046 004763' 200 00 0 06 000000 FETEL0: MOVE (T6) ;GET ENTRY
3047 004764' 322 00 0 00 004777' JUMPE FETEL1 ;NOT USED
3048
3049 004765' 200 00 0 00 000006 MOVE T6
3050 004766' 275 00 0 00 400023 SUBI FEDIR+IFL0
3051 004767' 231 00 0 00 000002 IDIVI 2
3052 004770' 037 17 0 00 000003 PNTOCF ;PRINT IT
3053
3054 004771' 350 00 0 00 000007 AOS T7
3055 004772' 602 07 0 00 000003 TRNE T7,3
3056 004773' 254 00 0 00 004776' JRST .+3
3057 004774' 037 01 0 00 000063' PCRLF
3058 004775' 254 00 0 00 004777' JRST .+2
3059 004776' 037 01 0 00 000011 PTAB
3060
3061 004777' 271 06 0 00 000002 FETEL1: ADDI T6,2 ;STEP TO NEXT ENTRY
3062 005000' 302 06 0 00 401001 CAIE T6,FEDIR+1001 ;DONE ?
3063 005001' 254 00 0 00 004763' JRST FETEL0 ;NOT YET
3064
3065 005002' 336 00 0 00 000302' SKIPN MONTYP
3066 005003' 254 00 0 00 005007' JRST FETEL2
3067
3068 005004' 037 04 0 00 013264' PMSGF <^FRONT-END FREE PAGES = >
3069 005005' 550 00 0 00 400001 HRRZ FEDIR+FSL
3070 005006' 037 15 0 00 000001 PNTDCF
3071
3072 005007' 037 01 0 00 000063' FETEL2: PCRLF
3073 005010' 037 01 0 00 000063' PCRLF
3074 005011' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 82
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0121
3075
3076 ;ADDR DIVIDED BY SECTOR/CYL = CYL
3077 ;REM DIVIDED BY SECTOR/TRACK = TRACK
3078 ;REM = SECTOR
3079
3080 005012' 200 01 0 00 000007 S8080P: MOVE T1,T7
3081 005013' 221 01 0 00 000004 IMULI T1,4 ;CHANGE PAGES TO SECTORS
3082 005014' 332 00 0 00 000302' SKIPE MONTYP
3083 005015' 270 01 0 00 436301 ADD T1,HOMPAG+200+101
3084 005016' 336 00 0 00 000302' SKIPN MONTYP
3085 005017' 270 01 0 00 005542' ADD T1,HOMBUF+101
3086 005020' 404 01 0 00 014604' T8080P: AND T1,[37,,-1] ;MASK ADDRESS BITS ONLY
3087 005021' 332 00 0 00 021064' SKIPE RM03F
3088 005022' 260 17 0 00 005210' GO TRM03P ;RM03 DISK
3089 005023' 231 01 0 00 000574 IDIVI T1,<^D20*^D19> ;FIND CYL
3090
3091 005024' 261 17 0 00 000001 PUT T1
3092 005025' 200 01 0 00 000002 MOVE T1,T2
3093 005026' 336 00 0 00 021064' SKIPN RM03F
3094 005027' 231 01 0 00 000024 IDIVI T1,^D20 ;FIND SECTOR
3095 005030' 332 00 0 00 021064' SKIPE RM03F
3096 005031' 231 01 0 00 000036 IDIVI T1,^D30
3097 005032' 242 01 0 00 000010 LSH T1,8
3098 005033' 434 01 0 00 000002 IOR T1,T2
3099 005034' 262 17 0 00 000002 GETIT T2
3100
3101 005035' 242 02 0 00 000006 LSH T2,6
3102 005036' 504 01 0 00 000002 HRL T1,T2
3103 005037' 202 01 0 06 000000 MOVEM T1,(T6) ;STORE 8080 POINTER
3104 005040' 263 17 0 00 000000 RTN
3105
3106 005041' 200 01 0 00 000007 SBOOTP: MOVE T1,T7
3107 005042' 221 01 0 00 000004 IMULI T1,4 ;CHANGE PAGES TO SECTORS
3108 005043' 270 01 0 00 436301 ADD T1,HOMPAG+200+101
3109 005044' 404 01 0 00 014604' TBOOTP: AND T1,[37,,-1] ;MASK ADDRESS BITS ONLY
3110 005045' 332 00 0 00 021064' SKIPE RM03F
3111 005046' 260 17 0 00 005210' GO TRM03P ;RM03 DISK
3112 005047' 231 01 0 00 000574 IDIVI T1,<^D20*^D19> ;FIND CYL
3113
3114 005050' 261 17 0 00 000001 PUT T1
3115 005051' 200 01 0 00 000002 MOVE T1,T2
3116 005052' 336 00 0 00 021064' SKIPN RM03F
3117 005053' 231 01 0 00 000024 IDIVI T1,^D20 ;FIND SECTOR
3118 005054' 332 00 0 00 021064' SKIPE RM03F
3119 005055' 231 01 0 00 000036 IDIVI T1,^D30
3120 005056' 242 01 0 00 000010 LSH T1,8
3121 005057' 434 01 0 00 000002 IOR T1,T2
3122 005060' 262 17 0 00 000002 GETIT T2
3123
3124 005061' 504 01 0 00 000002 HRL T1,T2
3125 005062' 202 01 0 06 000000 MOVEM T1,(T6) ;STORE 8080 POINTER
3126 005063' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 83
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0122
3127 ;*WRTDONE - WRITE FE-DIR FILE BLOCK
3128
3129 005064' 260 17 0 00 000623' WRTDONE:CONFIRM
3130 005065' 336 00 0 00 021046' SKIPN FESETF ;FE-DIR IN CODE ?
3131 005066' 260 17 0 00 013262' ERR <FE-FILE SYSTEM NOT SETUP>
3132
3133 005067' 201 05 0 00 000400 MOVEI T5,^D512/2
3134 005070' 336 00 0 00 000302' SKIPN MONTYP
3135 005071' 201 05 0 00 000011 MOVEI T5,^D18/2
3136 005072' 201 04 0 00 400000 MOVEI T4,FEDIR
3137
3138 005073' 200 06 0 00 000004 MOVE T6,T4 ;POSITION TO T6
3139 005074' 554 07 0 04 000001 HLRZ T7,1(T4) ;PAGE # TO T7
3140 005075' 322 07 0 00 005077' JUMPE T7,.+2 ;POSITION NOT USED
3141 005076' 260 17 0 00 005012' GO S8080P ;SET 8080 DISK POINTER
3142 005077' 271 04 0 00 000002 ADDI T4,2
3143 005100' 367 05 0 00 005073' SOJG T5,.-5
3144
3145 005101' 336 00 0 00 000302' SKIPN MONTYP
3146 005102' 254 00 0 00 005145' JRST WRTD10 ;TOPS-10
3147
3148 005103' 474 01 0 00 000000 SETO T1,
3149 005104' 200 02 0 00 014131' MOVE T2,[.FHSLF,,<FEDIR_-^D9>]
3150 005105' 400 03 0 00 000000 SETZ T3,
3151 005106' 104 00 0 00 000056 PMAP ;UNMAP FE-DIR PAGE
3152 ERJMP [JSERR
3153 005107' 320 16 0 00 014127' JRST START]
3154
3155 005110' 200 01 0 00 002523' MOVE T1,FEJFN
3156 005111' 104 00 0 00 000022 CLOSF
3157 005112' 260 17 0 00 014613' ERR <CAN NOT CLOSE BOOTSTRAP.BIN>
3158
3159 005113' 201 01 0 00 000000 MOVEI T1,0 ;UPDATE HOME BLOCKS
3160 005114' 260 17 0 00 005166' GO REDHOM
3161 005115' 263 17 0 00 000000 RET
3162
3163 005116' 260 17 0 00 005141' GO SHOMEP ;COMPUTE 8080 POINTER
3164
3165 005117' 200 01 0 00 021030' MOVE T1,BTADDR# ;SAME AS ON DISK ?
3166 005120' 316 01 0 00 436303 CAMN T1,HOMPAG+200+103
3167 005121' 263 17 0 00 000000 RTN ;YES, LEAVE HOME BLOCKS ALONE THEN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 84
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0123
3168
3169 005122' 200 01 0 00 021030' MOVE T1,BTADDR
3170 005123' 202 01 0 00 436303 MOVEM T1,HOMPAG+200+103
3171 005124' 201 01 0 00 000000 MOVEI T1,0
3172 005125' 260 17 0 00 005165' GO WRTHOM ;NO, UPDATE HOME BLOCKS
3173 005126' 263 17 0 00 000000 RET
3174
3175 005127' 201 01 0 00 000010 MOVEI T1,10
3176 005130' 260 17 0 00 005166' GO REDHOM
3177 005131' 263 17 0 00 000000 RET
3178
3179 005132' 200 01 0 00 021030' MOVE T1,BTADDR
3180 005133' 202 01 0 00 436503 MOVEM T1,HOMPAG+400+103
3181 005134' 201 01 0 00 000010 MOVEI T1,10
3182 005135' 260 17 0 00 005165' GO WRTHOM
3183 005136' 263 17 0 00 000000 RET
3184
3185 005137' HOMSET: PNTMSF [ASCIZ/
3186 [HOME BLOCKS SET]
3187 005137' 037 01 0 00 014615' /]
3188 005140' 263 17 0 00 000000 RET
3189
3190 005141' 201 06 0 00 021030' SHOMEP: MOVEI T6,BTADDR
3191 005142' 400 07 0 00 000000 SETZ T7,
3192 005143' 260 17 0 00 005012' GO S8080P
3193 005144' 263 17 0 00 000000 RTN
3194
3195 005145' 077 01 0 00 006735' WRTD10: ENTER DAT,ODAT10 ;SET FOR OUTPUT
3196 005146' 260 17 0 00 014627' ERR <KS10FE.BIN ENTER ERROR>
3197
3198 005147' 075 01 0 00 000001 USETO DAT,1
3199
3200 005150' 201 02 0 00 000034 MOVEI T2,^D28
3201 005151' 200 03 0 00 014631' MOVE T3,[FEDIR,,IPAG]
3202 005152' 200 01 0 00 000003 WRTD11: MOVE T1,T3
3203 005153' 251 01 0 00 022637' BLT T1,IPAG+777
3204 005154' 205 01 0 00 001000 MOVSI T1,^D512
3205 005155' 270 03 0 00 000001 ADD T3,T1
3206
3207 OUT DAT,[IOWD ^D512,IPAG
3208 005156' 057 01 0 00 014366' 0]
3209 005157' 334 00 0 00 000000 SKIPA
3210 005160' 260 17 0 00 014637' ERR <KS10FE.BIN OUTPUT ERROR>
3211 005161' 367 02 0 00 005152' SOJG T2,WRTD11
3212
3213 005162' 070 01 0 00 000000 CLOSE DAT,
3214 005163' 071 01 0 00 000000 RELEAS DAT,
3215 005164' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 85
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- WRITE SEQ 0124
3216 ;*SUBROUTINE TO READ AND WRITE HOME BLOCKS
3217 ;*CALL WITH:
3218 ;* T1/ DISK ADDRESS
3219 ;* STRDES/ DEVICE DESIGNATOR OF STRUCTURE
3220 ;* GO REDHOM/WRTHOM
3221 ;* ERROR
3222 ;* OK
3223
3224 005165' 334 02 0 00 014641' WRTHOM: SKIPA T2,[DOP%WR+1000]
3225 005166' 201 02 0 00 001000 REDHOM: MOVEI T2,1000
3226
3227 005167' 332 00 0 00 016567' SKIPE DEBUGF
3228 005170' 254 00 0 00 000016' JRST CPOPJ1 ;DON'T DO HOME IF DEBUG
3229
3230 005171' 201 03 0 00 436000 MOVEI T3,HOMPAG
3231 005172' 200 04 0 00 021072' MOVE T4,STRDES
3232 ;* TXO T1,<.DOPSR>B1!DOP%SN ;MONSYM IS BAD
3233 005173' 661 01 0 00 577600 TLO T1,577600
3234 005174' 104 00 0 00 000242 DSKOP
3235 005175' 320 16 0 00 005200' ERJMP BADHOM
3236 005176' 322 01 0 00 000000* JUMPE T1,RSKP
3237 005177' 260 17 0 00 014650' ERR ERROR UPDATING HOME BLOCKS
3238
3239 005200' 201 01 0 00 400000 BADHOM: MOVEI T1,.FHSLF
3240 005201' 104 00 0 00 000012 GETER
3241 005202' 320 16 0 00 014657' ERMSG <BADHOM: GETER FAILED>
3242 005203' 621 02 0 00 777777 TLZ T2,-1
3243 005204' 302 02 0 00 600614 CAIE T2,WHELX1
3244 005205' 260 17 0 00 014650' ERR ERROR UPDATING HOME BLOCKS
3245 PNTMSF [ASCIZ/
3246 %HOME BLOCKS NOT UPDATED -- MUST BE WHEEL OR OPERATOR
3247 005206' 037 01 0 00 014662' /]
3248 005207' 263 17 0 00 000000 RET
3249
3250 005210' 332 00 0 00 000302' TRM03P: SKIPE MONTYP ;TOPS-20
3251 005211' 231 01 0 00 000224 IDIVI T1,<^D30*^D5>-2
3252 005212' 336 00 0 00 000302' SKIPN MONTYP ;TOPS-10
3253 005213' 231 01 0 00 000226 IDIVI T1,<^D30*^D5>
3254 005214' 254 00 0 00 000016' JRST CPOPJ1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 86
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- READ SEQ 0125
3255 SUBTTL COMMANDS -- READ
3256
3257 005215' 476 00 0 00 021027' RDBC1: SETOM BC1FLG
3258 005216' 254 00 0 00 005220' JRST READ+1
3259 005217' 402 00 0 00 021027' READ: SETZM BC1FLG
3260 005220' NOISE <MICROCODE FROM FILE>
3261 005232' 561 01 0 00 014713' HRROI T1,[ASCIZ "KS10"]
3262 005233' 332 00 0 00 021027' SKIPE BC1FLG
3263 005234' 561 01 0 00 014714' HRROI T1,[ASCIZ "KSBC1"]
3264 005235' 202 01 0 00 016410' MOVEM T1,GTJFIL
3265 005236' 561 01 0 00 014716' HRROI T1,[ASCIZ "ULD"] ;MAKE THIS "RAM" FOR PRODUCTION
3266 005237' 202 01 0 00 016411' MOVEM T1,GTJEXT
3267 005240' 402 00 0 00 016406' SETZM GTJDEV
3268 005241' 402 00 0 00 016407' SETZM GTJDIR
3269 005242' 205 01 0 00 100000 MOVSI T1,(GJ%OLD)
3270 005243' 202 01 0 00 016404' MOVEM T1,GTJFLG
3271 005244' CMD [FLDDB.(.CMFIL)]
3272 005255' 516 02 0 00 021162' HRLZM T2,UCFILE
3273 005256' 260 17 0 00 000623' CONFIRM
3274 005257' 336 00 0 00 000302' SKIPN MONTYP
3275 005260' 254 00 0 00 005336' JRST READ10
3276
3277 005261' 554 01 0 00 021162' HLRZ T1,UCFILE
3278 005262' 201 02 0 00 200000 MOVEI T2,OF%RD
3279 005263' 104 00 0 00 000021 OPENF
3280 005264' 260 17 0 00 014732' ERR <CAN NOT OPEN MICROCODE FILE>
3281
3282 005265' 402 00 0 00 021274' SETZM STBUF
3283 005266' 561 01 0 00 021274' HRROI T1,STBUF
3284 005267' 554 02 0 00 021162' HLRZ T2,UCFILE
3285 005270' 205 03 0 00 000200 MOVSI T3,200
3286 005271' 104 00 0 00 000030 JFNS ;GET FILE ".EXT" STRING
3287 005272' 200 00 0 00 021274' MOVE STBUF
3288 005273' 312 00 0 00 014734' CAME [ASCIZ/RAM/]
3289 005274' 254 00 0 00 007626' JRST RDULD ;OLD STYLE ".ULD" MICROCODE
3290
3291 005275' 554 01 0 00 021162' HLRZ T1,UCFILE
3292 005276' 200 02 0 00 014104' MOVE T2,[1,,.FBBYV]
3293 005277' 201 03 0 00 000004 MOVEI T3,T4
3294
3295 005300' 104 00 0 00 000063 GTFDB ;GET FILE PAGE COUNT
3296
3297 005301' 405 04 0 00 777777 ANDI T4,-1
3298 005302' 302 04 0 00 000014 CAIE T4,^D12
3299 005303' 254 00 0 00 005331' JRST READF ;WRONG LENGTH
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 87
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- READ SEQ 0126
3300
3301 005304' 200 01 0 00 021162' MOVE T1,UCFILE
3302 005305' 336 00 0 00 021027' SKIPN BC1FLG
3303 005306' 200 02 0 00 014735' MOVE T2,[.FHSLF,,<CRAM_-^D9>]
3304 005307' 332 00 0 00 021027' SKIPE BC1FLG
3305 005310' 200 02 0 00 014736' MOVE T2,[.FHSLF,,<CRMBC1_-^D9>]
3306 005311' 200 03 0 00 014737' MOVE T3,[PM%CNT+PM%RD+PM%WR+PM%PLD+PM%CPY+^D12]
3307
3308 005312' 104 00 0 00 000056 PMAP ;READ CRAM INTO MEMORY
3309 ERJMP [JSERR
3310 005313' 320 16 0 00 014127' JRST START]
3311
3312 005314' 336 00 0 00 021027' SKIPN BC1FLG
3313 005315' 201 01 0 00 401000 MOVEI T1,CRAM
3314 005316' 332 00 0 00 021027' SKIPE BC1FLG
3315 005317' 201 01 0 00 417000 MOVEI T1,CRMBC1
3316 005320' 201 02 0 00 000014 MOVEI T2,^D12
3317 005321' 416 00 0 01 000000 SETMM (T1) ;TOUCH EACH CRAM PAGE
3318 005322' 271 01 0 00 001000 ADDI T1,1000 ; TO MAKE IT PRIVATE
3319 005323' 367 02 0 00 005321' SOJG T2,.-2
3320
3321 005324' 554 01 0 00 021162' HLRZ T1,UCFILE
3322 005325' 104 00 0 00 000022 CLOSF ;CLOSE OUT CRAM FILE
3323 005326' 260 17 0 00 014746' ERR <CAN NOT CLOSE MICROCODE FILE>
3324
3325 005327' 476 00 0 00 016572' SETOM RDFLAG
3326 005330' 263 17 0 00 000000 RTN
3327
3328 005331' 554 01 0 00 021162' READF: HLRZ T1,UCFILE
3329 005332' 104 00 0 00 000022 CLOSF ;CLOSE OUT BAD FILE
3330 005333' 260 17 0 00 014746' ERR <CAN NOT CLOSE MICROCODE FILE>
3331 005334' 260 17 0 00 014756' ERR <MICROCODE FILE WRONG LENGTH>
3332 005335' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 88
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- READ SEQ 0127
3333 ;*TOPS-10 MICROCODE READ PROCESS
3334
3335 005336' 260 17 0 00 007027' READ10: GO OPNTEN ;OPEN INPUT FILE
3336 005337' 260 17 0 00 014311' ERR <FILE NOT FOUND>
3337
3338 005340' 200 01 0 00 006667' MOVE T1,LOOK10+.RBVER ;USE INPUT VERSION AS OUTPUT VERSION
3339 005341' 202 01 0 00 006755' MOVEM T1,MC.VER
3340
3341 005342' 135 01 0 00 014313' LDB T1,[POINT 11,LOOK10+.RBPRV,23]
3342 005343' 202 01 0 00 006756' MOVEM T1,MC.TIME ;USE INPUT TIME AND DATE AS OUTPUT
3343
3344 005344' 135 01 0 00 014314' LDB T1,[POINT 3,LOOK10+.RBEXT,20]
3345 005345' 137 01 0 00 014760' DPB T1,[POINT 3,MC.DATE,23]
3346 005346' 135 01 0 00 014316' LDB T1,[POINT 12,LOOK10+.RBPRV,35]
3347 005347' 137 01 0 00 014761' DPB T1,[POINT 12,MC.DATE,35]
3348
3349 005350' 200 01 0 00 006666' MOVE T1,LOOK10+.RBSIZ ;GET FILE SIZE IN WORDS
3350
3351 005351' 200 00 0 00 016411' MOVE 0,GTJEXT
3352 005352' 312 00 0 00 014762' CAME 0,[SIXBIT/RAM/]
3353 005353' 254 00 0 00 007626' JRST RDULD
3354
3355 005354' 302 01 0 00 014000 CAIE T1,^D12*^D512
3356 005355' 260 17 0 00 014763' ERR <FILE WRONG LENGTH>
3357
3358 005356' 336 00 0 00 021027' SKIPN BC1FLG
3359 005357' 201 07 0 00 401000 MOVEI T7,CRAM ;SETUP CRAM STORAGE POINTER
3360 005360' 332 00 0 00 021027' SKIPE BC1FLG
3361 005361' 201 07 0 00 417000 MOVEI T7,CRMBC1
3362
3363 005362' 260 17 0 00 006764' LOOP1: GO GET10 ;GET WORD FROM FILE
3364 005363' 335 00 0 00 021040' SKIPGE EOFSW
3365 005364' 254 00 0 00 005367' JRST LOOP2
3366 005365' 202 03 0 07 000000 MOVEM T3,(T7) ;STORE IT
3367 005366' 344 07 0 00 005362' AOJA T7,LOOP1
3368
3369 005367' 476 00 0 00 016572' LOOP2: SETOM RDFLAG
3370 005370' 254 00 0 00 007015' JRST R10EOF ;DONE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 89
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK ROUTINE DEFINITIONS SEQ 0128
3371 SUBTTL TOPS-10 DISK ROUTINE DEFINITIONS
3372
3373 ;*I/O CHANNELS
3374
3375 000001 DAT=1 ;GENERAL DATA CHANNEL
3376 000002 RC=2 ;READ CHANNEL
3377 000003 WC=3 ;WRITE CHANNEL
3378 000004 DIR=4 ;DIRECTORY CHANNEL
3379 000005 HOM=5 ;HOME BLOCK CHANNEL
3380 000006 $CHN=6 ;COMMAND FILE CHANNEL
3381
3382 ;*SYMBOL DEFINITIONS
3383
3384 000020 BLKSIZ==20 ;SIZE OF LOOKUP/ENTER BLOCKS
3385
3386 RADIX 10
3387 000001 HMBK01==1+20*0+380*0 ;HOME BLOCK #1
3388 ;1=SECTOR NUMBER
3389 ;0=TRACK NUMBER
3390 ;0=CYLINDER NUMBER
3391 000012 HMBK10==10+20*0+380*0 ;HOME BLOCK #10
3392
3393 RADIX 8
3394 000001 .BFPTR=1
3395 000002 .BFCTR=2
3396 000015 .DCUPN=15
3397 006703' TO10IC==HEAD10+.BFCTR ;-10 INPUT RING BUF BYTE COUNT
3398 006702' TO10IP==HEAD10+.BFPTR ;-10 INPUT RING BUF BYTE PTR
3399 006731' TO10OC==HEDBLK+.BFCTR ;-10 OUTPUT RING BUF BYTE COUNT
3400 006730' TO10OP==HEDBLK+.BFPTR ;-10 OUTPUT RING BUF BYTE PTR
3401 005440' PHYDEV==DATDEV+.DCUPN ;PHY UNIT FOR DATA FILE(0-399)
3402 005422' DSKUPN==DIRDEV+.DCUPN ;PHY UNIT FOR FILE IN 406-409
3403 006720' E10ALC==ENTBLK+.RBALC ;# OF BLOCKS TO ALLOCATE
3404 006726' E10STS==ENTBLK+.RBSTS ;FILE STATUS WORD
3405 006672' E20ALC==LOOK10+.RBALC ;# OF BLOCKS TO ALLOCATE
3406 006700' E20STS==LOOK10+.RBSTS ;FILE STATUS WORD
3407
3408 200000 SU.SOT=200000 ;SUSET. OUTPUT BIT
3409 010000 CTYPF=10000 ;SET IF ANY CHARS TYPED FOR A COMMAND
3410 000014 .IOBIN=14
3411 000017 .IODMP=17
3412 040000 RP.NFS=1B21
3413 020000 RP.ABC=1B22
3414 000004 CL.DLL=4
3415 000000 .DCUR4=0 ;RP04
3416 000001 .DCUR6=1 ;RP06
3417 000002 .DCUR3=2 ;RM03
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 90
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK ROUTINE DEFINITIONS SEQ 0129
3418
3419 ;EXTENDED ENTER BLOCK
3420
3421 000000 .RBCNT=0 ;0,,COUNT OF ENTRIES
3422 000001 .RBPPN=1 ;PROJ,PROG #
3423 000002 .RBNAM=2 ;SIXBIT FILE NAME
3424 000003 .RBEXT=3 ;SIXBIT EXT,,18-20 HI DATE,21-35 ACCESS DATE
3425 000004 .RBPRV=4 ;0-8 PROT,9-12 DATA MODE,13-23 CREATE TIME,24-35 CREATE DATE
3426 000005 .RBSIZ=5
3427 000006 .RBVER=6
3428 000007 .RBSPL=7
3429 000010 .RBEST=10 ;0 - EST BLOCKS
3430 000011 .RBALC=11 ;# OF CONTIGUOUS BLOCKS
3431 000012 .RBPOS=12
3432 000013 .RBTF1=13
3433 000014 .RBNCA=14
3434 000015 .RBMTA=15
3435 000016 .RBDEV=16
3436 000017 .RBSTS=17 ;FILE STATUS, UFD,,FILE - BIT 22 RP.ABC
3437
3438 000100 HOLD==^D64 ;DEFAULT PAGE COUNT FOR KS-10 AREA
3439 000000 PRIME==0 ;RELATIVE BLOCK OF PRIME RIB FOR USETI
3440 005461' HOMCLP== HOMBUF+20 ;ADDRESS POINTER FOR RETRIEVAL PTRS
3441 005462' HOMBPC== HOMBUF+21 ;BLOCKS PER CLUSTER
3442
3443 005371' 777600 005440' HOMLST: IOWD ^D128,HOMBUF ;COMMAND LIST FOR HOME BLOCK
3444 005372' 000000 000000 0
3445 005373' 777600 006455' DIRLST: IOWD ^D128,DIRBUF ;COMMAND LIST FOR DIRECTORY BLOCK
3446 005374' 000000 000000 0
3447 005375' 777600 006255' DATLST: IOWD ^D128,DATBUF ;COMMAND LIST FOR DATA BLOCK
3448 005376' 000000 000000 0
3449 005377' 777600 005640' H10LST: IOWD ^D128,HOMB10 ;COMMAND LIST FOR HOME BLK #10
3450 005400' 000000 000000 0
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 91
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK ROUTINE DEFINITIONS SEQ 0130
3451
3452 ;*ERROR INTERCEPT CONTROL BLOCK
3453
3454 005401' 000004 012471' CCBLK: 4,,CCINT
3455 005402' 000000 000002 0,,2
3456 005403' BLOCK 2
3457
3458 005405' DIRDEV: BLOCK 16 ;DEVICE INFORMATION FOR DIR FILE
3459
3460 005423' DATDEV: BLOCK 16 ;DEVICE INFORMATION FOR DATA FILE
3461
3462 005441' HOMBUF: BLOCK 200 ;BUFFER CONTAINS HOME BLOCK # 1
3463
3464 005641' HOMB10: BLOCK 200 ;BUFFER CONTAINS HOME BLOCK # 10
3465
3466 006041' CMDCNT: BLOCK 1 ;COMMAND LINE COUNT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 92
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK ROUTINE DEFINITIONS SEQ 0131
3467
3468 006042' O.STR: ;START OF OUTPUT SPEC STORAGE
3469 006042' O.DEV: BLOCK 1 ;DEVICE
3470 006043' O.NAM1: BLOCK 1 ;NAME
3471 006044' O.EXT: BLOCK 1 ;EXT
3472 006045' O.PRT: BLOCK 1 ;PROTECTION
3473 006046' O.PPN: BLOCK 1 ;PROJ,PROG #
3474 006047' O.DATE: BLOCK 1 ;CREATION DATE
3475 006050' O.TIME: BLOCK 1 ;CREATION TIME
3476 006051' O.VER: BLOCK 1 ;VERSION NUMBER
3477
3478 006052' I.STR: ;START OF INPUT SPEC STORAGE
3479 006052' I.DEV: BLOCK 1 ;DEVICE
3480 006053' I.NAM1: BLOCK 1 ;NAME
3481 006054' I.EXT: BLOCK 1 ;EXT
3482 006055' I.PPN: BLOCK 1 ;PROJ,PROG #
3483
3484 006056' GETBUF: BLOCK ^D128 ;A DEDICATED BUFFER
3485
3486 006256' DATBUF: BLOCK ^D128 ;BUFFER CONTAINING REGULAR DATA BLOCK
3487 006455' DATEND=.-1
3488
3489 006456' DIRBUF: BLOCK ^D128 ;BUFFER CONTAINING DIRECTORY BLOCK
3490 006655' ENDBLK=.-1
3491
3492 006656' OPEN10: BLOCK 3 ;-10 OPEN BLOCK
3493 006661' LOOK10: BLOCK BLKSIZ ;-10 LOOKUP BLOCK
3494 006701' HEAD10: BLOCK 3 ;-10 BUFFER HEADER
3495 006704' OPNBLK: BLOCK 3 ;-10 OUTPUT OPEN BLOCK
3496 006707' ENTBLK: BLOCK BLKSIZ ;-10 ENTER BLOCK
3497 006727' HEDBLK: BLOCK 3 ;-10 OUTPUT BUFFER HEADER
3498 006732' OPND10: BLOCK 3 ;-10 DAT OPEN BLOCK
3499 006735' ODAT10: BLOCK BLKSIZ ;-10 DAT LOOKUP BLOCK
3500
3501 006755' MC.VER: BLOCK 1 ;MICROCODE VERSION
3502 006756' MC.TIME:BLOCK 1 ;MICROCODE TIME
3503 006757' MC.DATE:BLOCK 1 ;MICROCODE DATE
3504 006760' MT.VER: BLOCK 1 ;MAGTAPE VERSION
3505 006761' MT.TIME:BLOCK 1 ;MAGTAPE TIME
3506 006762' MT.DATE:BLOCK 1 ;MAGTAPE DATE
3507 006763' MT.SADR:BLOCK 1 ;MAGTAPE START ADDRESS
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 93
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK FILE PROCESS SEQ 0132
3508 SUBTTL TOPS-10 DISK FILE PROCESS
3509
3510 ;*GET A CHARACTER FROM -10 FILE
3511
3512 006764' 332 00 0 00 021040' GET10: SKIPE EOFSW ;HAVE WE HIT EOF YET ?
3513 006765' 254 00 0 00 006772' JRST GET10Z ;YES, CLEAR CHARACTER
3514
3515 006766' 375 00 0 00 006703' CHKCNT: SOSGE TO10IC ;BYTE COUNT=0?
3516 006767' 254 00 0 00 006774' JRST IN10 ;YES
3517
3518 006770' 134 03 0 00 006702' ILDB T3,TO10IP ;GET BUFFER PTR
3519 006771' 263 17 0 00 000000 RTN ;RETURN, BUFFER FULL
3520
3521 006772' 400 03 0 00 000000 GET10Z: SETZ T3,
3522 006773' 263 17 0 00 000000 RTN
3523
3524 006774' 056 02 0 00 000000 IN10: IN RC,
3525 006775' 254 00 0 00 006764' JRST GET10
3526
3527 ;*END OF INPUT FILE
3528
3529 006776' 062 02 0 00 000003 COMEND: GETSTS RC,C ;GET ERROR STATUS
3530 006777' 602 03 0 00 740000 TRNE C,74B23 ;SEE IF ANY ERRORS
3531 007000' 260 17 0 00 014770' ERR <READ ERROR>
3532
3533 007001' 606 03 0 00 020000 TRNN C,1B22 ;SEE IF END OF FILE
3534 007002' 260 17 0 00 014776' ERR <SHOULD NEVER HAPPEN>
3535
3536 007003' 476 00 0 00 021040' SETOM EOFSW ;INDICATE EOF IS DETECTED
3537 007004' 402 00 0 00 000003 SETZM T3 ;ZERO THE CHARACTER
3538 007005' 263 17 0 00 000000 RTN ;RETURN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 94
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK FILE PROCESS SEQ 0133
3539 ;*PUT A CHARACTER TO -10 FILE
3540
3541 007006' 377 00 0 00 006731' PUT10: SOSG TO10OC ;DECREMENT BYTE COUNT
3542 007007' 254 00 0 00 007012' JRST PUTBUF
3543
3544 007010' 136 03 0 00 006730' PUTNXT: IDPB T3,TO10OP ;PUT WORD IN BUFFER
3545 007011' 263 17 0 00 000000 RTN
3546
3547 007012' 057 03 0 00 000000 PUTBUF: OUT WC, ;EMPTY BUFFER
3548 007013' 254 00 0 00 007010' JRST PUTNXT
3549 007014' 260 17 0 00 014373' ERR <WRITE ERROR>
3550
3551 ;*COMPLETE OUTPUT FILE
3552
3553 007015' 070 02 0 00 000000 R10EOF: CLOSE RC, ;CLOSE READ CHANNEL
3554 007016' 071 02 0 00 000000 RELEAS RC,
3555 007017' 200 01 0 00 021053' MOVE T1,JBFFRC
3556 007020' 202 01 0 00 000121 MOVEM T1,.JBFF ;RECLAIM BUF SPACE
3557
3558 007021' 263 17 0 00 000000 RTN
3559
3560 007022' 070 03 0 00 000000 W10EOF: CLOSE WC, ;CLOSE WRITE CHANNEL
3561 007023' 071 03 0 00 000000 RELEAS WC,
3562
3563 007024' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 95
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK FILE PROCESS SEQ 0134
3564 ;*OPEN DEVICE/LOOKUP ON FILE
3565
3566 007025' 476 00 0 00 021056' SETOM OPNTDMP
3567 007026' 334 00 0 00 000000 SKIPA
3568 007027' 402 00 0 00 021056' OPNTEN: SETZM OPNTDMP#
3569 007030' 402 00 0 00 006701' SETZM HEAD10
3570 007031' 402 00 0 00 006702' SETZM HEAD10+1
3571 007032' 402 00 0 00 006703' SETZM HEAD10+2
3572 007033' 201 01 0 00 006701' MOVEI T1,HEAD10 ;SETUP BUFFER HEADER
3573 007034' 202 01 0 00 006660' MOVEM T1,OPEN10+2
3574 007035' 402 00 0 00 021040' SETZM EOFSW#
3575
3576 007036' 200 01 0 00 016406' MOVE T1,GTJDEV ;SETUP DEVICE
3577 007037' 202 01 0 00 006657' MOVEM T1,OPEN10+1
3578
3579 007040' 201 01 0 00 000014 MOVEI T1,.IOBIN ;SET BINARY MODE
3580 007041' 332 00 0 00 021056' SKIPE OPNTDMP
3581 007042' 201 01 0 00 000017 MOVEI T1,.IODMP ;SET DUMP MODE
3582 007043' 202 01 0 00 006656' MOVEM T1,OPEN10
3583
3584 007044' 050 02 0 00 006656' OPEN RC,OPEN10 ;OPEN READ CHANNEL
3585 007045' 260 17 0 00 015004' ERR <TOPS-10 OPEN ERROR>
3586
3587 007046' 200 01 0 00 000121 MOVE T1,.JBFF ;SAVE RING BUFFER ADDRESS
3588 007047' 202 01 0 00 021053' MOVEM T1,JBFFRC#
3589
3590 007050' 336 00 0 00 021056' SKIPN OPNTDMP
3591 007051' 064 02 0 00 000002 INBUF RC,2 ;TWO BUFFERS
3592
3593 007052' 200 01 0 00 016410' MOVE T1,GTJFIL ;SETUP FILE NAME
3594 007053' 202 01 0 00 006663' MOVEM T1,LOOK10+.RBNAM
3595
3596 007054' 200 01 0 00 016411' MOVE T1,GTJEXT ;SETUP FILE EXT
3597 007055' 202 01 0 00 006664' MOVEM T1,LOOK10+.RBEXT
3598
3599 007056' 200 01 0 00 016407' MOVE T1,GTJDIR ;SETUP PPN
3600 007057' 202 01 0 00 006662' MOVEM T1,LOOK10+.RBPPN
3601
3602 007060' 201 01 0 00 000017 MOVEI T1,17
3603 007061' 202 01 0 00 006661' MOVEM T1,LOOK10
3604
3605 007062' 076 02 0 00 006661' LOOKUP RC,LOOK10 ;FIND FILE
3606 007063' 263 17 0 00 000000 RTN ;NOT FOUND
3607
3608 007064' 254 00 0 00 000016' JRST CPOPJ1 ;FOUND
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 96
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK FILE PROCESS SEQ 0135
3609 ;*OPEN DEVICE/LOOKUP ON DATA FILE
3610
3611 007065' 402 00 0 00 006732' OPNDAT: SETZM OPND10
3612 007066' 402 00 0 00 006733' SETZM OPND10+1
3613 007067' 402 00 0 00 006734' SETZM OPND10+2
3614 007070' 201 01 0 00 006732' MOVEI T1,OPND10 ;SETUP BUFFER HEADER
3615 007071' 202 01 0 00 006734' MOVEM T1,OPND10+2
3616
3617 007072' 200 01 0 00 016406' MOVE T1,GTJDEV ;SETUP DEVICE
3618 007073' 202 01 0 00 006733' MOVEM T1,OPND10+1
3619
3620 007074' 201 01 0 00 000017 MOVEI T1,.IODMP ;SET DUMP MODE
3621 007075' 202 01 0 00 006732' MOVEM T1,OPND10
3622
3623 007076' 050 01 0 00 006732' OPEN DAT,OPND10 ;OPEN READ CHANNEL
3624 007077' 260 17 0 00 015004' ERR <TOPS-10 OPEN ERROR>
3625
3626 007100' 200 01 0 00 016410' MOVE T1,GTJFIL ;SETUP FILE NAME
3627 007101' 202 01 0 00 006737' MOVEM T1,ODAT10+.RBNAM
3628
3629 007102' 200 01 0 00 016411' MOVE T1,GTJEXT ;SETUP FILE EXT
3630 007103' 202 01 0 00 006740' MOVEM T1,ODAT10+.RBEXT
3631
3632 007104' 200 01 0 00 016407' MOVE T1,GTJDIR ;SETUP PPN
3633 007105' 202 01 0 00 006736' MOVEM T1,ODAT10+.RBPPN
3634
3635 007106' 201 01 0 00 000017 MOVEI T1,17
3636 007107' 202 01 0 00 006735' MOVEM T1,ODAT10
3637
3638 007110' 076 01 0 00 006735' LOOKUP DAT,ODAT10 ;FIND FILE
3639 007111' 263 17 0 00 000000 RTN ;NOT FOUND
3640
3641 007112' 254 00 0 00 000016' JRST CPOPJ1 ;FOUND
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 97
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK FILE PROCESS SEQ 0136
3642 ;*OPEN DEVICE/ENTER ON FILE
3643
3644 007113' 402 00 0 00 006727' OPNWRT: SETZM HEDBLK
3645 007114' 402 00 0 00 006730' SETZM HEDBLK+1
3646 007115' 402 00 0 00 006731' SETZM HEDBLK+2
3647 007116' 205 01 0 00 006727' MOVSI T1,HEDBLK ;SETUP BUFFER HEADER
3648 007117' 202 01 0 00 006706' MOVEM T1,OPNBLK+2
3649
3650 007120' 200 01 0 00 006042' MOVE T1,O.DEV ;SETUP DEVICE
3651 007121' 336 00 0 00 000001 SKIPN T1
3652 007122' 205 01 0 00 446353 MOVSI T1,(SIXBIT/DSK/)
3653 007123' 202 01 0 00 006705' MOVEM T1,OPNBLK+1
3654 007124' 201 01 0 00 000017 MOVEI T1,.IODMP ;SET DUMP MODE
3655 007125' 202 01 0 00 006704' MOVEM T1,OPNBLK
3656 007126' 050 03 0 00 006704' OPEN WC,OPNBLK ;OPEN WRITE CHANNEL
3657 007127' 260 17 0 00 015004' ERR <TOPS-10 OPEN ERROR>
3658
3659 007130' 402 00 0 00 006707' SETZM ENTBLK
3660 007131' 200 01 0 00 015006' MOVE T1,[ENTBLK,,ENTBLK+1]
3661 007132' 251 01 0 00 006726' BLT T1,ENTBLK+17
3662
3663 007133' 200 01 0 00 006043' MOVE T1,O.NAM1 ;SETUP FILE NAME
3664 007134' 202 01 0 00 006711' MOVEM T1,ENTBLK+.RBNAM
3665
3666 007135' 200 01 0 00 006044' MOVE T1,O.EXT ;SETUP FILE EXT
3667 007136' 202 01 0 00 006712' MOVEM T1,ENTBLK+.RBEXT
3668
3669 007137' 200 01 0 00 006046' MOVE T1,O.PPN ;SETUP PPN
3670 007140' 202 01 0 00 006710' MOVEM T1,ENTBLK+.RBPPN
3671
3672 007141' 200 01 0 00 006045' MOVE T1,O.PRT ;SETUP PROTECTION
3673 007142' 137 01 0 00 015007' DPB T1,[POINT 9,ENTBLK+.RBPRV,8]
3674
3675 007143' 135 01 0 00 014315' LDB T1,[POINT 3,O.DATE,23] ;SETUP TIME AND DATE
3676 007144' 137 01 0 00 015010' DPB T1,[POINT 3,ENTBLK+.RBEXT,20]
3677 007145' 135 01 0 00 014317' LDB T1,[POINT 12,O.DATE,35]
3678 007146' 137 01 0 00 015011' DPB T1,[POINT 12,ENTBLK+.RBPRV,35]
3679 007147' 200 01 0 00 006050' MOVE T1,O.TIME
3680 007150' 137 01 0 00 015012' DPB T1,[POINT 11,ENTBLK+.RBPRV,23]
3681
3682 007151' 200 01 0 00 006051' MOVE T1,O.VER ;SETUP VERSION
3683 007152' 202 01 0 00 006715' MOVEM T1,ENTBLK+.RBVER
3684
3685 007153' 201 01 0 00 000017 MOVEI T1,17
3686 007154' 202 01 0 00 006707' MOVEM T1,ENTBLK
3687 007155' 077 03 0 00 006707' ENTER WC,ENTBLK ;ENTER FILE
3688 007156' 263 17 0 00 000000 RTN
3689 007157' 254 00 0 00 000016' JRST CPOPJ1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 98
SMFILE MAC 19-Feb-79 10:46 TOPS-10 DISK FILE PROCESS SEQ 0137
3690 ;*ENTER FILE ON CHANNEL WC
3691
3692 007160' 402 00 0 00 006727' ETER10: SETZM HEDBLK
3693 007161' 402 00 0 00 006730' SETZM HEDBLK+1
3694 007162' 402 00 0 00 006731' SETZM HEDBLK+2
3695 007163' 205 01 0 00 006727' MOVSI T1,HEDBLK ;SETUP BUFFER HEADER
3696 007164' 202 01 0 00 006706' MOVEM T1,OPNBLK+2
3697 007165' 200 01 0 00 006042' MOVE T1,O.DEV ;SETUP DEVICE
3698 007166' 336 00 0 00 000001 SKIPN T1
3699 007167' 205 01 0 00 446353 MOVSI T1,(SIXBIT/DSK/)
3700 007170' 202 01 0 00 006705' MOVEM T1,OPNBLK+1
3701 007171' 201 01 0 00 000017 MOVEI T1,.IODMP ;DUMP MODE
3702 007172' 202 01 0 00 006704' MOVEM T1,OPNBLK
3703
3704 007173' 050 03 0 00 006704' OPEN WC,OPNBLK ;OPEN WRITE CHANNEL
3705 007174' 260 17 0 00 015004' ERR <TOPS-10 OPEN ERROR>
3706
3707 007175' 402 00 0 00 006707' SETZM ENTBLK
3708 007176' 200 01 0 00 015006' MOVE T1,[ENTBLK,,ENTBLK+1]
3709 007177' 251 01 0 00 006726' BLT T1,ENTBLK+17
3710
3711 007200' 200 01 0 00 006043' MOVE T1,O.NAM1 ;SETUP FILE NAME
3712 007201' 202 01 0 00 006711' MOVEM T1,ENTBLK+.RBNAM
3713 007202' 200 01 0 00 006044' MOVE T1,O.EXT ;SETUP FILE EXT
3714 007203' 202 01 0 00 006712' MOVEM T1,ENTBLK+.RBEXT
3715 007204' 200 01 0 00 006046' MOVE T1,O.PPN ;SETUP PROJ,PROG #
3716 007205' 336 00 0 00 000001 SKIPN T1
3717 007206' 200 01 0 00 015013' MOVE T1,[6,,2020] ;DEFAULT PPN IS 6,20
3718 007207' 202 01 0 00 006710' MOVEM T1,ENTBLK+.RBPPN
3719 007210' 200 01 0 00 006045' MOVE T1,O.PRT ;SETUP PROTECTION
3720 007211' 137 01 0 00 015007' DPB T1,[POINT 9,ENTBLK+.RBPRV,8]
3721 007212' 135 01 0 00 014315' LDB T1,[POINT 3,O.DATE,23] ;SETUP TIME AND DATE
3722 007213' 137 01 0 00 015010' DPB T1,[POINT 3,ENTBLK+.RBEXT,20]
3723 007214' 135 01 0 00 014317' LDB T1,[POINT 12,O.DATE,35]
3724 007215' 137 01 0 00 015011' DPB T1,[POINT 12,ENTBLK+.RBPRV,35]
3725 007216' 200 01 0 00 006050' MOVE T1,O.TIME
3726 007217' 137 01 0 00 015012' DPB T1,[POINT 11,ENTBLK+.RBPRV,23]
3727 007220' 200 01 0 00 006051' MOVE T1,O.VER ;SETUP VERSION
3728 007221' 202 01 0 00 006715' MOVEM T1,ENTBLK+.RBVER
3729
3730 007222' 201 01 0 00 000017 MOVEI T1,17 ;SET # OF WORDS IN EXTENDED ENTER
3731 007223' 202 01 0 00 006707' MOVEM T1,ENTBLK
3732 007224' 201 01 0 00 060000 MOVEI T1,RP.NFS!RP.ABC ;BIT 22 FOR BAD CHECKSUM
3733 007225' 202 01 0 00 006726' MOVEM T1,E10STS ;TELL MON NOT TO CHECK IT
3734 007226' 200 01 0 00 021065' MOVE T1,S.ALO ;SET BLOCKS ALLOCATED
3735 007227' 202 01 0 00 006720' MOVEM T1,E10ALC
3736
3737 007230' 077 03 0 00 006707' ENTER WC,ENTBLK
3738 007231' 263 17 0 00 000000 RTN ;ERROR RETURN
3739 007232' 254 00 0 00 000016' JRST CPOPJ1 ;GIVE SKIP (GOOD) RETURN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 99
SMFILE MAC 19-Feb-79 10:46 TOPS-10 INDIRECT COMMAND FILE PROCESS SEQ 0138
3740 SUBTTL TOPS-10 INDIRECT COMMAND FILE PROCESS
3741
3742 007233' 332 00 0 00 021244' $CCL: SKIPE $CCLF ;ALREADY DOING INDIRECT ?
3743 007234' 260 17 0 00 015020' ERR <CCL COMMAND ERROR>
3744
3745 007235' 476 00 0 00 021244' SETOM $CCLF ;SET COMMAND FILE PROCESS FLAG
3746
3747 007236' 200 01 0 00 016406' MOVE T1,GTJDEV
3748 007237' 336 00 0 00 000001 SKIPN T1 ;ANY DEVICE SPECIFIED ?
3749 007240' 205 01 0 00 446353 MOVSI T1,'DSK' ;NO, ASSUME "DSK"
3750 007241' 202 01 0 00 007304' MOVEM T1,CCLBLK+1
3751
3752 007242' 200 01 0 00 016410' MOVE T1,GTJFIL
3753 007243' 202 01 0 00 007311' MOVEM T1,CCLDIR ;SETUP FILE NAME
3754
3755 007244' 200 01 0 00 016411' MOVE T1,GTJEXT
3756 007245' 336 00 0 00 000001 SKIPN T1 ;ANY EXTENSION SPECIFIED ?
3757 007246' 205 01 0 00 435544 MOVSI T1,'CMD' ;NO, ASSUME "CMD"
3758 007247' 202 01 0 00 007312' MOVEM T1,CCLDIR+1
3759
3760 007250' 200 01 0 00 016407' MOVE T1,GTJDIR
3761 007251' 202 01 0 00 007314' MOVEM T1,CCLDIR+3 ;SETUP PPN
3762
3763 007252' 201 00 0 00 007306' MOVEI $IBF
3764 007253' 202 00 0 00 007305' MOVEM CCLBLK+2
3765
3766 007254' 050 06 0 00 007303' OPEN $CHN,CCLBLK ;OPEN COMMAND CHANNEL
3767 007255' 260 17 0 00 015025' ERR <CCL OPEN ERROR>
3768
3769 007256' 064 06 0 00 000001 INBUF $CHN,1 ;ONE BUFFER
3770
3771 007257' 076 06 0 00 007311' LOOKUP $CHN,CCLDIR ;FIND COMMAND FILE
3772 007260' 260 17 0 00 015033' ERR <CCL FILE NOT FOUND>
3773
3774 007261' 200 00 0 00 000121 MOVE .JBFF ;SAVE FIRST FREE FOR RECLAIM
3775 007262' 202 00 0 00 021127' MOVEM $SJBFF#
3776
3777 007263' 200 01 0 00 015035' MOVE T1,[.NULIO,,.PRIOU]
3778 007264' 202 01 0 00 016373' MOVEM T1,CSB+.CMIOJ
3779 007265' 331 00 0 00 016573' SKIPL ECOFLG
3780 007266' 476 00 0 00 021165' SETOM INTAKE
3781 007267' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 100
SMFILE MAC 19-Feb-79 10:46 TOPS-10 INDIRECT COMMAND FILE PROCESS SEQ 0139
3782 007270' 373 00 0 00 007310' $CCLIN: SOSLE $IBF+2 ;ANY CHARS AVAILABLE ?
3783 007271' 254 00 0 00 007301' JRST $CCLI1 ;YES
3784
3785 007272' 056 06 0 00 000000 IN $CHN, ;NO, INPUT A BUFFER
3786 007273' 254 00 0 00 007301' JRST $CCLI1 ;OK
3787
3788 007274' 063 06 0 00 740000 STATZ $CHN,740000 ;NO, CHECK STATUS
3789 007275' 260 17 0 00 015042' ERR <CCL FILE READ ERROR>
3790
3791 MOVEI [ASCIZ/
3792 [END OF COMMAND FILE]
3793 007276' 201 00 0 00 015044' /]
3794 007277' 037 17 0 00 000001 PNTALF
3795 007300' 254 00 0 00 000537' JRST REEN
3796
3797 007301' 134 02 0 00 007307' $CCLI1: ILDB T2,$IBF+1 ;GET CHAR
3798
3799 ; CAIN T2,12 ;LF, CLEAR COMMENT FLAG
3800 ; SETZM $CMNTF
3801 ; CAIN T2,14 ;F/F, CLEAR COMMENT FLAG
3802 ; SETZM $CMNTF
3803 ;
3804 ; CAIN T2,";" ;SEMICOLON, SET COMMENT FLAG
3805 ; SETOM $CMNTF
3806 ;
3807 ; SKIPE $CMNTF ;PROCESSING COMMENT ?
3808 ; JRST $CCLIN ;YES
3809
3810 007302' 263 17 0 00 000000 RTN ;RETURN TO CHAR PROCESS
3811
3812 007303' CCLBLK: BLOCK 3
3813 007306' $IBF: BLOCK 3
3814 007311' CCLDIR: BLOCK 4
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 101
SMFILE MAC 19-Feb-79 10:46 SPECIFY DEVICE FILE STRUCTURE FOR DIRECTORY SEQ 0140
3815 SUBTTL SPECIFY DEVICE FILE STRUCTURE FOR DIRECTORY
3816 ; ===============================================
3817
3818 007315' 200 02 0 00 016407' DEVSTR: MOVE T2,GTJDIR
3819 007316' 202 02 0 00 021036' MOVEM T2,DIRDIR# ;SAVE STRUCTURE PPN
3820 007317' 200 02 0 00 016406' MOVE T2,GTJDEV ;GET STRUCTURE NAME
3821 007320' 202 02 0 00 005405' MOVEM T2,DIRDEV
3822 007321' 202 02 0 00 005423' MOVEM T2,DATDEV ;SAVE IT
3823 007322' 200 01 0 00 015052' MOVE T1,[0,,DIRDEV] ;STATUS AT LOC+0
3824
3825 007323' 047 01 0 00 000045 DSKCHR T1,
3826 007324' 260 17 0 00 015060' ERR <DEVICE SELECTION ERROR>
3827
3828 007325' 135 02 0 00 015062' LDB T2,[POINT 6,T1,26];GET BITS 21-26
3829 007326' 275 02 0 00 000005 SUBI T2,5 ;5=RH10/RH20 CTR
3830 007327' 322 02 0 00 007331' JUMPE T2,.+2 ;IT'S RH10/RH20 CTR
3831 007330' 260 17 0 00 015071' ERR <NOT AN RH10/RH20 CONTROLLER>
3832
3833 007331' 402 00 0 00 021064' SETZM RM03F
3834 007332' 135 02 0 00 015073' LDB T2,[POINT 3,T1,32]
3835 007333' 202 02 0 00 021037' MOVEM T2,DSKTYP
3836 007334' 306 02 0 00 000000 CAIN T2,.DCUR4
3837 007335' 254 00 0 00 007343' JRST CTLROK
3838 007336' 306 02 0 00 000001 CAIN T2,.DCUR6
3839 007337' 254 00 0 00 007343' JRST CTLROK
3840 007340' 306 02 0 00 000002 CAIN T2,.DCUR3
3841 JRST [SETOM RM03F
3842 007341' 254 00 0 00 015074' JRST CTLROK]
3843 007342' 260 17 0 00 015104' ERR <NOT AN RP04/RP06/RM03 DISK>
3844
3845 007343' 200 01 0 00 015106' CTLROK: MOVE T1,[16,,DIRDEV] ;PHYNAME AT LOC+15
3846
3847 007344' 047 01 0 00 000045 DSKCHR T1, ;GET PHY DEVICE NAME
3848 007345' 260 17 0 00 015060' ERR <DEVICE SELECTION ERROR>
3849
3850 007346' 200 01 0 00 015107' MOVE T1,[16,,DATDEV]
3851
3852 007347' 047 01 0 00 000045 DSKCHR T1,
3853 007350' 260 17 0 00 015060' ERR <DEVICE SELECTION ERROR>
3854
3855 007351' 201 00 0 00 000001 USRHPQ: MOVEI 1
3856 007352' 047 00 0 00 000071 HPQ ;SET HI-PRI RUN Q
3857 007353' 255 00 0 00 000000 JFCL
3858
3859 007354' 201 00 0 00 007360' USRHDQ: MOVEI HDQ ;SET HI-PRI DISK Q
3860 007355' 047 00 0 00 000121 DISK.
3861 007356' 255 00 0 00 000000 JFCL
3862 007357' 254 00 0 00 007361' JRST .+2
3863 007360' 000003 777777 HDQ: 3,,-1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 102
SMFILE MAC 19-Feb-79 10:46 SPECIFY DEVICE FILE STRUCTURE FOR DIRECTORY SEQ 0141
3864 007361' 260 17 0 00 007434' GO OPNHOM ;OPEN WITH HOM CHANNEL
3865 007362' 260 17 0 00 015114' ERR <HOM CHN OPEN ERROR>
3866
3867 007363' 201 03 0 00 000001 MOVEI T3,HMBK01 ;GET HOME BLK #1
3868 007364' 260 17 0 00 007442' GO RADHOM
3869 007365' 260 17 0 00 015123' ERR <HOME BLOCK #1 READ ERROR>
3870
3871 007366' 200 01 0 00 005544' MOVE T1,HOMBUF+103
3872 007367' 202 01 0 00 021030' MOVEM T1,BTADDR ;SAVE ORIGINAL 8080 POINTER
3873
3874 007370' 200 02 0 00 005542' MOVE B,HOMBUF+101 ;GET DISK ADDRESS
3875 007371' 202 02 0 00 021031' MOVEM B,BTLADR#
3876
3877 007372' 200 03 0 00 005543' MOVE C,HOMBUF+102 ;GET LENGTH IN SECTORS
3878 007373' 202 03 0 00 021032' MOVEM C,BTLPAG#
3879
3880 007374' 322 02 0 00 007530' JUMPE B,CRESTR ;NO CURRENT KS10FE.BIN
3881
3882 007375' 260 17 0 00 007065' CREST1: GO OPNDAT
3883 007376' 254 00 0 00 007530' JRST CRESTR ;REALLY NOT THERE
3884
3885 007377' 200 01 0 00 006746' MOVE T1,ODAT10+.RBALC
3886 007400' 305 01 0 00 000161 CAIGE T1,<^D28*^D4>+1
3887 007401' 260 17 0 00 015132' ERR <KS10FE.BIN WRONG SIZE>
3888
3889 007402' 074 01 0 00 000000 USETI DAT,PRIME ;GET LOGICAL BLK # OF 1ST BLK
3890
3891 IN DAT,[IOWD 200,GETBUF
3892 007403' 056 01 0 00 015134' 0]
3893 007404' 334 00 0 00 000000 SKIPA
3894 007405' 260 17 0 00 015143' ERR <PRIME RIB READ ERROR>
3895 007406' 260 17 0 00 007521' GO GOARND+4
3896
3897 007407' 312 01 0 00 021031' CAME T1,BTLADR ;HOME BLOCK & FILE AGREE ?
3898 007410' 260 17 0 00 015157' ERR <KS10FE.BIN HOME BLOCK & FILE ADDRESSES DIFFER>
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 103
SMFILE MAC 19-Feb-79 10:46 SPECIFY DEVICE FILE STRUCTURE FOR DIRECTORY SEQ 0142
3899
3900 007411' 074 01 0 00 000001 USETI DAT,1 ;SELECT 1ST PAGE
3901
3902 007412' 201 05 0 00 000034 MOVEI T5,^D28
3903 007413' 200 04 0 00 015161' MOVE T4,[IPAG,,FEDIR]
3904 007414' 201 03 0 00 400777 MOVEI T3,FEDIR+777
3905
3906 CREST2: IN DAT,[IOWD ^D512,IPAG
3907 007415' 056 01 0 00 014366' 0]
3908 007416' 254 00 0 00 007425' JRST CREST3
3909
3910 007417' 062 01 0 00 000001 GETSTS DAT,T1
3911 007420' 602 01 0 00 740000 TRNE T1,74B23 ;ANY ERRORS
3912 007421' 260 17 0 00 015167' ERR <KS10FE.BIN READ ERROR>
3913 007422' 606 01 0 00 020000 TRNN T1,1B22 ;END OF FILE ?
3914 007423' 260 17 0 00 014776' ERR <SHOULD NEVER HAPPEN>
3915 007424' 254 00 0 00 001654' JRST WRTSEX
3916
3917 007425' 200 01 0 00 000004 CREST3: MOVE T1,T4
3918 007426' 200 02 0 00 000003 MOVE T2,T3
3919 007427' 251 01 0 02 000000 BLT T1,(T2) ;TRANSFER TO HI-CORE
3920
3921 007430' 271 04 0 00 001000 ADDI T4,^D512
3922 007431' 271 03 0 00 001000 ADDI T3,^D512
3923 007432' 367 05 0 00 007415' SOJG T5,CREST2
3924
3925 007433' 254 00 0 00 001654' JRST WRTSEX
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 104
SMFILE MAC 19-Feb-79 10:46 SPECIFY DEVICE FILE STRUCTURE FOR DIRECTORY SEQ 0143
3926 ;*OPNHOM - ROUTINE TO OPEN THE DISK ON CHANNEL 'HOM'
3927
3928 007434' 201 05 0 00 000017 OPNHOM: MOVEI T5,.IODMP ;OPEN IN DUMP MODE
3929 007435' 200 06 0 00 005422' MOVE T6,DSKUPN ;GET DEVICE NAME
3930 007436' 201 07 0 00 000000 MOVEI T7,0
3931
3932 007437' 050 05 0 00 000005 OPEN HOM,T5
3933 007440' 263 17 0 00 000000 RTN ;ERROR RETURN
3934
3935 007441' 254 00 0 00 000016' JRST CPOPJ1 ;GOOD RETURN
3936
3937 ;*RADHOM - ROUTINE TO READ A BLOCK ON CHANNEL 'HOM'
3938
3939 007442' 400 01 0 00 000000 RADHOM: SETZ T1,
3940 007443' 201 02 0 00 000005 MOVEI T2,HOM
3941 007444' 137 02 0 00 015171' DPB T2,[POINT 4,T1,12] ;PUT CHANNEL IN ARG REG.
3942 007445' 137 03 0 00 015172' DPB T3,[POINT 23,T1,35] ;PUT BLK NO IN ARG REG
3943
3944 007446' 047 01 0 00 000146 SUSET. T1, ;INSERT BLOCK NUMBER
3945 007447' 260 17 0 00 015177' ERR <SUSET. UUO FAILURE>
3946
3947 007450' 056 05 0 00 005371' IN HOM,HOMLST ;BRING IN THE DIRECTORY BLOCK
3948 007451' 254 00 0 00 000016' JRST CPOPJ1 ;GOOD RETURN
3949
3950 007452' 263 17 0 00 000000 RTN ;BAD RETURN
3951
3952 ;*WHOM10 - ROUTINE TO WRITE A BLOCK ON CHANNEL 'HOM'
3953
3954 007453' 205 01 0 00 200000 WHOM10: MOVSI T1,SU.SOT ;OUTPUT BIT
3955 007454' 201 02 0 00 000005 MOVEI T2,HOM
3956 007455' 137 02 0 00 015171' DPB T2,[POINT 4,T1,12] ;PUT CHANNEL IN ARG REG.
3957 007456' 137 03 0 00 015172' DPB T3,[POINT 23,T1,35] ;PUT BLK NO IN ARG REG
3958
3959 007457' 047 01 0 00 000146 SUSET. T1,
3960 007460' 260 17 0 00 015177' ERR <SUSET. UUO FAILURE>
3961
3962 007461' 057 05 0 00 005371' OUT HOM,HOMLST ;OUTPUT HOME BLOCK
3963 007462' 254 00 0 00 000016' JRST CPOPJ1 ;GOOD RETURN
3964
3965 007463' 263 17 0 00 000000 RTN ;ERROR RETURN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 105
SMFILE MAC 19-Feb-79 10:46 SPECIFY DEVICE FILE STRUCTURE FOR DIRECTORY SEQ 0144
3966 ;*OPWCDP - ROUTINE TO OPEN IN DUMP MODE TO WRITE
3967
3968 007464' 201 01 0 00 000017 OPWCDP: MOVEI T1,.IODMP ;DUMP MODE
3969 007465' 200 02 0 00 005422' MOVE T2,DSKUPN ;DEVICE NAME
3970 007466' 402 00 0 00 000003 SETZM T3
3971
3972 007467' 050 03 0 00 000001 OPEN WC,T1 ;OPEN FOR OUTPUT
3973 007470' 263 17 0 00 000000 RTN ;ERROR RETURN
3974
3975 007471' 254 00 0 00 000016' JRST CPOPJ1 ;GOOD RETURN
3976
3977 ;*OPRCDP - ROUTINE TO OPEN IN DUMP MODE TO READ
3978
3979 007472' 201 01 0 00 000017 OPRCDP: MOVEI T1,.IODMP ;USE DUMP MODE INPUT
3980 007473' 200 02 0 00 005422' MOVE T2,DSKUPN ;GET DEVICE NAME
3981 007474' 402 00 0 00 000003 SETZM T3 ;NO BUFFER
3982
3983 007475' 050 02 0 00 000001 OPEN RC,T1
3984 007476' 263 17 0 00 000000 RTN ;ERROR RETURN
3985
3986 007477' 254 00 0 00 000016' JRST CPOPJ1 ;GOOD RETURN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 106
SMFILE MAC 19-Feb-79 10:46 SPECIFY DEVICE FILE STRUCTURE FOR DIRECTORY SEQ 0145
3987 ;*GETBLK - ROUTINE TO GET THE LOGICAL BLOCK NUMBER OF THE
3988 ;* FIRST BLOCK OF A FILE IN THE TOPS-10 FILE SYSTEM.
3989 ;*
3990 ;*CALL: GO GETBK1
3991 ;* OR
3992 ;* GO GETBK2
3993 ;* RETURN WITH BLOCK # IN T1
3994
3995 007500' 260 17 0 00 007472' GETBK1: GO OPRCDP ;USE DUMP MODE INPUT
3996 007501' 260 17 0 00 015206' ERR <DUMP MODE OPEN ERROR>
3997
3998 007502' 201 01 0 00 000017 MOVEI T1,17 ;GET # OF ARGUMENTS
3999 007503' 202 01 0 00 006661' MOVEM T1,LOOK10 ;SAVE # OF ARGS IN LOOKUP BLK
4000
4001 007504' 076 02 0 00 006661' LOOKUP RC,LOOK10 ;LOOKUP THE FILE
4002 007505' 260 17 0 00 015214' ERR <CAN'T FIND FILE>
4003
4004 007506' 254 00 0 00 007515' JRST GOARND ;GO AROUND
4005
4006 007507' 260 17 0 00 007472' GETBK2: GO OPRCDP ;USE DUMP MODE INPUT
4007 007510' 260 17 0 00 015206' ERR <DUMP MODE OPEN ERROR>
4008
4009 007511' 201 01 0 00 000017 MOVEI T1,17 ;GET # OF ARGUMENTS
4010 007512' 202 01 0 00 006707' MOVEM T1,ENTBLK ;SAVE IT
4011
4012 007513' 076 02 0 00 006707' LOOKUP RC,ENTBLK ;LOOKUP THE OUTPUT FILE
4013 007514' 260 17 0 00 015214' ERR <CAN'T FIND FILE>
4014
4015 007515' 074 02 0 00 000000 GOARND: USETI RC,PRIME ;SET UP TO READ PRIME RIB
4016
4017 IN RC,[IOWD 200,GETBUF
4018 007516' 056 02 0 00 015134' 0 ] ;READ THE PRIME RIB
4019 007517' 334 00 0 00 000000 SKIPA
4020 007520' 260 17 0 00 015143' ERR <PRIME RIB READ ERROR>
4021
4022 007521' 550 01 0 00 006056' HRRZ T1,GETBUF ;GET ADDRESS OF 1ST POINTER
4023 007522' 201 01 0 01 006057' MOVEI T1,GETBUF+1(T1) ;GET SECOND POINTER
4024 007523' 500 01 0 00 005461' HLL T1,HOMCLP ;FORM BYTE POINTER
4025 007524' 135 01 0 00 000001 LDB T1,T1 ;GET ADDRESS POINTER
4026 007525' 220 01 0 00 005462' IMUL T1,HOMBPC ;COMPUTE RIB LOGICAL BLOCK #
4027 007526' 271 01 0 00 000001 ADDI T1,1 ;COMPUTE # OF DATA BLOCK 1
4028 007527' 263 17 0 00 000000 RTN ;RETURN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 107
SMFILE MAC 19-Feb-79 10:46 ROUTINE TO CREATE KS10FE.BIN FILE SEQ 0146
4029 SUBTTL ROUTINE TO CREATE KS10FE.BIN FILE
4030 ; ===========================================
4031
4032 007530' 200 01 0 00 016406' CRESTR: MOVE T1,GTJDEV
4033 007531' 202 01 0 00 006042' MOVEM T1,O.DEV
4034
4035 007532' 200 01 0 00 016410' MOVE T1,GTJFIL
4036 007533' 202 01 0 00 006043' MOVEM T1,O.NAM1
4037
4038 007534' 200 01 0 00 016411' MOVE T1,GTJEXT
4039 007535' 202 01 0 00 006044' MOVEM T1,O.EXT
4040
4041 007536' 200 01 0 00 016407' MOVE T1,GTJDIR
4042 007537' 202 01 0 00 006046' MOVEM T1,O.PPN
4043
4044 007540' 201 01 0 00 000577 MOVEI T1,577 ;SET PROTECTION 577
4045 007541' 202 01 0 00 006045' MOVEM T1,O.PRT
4046
4047 007542' 402 00 0 00 006047' SETZM O.DATE
4048 007543' 402 00 0 00 006050' SETZM O.TIME
4049 007544' 402 00 0 00 006051' SETZM O.VER
4050
4051 007545' 201 01 0 00 000160 MOVEI T1,^D28*^D4
4052 007546' 202 01 0 00 021065' MOVEM T1,S.ALO#
4053
4054 007547' 260 17 0 00 007160' GO ETER10 ;ENTER FILE
4055 007550' 260 17 0 00 015224' ERR <ERROR CREATING KS10FE.BIN>
4056
4057 007551' 070 03 0 00 000004 CLOSE WC,CL.DLL ;CLOSE WRITE CHANNEL
4058 007552' 071 03 0 00 000000 RELEAS WC,
4059
4060 ;*GET DISK DIRECTORY ADDRESS, PUT IN HOME BLOCK
4061
4062 007553' 260 17 0 00 007507' GO GETBK2 ;GET 1ST BLOCK FROM -10
4063 007554' 202 01 0 00 021031' MOVEM T1,BTLADR
4064
4065 007555' 200 07 0 00 021031' MOVE T7,BTLADR
4066 007556' 201 06 0 00 021030' MOVEI T6,BTADDR
4067 007557' 260 17 0 00 005020' GO T8080P ;COMPUTE 8080 POINTER
4068
4069 007560' 200 00 0 00 021031' MOVE BTLADR ;SET LOGICAL ADDRESS
4070 007561' 202 00 0 00 005542' MOVEM HOMBUF+101
4071 007562' 201 00 0 00 000160 MOVEI ^D28*^D4 ;SET LENGTH IN SECTORS
4072 007563' 202 00 0 00 021032' MOVEM BTLPAG
4073 007564' 202 00 0 00 005543' MOVEM HOMBUF+102
4074 007565' 200 00 0 00 021030' MOVE BTADDR ;SET 8080 ADDRESS
4075 007566' 202 00 0 00 005544' MOVEM HOMBUF+103
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 108
SMFILE MAC 19-Feb-79 10:46 ROUTINE TO CREATE KS10FE.BIN FILE SEQ 0147
4076 ;*WRITE OUT HOME BLOCK #1
4077
4078 007567' 201 03 0 00 000001 MOVEI T3,HMBK01 ;HOME BLOCK # 1
4079 007570' 260 17 0 00 007453' GO WHOM10 ;WRITE IT
4080 007571' 260 17 0 00 015234' ERR <HOME BLOCK #1 WRITE ERROR>
4081
4082 ;*HERE TO UPDATE AND WRITE OUT HOME BLOCK # 10
4083
4084 007572' 201 03 0 00 000012 MOVEI T3,HMBK10 ;GET BLOCK # FOR HOBK10
4085 007573' 400 01 0 00 000000 SETZ T1,
4086 007574' 201 02 0 00 000005 MOVEI T2,HOM
4087 007575' 137 02 0 00 015171' DPB T2,[POINT 4,T1,12] ;PUT CHANNEL IN ARG REG.
4088 007576' 137 03 0 00 015172' DPB T3,[POINT 23,T1,35] ;PUT BLK NO IN ARG REG
4089
4090 007577' 047 01 0 00 000146 SUSET. T1,
4091 007600' 260 17 0 00 015177' ERR <SUSET. UUO FAILURE>
4092
4093 007601' 056 05 0 00 005377' IN HOM,H10LST ;BRING IN HOME BLK #10
4094 007602' 254 00 0 00 007604' JRST .+2 ;READ OK
4095
4096 007603' 260 17 0 00 015244' ERR <HOME BLOCK #10 READ ERROR>
4097
4098 007604' 200 00 0 00 021031' MOVE BTLADR ;SET LOGICAL ADDRESS
4099 007605' 202 00 0 00 005742' MOVEM HOMB10+101
4100 007606' 200 00 0 00 021032' MOVE BTLPAG ;SET LENGTH IN PAGES
4101 007607' 202 00 0 00 005743' MOVEM HOMB10+102
4102 007610' 200 00 0 00 021030' MOVE BTADDR ;SET 8080 ADDRESS
4103 007611' 202 00 0 00 005744' MOVEM HOMB10+103
4104
4105 007612' 205 01 0 00 200000 MOVSI T1,SU.SOT ;SET OUTPUT BIT
4106 007613' 201 02 0 00 000005 MOVEI T2,HOM
4107 007614' 137 02 0 00 015171' DPB T2,[POINT 4,T1,12] ;PUT CHANNEL IN ARG REG.
4108 007615' 137 03 0 00 015172' DPB T3,[POINT 23,T1,35] ;PUT BLK NO IN ARG REG
4109
4110 007616' 047 01 0 00 000146 SUSET. T1,
4111 007617' 260 17 0 00 015177' ERR <SUSET. UUO FAILURE>
4112
4113 007620' 057 05 0 00 005377' OUT HOM,H10LST ;OUTPUT HMBK10
4114 007621' 334 00 0 00 000000 SKIPA
4115
4116 007622' 260 17 0 00 015254' ERR <HOME BLOCK #10 WRITE ERROR>
4117
4118 007623' 070 04 0 00 000000 CLOSE DIR, ;CLOSE DIR CHANNEL
4119 007624' 070 05 0 00 000000 CLOSE HOM, ;CLOSE HOM CHANNEL
4120 007625' 254 00 0 00 007375' JRST CREST1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 109
SMFILE MAC 19-Feb-79 10:46 PROCESS ".ULD" MICROCODE SEQ 0148
4121 SUBTTL PROCESS ".ULD" MICROCODE
4122
4123 007626' 201 01 0 00 012633' RDULD: MOVEI T1,RDULDT
4124 007627' 202 01 0 00 021160' MOVEM T1,CTADR
4125 007630' 332 00 0 00 021027' SKIPE BC1FLG
4126 007631' 254 00 0 00 007636' JRST .+5
4127 007632' 402 00 0 00 401000 SETZM CRAM
4128 007633' 200 00 0 00 015256' MOVE [CRAM,,CRAM+1]
4129 007634' 251 00 0 00 414777 BLT CRAM+13777 ;CLEAR MICROCODE STORE
4130 007635' 254 00 0 00 007641' JRST .+4
4131 007636' 402 00 0 00 417000 SETZM CRMBC1
4132 007637' 200 00 0 00 015257' MOVE [CRMBC1,,CRMBC1+1]
4133 007640' 251 00 0 00 432777 BLT CRMBC1+13777
4134
4135 007641' 402 00 0 00 021173' SETZM IBF+1
4136 007642' 336 00 0 00 000302' SKIPN MONTYP
4137 007643' 254 00 0 00 007651' JRST READ.1
4138
4139 007644' 554 01 0 00 021162' HLRZ T1,UCFILE
4140 007645' 200 02 0 00 014104' MOVE T2,[1,,.FBBYV]
4141 007646' 201 03 0 00 021051' MOVEI T3,INCNT#
4142 007647' 104 00 0 00 000063 GTFDB ;GET FILE PAGE COUNT
4143 007650' 553 00 0 00 021051' HRRZS INCNT
4144
4145 007651' 260 17 0 00 010156' READ.1: GO RDEOL
4146 007652' 260 17 0 00 010162' GO RDBYTE
4147 007653' 306 01 0 00 000105 CAIN T1,"E"
4148 007654' 254 00 0 00 007756' JRST READ.5
4149 007655' 302 01 0 00 000133 CAIE T1,"["
4150 007656' 254 00 0 00 007651' JRST READ.1
4151 007657' 201 06 0 00 000000 MOVEI T6,0
4152
4153 007660' 260 17 0 00 010162' READ.2: GO RDBYTE
4154 007661' 306 01 0 00 000135 CAIN T1,"]"
4155 007662' 254 00 0 00 007667' JRST READ.3
4156 007663' 275 01 0 00 000060 SUBI T1,"0"
4157 007664' 242 06 0 00 000003 LSH T6,3
4158 007665' 270 06 0 00 000001 ADD T6,T1
4159 007666' 254 00 0 00 007660' JRST READ.2
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 110
SMFILE MAC 19-Feb-79 10:46 PROCESS ".ULD" MICROCODE SEQ 0149
4160
4161 007667' 260 17 0 00 010162' READ.3: GO RDBYTE
4162 007670' 302 01 0 00 000075 CAIE T1,"="
4163 007671' 260 17 0 00 015267' ERR <MICROCODE IS NOT IN CORRECT FORMAT>
4164 007672' 202 06 0 00 021063' MOVEM T6,RDULT6#
4165 007673' 221 06 0 00 000003 IMULI T6,3
4166 007674' 336 00 0 00 021027' SKIPN BC1FLG
4167 007675' 271 06 0 00 401000 ADDI T6,CRAM
4168 007676' 332 00 0 00 021027' SKIPE BC1FLG
4169 007677' 271 06 0 00 417000 ADDI T6,CRMBC1
4170 007700' 202 06 0 00 021033' MOVEM T6,CRAMT6#
4171
4172 007701' 200 04 0 00 015271' RDULIN: MOVE T4,[POINT 3,ULDSTR]
4173 007702' 201 05 0 00 000044 MOVEI T5,^D36
4174
4175 007703' 260 17 0 00 010162' GO RDBYTE
4176 007704' 136 01 0 00 000004 IDPB T1,T4
4177
4178 007705' 367 05 0 00 007703' SOJG T5,RDULIN+2
4179
4180 007706' 400 10 0 00 000000 KSSHF3: SETZ AC10,
4181 007707' 403 11 0 00 000012 SETZB AC11,AC12
4182
4183 007710' 200 07 0 00 015272' MOVE T7,[-^D108,,KSCRMP]
4184
4185 007711' 200 14 0 00 015273' MOVE STPNTR,[POINT 1,ULDSTR]
4186 007712' 200 00 0 00 015274' MOVE 0,[ILDB T6,STPNTR]
4187 007713' 200 01 0 00 015275' MOVE T1,[DPB T6,(T7)]
4188 007714' 200 02 0 00 015276' MOVE T2,[AOBJN T7,0]
4189 007715' 200 03 0 00 015277' MOVE T3,[JRST KSSHF4]
4190 007716' 254 00 0 00 000000 JRST 0
4191
4192 007717' 260 17 0 00 007721' KSSHF4: GO KSXX ;COMPUTE PARITY
4193
4194 007720' 254 00 0 00 007651' JRST READ.1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 111
SMFILE MAC 19-Feb-79 10:46 PROCESS ".ULD" MICROCODE SEQ 0150
4195 ;*KSXX, CRAM PARITY COMPUTE SUBROUTINE
4196
4197 007721' 200 14 0 00 015300' KSXX: MOVE STPNTR,[POINT 1,AC10]
4198 007722' 201 00 0 00 000044 MOVEI 0,^D36
4199 007723' 400 01 0 00 000000 SETZ T1,
4200 007724' 200 02 0 00 015274' MOVE T2,[ILDB T6,STPNTR]
4201 007725' 200 03 0 00 015301' MOVE T3,[ADD T1,T6]
4202 007726' 200 04 0 00 015302' MOVE T4,[SOJG 0,T2]
4203 007727' 200 05 0 00 015303' MOVE T5,[JRST KSXX1]
4204 007730' 254 00 0 00 000002 JRST T2 ;COMPUTE CRAM PARITY "CRA"
4205
4206 007731' 650 01 0 00 016570' KSXX1: TDC T1,PARFLG
4207 007732' 137 01 0 00 010154' DPB T1,PB.CRA
4208
4209 007733' 201 00 0 00 000074 MOVEI 0,^D60
4210 007734' 400 01 0 00 000000 SETZ T1,
4211 007735' 200 05 0 00 015304' MOVE T5,[JRST KSXX2]
4212 007736' 254 00 0 00 000002 JRST T2 ;COMPUTE CRAM PARITY "CRM"
4213
4214 007737' 650 01 0 00 016570' KSXX2: TDC T1,PARFLG
4215 007740' 137 01 0 00 010155' DPB T1,PB.CRM
4216
4217 007741' 200 06 0 00 021033' MOVE T6,CRAMT6
4218 007742' 200 01 0 00 000011 MOVE T1,AC11
4219 007743' 200 02 0 00 000012 MOVE T2,AC12
4220 007744' 246 01 0 00 777764 LSHC T1,-^D12
4221 007745' 202 02 0 06 000000 MOVEM T2,(T6) ;STORE BITS 60-95
4222
4223 007746' 200 01 0 00 000010 MOVE T1,AC10
4224 007747' 200 02 0 00 000011 MOVE T2,AC11
4225 007750' 246 01 0 00 777764 LSHC T1,-^D12
4226 007751' 202 02 0 06 000001 MOVEM T2,1(T6) ;STORE BITS 24-59
4227
4228 007752' 200 02 0 00 000010 MOVE T2,AC10
4229 007753' 242 02 0 00 777764 LSH T2,-^D12
4230 007754' 202 02 0 06 000002 MOVEM T2,2(T6) ;STORE BITS 0-23
4231
4232 007755' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 112
SMFILE MAC 19-Feb-79 10:46 PROCESS ".ULD" MICROCODE SEQ 0151
4233
4234 007756' 260 17 0 00 010162' READ.5: GO RDBYTE
4235 007757' 302 01 0 00 000116 CAIE T1,"N"
4236 007760' 254 00 0 00 007651' JRST READ.1
4237 007761' 260 17 0 00 010162' GO RDBYTE
4238 007762' 302 01 0 00 000104 CAIE T1,"D"
4239 007763' 254 00 0 00 007651' JRST READ.1
4240
4241 007764' 476 00 0 00 016572' SETOM RDFLAG
4242
4243 007765' 336 00 0 00 000302' SKIPN MONTYP
4244 007766' 254 00 0 00 007015' JRST R10EOF
4245
4246 007767' 474 01 0 00 000000 SETO T1,
4247 007770' 200 02 0 00 015305' MOVE T2,[.FHSLF,,<IPAG_-^D9>]
4248 007771' 400 03 0 00 000000 SETZ T3,
4249
4250 007772' 104 00 0 00 000056 PMAP ;RELEASE LAST INPUT PAGE
4251 ERJMP [JSERR
4252 007773' 320 16 0 00 014127' JRST START]
4253
4254 007774' 554 01 0 00 021162' HLRZ T1,UCFILE
4255 007775' 104 00 0 00 000022 CLOSF
4256 007776' 260 17 0 00 014746' ERR <CAN NOT CLOSE MICROCODE FILE>
4257
4258 007777' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 113
SMFILE MAC 19-Feb-79 10:46 PROCESS ".ULD" MICROCODE SEQ 0152
4259 DEFINE CRMBIT(BIT),<
4260 IFL BIT-^D36,<
4261 POINT 1,AC10,BIT
4262 >
4263 IFGE BIT-^D36,<
4264 IFL BIT-^D72,<
4265 POINT 1,AC11,BIT-^D36
4266 >
4267 IFGE BIT-^D72,<
4268 POINT 1,AC12,BIT-^D72
4269 >
4270 >
4271 >
4272
4273 DEFINE CRMRNG(FROM,TO),<
4274 ZZ..==FROM
4275 REPEAT TO-FROM+1,<
4276 CRMBIT \ZZ..
4277 ZZ..==ZZ..+1
4278 >
4279 >
4280
4281 RADIX 10
4282 010000' 43 01 0 00 000010 KSCRMP: CRMRNG 0,11 ;J
4283 010001' 42 01 0 00 000010
4284 010002' 41 01 0 00 000010
4285 010003' 40 01 0 00 000010
4286 010004' 37 01 0 00 000010
4287 010005' 36 01 0 00 000010
4288 010006' 35 01 0 00 000010
4289 010007' 34 01 0 00 000010
4290 010010' 33 01 0 00 000010
4291 010011' 32 01 0 00 000010
4292 010012' 31 01 0 00 000010
4293 010013' 30 01 0 00 000010
4294 010014' 13 01 0 00 000011 CRMRNG 60,68 ;ALU LSRC RSRC
4295 010015' 12 01 0 00 000011
4296 010016' 11 01 0 00 000011
4297 010017' 10 01 0 00 000011
4298 010020' 07 01 0 00 000011
4299 010021' 06 01 0 00 000011
4300 010022' 05 01 0 00 000011
4301 010023' 04 01 0 00 000011
4302 010024' 03 01 0 00 000011
4303 010025' 24 01 0 00 000012 CRMRNG 87,89 ;DEST
4304 010026' 23 01 0 00 000012
4305 010027' 22 01 0 00 000012
4306 010030' 00 01 0 00 000012 CRMBIT 107
4307 010031' 00 01 0 00 000012 CRMBIT 107
4308 010032' 41 01 0 00 000012 CRMRNG 74,77 ;A
4309 010033' 40 01 0 00 000012
4310 010034' 37 01 0 00 000012
4311 010035' 36 01 0 00 000012
4312
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 114
SMFILE MAC 19-Feb-79 10:46 PROCESS ".ULD" MICROCODE SEQ 0153
4313 010036' 00 01 0 00 000012 CRMBIT 107
4314 010037' 00 01 0 00 000012 CRMBIT 107
4315 010040' 33 01 0 00 000012 CRMRNG 80,83 ;B
4316 010041' 32 01 0 00 000012
4317 010042' 31 01 0 00 000012
4318 010043' 30 01 0 00 000012
4319 010044' 27 01 0 00 000012 CRMRNG 84,86 ;RAMADR
4320 010045' 26 01 0 00 000012
4321 010046' 25 01 0 00 000012
4322 010047' 00 01 0 00 000012 CRMBIT 107
4323 010050' 43 01 0 00 000012 CRMRNG 72,73 ;DBUS
4324 010051' 42 01 0 00 000012
4325 010052' 02 01 0 00 000011 CRMRNG 69,71 ;DBM
4326 010053' 01 01 0 00 000011
4327 010054' 00 01 0 00 000011
4328 010055' 35 01 0 00 000012 CRMBIT 78 ;DP CLOCK L
4329 010056' 25 01 0 00 000011 CRMBIT 50 ;PAR EN L
4330 010057' 17 01 0 00 000012 CRMBIT 92 ;PAR CK L
4331 010060' 34 01 0 00 000012 CRMBIT 79 ;DP CLOCK R
4332 010061' 24 01 0 00 000011 CRMBIT 51 ;PAR EN R
4333 010062' 16 01 0 00 000012 CRMBIT 93 ;PAR CK R
4334 010063' 21 01 0 00 000010 CRMRNG 18,20 ;SPEC
4335 010064' 20 01 0 00 000010
4336 010065' 17 01 0 00 000010
4337 010066' 05 01 0 00 000010 CRMRNG 30,32
4338 010067' 04 01 0 00 000010
4339 010070' 03 01 0 00 000010
4340 010071' 16 01 0 00 000010 CRMRNG 21,23 ;DISP
4341 010072' 15 01 0 00 000010
4342 010073' 14 01 0 00 000010
4343 010074' 10 01 0 00 000010 CRMRNG 27,29
4344 010075' 07 01 0 00 000010
4345 010076' 06 01 0 00 000010
4346 010077' 24 01 0 00 000010 CRMRNG 15,17 ;SKIP
4347 010100' 23 01 0 00 000010
4348 010101' 22 01 0 00 000010
4349 010102' 02 01 0 00 000010 CRMRNG 33,35
4350 010103' 01 01 0 00 000010
4351 010104' 00 01 0 00 000010
4352 010105' 00 01 0 00 000012 CRMBIT 107
4353 010106' 27 01 0 00 000010 CRMRNG 12,13 ;T
4354 010107' 26 01 0 00 000010
4355 010110' 12 01 0 00 000010 CRMBIT 25 ;CRY 38
4356 010111' 21 01 0 00 000012 CRMRNG 90,91 ;SC & FE
4357 010112' 20 01 0 00 000012
4358 010113' 27 01 0 00 000011 CRMBIT 48 ;FM WRITE
4359 010114' 11 01 0 00 000010 CRMBIT 26 ;MEM
4360 010115' 23 01 0 00 000011 CRMRNG 52,53 ;DIVIDE AND MULTI PREC
4361 010116' 22 01 0 00 000011
4362 010117' 26 01 0 00 000011 CRMBIT 49 ;MULTI SHIFT
4363 010120' 25 01 0 00 000010 CRMBIT 14 ;CALL
4364
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 115
SMFILE MAC 19-Feb-79 10:46 PROCESS ".ULD" MICROCODE SEQ 0154
4365 010121' 00 01 0 00 000012 CRMBIT 107
4366 010122' 00 01 0 00 000012 CRMBIT 107
4367 010123' 00 01 0 00 000012 CRMBIT 107
4368 010124' 00 01 0 00 000012 CRMBIT 107
4369 010125' 00 01 0 00 000012 CRMBIT 107
4370 010126' 00 01 0 00 000012 CRMBIT 107
4371 010127' 00 01 0 00 000012 CRMBIT 107
4372 010130' 00 01 0 00 000012 CRMBIT 107
4373 010131' 00 01 0 00 000012 CRMBIT 107
4374 010132' 21 01 0 00 000011 CRMRNG 54,59 ; #
4375 010133' 20 01 0 00 000011
4376 010134' 17 01 0 00 000011
4377 010135' 16 01 0 00 000011
4378 010136' 15 01 0 00 000011
4379 010137' 14 01 0 00 000011
4380 010140' 43 01 0 00 000011 CRMRNG 36,47
4381 010141' 42 01 0 00 000011
4382 010142' 41 01 0 00 000011
4383 010143' 40 01 0 00 000011
4384 010144' 37 01 0 00 000011
4385 010145' 36 01 0 00 000011
4386 010146' 35 01 0 00 000011
4387 010147' 34 01 0 00 000011
4388 010150' 33 01 0 00 000011
4389 010151' 32 01 0 00 000011
4390 010152' 31 01 0 00 000011
4391 010153' 30 01 0 00 000011
4392
4393 010154' 13 01 0 00 000010 PB.CRA: CRMBIT 24
4394 010155' 15 01 0 00 000012 PB.CRM: CRMBIT 94
4395 RADIX 8
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 116
SMFILE MAC 19-Feb-79 10:46 PROCESS ".ULD" MICROCODE SEQ 0155
4396 ;*SUBROUTINE TO FILE END OF LINE
4397 ;*CALL WITH:
4398 ;* GO RDEOL
4399 ;* RETURN HERE
4400
4401 010156' 260 17 0 00 010162' RDEOL: GO RDBYTE
4402 010157' 306 01 0 00 000012 CAIN T1,12
4403 010160' 263 17 0 00 000000 RTN
4404 010161' 254 00 0 00 010156' JRST RDEOL
4405
4406 010162' 373 00 0 00 021173' RDBYTE: SOSLE IBF+1
4407 010163' 254 00 0 00 010166' JRST .+3
4408 010164' 260 17 0 00 010171' GO RDUINP ;GET NEXT FILE PAGE
4409 010165' 260 17 0 00 015312' ERR <MICROCODE ERROR EOF>
4410
4411 010166' 134 01 0 00 021172' ILDB T1,IBF ;GET FILE BYTE
4412 010167' 322 01 0 00 010162' JUMPE T1,RDBYTE ;IGNORE NULLS
4413
4414 010170' 263 17 0 00 000000 RTN
4415
4416 010171' 336 00 0 00 000302' RDUINP: SKIPN MONTYP
4417 010172' 254 00 0 00 010211' JRST RDUI10
4418 010173' 375 00 0 00 021051' SOSGE INCNT ;COUNT DOWN PAGE COUNT
4419 010174' 263 17 0 00 000000 RTN ;NONE LEFT, EOF
4420
4421 010175' 200 01 0 00 021162' MOVE T1,UCFILE
4422 010176' 200 02 0 00 015314' MOVE T2,[.FHSLF,,<IPAG_-^D9>]
4423 010177' 400 03 0 00 000000 SETZ T3,
4424
4425 010200' 104 00 0 00 000056 PMAP ;GET NEXT FILE PAGE
4426 ERJMP [JSERR
4427 010201' 320 16 0 00 014127' JRST START]
4428
4429 010202' 201 00 0 00 005000 MOVEI 1000*5
4430 010203' 202 00 0 00 021173' MOVEM IBF+1 ;SET BYTE COUNT
4431
4432 010204' 200 00 0 00 015315' MOVE [POINT 7,IPAG]
4433 010205' 202 00 0 00 021172' MOVEM IBF ;SET BYTE POINTER
4434
4435 010206' 350 00 0 00 021162' AOS UCFILE ;INCREMENT FILE PAGE NUMBER
4436 010207' 350 00 0 17 000000 AOS (P)
4437 010210' 263 17 0 00 000000 RTN
4438
4439 010211' 260 17 0 00 006764' RDUI10: GO GET10
4440 010212' 202 03 0 00 021062' MOVEM T3,RDUIBF#
4441 010213' 335 00 0 00 021040' SKIPGE EOFSW
4442 010214' 263 17 0 00 000000 RTN
4443 010215' 201 00 0 00 000005 MOVEI 5
4444 010216' 202 00 0 00 021173' MOVEM IBF+1
4445 010217' 200 00 0 00 015316' MOVE [POINT 7,RDUIBF]
4446 010220' 202 00 0 00 021172' MOVEM IBF
4447 010221' 350 00 0 17 000000 AOS (P)
4448 010222' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 117
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- OUTPUT SEQ 0156
4449 SUBTTL COMMANDS -- OUTPUT
4450
4451 010223' 000004 000004 SCMTAB OUTCMD
4452 010224' 013547' 010244' CMTAB BC1,OUTBC1
4453 010225' 013550' 010246' CMTAB CRAM,OUTRAM
4454 010226' 015317' 010373' CMTAB MTBOOT,OUTMT
4455 010227' 014734' 010246' CMTAB RAM,OUTRAM
4456 ECMTAB
4457
4458 010230' OUTX: CMD [FLDDB.(.CMKEY,,OUTCMD)],<CAN NOT OUTPUT THAT>
4459 010242' 550 01 0 02 000000 HRRZ T1,(T2)
4460 010243' 254 00 0 01 000000 JRST (T1)
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 118
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- OUTPUT SEQ 0157
4461 ;*OUTRAM, OUTPUT MICROCODE ".RAM" FILE
4462
4463 010244' 476 00 0 00 021027' OUTBC1: SETOM BC1FLG
4464 010245' 254 00 0 00 010247' JRST OUTRAM+1
4465 010246' 402 00 0 00 021027' OUTRAM: SETZM BC1FLG
4466 010247' NOISE <MICROCODE INTO .RAM FILE>
4467 010261' 561 01 0 00 014713' HRROI T1,[ASCIZ "KS10"]
4468 010262' 202 01 0 00 016410' MOVEM T1,GTJFIL
4469 010263' 561 01 0 00 014734' HRROI T1,[ASCIZ "RAM"]
4470 010264' 202 01 0 00 016411' MOVEM T1,GTJEXT
4471 010265' 402 00 0 00 016406' SETZM GTJDEV
4472 010266' 402 00 0 00 016407' SETZM GTJDIR
4473 010267' 205 01 0 00 400000 MOVSI T1,(GJ%FOU)
4474 010270' 202 01 0 00 016404' MOVEM T1,GTJFLG
4475
4476 010271' CMD [FLDDB.(.CMFIL)]
4477 010302' 202 02 0 00 021057' MOVEM T2,OUTJFN#
4478
4479 010303' 260 17 0 00 000623' CONFIRM
4480
4481 010304' 336 00 0 00 000302' SKIPN MONTYP
4482 010305' 254 00 0 00 010333' JRST ORAM10 ;TOPS-10
4483
4484 010306' 200 01 0 00 021057' MOVE T1,OUTJFN
4485 010307' 201 02 0 00 100000 MOVEI T2,OF%WR
4486 010310' 104 00 0 00 000021 OPENF
4487 010311' 260 17 0 00 015366' ERR <CAN NOT OPEN MICROCODE OUTPUT FILE>
4488
4489 010312' 336 00 0 00 021027' SKIPN BC1FLG
4490 010313' 201 06 0 00 401000 MOVEI T6,CRAM
4491 010314' 332 00 0 00 021027' SKIPE BC1FLG
4492 010315' 201 06 0 00 417000 MOVEI T6,CRMBC1
4493 010316' 201 05 0 00 004000 MOVEI T5,4000
4494 010317' 200 02 0 06 000000 OUTLP: MOVE T2,(T6)
4495 010320' 104 00 0 00 000051 BOUT
4496 010321' 200 02 0 06 000001 MOVE T2,1(T6)
4497 010322' 104 00 0 00 000051 BOUT
4498 010323' 200 02 0 06 000002 MOVE T2,2(T6)
4499 010324' 104 00 0 00 000051 BOUT
4500
4501 010325' 271 06 0 00 000003 ADDI T6,3
4502 010326' 367 05 0 00 010317' SOJG T5,OUTLP
4503
4504 010327' 200 01 0 00 021057' MOVE T1,OUTJFN
4505 010330' 104 00 0 00 000022 CLOSF
4506 010331' 260 17 0 00 015400' ERR <CAN NOT CLOSE MICROCODE OUTPUT FILE>
4507
4508 010332' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 119
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- OUTPUT SEQ 0158
4509 ;*TOPS-10 OUTPUT MICRO-CODE ".RAM" FILE
4510
4511 010333' 200 01 0 00 006755' ORAM10: MOVE T1,MC.VER
4512 010334' 202 01 0 00 006051' MOVEM T1,O.VER
4513 010335' 200 01 0 00 006756' MOVE T1,MC.TIME
4514 010336' 202 01 0 00 006050' MOVEM T1,O.TIME
4515 010337' 200 01 0 00 006757' MOVE T1,MC.DATE
4516 010340' 202 01 0 00 006047' MOVEM T1,O.DATE
4517 010341' 402 00 0 00 006045' SETZM O.PRT
4518
4519 010342' 200 01 0 00 016406' MOVE T1,GTJDEV
4520 010343' 202 01 0 00 006042' MOVEM T1,O.DEV
4521 010344' 200 01 0 00 016410' MOVE T1,GTJFIL
4522 010345' 202 01 0 00 006043' MOVEM T1,O.NAM1
4523 010346' 200 01 0 00 016411' MOVE T1,GTJEXT
4524 010347' 202 01 0 00 006044' MOVEM T1,O.EXT
4525 010350' 200 01 0 00 016407' MOVE T1,GTJDIR
4526 010351' 202 01 0 00 006046' MOVEM T1,O.PPN
4527
4528 010352' 260 17 0 00 007113' GO OPNWRT ;OPEN OUTPUT
4529 010353' 260 17 0 00 015406' ERR <OUTPUT OPEN FAILURE>
4530
4531 010354' 201 02 0 00 000014 MOVEI T2,^D12
4532 010355' 336 00 0 00 021027' SKIPN BC1FLG
4533 010356' 200 03 0 00 015410' MOVE T3,[CRAM,,IPAG]
4534 010357' 332 00 0 00 021027' SKIPE BC1FLG
4535 010360' 200 03 0 00 015411' MOVE T3,[CRMBC1,,IPAG]
4536
4537 010361' 200 01 0 00 000003 ORAM11: MOVE T1,T3
4538 010362' 251 01 0 00 022637' BLT T1,IPAG+777
4539 010363' 205 01 0 00 001000 MOVSI T1,^D512
4540 010364' 270 03 0 00 000001 ADD T3,T1
4541
4542 OUT WC,[IOWD ^D512,IPAG
4543 010365' 057 03 0 00 014366' 0]
4544 010366' 334 00 0 00 000000 SKIPA
4545 010367' 260 17 0 00 015417' ERR <MICROCODE OUTPUT ERROR>
4546
4547 010370' 367 02 0 00 010361' SOJG T2,ORAM11
4548
4549 010371' 260 17 0 00 007022' GO W10EOF
4550
4551 010372' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 120
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- OUTPUT SEQ 0159
4552 ;*OUTMT, OUTPUT MAGTAPE ".RDI" FILE
4553
4554 010373' 561 01 0 00 015317' OUTMT:HRROI T1,[ASCIZ "MTBOOT"]
4555 010374' 202 01 0 00 016410' MOVEM T1,GTJFIL
4556
4557 010375' 561 01 0 00 014216' HRROI T1,[ASCIZ "EXE"]
4558 010376' 202 01 0 00 016411' MOVEM T1,GTJEXT
4559
4560 010377' 402 00 0 00 016406' SETZM GTJDEV
4561 010400' 402 00 0 00 016407' SETZM GTJDIR
4562
4563 010401' 205 01 0 00 100000 MOVSI T1,(GJ%OLD)
4564 010402' 202 01 0 00 016404' MOVEM T1,GTJFLG
4565
4566 010403' CMD [FLDDB.(.CMFIL)]
4567 010414' 202 02 0 00 002522' MOVEM T2,BTJFN ;SAVE THE JFN OF THE BOOT FILE
4568
4569 010415' 336 00 0 00 000302' SKIPN MONTYP
4570 010416' 260 17 0 00 010615' GO OMT10 ;TOPS-10
4571
4572 010417' NOISE <AS>
4573 010431' 561 01 0 00 015317' HRROI T1,[ASCIZ "MTBOOT"]
4574 010432' 202 01 0 00 016410' MOVEM T1,GTJFIL
4575 010433' 561 01 0 00 015440' HRROI T1,[ASCIZ "RDI"]
4576 010434' 202 01 0 00 016411' MOVEM T1,GTJEXT
4577 010435' 402 00 0 00 016406' SETZM GTJDEV
4578 010436' 402 00 0 00 016407' SETZM GTJDIR
4579 010437' 205 01 0 00 400000 MOVSI T1,(GJ%FOU)
4580 010440' 202 01 0 00 016404' MOVEM T1,GTJFLG
4581
4582 010441' CMD [FLDDB.(.CMFIL)]
4583 010452' 202 02 0 00 021054' MOVEM T2,MTJFN#
4584
4585 010453' 260 17 0 00 000623' CONFIRM
4586
4587 010454' 336 00 0 00 000302' SKIPN MONTYP
4588 010455' 254 00 0 00 010630' JRST OMT10A ;TOPS-10
4589
4590 010456' 200 01 0 00 021054' MOVE T1,MTJFN
4591 010457' 201 02 0 00 100000 MOVEI T2,OF%WR
4592 010460' 104 00 0 00 000021 OPENF
4593 010461' 260 17 0 00 015456' ERR <CAN NOT OPEN MAGTAPE RDI OUTPUT FILE>
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 121
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- OUTPUT SEQ 0160
4594 010462' 403 01 0 00 000002 SETZB T1,T2 ;CREATE A BLANK FORK
4595 010463' 104 00 0 00 000152 CFORK
4596 ERJMP [JSERR ;ERROR ON CFORK
4597 010464' 320 16 0 00 014234' HALTF]
4598 010465' 202 01 0 00 002525' MOVEM T1,FORKN ;SAVE FORK
4599
4600 010466' 550 01 0 00 002522' HRRZ T1,BTJFN ;GET THE JFN OF THE BOOT
4601 010467' 504 01 0 00 002525' HRL T1,FORKN ;GET PROCESS HANDLE
4602 010470' 400 02 0 00 000000 SETZ T2,0
4603 010471' 104 00 0 00 000200 GET
4604 ERJMP [JSERR ;ERROR ON GET
4605 010472' 320 16 0 00 014127' JRST START]
4606
4607 010473' 200 01 0 00 002525' MOVE T1,FORKN
4608 010474' 104 00 0 00 000205 GEVEC ;GET THE VECTOR OF BOOT
4609 010475' 202 02 0 00 002524' MOVEM T2,BOOTEV ;SAVE BOOT ENTRY VECTOR ADDRESS
4610
4611 010476' 402 00 0 00 434000 SETZM WINDOW
4612 010477' 200 00 0 00 014247' MOVE [WINDOW,,WINDOW+1]
4613 010500' 251 00 0 00 434777 BLT WINDOW+777 ;CLEAR DIAG PRE-BOOT PAGE
4614
4615 010501' 402 00 0 00 011304' SETZM MTPAGD
4616 010502' 200 00 0 00 015460' MOVE [MTPAGD,,MTPAGD+1]
4617 010503' 251 00 0 00 011404' BLT MTPAGX ;CLEAR PRE-BOOT POINTER STORAGE
4618
4619 010504' 200 04 0 00 014236' MOVE T4,[-1000,,0] ;ALLOW FOR 1000 PAGES
4620
4621 010505' 514 13 0 00 021054' HRLZ P1,MTJFN ;GET JFN OF .RDI FILE
4622 010506' 541 13 0 00 000001 HRRI P1,1 ;GET MTBOOT START PAGE
4623
4624 010507' 201 14 0 00 011305' MOVEI P2,MTPAGD+1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 122
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- OUTPUT SEQ 0161
4625 010510' 514 01 0 00 002525' MTPGLP: HRLZ T1,FORKN ;GET PROCESS HANDLE
4626 010511' 540 01 0 00 000004 HRR T1,T4 ;GET PAGE NUMBER
4627 010512' 104 00 0 00 000057 RPACS ;READ PAGE ACCESS
4628 010513' 612 02 0 00 014237' TDNE T2,[PA%RD!PA%PEX]
4629 010514' 260 17 0 00 010557' GO MTCOPPG ;COPY PAGE
4630
4631 010515' 253 04 0 00 010510' AOBJN T4,MTPGLP ;TRY ANOTHER PAGE
4632
4633 010516' 476 00 0 14 000000 SETOM (P2) ;INDICATE END OF SPACE
4634
4635 010517' 200 01 0 00 002524' MOVE T1,BOOTEV ;FIND ENTRY VECTOR
4636 010520' 552 01 0 14 000001 HRRZM T1,1(P2) ;SET ENTRY VECTOR
4637
4638 010521' 200 00 0 00 015461' MOVE [MTSTR1,,WINDOW]
4639 010522' 251 00 0 00 434406 BLT WINDOW+<MTPAGX-MTSTR1>
4640
4641 010523' 200 01 0 00 014250' MOVE T1,[.FHSLF,,<WINDOW_-^D9>]
4642 010524' 514 02 0 00 021054' HRLZ T2,MTJFN
4643 010525' 541 02 0 00 000000 HRRI T2,0
4644 010526' 200 03 0 00 014472' MOVE T3,[PM%WR]
4645 010527' 104 00 0 00 000056 PMAP ;PUT MAGTAPE PRE-BOOT IN .RDI FILE
4646 ERJMP [JSERR
4647 010530' 320 16 0 00 014127' JRST START]
4648
4649 010531' 200 01 0 00 002525' MOVE T1,FORKN
4650 010532' 104 00 0 00 000153 KFORK ;KILL "GET" FORK
4651 ERJMP [JSERR
4652 010533' 320 16 0 00 014127' JRST START]
4653
4654 010534' 200 01 0 00 021054' MOVE T1,MTJFN
4655 010535' 661 01 0 00 400000 TLO T1,(CO%NRJ)
4656 010536' 104 00 0 00 000022 CLOSF ;CLOSE FILE, KEEP JFN
4657 010537' 260 17 0 00 015471' ERR <CAN NOT CLOSE MAGTAPE RDI FILE>
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 123
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- OUTPUT SEQ 0162
4658 010540' 200 01 0 00 021054' MOVE T1,MTJFN
4659 010541' 661 01 0 00 400011 TLO T1,(CF%NUD!<.FBBYV>B17)
4660 010542' 200 02 0 00 013323' MOVE T2,[FB%BSZ]
4661 010543' 205 03 0 00 004400 MOVSI T3,(^D36B11)
4662 010544' 104 00 0 00 000064 CHFDB ;UPDATE BYTE SIZE IN FDB
4663
4664 010545' 200 01 0 00 021054' MOVE T1,MTJFN
4665 010546' 661 01 0 00 000012 TLO T1,(<.FBSIZ>B17)
4666 010547' 200 02 0 00 013454' MOVE T2,[-1]
4667 010550' 550 03 0 00 000013 HRRZ T3,P1
4668 010551' 221 03 0 00 001000 IMULI T3,^D512
4669 010552' 104 00 0 00 000064 CHFDB ;UPDATE EOF POINTER IN FDB
4670
4671 010553' 200 01 0 00 021054' MOVE T1,MTJFN
4672 010554' 104 00 0 00 000023 RLJFN
4673 010555' 260 17 0 00 015502' ERR <CAN NOT RELEASE MAGTAPE RDI JFN>
4674
4675 010556' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 124
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- OUTPUT SEQ 0163
4676 010557' 552 01 0 14 000000 MTCOPPG:HRRZM T1,0(P2) ;SET A POINTER TO PAGE NUMBER
4677 010560' 350 00 0 00 000014 AOS P2 ;POINT TO NEXT
4678 010561' 261 17 0 00 000001 PUT T1
4679 010562' 550 03 0 00 000001 HRRZ T3,T1 ;FIND THE PAGE
4680
4681 010563' 402 00 0 00 021060' SETZM PAG0FLG#
4682 010564' 306 03 0 00 000001 CAIN T3,1 ;IS THIS PAGE 1 ?
4683 010565' 260 17 0 00 014300' ERR <CAN'T OVERLOAD PRE-BOOT PAGE>
4684 010566' 306 03 0 00 000000 CAIN T3,0 ;IS THIS PAGE 0 ?
4685 010567' 476 00 0 00 021060' SETOM PAG0FLG ;IF PAGE 0 OF FILE, SET FLAG
4686
4687 010570' 504 01 0 00 002525' HRL T1,FORKN ;GET FORK NUMBER
4688 010571' 540 01 0 00 000003 HRR T1,T3 ;GET PAGE NUMBER
4689 010572' 200 02 0 00 014302' MOVE T2,[.FHSLF,,<GENPAG_-^D9>]
4690 010573' 200 03 0 00 014303' MOVE T3,[PM%RD]
4691 010574' 104 00 0 00 000056 PMAP ;GET PAGE IN SELF
4692 ERJMP [JSERR
4693 010575' 320 16 0 00 014127' JRST START]
4694
4695 010576' 200 03 0 00 014305' MOVE T3,[GENPAG,,IPAG]
4696 010577' 251 03 0 00 022637' BLT T3,IPAG+777
4697
4698 010600' 336 00 0 00 021060' SKIPN PAG0FLG ;IS THIS PAGE 0 ?
4699 010601' 254 00 0 00 010605' JRST .+4 ;NO
4700 010602' 402 00 0 00 021671' SETZM IPAG+KPALIVE ;YES, ZERO 8080 COMM AREA
4701 010603' 200 01 0 00 014401' MOVE T1,[IPAG+KPALIVE,,IPAG+KPALIVE+1]
4702 010604' 251 01 0 00 021700' BLT T1,IPAG+MSSLAVE
4703
4704 010605' 200 01 0 00 015504' MOVE T1,[.FHSLF,,<IPAG_-^D9>]
4705 010606' 200 02 0 00 000013 MOVE T2,P1 ;SET UP PMAP ARGUMENTS
4706 010607' 205 03 0 00 040000 MOVSI T3,(PM%WR)
4707 010610' 104 00 0 00 000056 PMAP
4708 ERJMP [JSERR
4709 010611' 320 16 0 00 014127' JRST START] ;JSYS ERROR
4710
4711 010612' 262 17 0 00 000003 GETIT T3 ;REMOVE PAGE NUMBER
4712 010613' 350 00 0 00 000013 AOS P1 ;UPDATE P1 ARGUMENTS
4713 010614' 263 17 0 00 000000 RTN ;RETURN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 125
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- OUTPUT SEQ 0164
4714 ;*TOPS-10 OUTPUT MAGTAPE ".RDI" FILE
4715
4716 010615' 260 17 0 00 007027' OMT10: GO OPNTEN ;OPEN INPUT FILE
4717 010616' 260 17 0 00 014311' ERR <FILE NOT FOUND>
4718
4719 010617' 200 01 0 00 006667' MOVE T1,LOOK10+.RBVER ;USE INPUT VERSION AS OUTPUT VERSION
4720 010620' 202 01 0 00 006760' MOVEM T1,MT.VER
4721
4722 010621' 135 01 0 00 014313' LDB T1,[POINT 11,LOOK10+.RBPRV,23]
4723 010622' 202 01 0 00 006761' MOVEM T1,MT.TIME ;USE INPUT TIME AND DATE AS OUTPUT
4724
4725 010623' 135 01 0 00 014314' LDB T1,[POINT 3,LOOK10+.RBEXT,20]
4726 010624' 137 01 0 00 015505' DPB T1,[POINT 3,MT.DATE,23]
4727 010625' 135 01 0 00 014316' LDB T1,[POINT 12,LOOK10+.RBPRV,35]
4728 010626' 137 01 0 00 015506' DPB T1,[POINT 12,MT.DATE,35]
4729
4730 010627' 263 17 0 00 000000 RTN
4731
4732 010630' 200 01 0 00 006760' OMT10A: MOVE T1,MT.VER
4733 010631' 202 01 0 00 006051' MOVEM T1,O.VER
4734 010632' 200 01 0 00 006761' MOVE T1,MT.TIME
4735 010633' 202 01 0 00 006050' MOVEM T1,O.TIME
4736 010634' 200 01 0 00 006762' MOVE T1,MT.DATE
4737 010635' 202 01 0 00 006047' MOVEM T1,O.DATE
4738 010636' 402 00 0 00 006045' SETZM O.PRT
4739
4740 010637' 200 01 0 00 016406' MOVE T1,GTJDEV
4741 010640' 202 01 0 00 006042' MOVEM T1,O.DEV
4742 010641' 200 01 0 00 016410' MOVE T1,GTJFIL
4743 010642' 202 01 0 00 006043' MOVEM T1,O.NAM1
4744 010643' 200 01 0 00 016411' MOVE T1,GTJEXT
4745 010644' 202 01 0 00 006044' MOVEM T1,O.EXT
4746 010645' 200 01 0 00 016407' MOVE T1,GTJDIR
4747 010646' 202 01 0 00 006046' MOVEM T1,O.PPN
4748
4749 010647' 260 17 0 00 007113' GO OPNWRT ;OPEN OUTPUT
4750 010650' 260 17 0 00 015406' ERR <OUTPUT OPEN FAILURE>
4751
4752 010651' 254 00 0 00 010652' JRST REDEXE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 126
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0165
4753 SUBTTL PROCESS TOPS-10 MAGTAPE BOOT EXE FILE
4754
4755 ;MISCELLANEOUS EQUATES
4756
4757 400000 PM.ACC==400000 ;ALLOW ACCESS TO A PAGE
4758 100000 PM.WRT==100000 ;ALLOW A PAGE TO BE WRITTEN
4759 400000 PG.LEB==400000 ;LOAD THE EXEC BASE REGISTER
4760 020000 PG.EAT==20000 ;TURN ON THE PAGING HARDWARE (ENABLE TRAPS)
4761 001000 PAGSIZ==^D512 ;NUMBER OF WORDS IN A PAGE
4762 000200 BLKSIZ==^D128 ;NUMBER OF WORDS IN A BLOCK
4763 000002 P2BLSH==2 ;SHIFT AMOUNT TO CONVERT PAGES TO BLOCKS
4764 777777 777776 B2PLSH==-2 ;SHIFT AMOUNT TO CONVERT BLOCKS TO PAGES
4765 000011 P2WLSH==^D9 ;SHIFT AMOUNT TO CONVERT PAGES TO WORDS
4766 777777 777767 W2PLSH==-^D9 ;SHIFT AMOUNT TO CONVERT WORDS TO PAGES
4767 001776 SV.DIR==1776 ;DIRECTORY BLOCK CODE
4768 001777 SV.END==1777 ;END DIRECTORY BLOCK CODE
4769
4770 434000 DBUF=WINDOW ;EXE DIRECTORY PAGE
4771
4772 000010 Q=10
4773 000012 N=12
4774 000013 M=13
4775 000014 K=14
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 127
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0166
4776 ;HERE TO READ AN EXE FILE
4777
4778 010652' 402 00 0 00 021066' REDEXE: SETZM SELPAG#
4779 010653' 260 17 0 00 010762' GO REDDIR ;READ THE DIRECTORY PAGE
4780
4781 010654' 554 01 0 00 434000 HLRZ A,DBUF ;DIRECTORY DESCRIPTOR
4782 010655' 550 06 0 00 434000 HRRZ T6,DBUF ;LENGTH OF THE DIRECTORY
4783 010656' 306 01 0 00 001776 CAIN A,SV.DIR ;IS THIS A DIRECTORY?
4784 010657' 301 06 0 00 000200 CAIL T6,^D128 ; WHICH IS LESS THAN OR EQUAL TO 128 WORDS LONG?
4785 010660' 260 17 0 00 014347' ERR <NOT A DIRECTORY OR ONE WE CAN'T HANDLE>
4786
4787 010661' 211 06 0 06 777777 MOVNI T6,-1(T6) ;MAKE AN AOBJN POINTER TO THE DIRECTORY
4788 010662' 505 06 0 00 434001 HRLI T6,DBUF+1 ; ..
4789 010663' 207 00 0 00 000006 MOVSS T6 ; ..
4790
4791 OUT WC,[IOWD ^D512,IPAG
4792 010664' 057 03 0 00 014366' 0] ;MAKE DUMMY FIRST PAGE FOR NOW
4793 010665' 334 00 0 00 000000 SKIPA
4794 010666' 260 17 0 00 014373' ERR <WRITE ERROR>
4795
4796 010667' 201 14 0 00 011305' MOVEI P2,MTPAGD+1
4797
4798 010670' 200 13 0 06 000000 REDEX2: MOVE M,(T6) ;BITS,,FILE PAGE NUMBER
4799 010671' 321 13 0 00 010676' JUMPL M,REDEX3 ;JUMP IF HI SEG PAGE, READ IT IMMEDIATELY
4800 ; ABOVE THE LOW SEGMENT
4801
4802 010672' 550 05 0 06 000001 HRRZ T5,1(T6) ;CORE PAGE NUMBER
4803 010673' 242 05 0 00 000011 LSH T5,P2WLSH ;CORE ADDRESS
4804 010674' 336 00 0 00 000005 SKIPN T5 ;PAGE 0?
4805 010675' 561 05 0 00 000000 HRROI T5,0 ;YES, READ IT AND REMEMBER ITS PAGE 0
4806
4807 010676' 135 07 0 00 014351' REDEX3: LDB T7,[POINT 9,1(T6),8]
4808
4809 010677' 606 13 0 00 777777 REDEX4: TRNN M,-1 ;AN ALLOCATED BUT ZERO PAGE?
4810 010700' 364 13 0 00 010740' SOJA M,REDEX8 ;YES, COUNT DOWN REPEAT COUNT AND UPDATE CORE ADDRESS
4811 010701' 550 04 0 00 000013 HRRZ T4,M ;FILE PAGE NUMBER
4812 010702' 242 04 0 00 000002 LSH T4,P2BLSH ;CONVERT TO BLOCK WITHIN THE FILE
4813 010703' 315 04 0 00 021066' CAMGE T4,SELPAG ;FILE PAGE NUMBERS MUST BE MONOTONICALLY INCREASING
4814 010704' 260 17 0 00 014364' ERR <PAGES IN EXE DIR AREN'T MONOTONICALLY INCREASING>
4815
4816 010705' 316 04 0 00 021066' REDEX5: CAMN T4,SELPAG ;AT THE RIGHT BLOCK WITHIN THE FILE?
4817 010706' 254 00 0 00 010711' JRST REDEX7 ;YES
4818
4819 010707' 260 17 0 00 010761' REDEX6: GO SELBLK ;BYPASS FILE PAGE
4820 010710' 254 00 0 00 010705' JRST REDEX5 ;SEE IF THERE YET
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 128
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0167
4821
4822 010711' 306 05 0 00 001000 REDEX7: CAIN T5,1000
4823 010712' 260 17 0 00 014300' ERR <CAN'T OVERLOAD PRE-BOOT PAGE>
4824
4825 010713' 260 17 0 00 010761' GO REDPAG ;READ EXE DATA PAGE
4826
4827 010714' 302 05 0 00 000000 CAIE T5,0 ;PAGE 0 ?
4828 010715' 254 00 0 00 010723' JRST .+6 ;NO
4829 010716' 261 17 0 00 000001 PUT T1
4830 010717' 402 00 0 00 021671' SETZM IPAG+KPALIVE ;YES, ZERO 8080 COMM AREA
4831 010720' 200 01 0 00 014401' MOVE T1,[IPAG+KPALIVE,,IPAG+KPALIVE+1]
4832 010721' 251 01 0 00 021700' BLT T1,IPAG+MSSLAVE
4833 010722' 262 17 0 00 000001 GETIT T1
4834
4835 010723' 261 17 0 00 000005 PUT T5
4836 010724' 405 05 0 00 777777 ANDI T5,-1
4837 010725' 242 05 0 00 777767 LSH T5,W2PLSH
4838 010726' 552 05 0 14 000000 HRRZM T5,(P2) ;SET A POINTER TO PAGE NUMBER
4839 010727' 262 17 0 00 000005 GETIT T5
4840 010730' 350 00 0 00 000014 AOS P2 ;POINT TO NEXT
4841
4842 OUT WC,[IOWD ^D512,IPAG
4843 010731' 057 03 0 00 014366' 0]
4844 010732' 334 00 0 00 000000 SKIPA
4845 010733' 260 17 0 00 014373' ERR <WRITE ERROR>
4846
4847 010734' 325 05 0 00 010740' JUMPGE T5,REDEX8 ;PAGE 0 JUST READ?
4848
4849 010735' 200 00 0 00 021760' MOVE IPAG+.JBSA
4850 010736' 202 00 0 00 006763' MOVEM MT.SADR ;SAVE STARTING ADDRESS
4851
4852 010737' 201 05 0 00 000000 MOVEI T5,0 ;READ NEXT PAGE INTO PAGE 1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 129
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0168
4853
4854 010740' 271 05 0 00 001000 REDEX8: ADDI T5,PAGSIZ ;NEXT PAGE
4855 010741' 371 00 0 00 000007 REDEX9: SOSL T7 ;READ ALL THE PAGES DESCRIBED BY THIS ENTRY?
4856 010742' 344 13 0 00 010677' AOJA M,REDEX4 ;NO, READ THE NEXT PAGE
4857
4858 010743' 253 06 0 00 010744' AOBJN T6,.+1 ;BUMP PAST THIS DIRECTORY ENTRY, AND
4859 010744' 253 06 0 00 010670' AOBJN T6,REDEX2 ; GO GET THE NEXT DIRECTORY ENTRY
4860
4861 010745' 476 00 0 14 000000 SETOM (P2) ;INDICATE END OF SPACE
4862
4863 010746' 200 01 0 00 006763' MOVE T1,MT.SADR
4864 010747' 552 01 0 14 000001 HRRZM T1,1(P2) ;SET ENTRY VECTOR
4865
4866 010750' 402 00 0 00 021640' SETZM IPAG
4867 010751' 200 00 0 00 014521' MOVE [IPAG,,IPAG+1]
4868 010752' 251 00 0 00 022637' BLT IPAG+777
4869
4870 010753' 200 00 0 00 015507' MOVE [MTSTR1,,IPAG]
4871 010754' 251 00 0 00 022246' BLT IPAG+<MTPAGX-MTSTR1>
4872
4873 010755' 260 17 0 00 010771' GO RDEX10 ;PUT MAGTAPE PRE-BOOT IN ".RDI" FILE
4874
4875 010756' 260 17 0 00 007022' GO W10EOF ;CLOSE OUTPUT
4876 010757' 260 17 0 00 007015' GO R10EOF ;CLOSE INPUT
4877
4878 010760' 263 17 0 00 000000 RTN ;DONE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 130
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0169
4879
4880 ;*SELECT NEXT EXE DATA PAGE
4881
4882 010761' SELBLK:
4883
4884 ;*READ EXE DATA PAGE
4885
4886 010761' 334 10 0 00 015510' REDPAG: SKIPA AC10,[-^D512,,IPAG]
4887
4888 ;*READ EXE DIRECTORY PAGE
4889
4890 010762' 200 10 0 00 015511' REDDIR: MOVE AC10,[-^D512,,WINDOW]
4891
4892 010763' 260 17 0 00 006764' GO GET10
4893 010764' 202 03 0 10 000000 MOVEM T3,(AC10)
4894 010765' 253 10 0 00 010763' AOBJN AC10,.-2
4895
4896 010766' 201 00 0 00 000004 MOVEI 4
4897 010767' 272 00 0 00 021066' ADDM SELPAG ;INDICATE NEXT SELECTED PAGE
4898
4899 010770' 263 17 0 00 000000 RTN
4900
4901 010771' 075 03 0 00 000001 RDEX10: USETO WC,1 ;SELECT 1ST PAGE
4902
4903 OUT WC,[IOWD ^D512,IPAG
4904 010772' 057 03 0 00 014366' 0]
4905 010773' 334 00 0 00 000000 SKIPA
4906 010774' 260 17 0 00 014373' ERR <WRITE ERROR>
4907 010775' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 131
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0170
4908 ;*MONITOR BOOT STRAP PROGRAM TO BE WRITTEN ON THE MAGTAPE
4909
4910 010776' MTSTR1:
4911 001000 PHASE BOORG
4912
4913 001000 254 00 0 00 001005 MTSTRT:!JRST MTSTAR
4914 001001 254 04 0 00 001001 MTHLT0:!HALT . ;TRIED TO OVERLOAD PRE-BOOT PAGE
4915 001002 254 04 0 00 001002 MTHLT1:!HALT . ;MAGTAPE READ ERROR
4916 001003 254 04 0 00 001003 MTHLT2:!HALT . ;NO RH-11 BASE ADDRESS
4917 001004 254 04 0 00 001004 MTHLT3:!HALT . ;MAGTAPE SKIP EOF ERROR
4918
4919 001005 205 17 0 00 777761 MTSTAR:!MOVSI 17,-17
4920 001006 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
4921 001007 253 17 0 00 001006 AOBJN 17,.-1
4922 001010 402 00 0 00 000017 SETZM 17
4923
4924 001011 200 00 0 00 000036 MOVE MSRH ;GET MAGTAPE ADDRESS
4925 001012 202 00 0 00 001261 MOVEM MTRHSV
4926 001013 336 00 0 00 000000 SKIPN
4927 001014 254 00 0 00 001003 JRST MTHLT2 ;NO RH-11 BASE ADDRESS ?
4928
4929 001015 200 00 0 00 000037 MOVE MSDRIVE
4930 001016 202 00 0 00 001262 MOVEM MTDRSV ;SAVE DRIVE
4931 001017 200 00 0 00 000040 MOVE MSSLAVE
4932 001020 202 00 0 00 001263 MOVEM MTSLSV ;SAVE SLAVE & FORMAT
4933 001021 200 00 0 00 000031 MOVE KPALIVE
4934 001022 202 00 0 00 001260 MOVEM MTKPAL ;SAVE KEEP-ALIVE WORD
4935
4936 001023 200 00 0 00 001261 MOVE MTRHSV ;SETUP RH-11 TABLE
4937 001024 200 01 0 00 001265 MOVE T1,MTPNTR
4938 001025 202 00 0 01 000000 MOVEM (T1)
4939 001026 271 00 0 00 000002 ADDI 2
4940 001027 253 01 0 00 001025 AOBJN T1,.-2
4941 001030 201 00 0 00 763000 MOVEI UBAP0 ;SETUP UBA MAP POINTER
4942 001031 542 00 0 00 001304 HRRM MTUBP0
4943 001032 201 00 0 00 763100 MOVEI UBSTAT ;SETUP UBA STATUS POINTER
4944 001033 542 00 0 00 001305 HRRM MTUBST
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 132
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0171
4945
4946 001034 201 13 0 00 000144 MOVEI P1,^D100 ;RETRY 100 TIMES
4947 001035 201 03 0 00 001307 MOVEI T3,MTPAG+1 ;FIND THE OFFSET STUFF
4948
4949 001036 265 17 0 00 001070 RDMT:! JSP P,MTSRH ;SETUP RH-11
4950
4951 001037 200 04 0 03 000000 MOVE T4,(T3) ;FIND THE CORE ADDRESS
4952 001040 306 04 0 00 000001 CAIN T4,1 ;CAN'T OVERLOAD PRE-BOOT
4953 001041 254 00 0 00 001113 JRST MTBADR ;PAGE 1 REQUESTED TO BE LOADED ?
4954
4955 001042 321 04 0 00 001156 JUMPL T4,RDMTDN ;QUIT IF ALL DONE WITH PAGES
4956
4957 001043 435 04 0 00 040000 IORI T4,UBVBIT
4958 001044 713 04 1 00 001304 WRIO T4,@MTUBP0 ;SET UP UNIBUS ADAPTOR PAGE 0
4959
4960 001045 400 01 0 00 000000 SETZ T1, ;CLEAR CURRENT ADDRESS REGISTER
4961 001046 713 01 1 00 001270 WRIO T1,@MTBA ;SET UNIBUS ADDRESS TO 0
4962
4963 001047 211 01 0 00 002000 MOVNI T1,2000 ;READ A PAGE (WORD COUNT)
4964 001050 713 01 1 00 001267 WRIO T1,@MTWC ;SET WORD COUNT
4965
4966 001051 201 01 0 00 000071 MOVEI T1,MT.RF
4967 001052 713 01 1 00 001266 WRIO T1,@MTCS1 ;READ FORWARD
4968
4969 001053 265 17 0 00 001063 JSP P,MTRDY ;WAIT FOR READY
4970 001054 602 01 0 00 000004 TRNE T1,MTTM
4971 001055 254 00 0 00 001115 JRST MTFAIL ;READ ERROR, EOF DETECTED
4972
4973 001056 712 01 1 00 001274 RDIO T1,@MTER
4974 001057 602 01 0 00 176777 TRNE T1,177777-MTFCE
4975 001060 254 00 0 00 001101 JRST MTRTRX ;ERROR OTHER THAN LENGTH ERROR
4976
4977 001061 350 00 0 00 000003 AOS T3 ;POINT TO NEXT ENTRY
4978 001062 254 00 0 00 001036 JRST RDMT ;DO NEXT PAGE
4979
4980 001063 712 01 1 00 001273 MTRDY: RDIO T1,@MTDS ;READ DRIVE STATUS
4981 001064 606 01 0 00 020000 TRNN T1,MTPIP ;IS DRIVE STOPPED ?
4982 001065 606 01 0 00 000200 TRNN T1,MTDRY ;DRIVE READY ?
4983 001066 254 00 0 00 001063 JRST MTRDY ;NO, WAIT
4984 001067 254 00 1 00 000017 JRST @P ;YES, RETURN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 133
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0172
4985
4986 001070 201 01 0 00 000040 MTSRH:! MOVEI T1,RHCLR
4987 001071 713 01 1 00 001272 WRIO T1,@MTCS2 ;CLEAR MAGTAPE
4988
4989 001072 200 01 0 00 001262 MOVE T1,MTDRSV
4990 001073 713 01 1 00 001272 WRIO T1,@MTCS2 ;SELECT DRIVE
4991
4992 001074 200 01 0 00 001263 MOVE T1,MTSLSV
4993 001075 713 01 1 00 001303 WRIO T1,@MTTC ;LOAD TAPE CONTROL REGISTER
4994
4995 001076 400 01 0 00 000000 SETZ T1,
4996 001077 713 01 1 00 001271 WRIO T1,@MTFC ;CLEAR FRAME COUNTER
4997
4998 001100 254 00 1 00 000017 JRST @P ;RETURN
4999
5000 001101 361 13 0 00 001115 MTRTRX:! SOJL P1,MTFAIL ;DONE ALL RETRIES ?
5001
5002 001102 265 17 0 00 001070 JSP P,MTSRH ;NO, SETUP RH-11
5003
5004 001103 211 01 0 00 000001 MOVNI T1,1
5005 001104 713 01 1 00 001271 WRIO T1,@MTFC ;SET FRAME COUNT TO -1
5006
5007 001105 201 01 0 00 000033 MOVEI T1,MT.SR
5008 001106 713 01 1 00 001266 WRIO T1,@MTCS1 ;BACKSPACE THE TAPE
5009
5010 001107 265 17 0 00 001063 JSP P,MTRDY ;WAIT FOR TAPE TO STOP
5011
5012 001110 254 00 0 00 001036 JRST RDMT ;NOW TRY AGAIN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 134
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0173
5013
5014 001111 201 17 0 00 001004 MTSERR:!MOVEI 17,MTHLT3 ;SET HALT ADDRESS
5015 001112 254 00 0 00 001117 JRST .+5
5016
5017 001113 201 17 0 00 001001 MTBADR:!MOVEI 17,MTHLT0 ;SET HALT ADDRESS
5018 001114 254 00 0 00 001116 JRST .+2
5019
5020 001115 201 17 0 00 001002 MTFAIL:!MOVEI 17,MTHLT1 ;SET HALT ADDRESS
5021 001116 370 00 0 00 000003 SOS T3 ;POINT TO FAILING ENTRY
5022
5023 001117 402 00 0 00 000100 SETZM 100
5024 001120 200 00 0 03 000000 MOVE (T3)
5025 001121 202 00 0 00 000101 MOVEM 101 ;SAVE MEMORY PAGE ADDRESS
5026
5027 001122 202 03 0 00 000102 MOVEM T3,102 ;SAVE SELECTION PICKUP POINTER
5028
5029 001123 712 00 1 00 001266 RDIO @MTCS1
5030 001124 202 00 0 00 000103 MOVEM 103 ;SAVE CONTROL AND STATUS 1
5031 001125 712 00 1 00 001272 RDIO @MTCS2
5032 001126 202 00 0 00 000104 MOVEM 104 ;SAVE CONTROL AND STATUS 2
5033 001127 712 00 1 00 001273 RDIO @MTDS
5034 001130 202 00 0 00 000105 MOVEM 105 ;SAVE DRIVE STATUS
5035 001131 712 00 1 00 001274 RDIO @MTER
5036 001132 202 00 0 00 000106 MOVEM 106 ;SAVE ERROR 1
5037 001133 400 00 0 00 000000 SETZ
5038 001134 202 00 0 00 000107 MOVEM 107 ;NO ERROR 2
5039 001135 400 00 0 00 000000 SETZ
5040 001136 202 00 0 00 000110 MOVEM 110 ;NO ERROR 3
5041
5042 001137 712 00 1 00 001304 RDIO @MTUBP0
5043 001140 202 00 0 00 000111 MOVEM 111 ;SAVE UBA PAGING RAM LOC 0
5044 001141 712 00 1 00 001305 RDIO @MTUBST
5045 001142 202 00 0 00 000112 MOVEM 112 ;SAVE UBA STATUS REG
5046
5047 001143 200 00 0 00 001264 MOVE MTVER
5048 001144 202 00 0 00 000113 MOVEM 113 ;SAVE PRE-BOOT VERSION
5049
5050 001145 200 00 0 00 001261 MOVE MTRHSV
5051 001146 202 00 0 00 000036 MOVEM MSRH ;REINSTALL RH-11 BASE ADDRESS
5052 001147 200 00 0 00 001262 MOVE MTDRSV
5053 001150 202 00 0 00 000037 MOVEM MSDRIVE ;REINSTALL DRIVE NUMBER
5054 001151 200 00 0 00 001263 MOVE MTSLSV
5055 001152 202 00 0 00 000040 MOVEM MSSLAVE ;REINSTALL SLAVE NUMBER
5056 001153 200 00 0 00 001260 MOVE MTKPAL
5057 001154 202 00 0 00 000031 MOVEM KPALIVE ;REINSTALL KEEP-ALIVE
5058
5059 001155 254 00 1 00 000017 JRST @17 ;HALT AT APPROPRIATE HALT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 135
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0174
5060
5061 001156 350 00 0 00 000003 RDMTDN:! AOS T3
5062 001157 200 00 0 03 000000 MOVE (T3) ;SETUP START ADDRESS
5063 001160 202 00 0 00 000020 MOVEM 20
5064
5065 001161 265 17 0 00 001070 JSP P,MTSRH ;SETUP RH-11
5066
5067 001162 201 01 0 00 000031 MOVEI T1,MT.SF ;SPACE FORWARD OVER EOF MARKER
5068 001163 713 01 1 00 001266 WRIO T1,@MTCS1
5069
5070 001164 265 17 0 00 001063 JSP P,MTRDY ;WAIT FOR TAPE TO STOP
5071 001165 606 01 0 00 000004 TRNN T1,MTTM ;TAPE MARK DETECTED ?
5072 001166 254 00 0 00 001111 JRST MTSERR ;NO, SPACE FORWARD ERROR
5073
5074 001167 200 00 0 00 001261 MOVE MTRHSV
5075 001170 202 00 0 00 000036 MOVEM MSRH ;REINSTALL RH-11 ADDRESS
5076 001171 200 00 0 00 001262 MOVE MTDRSV
5077 001172 202 00 0 00 000037 MOVEM MSDRIVE ;REINSTALL DRIVE NUMBER
5078 001173 200 00 0 00 001263 MOVE MTSLSV
5079 001174 202 00 0 00 000040 MOVEM MSSLAVE ;REINSTALL SLAVE NUMBER
5080 001175 200 00 0 00 001260 MOVE MTKPAL
5081 001176 202 00 0 00 000031 MOVEM KPALIVE ;REINSTALL KEEP-ALIVE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 136
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0175
5082
5083 001177 701 03 0 00 001250 WRUBR MTBLK7
5084 001200 205 17 0 00 777761 MOVSI 17,-17
5085 001201 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
5086 001202 253 17 0 00 001201 AOBJN 17,.-1
5087 001203 402 00 0 00 000017 SETZM 17
5088
5089 001204 701 03 0 00 001251 WRUBR MTBLK6
5090 001205 205 17 0 00 777761 MOVSI 17,-17
5091 001206 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
5092 001207 253 17 0 00 001206 AOBJN 17,.-1
5093 001210 402 00 0 00 000017 SETZM 17
5094
5095 001211 701 03 0 00 001252 WRUBR MTBLK5
5096 001212 205 17 0 00 777761 MOVSI 17,-17
5097 001213 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
5098 001214 253 17 0 00 001213 AOBJN 17,.-1
5099 001215 402 00 0 00 000017 SETZM 17
5100
5101 001216 701 03 0 00 001253 WRUBR MTBLK4
5102 001217 205 17 0 00 777761 MOVSI 17,-17
5103 001220 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
5104 001221 253 17 0 00 001220 AOBJN 17,.-1
5105 001222 402 00 0 00 000017 SETZM 17
5106
5107 001223 701 03 0 00 001254 WRUBR MTBLK3
5108 001224 205 17 0 00 777761 MOVSI 17,-17
5109 001225 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
5110 001226 253 17 0 00 001225 AOBJN 17,.-1
5111 001227 402 00 0 00 000017 SETZM 17
5112
5113 001230 701 03 0 00 001255 WRUBR MTBLK2
5114 001231 205 17 0 00 777761 MOVSI 17,-17
5115 001232 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
5116 001233 253 17 0 00 001232 AOBJN 17,.-1
5117 001234 402 00 0 00 000017 SETZM 17
5118
5119 001235 701 03 0 00 001256 WRUBR MTBLK1
5120 001236 205 17 0 00 777761 MOVSI 17,-17
5121 001237 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
5122 001240 253 17 0 00 001237 AOBJN 17,.-1
5123 001241 402 00 0 00 000017 SETZM 17
5124
5125 001242 701 03 0 00 001257 WRUBR MTBLK0
5126 001243 205 17 0 00 777761 MOVSI 17,-17
5127 001244 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
5128 001245 253 17 0 00 001244 AOBJN 17,.-1
5129 001246 402 00 0 00 000017 SETZM 17
5130
5131 001247 254 00 1 00 000020 JRST @20 ;START BOOT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 137
SMFILE MAC 19-Feb-79 10:46 PROCESS TOPS-10 MAGTAPE BOOT EXE FILE SEQ 0176
5132
5133
5134 001250 407000 000000 MTBLK7:! 1B0!7B8 ;WRUBR ARGUMENTS
5135 001251 406000 000000 MTBLK6:! 1B0!6B8
5136 001252 405000 000000 MTBLK5:! 1B0!5B8
5137 001253 404000 000000 MTBLK4:! 1B0!4B8
5138 001254 403000 000000 MTBLK3:! 1B0!3B8
5139 001255 402000 000000 MTBLK2:! 1B0!2B8
5140 001256 401000 000000 MTBLK1:! 1B0!1B8
5141 001257 400000 000000 MTBLK0:! 1B0!0B8
5142
5143 001260 000000 000000 MTKPAL:! 0 ;KEEP-ALIVE & STATUS WORD
5144 001261 000000 000000 MTRHSV:! 0 ;RH-11 BASE ADDRESS
5145 001262 000000 000000 MTDRSV:! 0 ;DRIVE NUMBER
5146 001263 000000 000000 MTSLSV:! 0 ;SLAVE NUMBER
5147
5148 001264 000000 000003 MTVER:! MCNVER,,DECVER ;PRE-BOOT VERSION
5149
5150 001265 777760 001266 MTPNTR:! -^D16,,MTCS1
5151 001266 000000 000000 MTCS1:! 0
5152 001267 000000 000000 MTWC:! 0
5153 001270 000000 000000 MTBA:! 0
5154 001271 000000 000000 MTFC:! 0
5155 001272 000000 000000 MTCS2:! 0
5156 001273 000000 000000 MTDS:! 0
5157 001274 000000 000000 MTER:! 0
5158 001275 000000 000000 MTAS:! 0
5159 001276 000000 000000 MTCC:! 0
5160 001277 000000 000000 MTDB:! 0
5161 001300 000000 000000 MTMR:! 0
5162 001301 000000 000000 MTDT:! 0
5163 001302 000000 000000 MTSN:! 0
5164 001303 000000 000000 MTTC:! 0
5165 001304 000000 000000 MTUBP0:! 0 ;ADDRESS OF FIRST WINDOW
5166 001305 000000 000000 MTUBST:! 0 ;ADDRESS OF UBA STATUS REGISTER
5167
5168 001306 MTPAG:! ;NEXT TWO INSTRUCTIONS MUST FOLLOW!!DO NOT MOVE
5169 011304' DEPHASE
5170
5171 011304' MTPAGD: BLOCK 100
5172 011404' 000000 000000 MTPAGX: 0
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 138
SMFILE MAC 19-Feb-79 10:46 COMMANDS -- TAKE SEQ 0177
5173 SUBTTL COMMANDS -- TAKE
5174
5175 011405' TAKE: NOISE <COMMANDS FROM FILE>
5176 011417' 561 01 0 00 015527' HRROI T1,[ASCIZ "SMFILE"]
5177 011420' 202 01 0 00 016410' MOVEM T1,GTJFIL
5178 011421' 561 01 0 00 015531' HRROI T1,[ASCIZ "CMD"]
5179 011422' 202 01 0 00 016411' MOVEM T1,GTJEXT
5180 011423' 402 00 0 00 016406' SETZM GTJDEV
5181 011424' 402 00 0 00 016407' SETZM GTJDIR
5182 011425' 205 01 0 00 100000 MOVSI T1,(GJ%OLD)
5183 011426' 202 01 0 00 016404' MOVEM T1,GTJFLG
5184 011427' CMD [FLDDB.(.CMFIL)]
5185 011440' 552 02 0 00 021161' HRRZM T2,CMFILE
5186 011441' 260 17 0 00 000623' CONFIRM
5187
5188 011442' 336 00 0 00 000302' SKIPN MONTYP
5189 011443' 254 00 0 00 007233' JRST $CCL ;TOPS-10
5190
5191 011444' 554 01 0 00 016373' HLRZ T1,CSB+.CMIOJ
5192 011445' 306 01 0 00 000100 CAIn T1,.PRIIN
5193 011446' 254 00 0 00 011451' jrst .+3
5194 011447' 104 00 0 00 000022 CLOSF
5195 011450' 260 17 0 00 015546' ERR <CAN NOT CLOSE OLD COMMAND FILE>
5196 011451' 550 01 0 00 021161' HRRZ T1,CMFILE
5197 011452' 200 02 0 00 015550' MOVE T2,[7B5+OF%RD]
5198 011453' 104 00 0 00 000021 OPENF
5199 011454' 260 17 0 00 015555' ERR <CAN NOT OPEN FILE>
5200 011455' 514 01 0 00 000001 HRLZ T1,T1
5201 011456' 541 01 0 00 377777 HRRI T1,.NULIO
5202 011457' 202 01 0 00 016373' MOVEM T1,CSB+.CMIOJ
5203 011460' 331 00 0 00 016573' SKIPL ECOFLG
5204 011461' 476 00 0 00 021165' SETOM INTAKE
5205 011462' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 139
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0178
5206 SUBTTL COMMAND SUBROUTINES -- DPYFLD
5207
5208 260740 011463' OPDEF DPYNOF [GO $DPYNOF]
5209
5210 $DPYNOF:PNTMSF [ASCIZ/%VALUE DID NOT FIT IN FIELD
5211 011463' 037 01 0 00 015557' /]
5212 011464' 263 17 0 00 000000 RET
5213
5214 011465' 201 01 0 00 012117' DPYFLD: MOVEI T1,ENDDPY
5215 011466' 202 01 0 00 021156' MOVEM T1,CZADR
5216 011467' 202 17 0 00 021157' MOVEM P,CZSP
5217 011470' 037 01 0 00 000064' PCRL2F
5218
5219 011471' 200 06 0 00 021152' MOVE T6,EXMADR
5220 011472' 221 06 0 00 000003 IMULI T6,3
5221 011473' 336 00 0 00 021027' SKIPN BC1FLG
5222 011474' 271 06 0 00 401000 ADDI T6,CRAM
5223 011475' 332 00 0 00 021027' SKIPE BC1FLG
5224 011476' 271 06 0 00 417000 ADDI T6,CRMBC1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 140
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0179
5225
5226 011477' 037 04 0 00 015565' DPYCALL:PMSGF < CALL/>
5227 011500' 135 02 0 00 015567' LDB T2,[POINT 1,2(T6),26]
5228 011501' 260 17 0 00 012141' GO UPDFLD
5229 011502' 254 00 0 00 011477' JRST DPYCALL
5230 011503' 137 02 0 00 015567' DPB T2,[POINT 1,2(T6),26]
5231 011504' 242 02 0 00 777777 LSH T2,-1
5232 011505' 322 02 0 00 011507' JUMPE T2,.+2
5233 011506' 260 17 0 00 011463' DPYNOF
5234
5235 011507' 037 04 0 00 015570' DPYJ: PMSGF < J/>
5236 011510' 135 02 0 00 015571' LDB T2,[POINT 12,2(T6),23]
5237 011511' 260 17 0 00 012141' GO UPDFLD
5238 011512' 254 00 0 00 011477' JRST DPYCALL
5239 011513' 137 02 0 00 015571' DPB T2,[POINT 12,2(T6),23]
5240 011514' 242 02 0 00 777764 LSH T2,-^D12
5241 011515' 322 02 0 00 011517' JUMPE T2,.+2
5242 011516' 260 17 0 00 011463' DPYNOF
5243
5244 011517' 037 04 0 00 015572' DPYNBR: PMSGF < #/>
5245 011520' 135 02 0 00 013701' LDB T2,[POINT 6,1(T6),35]
5246 011521' 242 02 0 00 000014 LSH T2,^D12
5247 011522' 135 01 0 00 013700' LDB T1,[POINT 12,1(T6),23]
5248 011523' 434 02 0 00 000001 OR T2,T1
5249 011524' 260 17 0 00 012141' GO UPDFLD
5250 011525' 254 00 0 00 011507' JRST DPYJ
5251 011526' 137 02 0 00 013700' DPB T2,[POINT 12,1(T6),23]
5252 011527' 242 02 0 00 777764 LSH T2,-^D12
5253 011530' 137 02 0 00 013701' DPB T2,[POINT 6,1(T6),35]
5254 011531' 242 02 0 00 777772 LSH T2,-6
5255 011532' 322 02 0 00 011534' JUMPE T2,.+2
5256 011533' 260 17 0 00 011463' DPYNOF
5257
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 141
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0180
5258 011534' 037 04 0 00 015573' DPYALU: PMSGF < ALU/>
5259 011535' 135 02 0 00 015574' LDB T2,[POINT 3,(T6),2]
5260 011536' 260 17 0 00 012141' GO UPDFLD
5261 011537' 254 00 0 00 011517' JRST DPYNBR
5262 011540' 137 02 0 00 015574' DPB T2,[POINT 3,(T6),2]
5263 011541' 242 02 0 00 777775 LSH T2,-3
5264 011542' 322 02 0 00 011544' JUMPE T2,.+2
5265 011543' 260 17 0 00 011463' DPYNOF
5266
5267 011544' 037 04 0 00 015575' PMSGF <S/D^>
5268 011545' 037 04 0 00 015576' DPYLSRC:PMSGF < LSRC/>
5269 011546' 135 02 0 00 015600' LDB T2,[POINT 3,(T6),5]
5270 011547' 260 17 0 00 012141' GO UPDFLD
5271 011550' 254 00 0 00 011534' JRST DPYALU
5272 011551' 137 02 0 00 015600' DPB T2,[POINT 3,(T6),5]
5273 011552' 242 02 0 00 777775 LSH T2,-3
5274 011553' 322 02 0 00 011555' JUMPE T2,.+2
5275 011554' 260 17 0 00 011463' DPYNOF
5276
5277 011555' 037 04 0 00 015601' DPYRSRC:PMSGF < RSRC/>
5278 011556' 135 02 0 00 015603' LDB T2,[POINT 3,(T6),8]
5279 011557' 260 17 0 00 012141' GO UPDFLD
5280 011560' 254 00 0 00 011545' JRST DPYLSRC
5281 011561' 137 02 0 00 015603' DPB T2,[POINT 3,(T6),8]
5282 011562' 242 02 0 00 777775 LSH T2,-3
5283 011563' 322 02 0 00 011565' JUMPE T2,.+2
5284 011564' 260 17 0 00 011463' DPYNOF
5285
5286 011565' 037 04 0 00 015604' DPYDEST:PMSGF < DEST/>
5287 011566' 135 02 0 00 015606' LDB T2,[POINT 3,(T6),29]
5288 011567' 260 17 0 00 012141' GO UPDFLD
5289 011570' 254 00 0 00 011555' JRST DPYRSRC
5290 011571' 137 02 0 00 015606' DPB T2,[POINT 3,(T6),29]
5291 011572' 242 02 0 00 777775 LSH T2,-3
5292 011573' 322 02 0 00 011575' JUMPE T2,.+2
5293 011574' 260 17 0 00 011463' DPYNOF
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 142
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0181
5294
5295 011575' 037 04 0 00 015607' PMSGF <A/B^>
5296 011576' 037 04 0 00 015610' DPYA: PMSGF < A/>
5297 011577' 135 02 0 00 015611' LDB T2,[POINT 4,(T6),17]
5298 011600' 260 17 0 00 012141' GO UPDFLD
5299 011601' 254 00 0 00 011565' JRST DPYDEST
5300 011602' 137 02 0 00 015611' DPB T2,[POINT 4,(T6),17]
5301 011603' 242 02 0 00 777774 LSH T2,-4
5302 011604' 322 02 0 00 011606' JUMPE T2,.+2
5303 011605' 260 17 0 00 011463' DPYNOF
5304
5305 011606' 037 04 0 00 015612' DPYB: PMSGF < B/>
5306 011607' 135 02 0 00 015613' LDB T2,[POINT 4,(T6),23]
5307 011610' 260 17 0 00 012141' GO UPDFLD
5308 011611' 254 00 0 00 011576' JRST DPYA
5309 011612' 137 02 0 00 015613' DPB T2,[POINT 4,(T6),23]
5310 011613' 242 02 0 00 777774 LSH T2,-4
5311 011614' 322 02 0 00 011616' JUMPE T2,.+2
5312 011615' 260 17 0 00 011463' DPYNOF
5313
5314 011616' 037 04 0 00 015614' PMSGF <RBM^>
5315 011617' 037 04 0 00 015615' DPYRAM: PMSGF < RAMADR/>
5316 011620' 135 02 0 00 015617' LDB T2,[POINT 3,(T6),26]
5317 011621' 260 17 0 00 012141' GO UPDFLD
5318 011622' 254 00 0 00 011606' JRST DPYB
5319 011623' 137 02 0 00 015617' DPB T2,[POINT 3,(T6),26]
5320 011624' 242 02 0 00 777775 LSH T2,-3
5321 011625' 322 02 0 00 011627' JUMPE T2,.+2
5322 011626' 260 17 0 00 011463' DPYNOF
5323
5324 011627' 037 04 0 00 015620' DPYDBUS:PMSGF < DBUS/>
5325 011630' 135 02 0 00 015622' LDB T2,[POINT 2,(T6),13]
5326 011631' 260 17 0 00 012141' GO UPDFLD
5327 011632' 254 00 0 00 011617' JRST DPYRAM
5328 011633' 137 02 0 00 015622' DPB T2,[POINT 2,(T6),13]
5329 011634' 242 02 0 00 777776 LSH T2,-2
5330 011635' 322 02 0 00 011637' JUMPE T2,.+2
5331 011636' 260 17 0 00 011463' DPYNOF
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 143
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0182
5332 011637' 037 04 0 00 015623' DPYDBM: PMSGF < DBM/>
5333 011640' 135 02 0 00 015625' LDB T2,[POINT 3,(T6),11]
5334 011641' 260 17 0 00 012141' GO UPDFLD
5335 011642' 254 00 0 00 011627' JRST DPYDBUS
5336 011643' 137 02 0 00 015625' DPB T2,[POINT 3,(T6),11]
5337 011644' 242 02 0 00 777775 LSH T2,-3
5338 011645' 322 02 0 00 011647' JUMPE T2,.+2
5339 011646' 260 17 0 00 011463' DPYNOF
5340
5341 011647' 037 04 0 00 015626' DPYSPEC:PMSGF < SPEC/>
5342 011650' 135 02 0 00 015630' LDB T2,[POINT 3,2(T6),32]
5343 011651' 242 02 0 00 000003 LSH T2,3
5344 011652' 135 01 0 00 015631' LDB T1,[POINT 3,1(T6),8]
5345 011653' 434 02 0 00 000001 OR T2,T1
5346 011654' 260 17 0 00 012141' GO UPDFLD
5347 011655' 254 00 0 00 011637' JRST DPYDBM
5348 011656' 137 02 0 00 015631' DPB T2,[POINT 3,1(T6),8]
5349 011657' 242 02 0 00 777775 LSH T2,-3
5350 011660' 137 02 0 00 015630' DPB T2,[POINT 3,2(T6),32]
5351 011661' 242 02 0 00 777775 LSH T2,-3
5352 011662' 322 02 0 00 011664' JUMPE T2,.+2
5353 011663' 260 17 0 00 011463' DPYNOF
5354
5355 011664' 037 04 0 00 015632' DPYDISP:PMSGF < DISP/>
5356 011665' 135 02 0 00 015634' LDB T2,[POINT 3,2(T6),35]
5357 011666' 242 02 0 00 000003 LSH T2,3
5358 011667' 135 01 0 00 015635' LDB T1,[POINT 3,1(T6),5]
5359 011670' 434 02 0 00 000001 OR T2,T1
5360 011671' 260 17 0 00 012141' GO UPDFLD
5361 011672' 254 00 0 00 011647' JRST DPYSPEC
5362 011673' 137 02 0 00 015635' DPB T2,[POINT 3,1(T6),5]
5363 011674' 242 02 0 00 777775 LSH T2,-3
5364 011675' 137 02 0 00 015634' DPB T2,[POINT 3,2(T6),35]
5365 011676' 242 02 0 00 777775 LSH T2,-3
5366 011677' 322 02 0 00 011701' JUMPE T2,.+2
5367 011700' 260 17 0 00 011463' DPYNOF
5368
5369 011701' 037 04 0 00 015636' DPYSKIP:PMSGF < SKIP/>
5370 011702' 135 02 0 00 015640' LDB T2,[POINT 4,2(T6),29]
5371 011703' 242 02 0 00 000003 LSH T2,3
5372 011704' 135 01 0 00 015641' LDB T1,[POINT 3,1(T6),11]
5373 011705' 434 02 0 00 000001 OR T2,T1
5374 011706' 260 17 0 00 012141' GO UPDFLD
5375 011707' 254 00 0 00 011664' JRST DPYDISP
5376 011710' 137 02 0 00 015641' DPB T2,[POINT 3,1(T6),11]
5377 011711' 242 02 0 00 777775 LSH T2,-3
5378 011712' 137 02 0 00 015640' DPB T2,[POINT 4,2(T6),29]
5379 011713' 242 02 0 00 777774 LSH T2,-4
5380 011714' 322 02 0 00 011716' JUMPE T2,.+2
5381 011715' 260 17 0 00 011463' DPYNOF
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 144
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0183
5382 011716' 037 04 0 00 015642' DPYT: PMSGF < T/>
5383 011717' 135 02 0 00 015643' LDB T2,[POINT 2,2(T6),25]
5384 011720' 260 17 0 00 012141' GO UPDFLD
5385 011721' 254 00 0 00 011701' JRST DPYSKIP
5386 011722' 137 02 0 00 015643' DPB T2,[POINT 2,2(T6),25]
5387 011723' 242 02 0 00 777776 LSH T2,-2
5388 011724' 322 02 0 00 011726' JUMPE T2,.+2
5389 011725' 260 17 0 00 011463' DPYNOF
5390
5391 011726' 037 04 0 00 015644' DPYCRY: PMSGF < CARRY IN/>
5392 011727' 135 02 0 00 015646' LDB T2,[POINT 1,1(T6),1]
5393 011730' 260 17 0 00 012141' GO UPDFLD
5394 011731' 254 00 0 00 011716' JRST DPYT
5395 011732' 137 02 0 00 015646' DPB T2,[POINT 1,1(T6),1]
5396 011733' 242 02 0 00 777777 LSH T2,-1
5397 011734' 322 02 0 00 011736' JUMPE T2,.+2
5398 011735' 260 17 0 00 011463' DPYNOF
5399
5400 011736' 037 04 0 00 015647' DPYLSC: PMSGF < LOAD SC/>
5401 011737' 135 02 0 00 015651' LDB T2,[POINT 1,(T6),30]
5402 011740' 260 17 0 00 012141' GO UPDFLD
5403 011741' 254 00 0 00 011726' JRST DPYCRY
5404 011742' 137 02 0 00 015651' DPB T2,[POINT 1,(T6),30]
5405 011743' 242 02 0 00 777777 LSH T2,-1
5406 011744' 322 02 0 00 011746' JUMPE T2,.+2
5407 011745' 260 17 0 00 011463' DPYNOF
5408
5409 011746' 037 04 0 00 015652' DPYLFE: PMSGF < LOAD FE/>
5410 011747' 135 02 0 00 015654' LDB T2,[POINT 1,(T6),31]
5411 011750' 260 17 0 00 012141' GO UPDFLD
5412 011751' 254 00 0 00 011736' JRST DPYLSC
5413 011752' 137 02 0 00 015654' DPB T2,[POINT 1,(T6),31]
5414 011753' 242 02 0 00 777777 LSH T2,-1
5415 011754' 322 02 0 00 011756' JUMPE T2,.+2
5416 011755' 260 17 0 00 011463' DPYNOF
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 145
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0184
5417 011756' 037 04 0 00 015655' DPYFMW: PMSGF < FM WRITE/>
5418 011757' 135 02 0 00 015657' LDB T2,[POINT 1,1(T6),24]
5419 011760' 260 17 0 00 012141' GO UPDFLD
5420 011761' 254 00 0 00 011746' JRST DPYLFE
5421 011762' 137 02 0 00 015657' DPB T2,[POINT 1,1(T6),24]
5422 011763' 242 02 0 00 777777 LSH T2,-1
5423 011764' 322 02 0 00 011766' JUMPE T2,.+2
5424 011765' 260 17 0 00 011463' DPYNOF
5425
5426 011766' 037 04 0 00 015660' DPYMEM: PMSGF < MEM CYCLE/>
5427 011767' 135 02 0 00 015662' LDB T2,[POINT 1,1(T6),2]
5428 011770' 260 17 0 00 012141' GO UPDFLD
5429 011771' 254 00 0 00 011756' JRST DPYFMW
5430 011772' 137 02 0 00 015662' DPB T2,[POINT 1,1(T6),2]
5431 011773' 242 02 0 00 777777 LSH T2,-1
5432 011774' 322 02 0 00 011776' JUMPE T2,.+2
5433 011775' 260 17 0 00 011463' DPYNOF
5434
5435 011776' 037 04 0 00 015663' DPYDIV: PMSGF < DIVIDE/>
5436 011777' 135 02 0 00 015665' LDB T2,[POINT 1,1(T6),28]
5437 012000' 260 17 0 00 012141' GO UPDFLD
5438 012001' 254 00 0 00 011766' JRST DPYMEM
5439 012002' 137 02 0 00 015665' DPB T2,[POINT 1,1(T6),28]
5440 012003' 242 02 0 00 777777 LSH T2,-1
5441 012004' 322 02 0 00 012006' JUMPE T2,.+2
5442 012005' 260 17 0 00 011463' DPYNOF
5443
5444 012006' 037 04 0 00 015666' DPYMP: PMSGF < MULTI PREC/>
5445 012007' 135 02 0 00 015671' LDB T2,[POINT 1,1(T6),29]
5446 012010' 260 17 0 00 012141' GO UPDFLD
5447 012011' 254 00 0 00 011776' JRST DPYDIV
5448 012012' 137 02 0 00 015671' DPB T2,[POINT 1,1(T6),29]
5449 012013' 242 02 0 00 777777 LSH T2,-1
5450 012014' 322 02 0 00 012016' JUMPE T2,.+2
5451 012015' 260 17 0 00 011463' DPYNOF
5452
5453 012016' 037 04 0 00 015672' DPYMS: PMSGF < MULTI SHIFT/>
5454 012017' 135 02 0 00 015675' LDB T2,[POINT 1,1(T6),25]
5455 012020' 260 17 0 00 012141' GO UPDFLD
5456 012021' 254 00 0 00 012006' JRST DPYMP
5457 012022' 137 02 0 00 015675' DPB T2,[POINT 1,1(T6),25]
5458 012023' 242 02 0 00 777777 LSH T2,-1
5459 012024' 322 02 0 00 012026' JUMPE T2,.+2
5460 012025' 260 17 0 00 011463' DPYNOF
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 146
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0185
5461 012026' 037 04 0 00 015676' PMSGF <C/LR^>
5462 012027' 037 04 0 00 015677' DPYCLL: PMSGF < DP CLOCK L/>
5463 012030' 135 02 0 00 015702' LDB T2,[POINT 1,(T6),18]
5464 012031' 260 17 0 00 012141' GO UPDFLD
5465 012032' 254 00 0 00 012006' JRST DPYMP
5466 012033' 137 02 0 00 015702' DPB T2,[POINT 1,(T6),18]
5467 012034' 242 02 0 00 777777 LSH T2,-1
5468 012035' 322 02 0 00 012037' JUMPE T2,.+2
5469 012036' 260 17 0 00 011463' DPYNOF
5470
5471 012037' 037 04 0 00 015703' DPYGEL: PMSGF < PAR EN L/>
5472 012040' 135 02 0 00 015705' LDB T2,[POINT 1,1(T6),26]
5473 012041' 260 17 0 00 012141' GO UPDFLD
5474 012042' 254 00 0 00 012027' JRST DPYCLL
5475 012043' 137 02 0 00 015705' DPB T2,[POINT 1,1(T6),26]
5476 012044' 242 02 0 00 777777 LSH T2,-1
5477 012045' 322 02 0 00 012047' JUMPE T2,.+2
5478 012046' 260 17 0 00 011463' DPYNOF
5479
5480 012047' 037 04 0 00 015706' DPYCHL: PMSGF < CHKL/>
5481 012050' 135 02 0 00 015710' LDB T2,[POINT 1,(T6),32]
5482 012051' 260 17 0 00 012141' GO UPDFLD
5483 012052' 254 00 0 00 012037' JRST DPYGEL
5484 012053' 137 02 0 00 015710' DPB T2,[POINT 1,(T6),32]
5485 012054' 242 02 0 00 777777 LSH T2,-1
5486 012055' 322 02 0 00 012057' JUMPE T2,.+2
5487 012056' 260 17 0 00 011463' DPYNOF
5488
5489 012057' 037 04 0 00 015711' DPYCLR: PMSGF < DP CLOCK R/>
5490 012060' 135 02 0 00 015714' LDB T2,[POINT 1,(T6),19]
5491 012061' 260 17 0 00 012141' GO UPDFLD
5492 012062' 254 00 0 00 012047' JRST DPYCHL
5493 012063' 137 02 0 00 015714' DPB T2,[POINT 1,(T6),19]
5494 012064' 242 02 0 00 777777 LSH T2,-1
5495 012065' 322 02 0 00 012067' JUMPE T2,.+2
5496 012066' 260 17 0 00 011463' DPYNOF
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 147
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0186
5497 012067' 037 04 0 00 015715' DPYGER: PMSGF < PAR EN R/>
5498 012070' 135 02 0 00 015717' LDB T2,[POINT 1,1(T6),27]
5499 012071' 260 17 0 00 012141' GO UPDFLD
5500 012072' 254 00 0 00 012057' JRST DPYCLR
5501 012073' 137 02 0 00 015717' DPB T2,[POINT 1,1(T6),27]
5502 012074' 242 02 0 00 777777 LSH T2,-1
5503 012075' 322 02 0 00 012077' JUMPE T2,.+2
5504 012076' 260 17 0 00 011463' DPYNOF
5505
5506 012077' 037 04 0 00 015720' DPYCHR: PMSGF < CHKR/>
5507 012100' 135 02 0 00 015722' LDB T2,[POINT 1,(T6),33]
5508 012101' 260 17 0 00 012141' GO UPDFLD
5509 012102' 254 00 0 00 012067' JRST DPYGER
5510 012103' 137 02 0 00 015722' DPB T2,[POINT 1,(T6),33]
5511 012104' 242 02 0 00 777777 LSH T2,-1
5512 012105' 322 02 0 00 012107' JUMPE T2,.+2
5513 012106' 260 17 0 00 011463' DPYNOF
5514
5515 012107' 037 04 0 00 015723' DPYMK: PMSGF < MARK/>
5516 012110' 135 02 0 00 015725' LDB T2,[POINT 1,(T6),35]
5517 012111' 260 17 0 00 012141' GO UPDFLD
5518 012112' 254 00 0 00 012077' JRST DPYCHR
5519 012113' 137 02 0 00 015725' DPB T2,[POINT 1,(T6),35]
5520 012114' 242 02 0 00 777777 LSH T2,-1
5521 012115' 322 02 0 00 012117' JUMPE T2,.+2
5522 012116' 260 17 0 00 011463' DPYNOF
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 148
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- DPYFLD SEQ 0187
5523
5524 012117' 402 00 0 00 021156' ENDDPY: SETZM CZADR
5525 012120' 200 17 0 00 021157' MOVE P,CZSP
5526 012121' 202 06 0 00 021033' MOVEM T6,CRAMT6
5527
5528 012122' 200 01 0 06 000002 MOVE T1,2(T6) ;RECREATE SHUFFLE FORMAT
5529 012123' 200 02 0 06 000001 MOVE T2,1(T6) ;MICROCODE WORD
5530 012124' 245 01 0 00 000014 ROTC T1,^D12
5531 012125' 202 01 0 00 000010 MOVEM T1,AC10
5532
5533 012126' 200 01 0 06 000000 MOVE T1,(T6)
5534 012127' 200 02 0 06 000001 MOVE T2,1(T6)
5535 012130' 245 01 0 00 000014 ROTC T1,^D12
5536 012131' 202 02 0 00 000011 MOVEM T2,AC11
5537
5538 012132' 200 12 0 06 000000 MOVE AC12,(T6)
5539 012133' 242 12 0 00 000014 LSH AC12,^D12
5540
5541 012134' 400 01 0 00 000000 SETZ T1,
5542 012135' 137 01 0 00 010154' DPB T1,PB.CRA ;CLEAR PRESENT PARITY BITS
5543 012136' 137 01 0 00 010155' DPB T1,PB.CRM
5544
5545 012137' 260 17 0 00 007721' GO KSXX ;COMPUTE PARITY & RESTORE
5546
5547 012140' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 149
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- UPDFLD SEQ 0188
5548 SUBTTL COMMAND SUBROUTINES -- UPDFLD
5549
5550 ;*SUBROUTINE TO GET NEW VALUE FOR FIELD
5551 ;*CALL WITH:
5552 ;* T2/ OLD VALUE
5553 ;* GO UPDFLD
5554 ;* HERE IF "^" (UPARROW), BACKUP ONE FIELD
5555 ;* HERE WITH NEW VALUE IN T2
5556
5557 012141' 200 00 0 00 000002 UPDFLD: MOVE T2
5558 012142' 037 17 0 00 000003 PNTOCf
5559 012143' 336 00 0 00 021163' SKIPN DEPFLG
5560 012144' 254 00 0 00 005176* RETSKP
5561 012145' 202 02 0 00 021074' MOVEM T2,VALUE#
5562 012146' 037 01 0 00 000011 PTAB
5563 012147' 336 00 0 00 000302' SKIPN MONTYP
5564 012150' 254 00 0 00 012177' JRST UPDFL1
5565 012151' 554 01 0 00 016373' HLRZ T1,CSB+.CMIOJ
5566 012152' 104 00 0 00 000050 BIN
5567 012153' 306 02 0 00 000015 CAIN T2,15
5568 012154' 254 00 0 00 012167' JRST GTFLD1
5569 012155' 306 02 0 00 000136 CAIN T2,"^"
5570 012156' 254 00 0 00 012175' JRST CRPOPJ ;UPARROW
5571 012157' 104 00 0 00 000042 BKJFN ;BACKUP INPUT POINTER 1 BYTE
5572 012160' 260 17 0 00 015733' ERR <UPDFLD: BKJFN FAILED>
5573 012161' 554 01 0 00 016373' UPFLD2: HLRZ T1,CSB+.CMIOJ
5574 012162' 201 03 0 00 000010 MOVEI T3,10
5575 012163' 104 00 0 00 000225 NIN
5576 JRST [PNTMSF [ASCIZ/
5577 TRY AGAIN: /]
5578 012164' 254 00 0 00 015740' JRST UPFLD2]
5579 012165' 350 00 0 17 000000 AOS (P)
5580 012166' 263 17 0 00 000000 RTN
5581
5582 012167' 104 00 0 00 000050 GTFLD1: BIN
5583 012170' 302 02 0 00 000012 CAIE T2,12
5584 012171' 260 17 0 00 015753' ERR <CARRIAGE RETURN NOT FOLLOWED BY LINE FEED>
5585 012172' 200 02 0 00 021074' MOVE T2,VALUE
5586 012173' 350 00 0 17 000000 AOS (P)
5587 012174' 263 17 0 00 000000 RTN
5588
5589 012175' 037 01 0 00 000063' CRPOPJ: PCRLF
5590 012176' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 150
SMFILE MAC 19-Feb-79 10:46 COMMAND SUBROUTINES -- UPDFLD SEQ 0189
5591
5592 012177' 037 03 0 00 000003 UPDFL1: TTIOCT
5593 012200' 254 00 0 00 012217' JRST UPDFL3
5594 012201' 336 00 0 00 000301' SKIPN TTNBRF
5595 012202' 254 00 0 00 012211' JRST UPDFL2
5596 012203' 200 02 0 00 000000 MOVE T2,0
5597 012204' 200 00 0 00 000053' MOVE 0,$CHRIN
5598 012205' 302 00 0 00 000015 CAIE 0,15
5599 JRST [PNTMSF [ASCIZ/
5600 TRY AGAIN: /]
5601 012206' 254 00 0 00 015755' JRST UPDFL1]
5602 012207' 350 00 0 17 000000 AOS (P)
5603 012210' 263 17 0 00 000000 RTN
5604
5605 012211' 200 00 0 00 000053' UPDFL2: MOVE 0,$CHRIN
5606 012212' 302 00 0 00 000015 CAIE 0,15
5607 012213' 254 00 0 00 012223' JRST UPDFL4
5608 012214' 200 02 0 00 021074' MOVE T2,VALUE
5609 012215' 350 00 0 17 000000 AOS (P)
5610 012216' 263 17 0 00 000000 RTN
5611
5612 012217' 306 00 0 00 000136 UPDFL3: CAIN 0,"^"
5613 012220' 254 00 0 00 012175' JRST CRPOPJ
5614 012221' 306 00 0 00 000032 CAIN 0,"Z"-100
5615 012222' 254 00 0 00 012225' JRST UPDFL5
5616
5617 012223' UPDFL4: PNTMSF [ASCIZ/
5618 012223' 037 01 0 00 015735' TRY AGAIN: /]
5619 012224' 254 00 0 00 012177' JRST UPDFL1
5620
5621 012225' 037 01 0 00 000063' UPDFL5: PCRLF
5622 012226' 254 00 0 00 012117' JRST ENDDPY
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 151
SMFILE MAC 19-Feb-79 10:46 DISPLAY CRAM BY FIELD BREAKDOWN -- CRMFLD SEQ 0190
5623 SUBTTL DISPLAY CRAM BY FIELD BREAKDOWN -- CRMFLD
5624
5625 012227' CRMFLD: PNTMSF [ASCIZ %
5626
5627 C J # ALU S/D A/B RBM SPEC DISP SKIP T C SC FE FM MC DV MP C/LR M
5628 012227' 037 01 0 00 015757' %]
5629 012230' 135 00 0 00 015567' LDB [POINT 1,2(T6),26]
5630 012231' 202 00 0 00 021247' MOVEM CFCALL
5631 012232' 037 01 0 00 000001 PNT1F ;PRINT "CALL"
5632 012233' 037 01 0 00 000040 PSPACE
5633
5634 012234' 135 00 0 00 015571' LDB [POINT 12,2(T6),23]
5635 012235' 202 00 0 00 021250' MOVEM CFJ
5636 012236' 037 04 0 00 000001 PNT4F ;PRINT "J"
5637 012237' 037 01 0 00 000040 PSPACE
5638
5639 012240' 135 00 0 00 013701' LDB [POINT 6,1(T6),35]
5640 012241' 242 00 0 00 000014 LSH ^D12
5641 012242' 135 01 0 00 013700' LDB T1,[POINT 12,1(T6),23]
5642 012243' 434 00 0 00 000001 OR T1
5643 012244' 202 00 0 00 021251' MOVEM CFNBR
5644 012245' 037 06 0 00 000001 PNT6F ;PRINT "#"
5645 012246' 037 01 0 00 000040 PSPACE
5646
5647 012247' 135 00 0 00 015574' LDB [POINT 3,(T6),2]
5648 012250' 202 00 0 00 021252' MOVEM CFALU
5649 012251' 037 01 0 00 000001 PNT1F ;PRINT "ALU"
5650 012252' 037 01 0 00 000040 PSPACE
5651
5652 012253' 135 00 0 00 015600' LDB [POINT 3,(T6),5]
5653 012254' 242 00 0 00 000003 LSH 3 ;"LSRC"
5654 012255' 135 01 0 00 015603' LDB T1,[POINT 3,(T6),8]
5655 012256' 434 00 0 00 000001 OR T1
5656 012257' 242 00 0 00 000003 LSH 3 ;"RSRC"
5657 012260' 135 01 0 00 015606' LDB T1,[POINT 3,(T6),29]
5658 012261' 434 00 0 00 000001 OR T1 ;"DEST"
5659 012262' 202 00 0 00 021253' MOVEM CFSD
5660 012263' 037 03 0 00 000001 PNT3F ;PRINT "S/D"
5661 012264' 037 01 0 00 000040 PSPACE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 152
SMFILE MAC 19-Feb-79 10:46 DISPLAY CRAM BY FIELD BREAKDOWN -- CRMFLD SEQ 0191
5662 012265' 135 00 0 00 015611' LDB [POINT 4,(T6),17]
5663 012266' 242 00 0 00 000006 LSH 6 ;"A"
5664 012267' 135 01 0 00 015613' LDB T1,[POINT 4,(T6),23]
5665 012270' 434 00 0 00 000001 OR T1 ;"B"
5666 012271' 202 00 0 00 021254' MOVEM CFAB
5667 012272' 037 04 0 00 000001 PNT4F ;PRINT "A/B"
5668 012273' 037 01 0 00 000040 PSPACE
5669
5670 012274' 135 00 0 00 015617' LDB [POINT 3,(T6),26]
5671 012275' 242 00 0 00 000003 LSH 3 ;PRINT "R"
5672 012276' 135 01 0 00 015622' LDB T1,[POINT 2,(T6),13]
5673 012277' 434 00 0 00 000001 OR T1 ;PRINT "B"
5674 012300' 242 00 0 00 000003 LSH 3
5675 012301' 135 01 0 00 015625' LDB T1,[POINT 3,(T6),11]
5676 012302' 434 00 0 00 000001 OR T1 ;PRINT "M"
5677 012303' 202 00 0 00 021255' MOVEM CFRBM
5678 012304' 037 03 0 00 000001 PNT3F ;PRINT "RBM"
5679 012305' 037 01 0 00 000040 PSPACE
5680 012306' 037 01 0 00 000040 PSPACE
5681 012307' 037 01 0 00 000040 PSPACE
5682
5683 012310' 135 00 0 00 015630' LDB [POINT 3,2(T6),32]
5684 012311' 242 00 0 00 000003 LSH 3
5685 012312' 135 01 0 00 015631' LDB T1,[POINT 3,1(T6),8]
5686 012313' 434 00 0 00 000001 OR T1
5687 012314' 202 00 0 00 021256' MOVEM CFSPEC
5688 012315' 037 02 0 00 000001 PNT2F ;PRINT "SPEC"
5689 012316' 037 01 0 00 000040 PSPACE
5690 012317' 037 01 0 00 000040 PSPACE
5691 012320' 037 01 0 00 000040 PSPACE
5692
5693 012321' 135 00 0 00 015634' LDB [POINT 3,2(T6),35]
5694 012322' 242 00 0 00 000003 LSH 3
5695 012323' 135 01 0 00 015635' LDB T1,[POINT 3,1(T6),5]
5696 012324' 434 00 0 00 000001 OR T1
5697 012325' 202 00 0 00 021257' MOVEM CFDISP
5698 012326' 037 02 0 00 000001 PNT2F ;PRINT "DISP"
5699 012327' 037 01 0 00 000040 PSPACE
5700 012330' 037 01 0 00 000040 PSPACE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 153
SMFILE MAC 19-Feb-79 10:46 DISPLAY CRAM BY FIELD BREAKDOWN -- CRMFLD SEQ 0192
5701 012331' 037 01 0 00 000040 PSPACE
5702 012332' 135 00 0 00 015777' LDB [POINT 3,2(T6),29]
5703 012333' 242 00 0 00 000003 LSH 3
5704 012334' 135 01 0 00 015641' LDB T1,[POINT 3,1(T6),11]
5705 012335' 434 00 0 00 000001 OR T1
5706 012336' 202 00 0 00 021260' MOVEM CFSKIP
5707 012337' 037 02 0 00 000001 PNT2F ;PRINT "SKIP"
5708 012340' 037 01 0 00 000040 PSPACE
5709
5710 012341' 135 00 0 00 015643' LDB [POINT 2,2(T6),25]
5711 012342' 202 00 0 00 021261' MOVEM CFT
5712 012343' 037 01 0 00 000001 PNT1F ;PRINT "T"
5713 012344' 037 01 0 00 000040 PSPACE
5714
5715 012345' 135 00 0 00 015646' LDB [POINT 1,1(T6),1]
5716 012346' 202 00 0 00 021262' MOVEM CFC
5717 012347' 037 01 0 00 000001 PNT1F ;PRINT "C"
5718 012350' 037 01 0 00 000040 PSPACE
5719 012351' 037 01 0 00 000040 PSPACE
5720
5721 012352' 135 00 0 00 015651' LDB [POINT 1,(T6),30]
5722 012353' 202 00 0 00 021263' MOVEM CFSC
5723 012354' 037 01 0 00 000001 PNT1F ;PRINT "SC"
5724 012355' 037 01 0 00 000040 PSPACE
5725 012356' 037 01 0 00 000040 PSPACE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 154
SMFILE MAC 19-Feb-79 10:46 DISPLAY CRAM BY FIELD BREAKDOWN -- CRMFLD SEQ 0193
5726 012357' 135 00 0 00 015654' LDB [POINT 1,(T6),31]
5727 012360' 202 00 0 00 021264' MOVEM CFFE
5728 012361' 037 01 0 00 000001 PNT1F ;PRINT "FE"
5729 012362' 037 01 0 00 000040 PSPACE
5730 012363' 037 01 0 00 000040 PSPACE
5731
5732 012364' 135 00 0 00 015657' LDB [POINT 1,1(T6),24]
5733 012365' 202 00 0 00 021265' MOVEM CFFM
5734 012366' 037 01 0 00 000001 PNT1F ;PRINT "FM"
5735 012367' 037 01 0 00 000040 PSPACE
5736 012370' 037 01 0 00 000040 PSPACE
5737
5738 012371' 135 00 0 00 015662' LDB [POINT 1,1(T6),2]
5739 012372' 202 00 0 00 021266' MOVEM CFMC
5740 012373' 037 01 0 00 000001 PNT1F ;PRINT "MC"
5741 012374' 037 01 0 00 000040 PSPACE
5742 012375' 037 01 0 00 000040 PSPACE
5743
5744 012376' 135 00 0 00 015665' LDB [POINT 1,1(T6),28]
5745 012377' 202 00 0 00 021267' MOVEM CFDV
5746 012400' 037 01 0 00 000001 PNT1F ;PRINT "DV"
5747 012401' 037 01 0 00 000040 PSPACE
5748 012402' 037 01 0 00 000040 PSPACE
5749
5750 012403' 135 00 0 00 015671' LDB [POINT 1,1(T6),29]
5751 012404' 242 00 0 00 000001 LSH 1
5752 012405' 135 01 0 00 015675' LDB T1,[POINT 1,1(T6),25]
5753 012406' 434 00 0 00 000001 OR T1
5754 012407' 202 00 0 00 021270' MOVEM CFMP
5755 012410' 037 01 0 00 000001 PNT1F ;PRINT "MP"
5756 012411' 037 01 0 00 000040 PSPACE
5757 012412' 037 01 0 00 000040 PSPACE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 155
SMFILE MAC 19-Feb-79 10:46 DISPLAY CRAM BY FIELD BREAKDOWN -- CRMFLD SEQ 0194
5758
5759 012413' 135 00 0 00 015702' LDB [POINT 1,(T6),18]
5760 012414' 242 00 0 00 000001 LSH 1 ;"CLKL"
5761 012415' 135 01 0 00 015705' LDB T1,[POINT 1,1(T6),26]
5762 012416' 434 00 0 00 000001 OR T1 ;"GENL"
5763 012417' 242 00 0 00 000001 LSH 1
5764 012420' 135 01 0 00 015710' LDB T1,[POINT 1,(T6),32]
5765 012421' 434 00 0 00 000001 OR T1 ;"CHKL"
5766 012422' 202 00 0 00 021271' MOVEM CFCL
5767 012423' 037 01 0 00 000001 PNT1F ;PRINT "CL"
5768 012424' 037 01 0 00 000040 PSPACE
5769
5770 012425' 135 00 0 00 015714' LDB [POINT 1,(T6),19]
5771 012426' 242 00 0 00 000001 LSH 1 ;"CLKR"
5772 012427' 135 01 0 00 015717' LDB T1,[POINT 1,1(T6),27]
5773 012430' 434 00 0 00 000001 OR T1 ;"GENR"
5774 012431' 242 00 0 00 000001 LSH 1
5775 012432' 135 01 0 00 015722' LDB T1,[POINT 1,(T6),33]
5776 012433' 434 00 0 00 000001 OR T1 ;"CHKR"
5777 012434' 202 00 0 00 021272' MOVEM CFCR
5778 012435' 037 01 0 00 000001 PNT1F ;PRINT "CR"
5779 012436' 037 01 0 00 000040 PSPACE
5780
5781 012437' 135 00 0 00 015725' LDB [POINT 1,(T6),35]
5782 012440' 202 00 0 00 021273' MOVEM CFMARK
5783 012441' 037 01 0 00 000001 PNT1F ;PRINT "M"
5784
5785 012442' 037 01 0 00 000063' PCRLF
5786 012443' 263 17 0 00 000000 RET
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 156
SMFILE MAC 19-Feb-79 10:46 MISCELLANEOUS ROUTINES SEQ 0195
5787 SUBTTL MISCELLANEOUS ROUTINES
5788
5789 012444' 332 00 0 00 021050' INTCOR: SKIPE IC1TIM#
5790 012445' 254 00 0 00 012461' JRST INTCR1
5791
5792 012446' 205 01 0 00 436777 MOVSI T1,400000+<^D31*^D512>-1
5793 012447' 047 01 0 00 000011 CORE T1,
5794 012450' 260 17 0 00 016004' ERR <CAN'T GET HI-CORE>
5795
5796 012451' 402 00 0 00 000000 SETZM ;MAKE IT WRITABLE
5797 012452' 047 00 0 00 000036 SETUWP
5798 012453' 260 17 0 00 016014' ERR <CAN'T MAKE HI-CORE WRITABLE>
5799
5800 012454' 402 00 0 00 400000 SETZM 400000
5801 012455' 200 01 0 00 014152' MOVE T1,[400000,,400001]
5802 012456' 251 01 0 00 436777 BLT T1,400000+<^D31*^D512>-1
5803 012457' 476 00 0 00 021050' SETOM IC1TIM
5804 012460' 263 17 0 00 000000 RTN
5805
5806 012461' 402 00 0 00 000000 INTCR1: SETZM ;MAKE IT WRITABLE
5807 012462' 047 00 0 00 000036 SETUWP
5808 012463' 260 17 0 00 016014' ERR <CAN'T MAKE HI-CORE WRITABLE>
5809 012464' 263 17 0 00 000000 RTN
5810
5811 012465' 201 00 0 00 005401' CONCIN: MOVEI CCBLK ;SETUP ^C INTERRUPT BLOCK
5812 012466' 202 00 0 00 000134 MOVEM 134
5813 012467' 402 00 0 00 005403' SETZM CCBLK+2
5814 012470' 263 17 0 00 000000 RTN
5815
5816 012471' 060 16 0 00 000000 CCINT: SETSTS 16,0 ;RESET TTY
5817 012472' 554 00 0 00 005404' HLRZ CCBLK+3 ;GET INTERRUPT REASON
5818 012473' 302 00 0 00 000002 CAIE 2 ;^C ?
5819 012474' 254 04 0 00 012474' HALT .
5820 012475' 047 00 0 00 000012 EXIT
5821
5822 060700 000000 RTTY= SETSTS 16,0 ;RESET TTY
5823 060700 000700 STTY= SETSTS 16,700 ;SET TTY, IO.LEM+IO.SUP+IO.TEC,+.IOASC
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 157
SMFILE MAC 19-Feb-79 10:46 PSI LOGIC -- LEVTAB & CHNTAB SEQ 0196
5824 SUBTTL PSI LOGIC -- LEVTAB & CHNTAB
5825
5826 012476' 000000 021144' LEVTAB: LEV1PC
5827 012477' 000000 021145' LEV2PC
5828 012500' 000000 021146' LEV3PC
5829
5830 012501' 000000 021147' LFLVTB: LF1PC
5831 012502' 000000 021150' LF2PC
5832 012503' 000000 021151' LF3PC
5833
5834 012504' 000000 000000 CHNTAB: 0 ;00 UNUSED
5835 012505' 000000 000000 0 ;01 UNUSED
5836 012506' 000000 000000 0 ;02 UNUSED
5837 012507' 000000 000000 0 ;03 UNUSED
5838 012510' 000000 000000 0 ;04 UNUSED
5839 012511' 000000 000000 0 ;05 UNUSED
5840 012512' 000000 000000 0 ;06 ARITHMETIC OVERFLOW
5841 012513' 000000 000000 0 ;07 FLOATING POINT OVERFLOW
5842 012514' 000000 000000 0 ;08 RESERVED
5843 012515' 000000 000000 0 ;09 PDL OV
5844 012516' 000000 000000 0 ;10 END OF FILE
5845 012517' 000000 000000 0 ;11 DATA ERROR
5846 012520' 000000 000000 0 ;12 RESERVED
5847 012521' 000000 000000 0 ;13 RESERVED
5848 012522' 000000 000000 0 ;14 RESERVED
5849 012523' 000000 000000 0 ;15 ILLEGAL INSTRUCTION
5850 012524' 000000 000000 0 ;16 ILLEGAL MEMORY READ
5851 012525' 000000 000000 0 ;17 ILLEGAL MEMORY WRITE
5852 012526' 000000 000000 0 ;18 RESERVED
5853 012527' 000002 012621' 2,,FRKERR ;19 INFERIOR PROCESS TERMINATION
5854 012530' 000000 000000 0 ;20 SYSTEM RESOURCES EXHAUSTED
5855 012531' 000000 000000 0 ;21 RESERVED
5856 012532' 000000 000000 0 ;22 NON-X-PAGE
5857 012533' 000000 000000 0 ;23 UNUSED
5858 012534' 000000 000000 0 ;24 UNUSED
5859 012535' 000000 000000 0 ;25 UNUSED
5860 012536' 000000 000000 0 ;26 UNUSED
5861 012537' 000000 000000 0 ;27 UNUSED
5862 012540' 000000 000000 0 ;28 UNUSED
5863 012541' 000000 000000 0 ;29 UNUSED
5864 012542' 000001 012555' 1,,CTLX ;30 CONTROL-X
5865 012543' 000001 012550' 1,,CTLC ;31 CONTROL-C
5866 012544' 000001 012563' 1,,CTLZ ;32 CONTROL-Z
5867 012545' 000001 012573' 1,,CTLT ;33 CONTROL-T
5868 012546' 000001 012617' 1,,ctlo ;34 control-o
5869 012547' 000000 000000 0 ;35 UNUSED
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 158
SMFILE MAC 19-Feb-79 10:46 PSI LOGIC -- CONTROL-C AND CONTROL-X SEQ 0197
5870 SUBTTL PSI LOGIC -- CONTROL-C AND CONTROL-X
5871
5872 ;*HERE ON A CONTROL-C INTERRUPT
5873
5874 012550' 200 00 0 00 016016' CTLC: MOVE [1B5+.+3]
5875 012551' 202 00 0 00 021144' MOVEM LEV1PC
5876 012552' 104 00 0 00 000136 DEBRK
5877 012553' 104 00 0 00 000170 HALTF ;EXIT TO MONITOR
5878 012554' 254 00 0 00 000345' JRST START
5879
5880 ;*HERE ON CONTROL-X INTERRUPT
5881
5882 CTLX: TMSG <
5883 ABORTED
5884 012555' 561 01 0 00 016017' >
5885 012556' 104 00 0 00 000076
5886 012557' 200 01 0 00 016022' MOVE T1,[1B5+REEN] ;WHERE TO GO
5887 012560' 202 01 0 00 021144' MOVEM T1,LEV1PC ;STORE IT
5888 012561' 104 00 0 00 000136 DEBRK ;GO REENTER
5889 012562' 254 00 0 00 000537' JRST REEN ;INTERNAL CONFUSION
5890
5891 ;*HERE ON CONTROL-Z INTERRUPT
5892
5893 012563' 336 00 0 00 021156' CTLZ: SKIPN CZADR
5894 012564' 104 00 0 00 000136 DEBRK
5895 012565' 261 17 0 00 000001 PUSH P,T1
5896 012566' 200 01 0 00 021156' MOVE T1,CZADR
5897 012567' 661 01 0 00 010000 TLO T1,(1B5)
5898 012570' 202 01 0 00 021144' MOVEM T1,LEV1PC
5899 012571' 262 17 0 00 000001 POP P,T1
5900 012572' 104 00 0 00 000136 DEBRK
5901
5902 ;*HERE ON A CONTROL-T INTERRUPT
5903
5904 012573' 336 00 0 00 021160' CTLT: SKIPN CTADR
5905 012574' 104 00 0 00 000136 DEBRK
5906 SAVEAC
5907 012605' 260 17 1 00 021160' GO @CTADR
5908 RESTAC
5909 012616' 104 00 0 00 000136 DEBRK
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 159
SMFILE MAC 19-Feb-79 10:46 PSI LOGIC -- CONTROL-C AND CONTROL-X SEQ 0198
5910 ;*here on control-o interrupt
5911
5912 012617' 462 00 0 00 021055' ctlo: SETCMM NOTYPE#
5913 012620' 104 00 0 00 000136 debrk
5914
5915 ;**PSI LOGIC -- FORK TERMINATION
5916
5917 ;*HERE WHEN A FORK TERMINATES
5918 012621' 261 17 0 00 000001 FRKERR: put t1
5919 012622' 550 01 0 00 021145' hrrz t1,lev2pc
5920 012623' 306 01 0 00 001061' cain t1,pushpc
5921 jrst [getit t1
5922 012624' 254 00 0 00 016023' debrk]
5923 012625' 201 01 0 00 000101 MOVEI T1,.PRIOU
5924 012626' 104 00 0 00 000104 DOBE
5925 012627' 104 00 0 00 000100 CFIBF
5926 TMSG <
5927 ?UNEXPECTED INFERIOR PROCESS TERMINATION
5928 PROGRAM RESTARTING...
5929 012630' 561 01 0 00 016025' >
5930 012631' 104 00 0 00 000076
5931 012632' 254 00 0 00 000345' JRST START
5932
5933 SUBTTL PSI LOGIC -- CONTROL T
5934
5935 RDULDT: TMSG <
5936 012633' 561 01 0 00 016043' READING CRAM ADDRESS - >
5937 012634' 104 00 0 00 000076
5938 012635' 200 02 0 00 021063' MOVE T2,RDULT6
5939 012636' 201 01 0 00 000101 MOVEI T1,.PRIOU
5940 012637' 201 03 0 00 000010 MOVEI T3,^D8
5941 012640' 104 00 0 00 000224 NOUT
5942 012641' 260 17 0 00 016056' ERR <CONTROL-T NOUT FAILED>
5943 TMSG <
5944 012642' 561 01 0 00 013144' >
5945 012643' 104 00 0 00 000076
5946 012644' 263 17 0 00 000000 RTN
5947
5948
5949 012645' PARSET: HRROI T1,[ASCIZ "
5950 WAITING FOR A COMMAND
5951 012645' 561 01 0 00 016060' SMFILE>"]
5952 012646' 104 00 0 00 000076 PSOUT
5953 012647' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 160
SMFILE MAC 19-Feb-79 10:46 STORAGE -- PRESERVED SEQ 0199
5954 SUBTTL STORAGE -- PRESERVED
5955
5956 XLIST ;LITERAL POOL
5957 LIST ;LITERAL POOL
5958
5959 ;*COMMAND STATUS BLOCK FOR COMND JSYS
5960 016372' 000000 000563' CSB: PARSE
5961 016373' 000100 000101 .PRIIN,,.PRIOU
5962 016374' 777777 000311' -1,,PROMPT
5963 016375' 777777 016423' -1,,CMDBUF
5964 016376' 777777 016423' -1,,CMDBUF
5965 016377' 000000 000372 ^D250
5966 016400' 000000 000000 0
5967 016401' 777777 016505' -1,,ATOM
5968 016402' 000000 000372 ^D250
5969 016403' 000000 016404' GTJFNB
5970
5971 016404' GTJFNB:
5972 016404' 100000 000000 GTJFLG: EXP GJ%OLD
5973 016405' 000100 000101 .PRIIN,,.PRIOU
5974 016406' 000000 000000 GTJDEV: 0
5975 016407' 777777 020476' GTJDIR: -1,,[ASCIZ "SMFILE"]
5976 016410' 777777 020500' GTJFIL: -1,,[ASCIZ "DECSYSTEM-2020"]
5977 016411' 777777 020503' GTJEXT: -1,,[ASCIZ "RAM"]
5978 016412' 000000 000000 0
5979 016413' 000000 000000 0
5980 016414' 000000 000000 0
5981 016415' 000000 000000 0
5982 016416' 000000 000000 0
5983 016417' 000000 000000 0
5984 016420' 000000 000000 0
5985 016421' 000000 000000 0
5986 016422' 000000 000000 0
5987
5988 016423' CMDBUF: BLOCK ^D50
5989 016505' ATOM: BLOCK ^D50
5990 016567' 000000 000000 DEBUGF: 0 ;0 = PRODUCTION, -1 = DEBUG
5991 016570' 000000 000000 PARFLG: 0 ;EVEN/ODD CRAM PARITY SWITCH
5992 016571' 000000 000000 LOGFLG: 0 ;-1 = LOG, 0 = NO LOG
5993 016572' RDFLAG: BLOCK 1 ;INDICATES MICROCODE READ IN
5994 016573' 777777 777777 ECOFLG: -1 ;-1=ECHO, 0=DON'T ECHO TAKE FILES
5995
5996 016574' 63 55 46 51 54 45 LOGNAM: SIXBIT/SMFILE/ ;LOG FILE NAME & EXT
5997 016575' 54 57 47 00 00 00 LOGEXT: SIXBIT/LOG/
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 161
SMFILE MAC 19-Feb-79 10:46 COMMAND PROCESSOR SEQ 0200
5998 SUBTTL COMMAND PROCESSOR
5999
6000 LALL
6001
6002 016576' 000000 016600' $PNAME: PGMNAM
6003 016577' 000000 000003 $PVER: MCNVER,,DECVER
6004
6005 016600' PGMNAM: ASCIZ %
6006 016600' 015 012 104 105 103 DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM
6007 016601' 123 131 123 124 105
6008 016602' 115 040 062 060 062
6009 016603' 060 040 104 111 101
6010 016604' 107 116 117 123 124
6011 016605' 111 103 123 040 106
6012 016606' 105 055 106 111 114
6013 016607' 105 040 120 122 117
6014 016610' 107 122 101 115 015
6015 016611' 012 000 000 000 000 %
6016
6017 016612' 037 05 0 00 000002 REENTR: DROPDV ;CLOSE LOG FILE
6018 016613' 332 00 0 00 000302' SKIPE MONTYP
6019 016614' 254 00 0 00 016617' JRST REEN20
6020 016615' 047 00 0 00 000000 CALLI 0
6021 016616' 047 00 0 00 000012 CALLI 12
6022
6023 016617' 104 00 0 00 000147 REEN20: RESET
6024 016620' 104 00 0 00 000170 HALTF
6025 016621' 254 00 0 00 000345' JRST START
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 162
SMFILE MAC 19-Feb-79 10:46 MAIN SUBROUTINE PACKAGE CONTROL SEQ 0201
6026 SUBTTL MAIN SUBROUTINE PACKAGE CONTROL
6027
6028 S^;*********************************************************************^
6029 ;*INITIALIZE THE SUBROUTINE PACKAGE
6030 S^;*********************************************************************^
6031
6032 016622' 63 65 42 62 64 56 SUBRTN: SIXBIT/SUBRTN/ ;"SUBRTN" IDENTIFICATION WORD
6033 016623' 000000 000003 SUBVER: MCNVER,,DECVER ;"SUBRTN" VERSION INFORMATION
6034 016624' 63 55 46 51 54 45 PNTNAM: SIXBIT/SMFILE/
6035 016625' 54 57 47 00 00 00 PNTEXT: SIXBIT/LOG/
6036
6037 S^;*********************************************************************^
6038 ;*CONTRL* SUBROUTINE PACKAGE INITIALIZATION
6039 S^;*********************************************************************^
6040
6041 016626' SBINIT:
6042 016626' 202 00 0 00 021077' $PGMIN: MOVEM 0,$$PAC0
6043 016627' 476 00 0 00 000000' SETOM USER
6044 016630' 265 00 0 00 016631' JSP 0,.+1 ;LOAD FLAGS INTO AC0
6045 016631' 607 00 0 00 010000 TLNN 0,USERF ;USER MODE ?
6046 016632' 254 04 0 00 016632' HALT . ;EXEC MODE
6047 016633' 402 00 0 00 000302' SETZM MONTYP
6048 016634' 200 00 0 00 020504' MOVE [112,,11]
6049 016635' 047 00 0 00 000041 GETTAB ;GET MONITOR TYPE ID
6050 016636' 310 00 0 00 000000 CAM
6051 016637' 306 00 0 00 040000 CAIN 40000 ;TOPS20 ?
6052 016640' 476 00 0 00 000302' SETOM MONTYP ;YES
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 163
SMFILE MAC 19-Feb-79 10:46 MAIN SUBROUTINE PACKAGE CONTROL SEQ 0202
6053 S^;*********************************************************************^
6054 ;*INITIALIZE PROCESSOR FLAGS AND PUSH LIST
6055 S^;*********************************************************************^
6056
6057 016641' 554 00 0 00 000120 $PGMN1: HLRZ JOBSA ;RESET JOB FIRST FREE TO
6058 016642' 202 00 0 00 000121 MOVEM JOBFF ;END OF LOW SEGMENT
6059 016643' 336 00 0 00 000302' SKIPN MONTYP
6060 016644' 047 00 0 00 000000 CALLI 0 ;TOPS10 RESET
6061 016645' 332 00 0 00 000302' SKIPE MONTYP
6062 016646' 104 00 0 00 000147 RESET ;CLEAR USER I/O
6063 016647' 254 02 1 00 016650' JRST 2,@.+1 ;CLEAR PC FLAGS
6064 016650' 000000 016651' 0,,.+1
6065 016651' 200 00 0 00 000006' MOVE CONSW
6066 016652' 202 00 0 00 021130' MOVEM $SVCSW# ;SAVE PREVIOUS SWITCHES
6067 016653' 402 00 0 00 000006' SETZM CONSW# ;CLEAR SWITCH REGISTER
6068 016654' 402 00 0 00 021131' SETZM $SWFLG# ;DISALLOW SWITCHES TILL INITED
6069 016655' 200 17 0 00 000077' MOVE P,PLIST ;INIT PUSH POINTER
6070
6071 S^;*********************************************************************^
6072 ;*INITIALIZE SUBROUTINES
6073 S^;*********************************************************************^
6074
6075 016656' 260 17 0 00 017027' PGINGO: GO $CPUTP ;DETERMINE CPU TYPE (KL/KI/KA)
6076 016657' 260 17 0 00 016664' GO $UUOIN ;INIT UUO TRAP TRANSFER LOCATION
6077 016660' 260 17 0 00 017562' GO $PNTIN ;INIT PRINT SUBROUTINE
6078 016661' 260 17 0 00 017161' GO $TYPIN ;INIT TTY INPUT SUBROUTINE
6079 016662' 476 00 0 00 000015' SETOM $ONETM ;SET ONE TIME FLAG
6080 016663' 254 00 1 00 021077' JRST @$$PAC0#
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 164
SMFILE MAC 19-Feb-79 10:46 UUO HANDLING SUBROUTINE SEQ 0203
6081 SUBTTL UUO HANDLING SUBROUTINE
6082
6083 S^;*********************************************************************^
6084 ;*UUO INITIALIZATION
6085 S^;*********************************************************************^
6086
6087 016664' 200 00 0 00 020505' $UUOIN: MOVE [GO $UORTN] ;BRING IN UUORTN ENTRY INSTR.
6088 016665' 202 00 0 00 000041 MOVEM JOB41 ;SETUP UUO TRAP AT JOB41
6089 016666' 200 00 0 00 020506' MOVE [JRST $UOERX]
6090 016667' 202 00 0 00 000020' MOVEM $UUOER ;SET UUO ERROR IN "FIXED"
6091 016670' 402 00 0 00 021142' SETZM $UPLER#
6092 016671' 263 17 0 00 000000 RTN ;EXIT
6093
6094 ;*$UORTN - UUO PROCESSING
6095
6096 016672' 261 17 0 00 000000 $UORTN: PUT AC0 ;SAVE AC0 ON PUSH LIST
6097 016673' 200 00 0 00 000040 MOVE AC0,JOBUUO ;GET THE UUO
6098 016674' 242 00 0 00 777745 LSH AC0,-^D27 ;ISOLATE INSTRUCTION FIELD FOR UUO (RT 27 PLACES)
6099 016675' 303 00 0 00 000036 CAILE AC0,36 ;IS IT 36 OR LESS? (LOW)
6100 016676' 254 00 0 00 016720' JRST $SUBUO ;DECODE 37 @ $SUBUO
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 165
SMFILE MAC 19-Feb-79 10:46 UUO HANDLING SUBROUTINE SEQ 0204
6101 016677' 200 00 0 17 777777 $USRUO: MOVE AC0,-1(P) ;GET USRPC + 1 (AC0 IS ALSO ON THE STACK)
6102 016700' 275 00 0 00 000001 SUBI 1 ; - 1
6103 016701' 202 00 0 00 000023' MOVEM $SVUPC ;SAVE FOR USER UUO ROUTINE (IF NEEDED)
6104 016702' 200 00 0 00 000040 MOVE AC0,JOBUUO ;GET UUO FROM LOCATION 40 IN JDA
6105 016703' 202 00 0 00 000022' MOVEM $SVUUO ;SAVE FOR USER UUO ROUTINE
6106 016704' 200 00 0 00 000022' MOVE AC0,$SVUUO
6107 016705' 242 00 0 00 777745 LSH AC0,-^D27 ;RIGHT SHIFT FOR INDEX INTO UUO TABLE
6108 016706' 261 17 0 00 000001 PUT 1
6109 016707' 246 00 0 00 777777 LSHC 0,-1
6110 016710' 271 00 0 00 000024' ADDI UUODIS ;ADD USER UUO TABLE START TO THE UUO
6111 016711' 607 01 0 00 400000 $XUUO: TLNN 1,400000
6112 016712' 550 00 1 00 000000 HRRZ @0 ;EVEN UUO
6113 016713' 603 01 0 00 400000 TLNE 1,400000
6114 016714' 554 00 1 00 000000 HLRZ @0 ;ODD UUO
6115 016715' 262 17 0 00 000001 GETIT 1
6116 016716' 250 00 0 17 000000 EXCH AC0,(P) ;PUT ADR ON STACK, AC0 BACK IN AC0
6117 016717' 263 17 0 00 000000 RTN ;SPECIAL XFER TO ROUTINE USING ADR ON STACK
6118
6119 016720' 275 00 0 00 000037 $SUBUO: SUBI AC0,37 ;NORMALIZE TO MAKE LOWEST UUO = 0
6120 016721' 271 00 0 00 016723' ADDI AC0,TABLE0 ;ADDR OF TABLE + NORM. UUO (0-3)
6121 016722' 254 00 1 00 000000 JRST @0 ;SELECT THE CORRECT ERROR UUO VIA TABLE
6122
6123 016723' 254 00 0 00 016737' TABLE0: JRST $UUO37 ;UUO = 37 .......DECODE SUBROUTINE UUO
6124
6125 S^;*********************************************************************^
6126 ;*UUO ERROR EXIT ROUTINE
6127 S^;*********************************************************************^
6128 SALL
6129
6130 016724' 262 17 0 00 000000 GETIT AC0 ;POP OFF AC0 (KA MUUO'S)
6131 016725' 261 17 0 00 000040 $UOERX: PUT JOBUUO ;SAVE BAD UUO WHILE PRINTING VIA AC0 (P + 1)
6132 016726' 037 02 0 00 020507' PMSG <^ILLEGAL UUO^UUO]]FLAGS] PC^>
6133 016727' 262 17 0 00 000000 GETIT AC0 ;GET BAD UUO FROM THE STACK (P - 1)
6134 016730' 037 13 0 00 000000 PNTHW ;PRINT IT
6135 016731' 037 00 0 00 000040 PSP ;PRINT SPACE
6136 016732' 262 17 0 00 000000 GETIT AC0 ;GET FLAGS & UUO PC + 1 FROM STACK (P - 1)
6137 016733' 275 00 0 00 000001 SUBI AC0,1 ;SUBTRACT 1
6138 016734' 037 13 0 00 000000 PNTHW ;PRINT FLAGS & UUO PC
6139 016735' 037 00 0 00 000063' PCRL ;PRINT C/R & L/F
6140 016736' 037 15 0 00 000004 FATAL
6141
6142 LALL
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 166
SMFILE MAC 19-Feb-79 10:46 UUO HANDLING SUBROUTINE SEQ 0205
6143 S^;*********************************************************************^
6144 ;*DECODE ROUTINE FOR SUBROUTINE UUO'S (037)
6145 S^;*********************************************************************^
6146
6147 016737' 550 00 0 00 000040 $UUO37: HRRZ JOBUUO ;GET CALLING UUO
6148 016740' 322 00 0 00 017641' JUMPE $PNTIT ;PRINT UUO
6149 016741' 306 00 0 00 000001 CAIN 0,1
6150 016742' 254 00 0 00 017617' JRST $PNTIF ;PRINT FORCED UUO
6151 016743' 602 00 0 00 777600 TRNE 777600
6152 016744' 254 00 0 00 017015' JRST $EG177 ;PRINT MESSAGE UUO
6153 016745' 301 00 0 00 000005 CAIL 5
6154 016746' 254 00 0 00 017010' JRST $EG4 ;PRINT CHAR IMMEDIATE UUO
6155 016747' 261 17 0 00 000001 PUT 1
6156 016750' 200 01 0 00 000040 MOVE 1,JOBUUO
6157 016751' 242 01 0 00 777751 LSH 1,-^D23 ;EXTRACT UUO AC FIELD
6158 016752' 405 01 0 00 000017 ANDI 1,17
6159 016753' 242 00 0 00 000004 LSH 0,4 ;POSITION E FIELD
6160 016754' 434 00 0 00 000001 IOR 0,1 ;COMBINE E & AC FIELD
6161 016755' 246 00 0 00 777777 LSHC 0,-1 ;SET ODD/EVEN
6162 016756' 271 00 0 00 016740' ADDI $UOTAB-20 ;COMPUTE TABLE ENTRY OFFSET
6163 016757' 254 00 0 00 016711' JRST $XUUO
6164
6165 016760' $UOTAB: ;E FIELD = 2
6166 016760' 017735' 017724' $PTSXF,,$PNTSX
6167 016761' 016725' 016725' $UOERX,,$UOERX
6168 016762' 020350' 017113' $DRPDV,,$PNTNM
6169 016763' 016725' 016725' $UOERX,,$UOERX
6170 016764' 016725' 016725' $UOERX,,$UOERX
6171 016765' 016725' 016725' $UOERX,,$UOERX
6172 016766' 016725' 016725' $UOERX,,$UOERX
6173 016767' 016725' 016725' $UOERX,,$UOERX
6174 ;E FIELD = 3
6175 016770' 017341' 017223' $YESNO,,$OPTLK
6176 016771' 017405' 017337' $TPOCT,,$NOYES
6177 016772' 017401' 017403' $TPCNV,,$TPDEC
6178 016773' 017233' 017163' $TALTM,,$TTLK
6179 016774' 017210' 017527' $TTYIN,,$TISIX
6180 016775' 016725' 017273' $UOERX,,$TPCLR
6181 016776' 017746' 017751' $PSIXF,,$PSIX
6182 016777' 020010' 020013' $POCSF,,$POCS
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 167
SMFILE MAC 19-Feb-79 10:46 UUO HANDLING SUBROUTINE SEQ 0206
6183 ;E FIELD = 4
6184 017000' 016725' 016725' $UOERX,,$UOERX
6185 017001' 016725' 016725' $UOERX,,$UOERX
6186 017002' 016725' 016725' $UOERX,,$UOERX
6187 017003' 016725' 016725' $UOERX,,$UOERX
6188 017004' 016725' 016725' $UOERX,,$UOERX
6189 017005' 016725' 017144' $UOERX,,$END
6190 017006' 017104' 017065' $FATAL,,$ERHLT
6191 017007' 016725' 017155' $UOERX,,$EOP
6192
6193 017010' 200 00 0 00 000040 $EG4: MOVE JOBUUO ;IMMEDIATE CHARACTER PRINT
6194 017011' 603 00 0 00 000040 TLNE (1B12)
6195 JRST [PNTCHF
6196 017012' 254 00 0 00 020514' JRST $EGX]
6197 017013' 037 12 0 00 000000 PNTCHR
6198 017014' 254 00 0 00 017025' JRST $EGX
6199
6200 017015' 200 00 0 00 000040 $EG177: MOVE JOBUUO ;IMMEDIATE MESSAGE PRINT
6201 017016' 603 00 0 00 000200 TLNE (4B12)
6202 JRST [PSIXLF
6203 017017' 254 00 0 00 020516' JRST $EGX]
6204 017020' 603 00 0 00 000100 TLNE (2B12)
6205 JRST [PSIXL
6206 017021' 254 00 0 00 020520' JRST $EGX]
6207 017022' 603 00 0 00 000040 TLNE (1B12)
6208 JRST [PNTALF
6209 017023' 254 00 0 00 020522' JRST $EGX]
6210 017024' 037 17 0 00 000000 PNTAL
6211 017025' 262 17 0 00 000000 $EGX: GETIT 0
6212 017026' 263 17 0 00 000000 RTN
6213
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 168
SMFILE MAC 19-Feb-79 10:46 PROCESSOR TYPE DETERMINATION SEQ 0207
6214 SUBTTL PROCESSOR TYPE DETERMINATION
6215 S^;*********************************************************************^
6216
6217 017027' 402 00 0 00 021034' $CPUTP: SETZM CYCL60#
6218 017030' 402 00 0 00 000305' SETZM SM10
6219 017031' 402 00 0 00 000002' SETZM KLFLG
6220 017032' 402 00 0 00 000001' SETZM KAIFLG
6221 017033' 200 01 0 00 020524' $CPKL: MOVE 1,[1,,1] ;IF KL10, AC1 AFTER BLT WILL CHANGE
6222 017034' 251 01 0 00 000001 BLT 1,1
6223 017035' 316 01 0 00 020524' CAMN 1,[1,,1]
6224 017036' 254 00 0 00 017057' JRST $CPKAI
6225 017037' 476 00 0 00 000002' SETOM KLFLG ;KL10 - SET FLAG
6226
6227 017040' 336 00 0 00 000302' $CPINI: SKIPN MONTYP
6228 017041' 254 00 0 00 017046' JRST .+5 ;TOPS-10
6229 017042' 200 01 0 00 020525' MOVE 1,[SIXBIT/APRID/]
6230 017043' 104 00 0 00 000016 SYSGT ;GET SERIAL NUMBER
6231 017044' 200 00 0 00 000001 MOVE 0,1
6232 017045' 254 00 0 00 017051' JRST .+4
6233 017046' 200 00 0 00 020526' MOVE 0,[20,,11]
6234 017047' 047 00 0 00 000041 GETTAB
6235 017050' 400 00 0 00 000000 SETZ 0,
6236 017051' 202 00 0 00 021100' MOVEM 0,$$SNX# ;SAVE IT
6237 017052' 336 00 0 00 000002' SKIPN KLFLG
6238 017053' 263 17 0 00 000000 RTN
6239 017054' 303 00 0 00 010000 CAILE 0,^D4096 ;IS THIS A KS10 ?
6240 017055' 476 00 0 00 000305' SETOM SM10 ;YES, SERIAL # GT 4096.
6241 017056' 263 17 0 00 000000 RTN
6242
6243 017057' 476 00 0 00 000001' $CPKAI: SETOM KAIFLG
6244 017060' 211 00 0 00 000001 MOVNI 0,1
6245 017061' 253 00 0 00 017062' AOBJN 0,.+1
6246 017062' 332 00 0 00 000000 SKIPE
6247 017063' 402 00 0 00 000001' SETZM KAIFLG ;KA10
6248
6249 017064' 254 00 0 00 017040' JRST $CPINI
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 169
SMFILE MAC 19-Feb-79 10:46 PROGRAM HALTS SEQ 0208
6250 SUBTTL PROGRAM HALTS
6251
6252 ;*SUBROUTINE ERROR HALT
6253 S^;*********************************************************************^
6254 SALL
6255
6256 017065' 037 04 0 00 000002 $ERHLT: PNTNM ;PRINT PROGRAM NAME
6257 017066' 037 04 0 00 020527' PMSGF <ERROR HALT AT >
6258 017067' 262 17 0 00 021104' GETIT $ERH0
6259 017070' 261 17 0 00 000000 PUT 0
6260 017071' 200 00 0 00 021104' MOVE AC0,$ERH0# ;LOAD HALT LOC WITH USRPC + 1 FOR RESTART
6261 017072' 370 00 0 00 000000 SOS ;SUBTRACT ONE FOR USRPC OF ERROR
6262 017073' 037 06 0 00 000001 PNT6F ;PRINT USRPC FORCED
6263 017074' 037 01 0 00 000063' PCRLF
6264
6265 017075' 262 17 0 00 000000 $ERHL4: GETIT AC0
6266 017076' 332 00 0 00 000302' SKIPE MONTYP
6267 017077' 254 00 0 00 017102' JRST .+3
6268 017100' 047 01 0 00 000012 CALLI 1,12
6269 017101' 254 00 1 00 021104' JRST @$ERH0
6270 017102' 104 00 0 00 000170 HALTF ;RETURN TO MONITOR
6271 017103' 254 00 1 00 021104' JRST @$ERH0 ;IF CONTINUED
6272 LALL
6273
6274 ;*FATAL PROGRAM ERROR HALT
6275 S^;*********************************************************************^
6276 SALL
6277
6278 017104' 037 04 0 00 000002 $FATAL: PNTNM
6279 017105' 037 04 0 00 020532' PMSGF <FATAL PROGRAM ERROR AT >
6280 017106' 200 00 0 17 000000 MOVE AC0,(P) ;RETRIEVE USRPC + 1 FROM THE STACK
6281 017107' 370 00 0 00 000000 SOS ;- 1
6282 017110' 037 06 0 00 000001 PNT6F ;PRINT IT
6283 017111' 037 01 0 00 000063' PCRLF
6284 017112' 254 00 0 00 017155' JRST $EOP ;END PROGRAM
6285 LALL
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 170
SMFILE MAC 19-Feb-79 10:46 PROGRAM NAME PRINTER SEQ 0209
6286 SUBTTL PROGRAM NAME PRINTER
6287
6288 ;*PRINT PROGRAM NAME IF NOT STAND-ALONE OR USER MODE
6289 S^;*********************************************************************^
6290 SALL
6291 017113' 331 00 0 00 000004' $PNTNM: SKIPL MONCTL ;DIAG MON / SYS EXR ?
6292 017114' 254 00 0 00 017142' JRST $PNM2 ;NO
6293 017115' 037 00 1 00 016576' PNTMSG @$PNAME ;PRINT PROGRAM NAME
6294 017116' 037 02 0 00 020536' PMSG <VERSION >
6295 017117' 554 00 0 00 000137 HLRZ JOBVER
6296 017120' 037 16 0 00 000003 PNTOCS ;PRINT MCN LEVEL
6297 017121' 037 00 0 00 000056 PNTCI "."
6298 017122' 550 00 0 00 000137 HRRZ JOBVER
6299 017123' 037 16 0 00 000003 PNTOCS ;PRINT DEC VERSION
6300 017124' 336 00 0 00 000302' SKIPN MONTYP
6301 017125' 037 02 0 00 020540' PMSG <, TOPS-10>
6302 017126' 332 00 0 00 000302' SKIPE MONTYP
6303 017127' 037 02 0 00 020542' PMSG <, TOPS-20>
6304
6305 017130' 332 00 0 00 000002' SKIPE KLFLG
6306 JRST [SKIPE SM10
6307 JRST [PMSG <, KS10>
6308 JRST $PNM3]
6309 PMSG <, KL10>
6310 017131' 254 00 0 00 020552' JRST $PNM3]
6311 017132' 336 00 0 00 000001' SKIPN KAIFLG
6312 JRST [PMSG <, KA10>
6313 017133' 254 00 0 00 020560' JRST $PNM3]
6314 017134' 037 02 0 00 020562' PMSG <, KI10>
6315
6316 017135' 336 00 0 00 021100' $PNM3: SKIPN $$SNX
6317 017136' 254 00 0 00 017142' JRST $PNM2
6318 017137' 037 02 0 00 020564' PMSG <, CPU#=>
6319 017140' 200 00 0 00 021100' MOVE $$SNX
6320 017141' 037 15 0 00 000000 PNTDEC
6321
6322 017142' 037 00 0 00 000063' $PNM2: PCRL
6323 017143' 263 17 0 00 000000 RTN ;EXIT
6324
6325 LALL
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 171
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* END OF PASS/END OF PROGRAM ROUTINES SEQ 0210
6326 SUBTTL *SUBRTN* END OF PASS/END OF PROGRAM ROUTINES
6327 LALL
6328 ;*END OF PASS ROUTINE
6329 S^;*********************************************************************^
6330 SALL
6331 017144' 350 00 0 00 000007' $END: AOS PASCNT ;INCREMENT PASS COUNTER
6332 017145' 370 00 0 00 000010' SOS ITRCNT
6333 017146' 037 04 0 00 020566' $END2: PMSGF <END PASS >
6334 017147' 200 00 0 00 000007' MOVE PASCNT ;PRINT END OF PASS COUNT
6335 017150' 037 15 0 00 000001 PNTDCF
6336 017151' 037 01 0 00 000056 PNTCIF "."
6337 017152' 037 01 0 00 000063' PCRLF
6338 017153' 350 00 0 17 000000 $END3: AOS (P)
6339 017154' 263 17 0 00 000000 RTN
6340 LALL
6341
6342 ;*END OF PROGRAM ROUTINE
6343 S^;*********************************************************************^
6344
6345 017155' 336 00 0 00 000302' $EOP: SKIPN MONTYP
6346 017156' 047 00 0 00 000012 CALLI 12
6347 017157' 104 00 0 00 000170 HALTF ;YES, EXIT
6348 017160' 254 00 0 00 000345' JRST START
6349 LALL
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 172
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0211
6350 SUBTTL *SUBRTN* TELETYPE INPUT ROUTINES
6351
6352 S^;*********************************************************************^
6353 ;*CARRIAGE RETURN OR COMMA TERMINATES OCTAL, DECIMAL, OR CONVERT TYPE-IN.
6354 ;*CHARACTER OR NUMBER RETURNED IN AC0.
6355 ;*CALL SEQUENCE IS AS FOLLOWS:
6356 ;* NAME
6357 ;* NO/ERROR RESPONSE RETURN (+ 1)
6358 ;* NORMAL RESPONSE RETURN (+ 2)
6359 ;*$OPTLK = INPUT ANY CHARACTER
6360 ;*$YESNO = ASK QUESTION, CORRECT RESPONSE Y
6361 ;*$NOYES = ASK QUESTION, CORRECT RESPONSE N
6362 ;*$TPOCT = INPUT UP TO 12 OCTALS
6363 ;*$TPDEC = INPUT UP TO 11 DECIMALS
6364 ;*$TPCNV = INPUT UP TO 9 CONVERT'S
6365 ;*$TTLK = KEYBOARD CHECK, INPUT ANY CHARACTER (NO WAIT)
6366 ;*$TALTM = KEYBOARD, ALT-MODE CHECK
6367 ;*$TISIX = INPUT UP TO 6 SIXBIT CHARACTERS
6368 S^;*********************************************************************^
6369
6370 ;*TELETYPE INPUT INITIALIZATION
6371 S^;*********************************************************************^
6372 017161' 402 00 0 00 021052' $TYPIN: SETZM INUPTR ;CLEAR INPUT POINTER
6373 017162' 263 17 0 00 000000 RTN ;NO TYPE-IN AVAILABLE
6374
6375 S^;*********************************************************************^
6376 ;*CHECKS FOR ANY KEY STRUCK, RETURNS IMMEDIATELY
6377 ;*RETURNS +1 IF NO TYPEIN, RETURNS +2 IF CHAR TYPED
6378 S^;*********************************************************************^
6379
6380 017163' 400 00 0 00 000000 $TTLK: SETZ AC0,
6381 017164' 335 00 0 00 000004' SKIPGE MONCTL ;NO CHECK IF "MONITOR"
6382 017165' 263 17 0 00 000000 RTN
6383 017166' 332 00 0 00 000302' SKIPE MONTYP
6384 017167' 254 00 0 00 017173' JRST .+4
6385 017170' 051 02 0 00 000052' INCHRS $TTCHR ;TOPS10 INPUT CHAR AND SKIP
6386 017171' 263 17 0 00 000000 RTN ;NONE AVAILABLE
6387 017172' 254 00 0 00 017304' JRST $HEAR4 ;GO PROCESS
6388 017173' 261 17 0 00 000001 PUT 1
6389 017174' 261 17 0 00 000002 PUT 2
6390 017175' 201 01 0 00 000100 MOVEI 1,.PRIIN
6391 017176' 104 00 0 00 000102 SIBE ;ANY INPUT AVAILABLE ?
6392 017177' 254 00 0 00 017203' JRST .+4 ;YES
6393 017200' 262 17 0 00 000002 GETIT 2
6394 017201' 262 17 0 00 000001 GETIT 1
6395 017202' 263 17 0 00 000000 RTN
6396 017203' 104 00 0 00 000073 PBIN ;GET INPUT CHAR
6397 017204' 202 01 0 00 000052' MOVEM 1,$TTCHR
6398 017205' 262 17 0 00 000002 GETIT 2
6399 017206' 262 17 0 00 000001 GETIT 1
6400 017207' 254 00 0 00 017304' JRST $HEAR4 ;CHAR TYPED, GO PROCESS
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 173
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0212
6401 S^;*********************************************************************^
6402 ;*TELETYPE IMAGE MODE INPUT
6403 ;*PROVIDES UNBUFFERED MODE INPUT
6404 ;*WAITS FOREVER, RETURN WITH CHAR UPPER CASED & ECHOED
6405 S^;*********************************************************************^
6406
6407 017210' 332 00 0 00 000302' $TTYIN: SKIPE MONTYP
6408 017211' 254 00 0 00 017214' JRST .+3
6409 017212' 051 00 0 00 000000 INCHRW ;TOPS10 INPUT CHAR AND WAIT
6410 017213' 254 00 0 00 017220' JRST .+5
6411 017214' 261 17 0 00 000001 PUT 1
6412 017215' 104 00 0 00 000073 PBIN
6413 017216' 202 01 0 00 000052' MOVEM 1,$TTCHR
6414 017217' 262 17 0 00 000001 GETIT 1
6415 017220' 260 17 0 00 017304' GO $HEAR4 ;PROCESS IT
6416 017221' 254 00 0 00 017220' JRST .-1
6417 017222' 263 17 0 00 000000 RTN
6418
6419 017223' 202 04 0 00 021132' $OPTLK: MOVEM 4,$TACB4#
6420 017224' 260 17 0 00 017244' GO $HEAR
6421 017225' 254 00 0 00 017224' JRST .-1
6422 017226' 350 00 0 17 000000 AOS (P)
6423 017227' 201 04 0 00 000001 MOVEI 4,1
6424 017230' 202 04 0 00 000050' MOVEM 4,$TWCNT ;INDICATE NO TIMEOUT
6425 017231' 200 04 0 00 021132' MOVE 4,$TACB4
6426 017232' 263 17 0 00 000000 RTN
6427
6428 S^;*********************************************************************^
6429 ;*TELETYPE ALT-MODE CHECK ROUTINE
6430 S^;*********************************************************************^
6431
6432 017233' 260 17 0 00 017163' $TALTM: GO $TTLK
6433 017234' 263 17 0 00 000000 RTN ;NO TYPE-IN ...EXIT
6434
6435 017235' 302 00 0 00 000175 $TALT2: CAIE 175
6436 017236' 306 00 0 00 000176 CAIN 176
6437 017237' 254 00 0 00 017242' JRST $TALT1 ;ALT-MODE WAS TYPED
6438 017240' 302 00 0 00 000033 CAIE 33
6439 017241' 254 00 0 00 017243' JRST .+2 ;NO ALT-MODE
6440
6441 017242' 254 00 0 00 000016' $TALT1: JRST CPOPJ1 ;ALT-MODE, RETURN +2
6442
6443 017243' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 174
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0213
6444 S^;*********************************************************************^
6445 ;*TELETYPE INPUT CHARACTER
6446 S^;*********************************************************************^
6447
6448 017244' 332 00 0 00 000302' $HEAR: SKIPE MONTYP
6449 017245' 254 00 0 00 017250' JRST .+3
6450 017246' 051 04 0 00 000052' $$$TT0: INCHWL $TTCHR ;TOPS10 INPUT CHAR LINE MODE
6451 017247' 254 00 0 00 017304' JRST $HEAR4
6452 017250' 336 00 0 00 021052' SKIPN INUPTR ;ANY INPUT POINTER ?
6453 017251' 254 00 0 00 017256' JRST .+5 ;NO, INPUT CLEARED
6454 017252' 134 00 0 00 021052' ILDB 0,INUPTR ;GET CHAR FROM STORE
6455 017253' 322 00 0 00 017256' JUMPE 0,.+3 ;USED IT ALL, GET NEW INPUT
6456 017254' 202 00 0 00 000052' MOVEM 0,$TTCHR ;SAVE IT
6457 017255' 254 00 0 00 017304' JRST $HEAR4 ;GO PROCESS
6458
6459 017256' 261 17 0 00 000001 PUT 1
6460 017257' 261 17 0 00 000002 PUT 2
6461 017260' 261 17 0 00 000003 PUT 3
6462 017261' 200 01 0 00 020570' MOVE 1,[POINT 7,D$ISTR]
6463 017262' 202 01 0 00 021052' MOVEM 1,INUPTR# ;SETUP INPUT POINTER
6464 017263' 200 02 0 00 020571' MOVE 2,[RD%BRK!RD%TOP!^D132]
6465 017264' 400 03 0 00 000000 SETZ 3,
6466
6467 017265' 104 00 0 00 000523 RDTTY ;GET TTY INPUT FROM MONITOR
6468 017266' 254 00 0 00 020363' JRST T20ERR
6469
6470 017267' 262 17 0 00 000003 GETIT 3
6471 017270' 262 17 0 00 000002 GETIT 2
6472 017271' 262 17 0 00 000001 GETIT 1
6473 017272' 254 00 0 00 017244' JRST $HEAR ;NOW GO PROCESS
6474
6475 017273' 261 17 0 00 000001 $TPCLR: PUT 1
6476 017274' 402 00 0 00 021052' SETZM INUPTR ;CLEAR INPUT POINTER
6477 017275' 201 01 0 00 000100 MOVEI 1,.PRIIN
6478 017276' 336 00 0 00 000302' SKIPN MONTYP
6479 017277' 051 11 0 00 000000 CLRBFI ;TOPS10 CLEAR BUFFER
6480 017300' 332 00 0 00 000302' SKIPE MONTYP
6481 017301' 104 00 0 00 000100 CFIBF ;ERROR, CLEAR TYPE-IN BUFFER
6482 017302' 262 17 0 00 000001 GETIT 1
6483 017303' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 175
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* TELETYPE INPUT ROUTINES SEQ 0214
6484 S^;*********************************************************************^
6485 ;*CHARACTER PROCESSING ROUTINE FOR INPUT
6486 ;*CHARACTER RETURNED IN AC0 IS UPPER CASE
6487 ;*ACTUAL CHARACTER IS IN $TTCHR
6488 S^;*********************************************************************^
6489
6490 017304' 200 00 0 00 000052' $HEAR4: MOVE 0,$TTCHR ;GET ACTUAL CHARACTER
6491 017305' 405 00 0 00 000177 ANDI 0,177 ;CLEAR PARITY BIT
6492 017306' 301 00 0 00 000141 CAIL 0,"A"+40 ;CONVERT TO UPPER CASE
6493 017307' 303 00 0 00 000172 CAILE 0,"Z"+40
6494 017310' 254 00 0 00 017312' JRST .+2
6495 017311' 275 00 0 00 000040 SUBI 0,40
6496 017312' 202 00 0 00 000053' MOVEM 0,$CHRIN# ;SAVE CHARACTER
6497 017313' 302 00 0 00 000015 CAIE 0,15 ;IS IT CR ?
6498 017314' 254 00 0 00 017331' JRST $HEAR3 ;NO
6499 017315' 402 00 0 00 021101' SETZM $CARCT ;CLEAR CHARACTER COUNTER
6500 017316' 336 00 0 00 000302' SKIPN MONTYP
6501 017317' 051 00 0 00 000000 $$$TT1: INCHRW ;TOPS10 FLUSH LF
6502 017320' 332 00 0 00 000302' SKIPE MONTYP
6503 017321' 133 00 0 00 021052' IBP INUPTR ;GET RID OF LF
6504 017322' 200 00 0 00 000006' MOVE 0,CONSW
6505 017323' 607 00 0 00 020000 TLNN 0,PNTLPT ;LPT/LOGICAL DEVICE OUTPUT ?
6506 017324' 254 00 0 00 017326' JRST $HEAR2 ;NO
6507 017325' 037 00 0 00 000063' PCRL ;YES-ADD CRLF
6508 017326' 200 00 0 00 000053' $HEAR2: MOVE 0,$CHRIN ;PUT INPUT CHAR IN AC0
6509 017327' 350 00 0 17 000000 AOS (P) ;SKIP RETURN +2
6510 017330' 263 17 0 00 000000 RTN ;NORMAL RETURN +1
6511
6512 017331' 200 00 0 00 000006' $HEAR3: MOVE 0,CONSW ;GET DATA SWITCHES
6513 017332' 607 00 0 00 020000 TLNN 0,PNTLPT ;PRINT ON LPT?
6514 017333' 254 00 0 00 017326' JRST $HEAR2 ;NO-EXIT
6515 017334' 200 00 0 00 000053' MOVE 0,$CHRIN ;YES
6516 017335' 037 12 0 00 000000 PNTCHR ;SEND CHAR TO LPT/LOGICAL DEV
6517 017336' 254 00 0 00 017326' JRST $HEAR2 ;EXIT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 176
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* TELETYPE YES/NO TYPE-IN ROUTINE SEQ 0215
6518 SUBTTL *SUBRTN* TELETYPE YES/NO TYPE-IN ROUTINE
6519
6520 S^;*********************************************************************^
6521 ;*ACCEPTS Y OR N
6522 ;*FOR YESNO, Y IS SKIP RETURN, N OR NO RESPONSE IS DIRECT RETURN
6523 ;*FOR NOYES, N IS SKIP RETURN, Y OR NO RESPONSE IS DIRECT RETURN
6524 ;*'Y OR N <CR> - ' ASKED UPON ENTRY
6525 S^;*********************************************************************^
6526
6527 017337' 201 00 0 00 000001 $NOYES: MOVEI 0,1 ;INIT FOR N ANSWER
6528 017340' 254 00 0 00 017342' JRST .+2
6529 017341' 201 00 0 00 000000 $YESNO: MOVEI 0,0 ;INIT FOR Y ANSWER
6530 017342' 202 01 0 00 021133' MOVEM 1,$TACC1# ;SAVE AC'S
6531 017343' 202 02 0 00 021134' MOVEM 2,$TACC2#
6532 017344' 200 02 0 00 000000 MOVE 2,0
6533
6534 017345' $YN1: PMSGF < Y OR N <CR> - >^
6535 017345' 037 04 0 00 020572' PSIXMF [SIXBIT\ Y OR N <CR> - _\]^
6536 017346' 260 17 0 00 017223' GO $OPTLK
6537 017347' 254 00 0 00 017367' JRST $YN2 ;NO RESPONSE
6538 017350' 302 00 0 00 000131 CAIE 0,"Y" ;IS IT A 'Y' ?
6539 017351' 306 00 0 00 000116 CAIN 0,"N" ;OR AN 'N' ?
6540 017352' 254 00 0 00 017354' JRST .+2 ;YES
6541 017353' 254 00 0 00 017373' JRST $YN3 ;NEITHER, ERROR
6542 017354' 200 01 0 00 000000 MOVE 1,0
6543 017355' 242 01 0 00 000007 LSH 1,7 ;POSITION 1ST CHAR
6544 017356' 260 17 0 00 017223' GO $OPTLK
6545 017357' 254 00 0 00 017367' JRST $YN2 ;NO RESPONSE
6546 017360' 434 01 0 00 000000 OR 1,0 ;MERGE 2ND CHAR
6547 017361' 316 01 0 02 017376' CAMN 1,$YN4(2) ;COMPARE FOR REQUESTED
6548 017362' 254 00 0 00 017366' JRST .+4 ;YES, RETURN +2
6549 017363' 316 01 0 02 017377' CAMN 1,$YN4+1(2) ;COMPARE FOR OPPOSITE
6550 017364' 254 00 0 00 017367' JRST .+3 ;YES, RETURN +1
6551 017365' 254 00 0 00 017373' JRST $YN3 ;ERROR, REPEAT
6552 017366' 350 00 0 17 000000 AOS (P) ;YES, RETURN +2
6553 017367' 200 02 0 00 021134' $YN2: MOVE 2,$TACC2 ;RESTORE AC2
6554 017370' 200 00 0 00 000001 MOVE 0,1
6555 017371' 200 01 0 00 021133' MOVE 1,$TACC1 ;RESTORE AC1
6556 017372' 263 17 0 00 000000 RTN ;RETURN +1
6557
6558 017373' 037 01 0 00 000063' $YN3: PCRLF
6559 017374' 260 17 0 00 017273' GO $TPCLR ;CLEAR INPUT
6560 017375' 254 00 0 00 017345' JRST $YN1
6561
6562 017376' 000000 026215 $YN4: EXP 26215 ;'Y' (CR)
6563 017377' 000000 023415 EXP 23415 ;'N' (CR)
6564 017400' 000000 026215 EXP 26215 ;'Y' (CR)
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 177
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE SEQ 0216
6565 SUBTTL *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE
6566
6567 S^;*********************************************************************^
6568 ;*ACCEPTS 0 TO 12 OCTALS, 0 TO 11 DECIMALS, 0 TO 9 CONVERT CHARACTERS
6569 ;*NUMBER RETURNED IN AC0.
6570 S^;*********************************************************************^
6571
6572 017401' 201 00 0 00 000002 $TPCNV: MOVEI AC0,2 ;SET INDEX TO CONVERT
6573 017402' 254 00 0 00 017406' JRST $TPCV1
6574 017403' 201 00 0 00 000001 $TPDEC: MOVEI AC0,1 ;SET INDEX TO DECIMAL
6575 017404' 254 00 0 00 017406' JRST $TPCV1
6576 017405' 201 00 0 00 000000 $TPOCT: MOVEI AC0,0 ;SET INDEX TO OCTAL
6577
6578 017406' 202 01 0 00 021135' $TPCV1: MOVEM 1,$TACD1# ;SAVE AC'S 1-3
6579 017407' 202 02 0 00 021136' MOVEM 2,$TACD2#
6580 017410' 202 03 0 00 021137' MOVEM 3,$TACD3#
6581 017411' 200 03 0 00 000000 MOVE 3,0 ;LOAD AC3 WITH THE INDEX
6582 017412' 403 01 0 00 000002 SETZB 1,2 ;CLEAR DATA REG, CHAR COUNTER
6583 017413' 402 00 0 00 000054' SETZM $TYPNB# ;CLEAR ERR NUMBER
6584 017414' 402 00 0 00 021107' SETZM $NEGF# ;CLEAR NEGATE FLAG
6585 017415' 402 00 0 00 021102' SETZM $CNVD# ;CLEAR DECIMAL CONVERT FLAG
6586 017416' 402 00 0 00 000301' SETZM TTNBRF ;CLEAR DIGIT TYPED FLAG
6587
6588
6589 ;*INPUT AND COMPUTE NUMBER
6590 S^;*********************************************************************^
6591
6592 017417' 260 17 0 00 017223' $TYPLP: GO $OPTLK
6593 017420' 254 00 0 00 017456' JRST $TPERR ;NO RESPONSE, GO TO ERROR EXIT
6594 017421' 306 00 0 00 000055 CAIN 0,"-" ;IS IT MINUS ?
6595 017422' 254 00 0 00 017474' JRST $NEGX ;YES
6596 017423' 306 00 0 00 000056 CAIN 0,"." ;IS IT PERIOD ?
6597 017424' 254 00 0 00 017500' JRST $CNVX ;YES
6598 017425' 306 00 0 00 000015 CAIN 0,15 ;IS IT CR ?
6599 017426' 254 00 0 00 017442' JRST $TPEXT ;YES
6600 017427' 306 00 0 00 000054 CAIN 0,"," ;IS IT COMMA ?
6601 017430' 254 00 0 00 017442' JRST $TPEXT ;YES
6602 017431' 301 00 0 00 000060 CAIL 0,"0" ;A VALID DIGIT ?
6603 017432' 256 00 0 03 017463' XCT $TPCK(3) ;YES
6604 017433' 254 00 0 00 017456' JRST $TPERR ;NO ...ERROR EXIT
6605
6606 017434' 476 00 0 00 000301' $TYPL1: SETOM TTNBRF ;SET DIGIT TYPED FLAG
6607 017435' 350 00 0 00 000002 AOS 2 ;INCREMENT CHARACTER COUNTER
6608 017436' 256 00 0 03 017466' XCT $TPMUL(3) ;MULT BY OCTAL/DECIMAL BASE, SHIFT CONVERT
6609 017437' 275 00 0 00 000060 SUBI 60 ;ADD IN NEW CHAR
6610 017440' 270 01 0 00 000000 ADD 1,0
6611 017441' 254 00 0 00 017417' JRST $TYPLP ;REPEAT TILL CR OR COMMA
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 178
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE SEQ 0217
6612 ;*CHECK FOR PROPER AMOUNT OF CHARACTERS
6613 S^;*********************************************************************^
6614
6615 017442' 256 00 0 03 017471' $TPEXT: XCT $TPNBR(3) ;PROPER NUMBER OF CHARACTERS
6616 017443' 254 00 0 00 017456' JRST $TPERR ;NO ...ERROR EXIT
6617 017444' 306 03 0 00 000002 CAIN 3,2 ;CONVERT ? (INDEX = 2)
6618 017445' 254 00 0 00 017504' JRST $CNVX1 ;YES
6619 ;NO, EXIT
6620
6621 017446' 200 03 0 00 021137' $TPEX1: MOVE 3,$TACD3 ;RESTORE AC'S 3 & 2
6622 017447' 200 02 0 00 021136' MOVE 2,$TACD2
6623 017450' 200 00 0 00 000001 MOVE 0,1 ;PUT NUMBER IN AC0
6624 017451' 332 00 0 00 021107' SKIPE $NEGF ;NEGATE ?
6625 017452' 210 00 0 00 000001 MOVN 0,1 ;YES
6626 017453' 200 01 0 00 021135' MOVE 1,$TACD1 ;RESTORE AC1
6627 017454' 350 00 0 17 000000 AOS (P) ;RETURN +2
6628 017455' 263 17 0 00 000000 RTN ;RETURN +1
6629
6630 017456' 202 01 0 00 000054' $TPERR: MOVEM 1,$TYPNB ;SAVE NUMBER - ERROR EXIT
6631 017457' 200 03 0 00 021137' MOVE 3,$TACD3 ;RESTORE AC'S
6632 017460' 200 02 0 00 021136' MOVE 2,$TACD2
6633 017461' 200 01 0 00 021135' MOVE 1,$TACD1
6634 017462' 263 17 0 00 000000 RTN ;ERROR EXIT )
6635
6636
6637 ;*NUMBER COMPUTING CONSTANTS
6638 S^;*********************************************************************^
6639
6640 017463' 303 00 0 00 000067 $TPCK: CAILE 0,"7" ;OCTAL NUMBER CHECK
6641 017464' 303 00 0 00 000071 CAILE 0,"9" ;DECIMAL NUMBER CHECK
6642 017465' 303 00 0 00 000071 CAILE 0,"9" ;CONVERT NUMBER CHECK
6643 017466' 242 01 0 00 000003 $TPMUL: LSH 1,3 ;OCTAL BASE SHIFT
6644 017467' 221 01 0 00 000012 IMULI 1,^D10 ;DECIMAL BASE MULTIPLIER
6645 017470' 242 01 0 00 000004 LSH 1,4 ;CONVERT SHIFT
6646 017471' 303 02 0 00 000014 $TPNBR: CAILE 2,^D12 ;ACCEPT UP TO 12 OCTALS
6647 017472' 303 02 0 00 000013 CAILE 2,^D11 ;ACCEPT UP TO 11 DECIMALS
6648 017473' 303 02 0 00 000011 CAILE 2,^D9 ;ACCEPT UP TO 9 CONVERT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 179
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* TELETYPE OCTAL-DECIMAL-CONVERT TYPE-IN ROUTINE SEQ 0218
6649 017474' 332 00 0 00 000002 $NEGX: SKIPE 2 ;1ST CHAR ?
6650 017475' 254 00 0 00 017456' JRST $TPERR ;NO, ERROR EXIT )
6651 017476' 476 00 0 00 021107' SETOM $NEGF ;YES, SET NEGATE FLAG
6652 017477' 254 00 0 00 017417' JRST $TYPLP ;GET NEXT CHAR
6653
6654 017500' 302 03 0 00 000002 $CNVX: CAIE 3,2 ;PERIOD, IN CONVERT ?
6655 017501' 254 00 0 00 017456' JRST $TPERR ;NO, ERROR EXIT )
6656 017502' 476 00 0 00 021102' SETOM $CNVD ;YES, SET DECIMAL FLAG
6657 017503' 254 00 0 00 017417' JRST $TYPLP ;GET NEXT CHAR
6658
6659
6660 ;*CONVERT CONVERSION ROUTINE
6661 S^;*********************************************************************^
6662
6663 017504' 201 02 0 00 000011 $CNVX1: MOVEI 2,^D9 ;NINE DIGITS
6664 017505' 402 00 0 00 000000 SETZM 0
6665 017506' 332 00 0 00 021102' SKIPE $CNVD ;OCTAL OR DECIMAL ?
6666 017507' 254 00 0 00 017517' JRST $CNVX2 ;DECIMAL
6667 017510' 612 01 0 00 020575' TDNE 1,[421042104210] ;OCTAL
6668 017511' 254 00 0 00 017456' JRST $TPERR ;OCTAL ERROR, 8 OR 9 INPUT
6669 017512' 242 01 0 00 000001 LSH 1,1 ;SQUEEZE OUT 4TH BIT
6670 017513' 246 00 0 00 000003 LSHC 0,3 ;COMPACT INTO OCTAL
6671 017514' 366 02 0 00 017512' SOJN 2,.-2 ;COMPLETED ?
6672 017515' 200 01 0 00 000000 MOVE 1,0 ;YES
6673 017516' 254 00 0 00 017446' JRST $TPEX1 ;RETURN
6674
6675 017517' 402 00 0 00 000003 $CNVX2: SETZM 3 ;DECIMAL
6676 017520' 402 00 0 00 000000 SETZM 0
6677 017521' 221 03 0 00 000012 IMULI 3,^D10 ;MULTIPLY BY DECIMAL BASE
6678 017522' 246 00 0 00 000004 LSHC 0,4 ;UNPACK NEXT DIGIT
6679 017523' 270 03 0 00 000000 ADD 3,0 ;ADD IN
6680 017524' 366 02 0 00 017520' SOJN 2,.-4 ;COMPLETED ?
6681 017525' 200 01 0 00 000003 MOVE 1,3 ;YES
6682 017526' 254 00 0 00 017446' JRST $TPEX1 ;RETURN )
6683
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 180
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* TELETYPE SIXBIT INPUT ROUTINE SEQ 0219
6684 SUBTTL *SUBRTN* TELETYPE SIXBIT INPUT ROUTINE
6685
6686 S^;*********************************************************************^
6687 ;*INPUTS UP TO SIX CHARACTERS, TERMINATES WITH A CR OR COMMA.
6688 ;*SIXBIT WORD RETURNED IN AC0
6689 S^;*********************************************************************^
6690
6691 017527' 202 01 0 00 021140' $TISIX: MOVEM 1,$TSX1# ;SAVE AC'S
6692 017530' 202 02 0 00 021141' MOVEM 2,$TSX2#
6693 017531' 200 02 0 00 020576' MOVE 2,[POINT 6,1]
6694 017532' 201 01 0 00 000000 MOVEI 1,0
6695
6696 017533' 260 17 0 00 017223' $TSXB1: GO $OPTLK
6697 017534' 254 00 0 00 017556' JRST $TSXB3 ;NO RESPONSE, RTN + 1
6698 017535' 306 00 0 00 000015 CAIN 0,15
6699 017536' 254 00 0 00 017555' JRST $TSXB2 ;CR, TERMINATE, RTN + 2
6700 017537' 306 00 0 00 000054 CAIN 0,","
6701 017540' 254 00 0 00 017555' JRST $TSXB2 ;COMMA, TERMINATE, RTN + 2
6702 017541' 301 00 0 00 000060 CAIL 0,"0"
6703 017542' 303 00 0 00 000132 CAILE 0,"Z"
6704 017543' 254 00 0 00 017556' JRST $TSXB3 ;ERROR, RTN + 1
6705 017544' 303 00 0 00 000071 CAILE 0,"9"
6706 017545' 301 00 0 00 000101 CAIL 0,"A"
6707 017546' 254 00 0 00 017550' JRST $TSXB4 ;ALPHA-NUMERIC
6708 017547' 254 00 0 00 017556' JRST $TSXB3 ;ERROR, RTN + 1
6709
6710 017550' 640 00 0 00 000040 $TSXB4: TRC 0,40 ;CONVERT TO SIX-BIT
6711 017551' 602 01 0 00 000077 TRNE 1,77
6712 017552' 254 00 0 00 017556' JRST $TSXB3 ;TOO MANY CHAR'S, RTN + 1
6713 017553' 136 00 0 00 000002 IDPB 0,2 ;PUT INTO WORD
6714 017554' 254 00 0 00 017533' JRST $TSXB1 ;GET NEXT CHARACTER
6715
6716 017555' 350 00 0 17 000000 $TSXB2: AOS (P) ;INCR USRPC FOR RTN + 2 (NORMAL)
6717
6718 017556' 200 00 0 00 000001 $TSXB3: MOVE 0,1 ;SIXBIT WORD IN AC0
6719 017557' 200 01 0 00 021140' MOVE 1,$TSX1 ;RESTORE AC'S
6720 017560' 200 02 0 00 021141' MOVE 2,$TSX2
6721 017561' 263 17 0 00 000000 RTN ;EXIT + 1/+2
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 181
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0220
6722 SUBTTL *SUBRTN* PRINT SUBROUTINES
6723
6724 S^;*********************************************************************^
6725 ;* $PNTSX PRINT SIXBIT NORMAL
6726 ;* $PTSXF PRINT SIXBIT FORCED
6727 ;* $PNTCW PRINT DF10 CONTROL WORD
6728 ;* $PNTI1 PRINT OCTAL NUMBER
6729 ;* $CHRPN PRINT CHARACTER
6730 ;* $ASCPN PRINT ASCII CHARACTER/LINE
6731 ;* $DECPN PRINT DECIMAL NUMBER
6732 S^;*********************************************************************^
6733
6734 S^;*********************************************************************^
6735 ;*PRINT SUBROUTINE INITIALIZATION
6736 ;*INITIALIZES CONTROL WORDS, AND TTY IF IN USER MODE
6737 S^;*********************************************************************^
6738
6739 017562' 402 00 0 00 021106' $PNTIN: SETZM $INTDF# ;CLEAR DEVICE DEFAULT FLAG
6740 017563' 402 00 0 00 000051' SETZM $DVOFF# ;CLEAR DEVICE INITED FLAG
6741 017564' 402 00 0 00 000044' SETZM PDISF# ;CLEAR PRINT DISABLED FLAG
6742 017565' 402 00 0 00 021126' SETZM $PTINH# ;CLEAR PRINT 'TYPE-IN INHIBIT' FLAG
6743 017566' 402 00 0 00 000045' SETZM PNTINH# ;ALLOW EXEC PRINT TYPE IN INHIBIT
6744 017567' 402 00 0 00 021076' SETZM XOFFLAG# ;CLEAR XOFF FLAG
6745 017570' 402 00 0 00 000042' SETZM PNTFLG# ;CLEAR IN PRINT FLAG
6746 017571' 476 00 0 00 000046' SETOM PNTSPC# ;SET PRINT SPACE FLAG
6747 017572' 211 00 0 00 011610 MOVNI 0,^D5000 ;SET PRINT ENABLE TO 5000 LINES
6748 017573' 202 00 0 00 000043' MOVEM 0,PNTENB
6749 017574' 402 00 0 00 021073' SETZM TTYFIL# ;ALLOW EXEC FILLERS
6750 017575' 402 00 0 00 000055' SETZM $CRLF# ;ALLOW FREE CR/LF
6751 017576' 402 00 0 00 000056' SETZM $TABF ;ALLOW TAB CONVERSION
6752 017577' 402 00 0 00 000057' SETZM $FFF ;ALLOW FORM FEED CONVERSION
6753 017600' 402 00 0 00 000060' SETZM $VTF ;ALLOW VERTICAL TAB CONVERSION
6754
6755 017601' 336 00 0 00 000302' SKIPN MONTYP
6756 017602' 254 00 0 00 017610' JRST $PNTIX
6757
6758 017603' 201 01 0 00 000101 movei 1,.priou
6759 017604' 104 00 0 00 000107 rfmod ;don't translate print output
6760 017605' 620 02 0 00 000300 trz 2,tt%dam
6761 017606' 660 02 0 00 000300 tro 2,3b29
6762 017607' 104 00 0 00 000110 sfmod
6763
6764 017610' 201 00 0 00 016612' $PNTIX: MOVEI REENTR ;SETUP REENTER ADDRESS
6765 017611' 202 00 0 00 000124 MOVEM JOBREN
6766 017612' 335 00 0 00 000004' SKIPGE MONCTL ;MONITOR CONTROL ?
6767 017613' 263 17 0 00 000000 RTN ;YES, DON'T PRINT TITLE
6768 017614' 332 00 0 00 000015' SKIPE $ONETM ;FIRST TIME?
6769 017615' 263 17 0 00 000000 RTN ;NO .....EXIT
6770 017616' 254 00 0 00 017115' JRST $PNTNM+2 ;YES ...PRINT PROGRAM NAME
6771 ;AND EXIT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 182
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0221
6772 S^;*********************************************************************^
6773 ;*PRINT SUBROUTINE ENTRY POINT
6774 ;*EXIT VIA $PNTI4 BELOW
6775 S^;*********************************************************************^
6776
6777 017617' 476 00 0 00 000042' $PNTIF: SETOM PNTFLG ;SET IN PRINT FLAG
6778 017620' 476 00 0 00 021123' SETOM $PNTTY# ;FORCE TO TTY
6779 017621' 402 00 0 00 021126' SETZM $PTINH
6780 017622' 332 00 0 00 000302' SKIPE MONTYP
6781 017623' 254 00 0 00 017627' JRST .+4
6782 017624' 051 13 0 00 000000 TTCALL 13,0 ;TOPS10 CLEAR CONTROL O
6783 017625' 255 00 0 00 000000 JFCL
6784 017626' 254 00 0 00 017676' JRST $PNTIA
6785 017627' 261 17 0 00 000001 PUT 1
6786 017630' 261 17 0 00 000002 PUT 2
6787 017631' 201 01 0 00 000101 MOVEI 1,.PRIOU
6788 017632' 104 00 0 00 000107 RFMOD
6789 017633' 621 02 0 00 400000 TLZ 2,(TT%OSP) ;CLEAR CONTROL O
6790 017634' 104 00 0 00 000110 SFMOD
6791 017635' 262 17 0 00 000002 GETIT 2
6792 017636' 262 17 0 00 000001 GETIT 1
6793 017637' 402 00 0 00 021052' SETZM INUPTR ;CLEAR TTY INPUT BUFFER
6794 017640' 254 00 0 00 017676' JRST $PNTIA
6795
6796 017641' 476 00 0 00 000042' $PNTIT: SETOM PNTFLG ;SET IN PRINT FLAG
6797 017642' 402 00 0 00 021123' SETZM $PNTTY ;NOT FORCED TO TTY
6798 017643' 331 00 0 00 000043' SKIPL PNTENB# ;PRINT LIMIT REACHED YET?
6799 017644' 254 00 0 00 017662' JRST $PNTIB ;YES ..DON'T PRINT
6800 017645' 200 00 0 00 000006' MOVE CONSW ;READ DATA SWITCHES INTO AC0
6801 017646' 607 00 0 00 040000 TLNN 0,NOPNT ;NO PRINT SWITCH SET?
6802 017647' 254 00 0 00 017676' JRST $PNTIA
6803 017650' 262 17 0 00 000000 GETIT AC0 ;YES ...RESTORE AC0 FROM STACK (P - 1)
6804 017651' 254 00 0 00 017660' JRST $PRNTX ;EXIT, DON'T PRINT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 183
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0222
6805 ;*PRINT ROUTINE EXIT
6806 S^;*********************************************************************^
6807
6808 017652' 402 00 0 00 021123' $PNTI4: SETZM $PNTTY ;CLEAR FORCE TO TTY FLAG
6809
6810 017653' 200 01 0 00 021110' MOVE 1,$PACA1 ;RESTORE AC'S
6811 017654' 200 02 0 00 021111' MOVE 2,$PACA2
6812 017655' 200 03 0 00 021112' MOVE 3,$PACA3
6813 017656' 200 04 0 00 021113' MOVE 4,$PACA4
6814 017657' 200 05 0 00 021114' MOVE 5,$PACA5
6815 017660' 402 00 0 00 000042' $PRNTX: SETZM PNTFLG ;CLEAR IN PRINT FLAG
6816 017661' 263 17 0 00 000000 RTN ;RETURN
6817
6818 ;*PRINT LIMIT WARNING & ALTERNATE EXIT PATH
6819 S^;*********************************************************************^
6820
6821 017662' 262 17 0 00 000000 $PNTIB: GETIT AC0 ;RESTORE THE STACK (P - 1)
6822 017663' 332 00 0 00 000044' SKIPE PDISF# ;FIRST TIME PRINT DISABLED?
6823 017664' 254 00 0 00 017660' JRST $PRNTX ;YES ...EXIT )
6824
6825 017665' 476 00 0 00 000044' $PNTB1: SETOM PDISF ;NO ........SET IT
6826 017666' 202 01 0 00 021110' MOVEM 1,$PACA1 ;SAVE AC'S 1 - 5
6827 017667' 202 02 0 00 021111' MOVEM 2,$PACA2
6828 017670' 202 03 0 00 021112' MOVEM 3,$PACA3
6829 017671' 202 04 0 00 021113' MOVEM 4,$PACA4
6830 017672' 202 05 0 00 021114' MOVEM 5,$PACA5
6831 017673' 476 00 0 00 021123' SETOM $PNTTY ;SET FORCE TO TTY FLAG
6832 MOVEI [ASCIZ/
6833 ******
6834 EXCEEDED ALLOWED PRINTOUTS
6835 017674' 201 00 0 00 020577' /]
6836 017675' 254 00 0 00 020107' JRST $ASCPN-1 ;PRINT THE WARNING & EXIT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 184
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0223
6837 S^;*********************************************************************^
6838 ;*PRINT ROUTINE SELECTOR
6839 ;*BASED ON "AC FIELD" = 12 - 17
6840 S^;*********************************************************************^
6841
6842 017676' 202 01 0 00 021110' $PNTIA: MOVEM 1,$PACA1# ;SAVE AC1.
6843 017677' 202 02 0 00 021111' MOVEM 2,$PACA2# ;SAVE AC2.
6844 017700' 202 03 0 00 021112' MOVEM 3,$PACA3# ;SAVE AC3.
6845 017701' 202 04 0 00 021113' MOVEM 4,$PACA4# ;SAVE AC4.
6846 017702' 202 05 0 00 021114' MOVEM 5,$PACA5# ;SAVE AC5.
6847 017703' 262 17 0 00 000000 GETIT AC0 ;RESTORE AC0 FROM STACK (P - 1)
6848 017704' 402 00 0 00 021121' SETZM $PNT# ;CLEAR PRINT HALF WORDS FLAG
6849 017705' 200 02 0 00 000040 MOVE 2,LUUO
6850 017706' 241 02 0 00 000015 ROT 2,15 ;GET X (AC FIELD)
6851 017707' 405 02 0 00 000017 ANDI 2,17 ;OUT OF THE UUO
6852
6853 017710' 306 02 0 00 000017 $PNTIC: CAIN 2,17 ;X=17?
6854 017711' 254 00 0 00 020107' JRST $PNTLN ;YES. PRINT ASCII LINE
6855 017712' 322 02 0 00 020110' JUMPE 2,$ASCPN ;X=0? YES. GO PRINT 1 WORD ASCII
6856 017713' 306 02 0 00 000015 CAIN 2,15 ;X=15?
6857 017714' 254 00 0 00 020125' JRST $DECPN ;YES, PRINT DECIMALS )
6858 017715' 306 02 0 00 000016 CAIN 2,16 ;X=16?
6859 017716' 254 00 0 00 020124' JRST $DECSP ;YES, PRINT DECIMALS, LEADING SPACES
6860 017717' 306 02 0 00 000013 CAIN 2,13 ;X=13?
6861 017720' 254 00 0 00 020075' JRST $PNTI3 ;YES, PRINT OCTALS, 6 SP 6
6862 017721' 306 02 0 00 000012 CAIN 2,12 ;X=12?
6863 017722' 254 00 0 00 020103' JRST $CHRPN ;YES, PRINT CHARACTER )
6864
6865 017723' 254 00 0 00 020053' JRST $PNTI1 ;NONE OF THE ABOVE, PRINT OCTAL
6866 ;(AC FIELD <12 OR = TO 14)
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 185
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0224
6867 S^;*********************************************************************^
6868 ;*SIXBIT PRINT SUBROUTINE
6869 ;*PRINTS SIXBIT WORD IN AC0
6870 S^;*********************************************************************^
6871
6872 ;*NORMAL PRINTOUT
6873 S^;*********************************************************************^
6874
6875 017724' 261 17 0 00 000001 $PNTSX: PUT 1 ;SAVE AC1 ON STACK (P + 1)
6876 017725' 200 01 0 00 000000 MOVE 1,0 ;PUT SIXBIT WORD IN AC1
6877 017726' 201 00 0 00 000000 MOVEI 0,0
6878 017727' 246 00 0 00 000006 LSHC 0,6 ;GET NEXT CHAR INTO AC0
6879 017730' 271 00 0 00 000040 ADDI 0,40 ;CONVERT TO ASCII
6880 017731' 037 12 0 00 000000 PNTCHR ;PRINT IT
6881 017732' 326 01 0 00 017726' JUMPN 1,.-4 ;LOOP TILL ALL PRINTED
6882 017733' 262 17 0 00 000001 GETIT 1 ;RESTORE AC1 FROM THE STACK (P - 1)
6883 017734' 263 17 0 00 000000 RTN ;EXIT
6884
6885 ;*FORCED PRINTOUT
6886 S^;*********************************************************************^
6887
6888 017735' 261 17 0 00 000001 $PTSXF: PUT 1 ;SAVE AC1 ON THE STACK (P + 1)
6889 017736' 200 01 0 00 000000 MOVE 1,0 ;PUT SIXBIT WORD IN AC1
6890 017737' 201 00 0 00 000000 MOVEI 0,0
6891 017740' 246 00 0 00 000006 LSHC 0,6 ;GET NEXT CHAR INTO AC0
6892 017741' 271 00 0 00 000040 ADDI 0,40 ;CONVERT TO ASCII
6893 017742' 037 12 0 00 000001 PNTCHF ;PRINT
6894 017743' 326 01 0 00 017737' JUMPN 1,.-4 ;LOOP TILL ALL PRINTED
6895 017744' 262 17 0 00 000001 GETIT 1 ;FROM THE STACK (P - 1)
6896 017745' 263 17 0 00 000000 RTN ;EXIT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 186
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0225
6897 S^;*********************************************************************^
6898 ;*SIXBIT MESSAGE PRINT ROUTINE
6899 ;*PRINTS THE SIXBIT MESSAGE THOSE ADDRESS IS IN AC0
6900 ;*"BACKARROW" (77) SIGNIFIES END OF TEXT
6901 ;*"UPARROW" (76) SIGNIFIES CR/LF
6902 ;*"RIGHT SQUARE BRACKET" (75) SIGNIFIES TAB
6903 S^;*********************************************************************^
6904
6905 017746' 261 17 0 00 000005 $PSIXF: PUT 5
6906 017747' 474 05 0 00 000000 SETO 5, ;SET FORCED PRINTING FLAG
6907 017750' 254 00 0 00 017753' JRST .+3
6908
6909 017751' 261 17 0 00 000005 $PSIX: PUT 5
6910 017752' 400 05 0 00 000000 SETZ 5, ;NORMAL PRINTING
6911 017753' 261 17 0 00 000001 PUT 1
6912 017754' 261 17 0 00 000002 PUT 2
6913 017755' 261 17 0 00 000003 PUT 3
6914 017756' 261 17 0 00 000004 PUT 4
6915
6916 017757' 550 04 0 00 000000 HRRZ 4,0 ;MESSAGE ADDRESS TO AC4
6917
6918 017760' 201 03 0 00 000006 $PSIX1: MOVEI 3,6 ;6 = NUM OF 6BIT CHAR PER WORD
6919 017761' 200 01 0 04 000000 MOVE 1,(4) ;GET FIRST/NEXT WORD OF MESSAGE
6920
6921 017762' 400 02 0 00 000000 $PSIX2: SETZ 2,
6922 017763' 245 01 0 00 000006 ROTC 1,6 ;C(AC1) = CHAR TO BE PRINTED
6923 017764' 306 02 0 00 000077 CAIN 2,77
6924 017765' 254 00 0 00 020002' JRST $PSIX5 ;"BACKARROW", DONE
6925 017766' 306 02 0 00 000076 CAIN 2,76
6926 017767' 254 00 0 00 017777' JRST $PSIX4 ;"UPARROW", CR/LF
6927 017770' 306 02 0 00 000075 CAIN 2,75
6928 017771' 201 02 0 00 000151 MOVEI 2,151 ;"BRACKET", CHANGE TO TAB (151+40=11)
6929 017772' 201 00 0 02 000040 MOVEI 0,40(2) ;CHANGE TO ASCII
6930 JUMPN 5,[PNTCHF
6931 017773' 326 05 0 00 020607' JRST .+2] ;FORCED PRINT
6932 017774' 037 12 0 00 000000 PNTCHR
6933 017775' 366 03 0 00 017762' $PSIX3: SOJN 3,$PSIX2 ;PRINTED ALL CHARS FROM THIS WORD ?
6934 017776' 344 04 0 00 017760' AOJA 4,$PSIX1 ;YES, DO NEXT WORD
6935
6936 $PSIX4: JUMPN 5,[PCRLF
6937 017777' 326 05 0 00 020611' JRST .+2]
6938 020000' 037 00 0 00 000063' PCRL ;PRINT CR/LF
6939 020001' 254 00 0 00 017775' JRST $PSIX3
6940
6941 020002' 262 17 0 00 000004 $PSIX5: GETIT 4
6942 020003' 262 17 0 00 000003 GETIT 3
6943 020004' 262 17 0 00 000002 GETIT 2
6944 020005' 262 17 0 00 000001 GETIT 1
6945 020006' 262 17 0 00 000005 GETIT 5
6946 020007' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 187
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0226
6947 S^;*********************************************************************^
6948 ;*OCTAL SUPPRESS LEADING ZEROS PRINT ROUTINE
6949 ;*PRINTS NUMBER IN AC0, SUPPRESSING LEADING ZEROS
6950 ;*PRINTS MINUS SIGN IF NUMBER IS NEGATIVE
6951 S^;*********************************************************************^
6952
6953 020010' 261 17 0 00 000005 $POCSF: PUT 5
6954 020011' 474 05 0 00 000000 SETO 5, ;FORCED PRINTOUT
6955 020012' 254 00 0 00 020015' JRST .+3
6956
6957 020013' 261 17 0 00 000005 $POCS: PUT 5
6958 020014' 400 05 0 00 000000 SETZ 5, ;NORMAL PRINTOUT
6959 020015' 261 17 0 00 000001 PUT 1
6960 020016' 261 17 0 00 000002 PUT 2
6961 020017' 261 17 0 00 000003 PUT 3
6962 020020' 261 17 0 00 000004 PUT 4
6963
6964 020021' 200 02 0 00 000000 MOVE 2,0
6965 020022' 325 02 0 00 020027' JUMPGE 2,$POCS1 ;IS NUMBER NEGATIVE ?
6966 020023' 201 00 0 00 000055 MOVEI "-"
6967 JUMPN 5,[PNTCHF
6968 020024' 326 05 0 00 020613' JRST .+2]
6969 020025' 037 12 0 00 000000 PNTCHR ;YES, PRINT MINUS SIGN
6970 020026' 210 02 0 00 000002 MOVN 2,2 ;MAKE NUMBER POSITIVE
6971
6972 020027' 400 04 0 00 000000 $POCS1: SETZ 4,
6973 020030' 403 03 0 00 000001 SETZB 3,1
6974 020031' 322 02 0 00 020037' JUMPE 2,$POCS3 ;IF NUMBER 0, PRINT 1 ZERO
6975
6976 020032' 201 03 0 00 000014 MOVEI 3,^D12 ;PRINT UP TO 12 DIGITS
6977 020033' 400 01 0 00 000000 $POCS2: SETZ 1,
6978 020034' 246 01 0 00 000003 LSHC 1,3
6979 020035' 322 01 0 00 020051' JUMPE 1,$POCS5 ;IS THIS DIGIT ZERO ?
6980 020036' 474 04 0 00 000000 SETO 4, ;NO, SET NON-ZERO DIGIT FLAG
6981 020037' 201 00 0 01 000060 $POCS3: MOVEI "0"(1) ;MAKE ASCII NUMBER
6982 JUMPN 5,[PNTCHF
6983 020040' 326 05 0 00 020615' JRST .+2]
6984 020041' 037 12 0 00 000000 PNTCHR ;PRINT DIGIT
6985
6986 020042' 367 03 0 00 020033' $POCS4: SOJG 3,$POCS2 ;ALL DONE ?
6987 020043' 262 17 0 00 000004 GETIT 4
6988 020044' 262 17 0 00 000003 GETIT 3
6989 020045' 262 17 0 00 000002 GETIT 2
6990 020046' 262 17 0 00 000001 GETIT 1
6991 020047' 262 17 0 00 000005 GETIT 5
6992 020050' 263 17 0 00 000000 RTN
6993
6994 020051' 322 04 0 00 020042' $POCS5: JUMPE 4,$POCS4 ;PRINTED NON-ZERO DIGIT ?
6995 020052' 254 00 0 00 020037' JRST $POCS3 ;YES, PRINT ZEROS
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 188
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0227
6996 S^;*********************************************************************^
6997 ;*OCTAL PRINTOUT ROUTINE
6998 ;*PRINTS NUMBER IN AC0
6999 S^;*********************************************************************^
7000
7001 020053' 200 03 0 00 000002 $PNTI1: MOVE 3,2 ;MOVE X INTO AC3.
7002 020054' 241 00 0 00 777775 ROT 0,-3 ;ROT OCTAL NUM 3 PLACES
7003 020055' 366 03 0 00 020054' SOJN 3,.-1 ;X AMOUNT OF TIMES.
7004
7005 020056' 201 01 0 00 000006 $PNTI2: MOVEI 1,6 ;PUT 6 INTO AC1 SO THAT
7006 020057' 245 00 0 00 000003 ROTC 0,3 ;C(AC1) AFTER THE ROTC WILL BE 60
7007 020060' 265 03 0 00 020155' JSP 3,$TOUT ;PLUS NUMBER TO BE PRINTED
7008 020061' 366 02 0 00 020056' SOJN 2,$PNTI2 ;SUB 1 FROM X...PRINT UNTIL X=0.
7009 020062' 202 01 0 00 021122' MOVEM 1,$PNTSV# ;SAVE NUMBER
7010 020063' 336 00 0 00 000046' SKIPN PNTSPC
7011 020064' 254 00 0 00 020067' JRST .+3
7012 020065' 201 01 0 00 000040 MOVEI 1,40 ;AT THIS POINT WE HAVE PRINTED
7013 020066' 265 03 0 00 020155' JSP 3,$TOUT ;X AMOUNT OF NUMBER(S) AND NOW A SPACE
7014 020067' 336 00 0 00 021121' SKIPN $PNT# ;PRINT 6 SP 6 FLAG SET?
7015 020070' 254 00 0 00 017652' JRST $PNTI4 ;NO, EXIT )
7016 020071' 200 01 0 00 021122' MOVE 1,$PNTSV ;RESTORE NUMBER
7017 020072' 201 02 0 00 000006 MOVEI 2,6 ;SETUP FOR 2ND HALF
7018 020073' 402 00 0 00 021121' SETZM $PNT ;CLEAR PRINT SPACE FLAG
7019 020074' 254 00 0 00 020056' JRST $PNTI2 ;PRINT REST OF NUMBER
7020
7021 020075' 201 03 0 00 000014 $PNTI3: MOVEI 3,14 ;SETUP FOR LH WORD
7022 020076' 201 02 0 00 000006 MOVEI 2,6 ;SETUP FOR FIRST HALF
7023 020077' 476 00 0 00 021121' SETOM $PNT ;SET PRINT 6 SP 6 FLAG
7024 020100' 476 00 0 00 000046' SETOM PNTSPC ;SET THE PRINT SPACE FLAG
7025 020101' 254 00 0 00 020054' JRST $PNTI1+1 ;PRINT FIRST HALF NUMBER
7026 020102' 254 00 0 00 017652' JRST $PNTI4 ;EXIT
7027
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 189
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0228
7028 S^;*********************************************************************^
7029 ;*ASCII/CHARACTER PRINTOUT ROUTINE
7030 ;*PRINTS CHAR IN LOWER 7 BITS OF AC0
7031 S^;*********************************************************************^
7032
7033 020103' 405 00 0 00 000177 $CHRPN: ANDI 0,177 ;STRIP CHAR TO 7 BITS
7034 020104' 200 01 0 00 000000 MOVE 1,0
7035 020105' 265 03 0 00 020155' JSP 3,$TOUT ;PRINT A CHARACTER
7036 020106' 254 00 0 00 017652' JRST $PNTI4 ;LEAVE
7037
7038 S^;*********************************************************************^
7039 ;*PRINTS ASCII WHOSE ADDRESS IS IN AC0
7040 S^;*********************************************************************^
7041
7042 020107' 476 00 0 00 021121' $PNTLN: SETOM $PNT# ;SET PRINT MORE THAN 1 WORD FLAG.
7043
7044 020110' 202 00 0 00 021125' $ASCPN: MOVEM 0,$POINT# ;SAVE ADDRESS OF ASCII MESSAGE.
7045 020111' 201 02 0 00 000005 $ASCP1: MOVEI 2,5 ;5 = NUM OF ASCII CHAR. IN A WORD.
7046 020112' 200 00 1 00 021125' MOVE 0,@$POINT ;C(AC0) = FIRST/NEXT WORD OF ASCII MESS
7047
7048 020113' 400 01 0 00 000000 $ASCP2: SETZ 1, ;CLEAR AC1.
7049 020114' 245 00 0 00 000007 ROTC 0,7 ;C(AC1) = CHAR TO BE PRINTED.
7050 020115' 322 01 0 00 017652' JUMPE 1,$PNTI4 ;CHAR = NULL?..NO MORE CHAR..EXIT
7051 020116' 265 03 0 00 020155' JSP 3,$TOUT ;PRINT A CHAR
7052 020117' 366 02 0 00 020113' SOJN 2,$ASCP2 ;PNT ALL CHAR FROM THIS WORD?
7053 020120' 350 00 0 00 021125' AOS $POINT ;YES. INC TO GET NEXT WORD.
7054 020121' 336 00 0 00 021121' SKIPN $PNT ;PNT MORE THAN ONE WORD FLAG SET?
7055 020122' 254 00 0 00 017652' JRST $PNTI4 ;NO..LEAVE
7056 020123' 254 00 0 00 020111' JRST $ASCP1 ;YES...RETURN TO PNT NEXT WORD.
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 190
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* PRINT SUBROUTINES SEQ 0229
7057 S^;*********************************************************************^
7058 ;*DECIMAL PRINTOUT ROUTINE
7059 ;*PRINTS NUMBER IN AC0
7060 S^;*********************************************************************^
7061
7062 020124' 476 00 0 00 021121' $DECSP: SETOM $PNT ;SET LEADING SPACES PRINT CONTROL
7063
7064 020125' 325 00 0 00 020131' $DECPN: JUMPGE 0,.+4 ;IS NUMBER NEGATIVE ?
7065 020126' 201 01 0 00 000055 MOVEI 1,"-" ;YES, PRINT MINUS SIGN
7066 020127' 265 03 0 00 020155' JSP 3,$TOUT
7067 020130' 210 00 0 00 000000 MOVN 0,0 ;MAKE NUMBER POSITIVE
7068 020131' 260 17 0 00 020133' GO $RADIX ;DECIMAL-ASCII CONVERSION & PRINT CHARS
7069 020132' 254 00 0 00 017652' JRST $PNTI4 ;EXIT
7070
7071 020133' 200 02 0 00 000067' $RADIX: MOVE 2,RADLSC ;SETUP DIGIT COUNTER
7072 020134' 246 00 0 00 777735 LSHC 0,-^D35 ;SHIFT RIGHT 35 BITS INTO AC1
7073 020135' 242 01 0 00 777777 LSH 1,-1 ;VACATE AC1 SIGN BIT
7074
7075 020136' 234 00 0 00 000065' $DCCMP: DIV 0,RADIX ;DIVIDE DOUBLE LENGTH INTERGER BY 10
7076 020137' 506 01 0 17 000000 HRLM 1,(17) ;SAVE DIGIT
7077 020140' 370 00 0 00 000002 SOS 2 ;COUNT DIGIT
7078 020141' 322 00 0 00 020147' JUMPE 0,$LDSPS ;ALL DIGITS FORMED?
7079 020142' 260 17 0 00 020134' GO $RADIX+1 ;NO, COMPUTE NEXT ONE
7080
7081 020143' 554 01 0 17 000000 $DECP1: HLRZ 1,(17) ;YES, RETRIEVE DIGIT
7082 020144' 271 01 0 00 000060 ADDI 1,60 ;CONVERT TO ASCII
7083 020145' 265 03 0 00 020155' JSP 3,$TOUT ;TYPE-OUT A DIGIT
7084 020146' 263 17 0 00 000000 RTN ;GET NEXT/EXIT
7085
7086 020147' 336 00 0 00 021121' $LDSPS: SKIPN $PNT ;LEADING SPACES PRINT SET?
7087 020150' 254 00 0 00 020143' JRST $DECP1 ;NO ...GO PRINT
7088 ;YES ...DO IT
7089 020151' 361 02 0 00 020143' $DCSPS: SOJL 2,$DECP1 ;SPACES COMPLETE ? YES
7090 020152' 200 01 0 00 000066' MOVE 1,RADLSP ;NO, PRINT LEADING SPACE
7091 020153' 265 03 0 00 020155' JSP 3,$TOUT ;TYPE OUT THE SPACE
7092 020154' 254 00 0 00 020151' JRST .-3 ;CHECK FOR NEXT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 193
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0230
7093 SUBTTL *SUBRTN* CHARACTER OUTPUT ROUTINES
7094
7095 S^;*********************************************************************^
7096 ;*OUTPUT TERMINATION CONTROL ROUTINE
7097 S^;*********************************************************************^
7098
7099 020155' 202 00 0 00 021115' $TOUT: MOVEM 0,$PACB0# ;SAVE AC0.
7100 020156' 202 01 0 00 021124' MOVEM 1,$PNTYC# ;SAVE CHARACTER TO BE PRINTED
7101
7102 S^;*********************************************************************^
7103 ;*OVERALL CHARACTER OUTPUT CONTROL ROUTINE
7104 S^;*********************************************************************^
7105
7106 020157' 200 00 0 00 000006' $TOUTB: MOVE AC0,CONSW ;DATA SWITCHES INTO AC0
7107 020160' 350 00 0 00 021101' AOS $CARCT# ;INC CHAR CNTR.
7108 020161' 306 01 0 00 000007 CAIN 1,7 ;CHAR A BELL ?
7109 020162' 402 00 0 00 021126' SETZM $PTINH ;YES, CLEAR PRINT INHIBIT
7110 020163' 302 01 0 00 000015 CAIE 1,15 ;CHAR A CR?
7111 020164' 254 00 0 00 020170' JRST $TOUB1 ;NO-CHK FOR LF
7112 020165' 336 00 0 00 021126' SKIPN $PTINH ;DON'T COUNT ^O'ED LINES
7113 020166' 350 00 0 00 000043' AOS PNTENB ;COUNT LINES, TILL NO MORE
7114 020167' 402 00 0 00 021101' SETZM $CARCT ;CLR CHAR CNTR.
7115
7116 020170' 306 01 0 00 000012 $TOUB1: CAIN 1,12 ;IS CHAR A LF?
7117 020171' 402 00 0 00 021101' SETZM $CARCT ;YES-CLR CHAR CNTR.
7118 020172' 332 00 0 00 021123' SKIPE $PNTTY ;NO-IS PRINT FORCED ON?
7119 020173' 254 00 0 00 020176' JRST $TOUB2 ;YES-DON'T CHECK NON-PNT SW
7120 020174' 603 00 0 00 040000 TLNE 0,NOPNT ;IS NON PNT SWITCH ON?
7121 020175' 254 00 0 03 000000 JRST (3) ;YES, RETURN
7122
7123 020176' 265 04 0 00 020221' $TOUB2: JSP 4,$TOUT2 ;SEND CHARACTER USER MODE
7124
7125 020177' 332 00 0 00 000061' $TOUB3: SKIPE USRLFF# ;NEED USER LF FILLERS ?
7126 020200' 254 00 0 00 020210' JRST $USRFL ;YES
7127 020201' 332 00 0 00 000062' SKIPE USRCRF# ;NEED USER CR FILLERS ?
7128 020202' 254 00 0 00 020204' JRST $USRFC ;YES
7129 020203' 254 00 0 00 020217' JRST $TOUTA ;NO-BACK TO PRINT ROUTINE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 194
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0231
7130 ;*USER MODE LF & CR FILLERS
7131 S^;*********************************************************************^
7132
7133 020204' 302 01 0 00 000015 $USRFC: CAIE 1,15 ;CR ?
7134 020205' 254 00 0 00 020217' JRST $TOUTA ;NO-RETURN TO PRINT ROUTINE
7135 020206' 200 05 0 00 000062' MOVE 5,USRCRF ;SEND FILLERS FOR CR
7136 020207' 254 00 0 00 020213' JRST $USRF1 ;DEPENDING ON 'USRCRF'
7137
7138 020210' 302 01 0 00 000012 $USRFL: CAIE 1,12 ;LF ?
7139 020211' 254 00 0 00 020217' JRST $TOUTA ;NO-RETURN TO PRINT
7140 020212' 200 05 0 00 000061' MOVE 5,USRLFF ;SEND FILLERS FOR LF
7141 020213' 361 05 0 00 020217' $USRF1: SOJL 5,$TOUTA ;DEPENDING ON 'USRLFF'
7142 020214' 201 01 0 00 000001 MOVEI 1,001 ;^A
7143 020215' 265 04 0 00 020221' JSP 4,$TOUT2 ;SEND CHARACTER
7144 020216' 254 00 0 00 020213' JRST $USRF1
7145
7146 ;*RETURN BACK TO PRINTING ROUTINE FROM CHAR OUTPUT
7147 S^;*********************************************************************^
7148 020217' 200 00 0 00 021115' $TOUTA: MOVE AC0,$PACB0 ;RESTORE AC0
7149 020220' 254 00 0 03 000000 JRST (3) ;RETURN TO PRINT ROUTINE
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 195
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0232
7150 S^;*********************************************************************^
7151 ;*USER MODE CHARACTER OUTPUT
7152 S^;*********************************************************************^
7153
7154 020221' 202 04 0 00 021116' $TOUT2: MOVEM 4,$PACC4#
7155 020222' 306 01 0 00 000026 CAIN 1,26 ;DON'T PRINT NULLS
7156 020223' 254 00 1 00 021116' JRST @$PACC4
7157 020224' 200 00 0 00 000006' MOVE 0,CONSW
7158 020225' 603 00 0 00 020000 TLNE 0,PNTLPT ;IS LPT PRINT SWITCH UP ?
7159 020226' 254 00 0 00 020254' JRST $TOUT3 ;YES, GO PRINT ON LOGICAL DEVICE
7160 020227' 037 05 0 00 000002 DROPDV ;CLOSE DEV IF SWITCH CHANGED
7161 020230' 200 00 0 00 021101' $TOUT6: MOVE 0,$CARCT ;CHARACTER NUMBER
7162 020231' 306 00 0 00 000001 CAIN 0,1 ;FIRST CHAR IN LINE ?
7163 020232' 254 00 0 00 020242' JRST $TOUT4 ;YES
7164 020233' 332 00 0 00 021055' $TOUT5: SKIPE NOTYPE ;TYPEOUT INHIBITED ?
7165 020234' 254 00 1 00 021116' JRST @$PACC4 ;YES
7166 020235' 336 00 0 00 000302' SKIPN MONTYP
7167 020236' 051 01 0 00 000001 OUTCHR 1
7168 020237' 332 00 0 00 000302' SKIPE MONTYP
7169 020240' 104 00 0 00 000074 PBOUT ;OUTPUT VIA MONITOR TTCALL
7170 020241' 254 00 1 00 021116' JRST @$PACC4 ;GO RESTORE AC0 AND RETURN
7171
7172 020242' 331 00 0 00 000004' $TOUT4: SKIPL MONCTL ;SYSTEM EXERCISER
7173 020243' 254 00 0 00 020233' JRST $TOUT5 ;NO
7174 020244' 261 17 0 00 000001 PUT 1
7175 020245' 201 01 0 00 000077 MOVEI 1,"?" ;PRECEDE LINE WITH ?
7176 020246' 336 00 0 00 000302' SKIPN MONTYP
7177 020247' 051 01 0 00 000001 OUTCHR 1
7178 020250' 332 00 0 00 000302' SKIPE MONTYP
7179 020251' 104 00 0 00 000074 PBOUT
7180 020252' 262 17 0 00 000001 GETIT 1
7181 020253' 254 00 0 00 020233' JRST $TOUT5
7182
7183 ;*USER MODE LOGICAL DEVICE OUTPUT
7184 S^;*********************************************************************^
7185
7186 020254' 336 00 0 00 000051' $TOUT3: SKIPN $DVOFF ;DEVICE BEEN INITED YET ?
7187 020255' 260 17 0 00 020305' GO $INTDV ;NO, GO DO IT
7188 020256' 260 17 0 00 020262' GO $PUTCR ;GO OUTPUT CHAR
7189 020257' 336 00 0 00 021123' SKIPN $PNTTY ;SKIP IF MESSAGE ALSO FORCED TO TTY
7190 020260' 254 00 1 00 021116' JRST @$PACC4
7191 020261' 254 00 0 00 020230' JRST $TOUT6 ;OUTPUT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 196
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0233
7192 ;* LOGICAL DEVICE OUTPUT ROUTINES
7193 S^;*********************************************************************^
7194
7195 020262' 336 00 0 00 000302' $PUTCR: SKIPN MONTYP
7196 020263' 254 00 0 00 020421' JRST $PUT10
7197 020264' 261 17 0 00 000001 PUT 1
7198 020265' 261 17 0 00 000002 PUT 2
7199 020266' 200 02 0 00 000001 MOVE 2,1
7200 020267' 200 01 0 00 021035' MOVE 1,DEVJFN
7201 020270' 104 00 0 00 000051 BOUT
7202 020271' 320 16 0 00 020275' ERJMP $PUTER
7203 020272' 262 17 0 00 000002 GETIT 2
7204 020273' 262 17 0 00 000001 GETIT 1
7205 020274' 263 17 0 00 000000 RTN
7206
7207 $PUTER: TMSG <
7208 LOG OUTPUT ERROR - LOGGING STOPPED
7209 >^
7210 HRROI .AC1,[ASCIZ \
7211 LOG OUTPUT ERROR - LOGGING STOPPED
7212 020275' 561 01 0 00 020617' \]
7213 020276' 104 00 0 00 000076 PSOUT^
7214 020277' 402 00 0 00 016571' SETZM LOGFLG
7215 020300' 402 00 0 00 000006' SETZM CONSW
7216 020301' 260 17 0 00 020350' GO $DRPDV
7217 020302' 262 17 0 00 000002 GETIT 2
7218 020303' 262 17 0 00 000001 GETIT 1
7219 020304' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 197
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0234
7220 S^;*********************************************************************^
7221 ;*LOGICAL DEVICE INITIALIZATION
7222 ;*PHY DEV ASSIGNED AT RUN TIME
7223 S^;*********************************************************************^
7224
7225 020305' 200 00 0 00 016625' $INTDV: MOVE 0,PNTEXT
7226 020306' 202 00 0 00 000074' MOVEM 0,$OUTEX
7227 020307' 200 00 0 00 016624' MOVE 0,PNTNAM ;SETUP LOGICAL OUTPUT FILE NAME
7228 020310' 202 00 0 00 000073' MOVEM 0,$OUTNM
7229 020311' 202 01 0 00 021117' MOVEM 1,$PACF1#
7230 020312' 202 02 0 00 021120' MOVEM 2,$PACF2#
7231 020313' 402 00 0 00 021105' SETZM $INTD3#
7232 020314' 336 00 0 00 000302' SKIPN MONTYP
7233 020315' 254 00 0 00 020431' JRST $INT10 ;TOPS10
7234 020316' 200 00 0 00 020627' MOVE [POINT 7,FILASC,27]
7235 020317' 200 01 0 00 020630' MOVE 1,[ASCII/DEV:/]
7236 020320' 202 01 0 00 020666' MOVEM 1,FILASC
7237 020321' 201 01 0 00 000073' $INT21: MOVEI 1,$OUTNM
7238 020322' 260 17 0 00 020372' GO SIXASC ;CONVERT SIXBIT TO ASCII
7239 020323' 515 01 0 00 000001 HRLZI 1,(GJ%SHT) ;IF FILE EXISTS, APPEND TO IT
7240 020324' 561 02 0 00 020666' HRROI 2,FILASC
7241 020325' 104 00 0 00 000020 GTJFN
7242 020326' 320 16 0 00 020337' ERJMP $INT22 ;DEVICE NOT AVAILABLE, DEFAULT TO DSK
7243 020327' 202 01 0 00 021035' MOVEM 1,DEVJFN#
7244 020330' 200 02 0 00 020631' MOVE 2,[7B5!OF%APP]
7245 020331' 104 00 0 00 000021 OPENF
7246 020332' 254 00 0 00 020363' JRST T20ERR
7247 020333' 476 00 0 00 000051' $INT12: SETOM $DVOFF
7248 020334' 200 02 0 00 021120' MOVE 2,$PACF2
7249 020335' 200 01 0 00 021117' MOVE 1,$PACF1
7250 020336' 263 17 0 00 000000 RTN
7251
7252 020337' 332 00 0 00 021105' $INT22: SKIPE $INTD3
7253 020340' 254 00 0 00 020363' JRST T20ERR
7254 HRROI 1,[ASCIZ/
7255 ****
7256 USING 'DSK' PRINT FILE
7257 ****
7258 020341' 561 01 0 00 020632' /]
7259 020342' 104 00 0 00 000076 PSOUT
7260 020343' 200 00 0 00 020627' MOVE [POINT 7,FILASC,27]
7261 020344' 200 01 0 00 020642' MOVE 1,[ASCII/DSK:/]
7262 020345' 202 01 0 00 020666' MOVEM 1,FILASC
7263 020346' 476 00 0 00 021105' SETOM $INTD3
7264 020347' 254 00 0 00 020321' JRST $INT21
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 198
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0235
7265 ;*USER MODE CLOSE FILE
7266 S^;*********************************************************************^
7267
7268 020350' 336 00 0 00 000051' $DRPDV: SKIPN $DVOFF ;DEVICE INITED?
7269 020351' 263 17 0 00 000000 RTN ;NO, DON'T BOTHER
7270 020352' 336 00 0 00 000302' SKIPN MONTYP
7271 020353' 254 00 0 00 020457' JRST $DRP10 ;TOPS10
7272 020354' 261 17 0 00 000001 PUT 1
7273 020355' 200 01 0 00 021035' MOVE 1,DEVJFN
7274 020356' 104 00 0 00 000022 CLOSF
7275 020357' 254 00 0 00 020363' JRST T20ERR
7276 020360' 262 17 0 00 000001 GETIT 1
7277 020361' 402 00 0 00 000051' SETZM $DVOFF
7278 020362' 263 17 0 00 000000 RTN ;EXIT
7279
7280 020363' 201 01 0 00 000101 T20ERR: MOVEI 1,.PRIOU
7281 020364' 525 02 0 00 400000 HRLOI 2,.FHSLF
7282 020365' 400 03 0 00 000000 SETZ 3,
7283 020366' 104 00 0 00 000011 ERSTR
7284 020367' 104 00 0 00 000170 HALTF
7285 020370' 104 00 0 00 000170 HALTF
7286 020371' 104 00 0 00 000170 HALTF
7287
7288 020372' 261 17 0 00 000002 SIXASC: PUT 2
7289 020373' 261 17 0 00 000003 PUT 3
7290 020374' 261 17 0 00 000004 PUT 4
7291 020375' 200 03 0 00 000000 MOVE 3,0
7292 020376' 200 04 0 00 000001 MOVE 4,1
7293 020377' 200 01 0 04 000000 MOVE 1,(4)
7294 020400' 260 17 0 00 020413' GO SIXSTR
7295 020401' 201 00 0 00 000056 MOVEI "."
7296 020402' 136 00 0 00 000003 IDPB 0,3
7297 020403' 510 01 0 04 000001 HLLZ 1,1(4)
7298 020404' 332 00 0 00 000001 SKIPE 1
7299 020405' 260 17 0 00 020413' GO SIXSTR
7300 020406' 136 01 0 00 000003 IDPB 1,3
7301 020407' 262 17 0 00 000004 GETIT 4
7302 020410' 262 17 0 00 000003 GETIT 3
7303 020411' 262 17 0 00 000002 GETIT 2
7304 020412' 263 17 0 00 000000 RTN
7305
7306 020413' 403 00 0 00 000002 SIXSTR: SETZB 0,2
7307 020414' 246 00 0 00 000006 LSHC 0,6
7308 020415' 271 00 0 00 000040 ADDI 0,40
7309 020416' 136 00 0 00 000003 IDPB 0,3
7310 020417' 326 01 0 00 020413' JUMPN 1,.-4
7311 020420' 263 17 0 00 000000 RTN
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 199
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0236
7312 ;*TOPS10, LOGICAL DEVICE OUTPUT
7313
7314 020421' 332 00 0 00 021103' $PUT10: SKIPE $DVTTY# ;IF DEVICE IS TTY
7315 020422' 254 00 0 00 020427' JRST .+5 ;EMPTY BUFFER AFTER EACH CHAR
7316 020423' 377 00 0 00 000072' SOSG $OBUF+2 ;INCREMENT BYTE COUNT
7317 020424' 254 00 0 00 020427' JRST .+3
7318 020425' 136 01 0 00 000071' IDPB 1,$OBUF+1 ;STORE CHAR
7319 020426' 263 17 0 00 000000 RTN
7320 020427' 057 17 0 00 000000 OUT $DEVCH, ;EMPTY BUFFER
7321 020430' 254 00 0 00 020425' JRST .-3
7322
7323 ;*$INT10, TOPS10 INITIALIZE LOGICAL OUTPUT
7324
7325 020431' 202 00 0 00 000073' $INT10: MOVEM 0,$OUTNM
7326 020432' 041 17 0 00 000000 INIT $DEVCH,0 ;ASCII MODE, DEV CHANNEL
7327 020433' 44 45 66 00 00 00 SIXBIT /DEV/ ;LOGICAL DEVICE, LPT,DSK,DTAX
7328 020434' 000070' 000000 XWD $OBUF, ;OUTPUT ONLY
7329 020435' 254 00 0 00 020447' JRST $INT13 ;DEV NOT AVAIL, DEFAULT TO DISK
7330 020436' 065 17 0 00 000001 $INT11: OUTBUF $DEVCH,1 ;SETUP OUTPUT BUFFER
7331 020437' 077 17 0 00 000073' ENTER $DEVCH,$OUTNM ;INIT OUTPUT FILE
7332 020440' 254 00 0 00 020474' JRST $OERR2 ;NO DIR ROOM, ERROR
7333 020441' 476 00 0 00 000051' SETOM $DVOFF ;SET DEVICE INITED FLAG
7334 020442' 201 00 0 00 000017 MOVEI 0,$DEVCH
7335 020443' 047 00 0 00 000004 DEVCHR ;GET DEVICE CHARACTERISTICS
7336 020444' 603 00 0 00 000010 TLNE 0,10
7337 020445' 476 00 0 00 021103' SETOM $DVTTY ;DEVICE IS TTY
7338 020446' 254 00 0 00 020333' JRST $INT12 ;EXIT
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 200
SMFILE MAC 19-Feb-79 10:46 *SUBRTN* CHARACTER OUTPUT ROUTINES SEQ 0237
7339 020447' 336 00 0 00 021106' $INT13: SKIPN $INTDF ;FIRST DEFAULT INIT ?
7340 OUTSTR [ASCIZ/
7341 ****
7342 USING 'DSK' PRINT FILE
7343 ****
7344 020450' 051 03 0 00 020632' /]
7345 020451' 476 00 0 00 021106' SETOM $INTDF
7346 020452' 041 17 0 00 000000 INIT $DEVCH,0
7347 020453' 44 63 53 00 00 00 SIXBIT /DSK/
7348 020454' 000070' 000000 XWD $OBUF,
7349 020455' 254 00 0 00 020472' JRST $OERR1
7350 020456' 254 00 0 00 020436' JRST $INT11
7351
7352 ;*USER MODE CLOSE FILE
7353
7354 020457' 070 17 0 00 000000 $DRP10: CLOSE $DEVCH, ;CLOSE FILE
7355 020460' 063 17 0 00 740000 STATZ $DEVCH,740000 ;RECHECK FINAL ERROR BITS
7356 OUTSTR [ASCIZ/
7357 %PRINT CLOSE ERROR
7358 020461' 051 03 0 00 020643' /]
7359 020462' 071 17 0 00 000000 RELEAS $DEVCH, ;RELINQUISH DEVICE, WRITE DIRECTORY
7360 020463' 402 00 0 00 000051' SETZM $DVOFF
7361 020464' 263 17 0 00 000000 RTN ;EXIT
7362
7363 020465' $OUTER: OUTSTR [ASCIZ/
7364 %PRINT OUTPUT ERROR
7365 020465' 051 03 0 00 020650' /]
7366 020466' 332 00 0 00 000303' SKIPE $$OUTER
7367 020467' 256 00 0 00 000303' XCT $$OUTER ;EXECUTE USERS ERROR RTN, IF PROV.
7368 020470' 047 01 0 00 000012 EXIT 1, ;ERROR, QUIT
7369 020471' 254 00 0 00 000345' JRST START ;RESTART USER SEGMENT
7370
7371 020472' $OERR1: OUTSTR [ASCIZ/
7372 020472' 051 03 0 00 020655' DSK INIT ERROR/]
7373 020473' 254 00 0 00 020465' JRST $OUTER ;DISK PRINT OUTPUT ERROR
7374
7375 020474' $OERR2: OUTSTR [ASCIZ/
7376 020474' 051 03 0 00 020661' NO DIR ROOM/]
7377 020475' 254 00 0 00 020465' JRST $OUTER ;DISK PRINT OUTPUT ERROR
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 201
SMFILE MAC 19-Feb-79 10:46 *STOR* RESERVED STORAGE SEQ 0238
7378 SUBTTL *STOR* RESERVED STORAGE
7379
7380 ;PROGRAM LITERALS
7381 020476' LIT
7382 020476' 123 115 106 111 114
7383 020477' 105 000 000 000 000
7384 020500' 104 105 103 123 131
7385 020501' 123 124 105 115 055
7386 020502' 062 060 062 060 000
7387 020503' 122 101 115 000 000
7388 020504' 000112 000011
7389 020505' 260 17 0 00 016672'
7390 020506' 254 00 0 00 016725'
7391 020507' 76 51 54 54 45 47
7392 020510' 41 54 00 65 65 57
7393 020511' 76 65 65 57 75 75
7394 020512' 46 54 41 47 63 75
7395 020513' 00 00 60 43 76 77
7396 020514' 037 12 0 00 000001
7397 020515' 254 00 0 00 017025'
7398 020516' 037 15 0 00 000003
7399 020517' 254 00 0 00 017025'
7400 020520' 037 14 0 00 000003
7401 020521' 254 00 0 00 017025'
7402 020522' 037 17 0 00 000001
7403 020523' 254 00 0 00 017025'
7404 020524' 000001 000001
7405 020525' 41 60 62 51 44 00
7406 020526' 000020 000011
7407 020527' 45 62 62 57 62 00
7408 020530' 50 41 54 64 00 41
7409 020531' 64 00 77 00 00 00
7410 020532' 46 41 64 41 54 00
7411 020533' 60 62 57 47 62 41
7412 020534' 55 00 45 62 62 57
7413 020535' 62 00 41 64 00 77
7414 020536' 66 45 62 63 51 57
7415 020537' 56 00 77 00 00 00
7416 020540' 14 00 64 57 60 63
7417 020541' 15 21 20 77 00 00
7418 020542' 14 00 64 57 60 63
7419 020543' 15 22 20 77 00 00
7420 020544' 14 00 53 63 21 20
7421 020545' 77 00 00 00 00 00
7422 020546' 037 02 0 00 020544'
7423 020547' 254 00 0 00 017135'
7424 020550' 14 00 53 54 21 20
7425 020551' 77 00 00 00 00 00
7426 020552' 332 00 0 00 000305'
7427 020553' 254 00 0 00 020546'
7428 020554' 037 02 0 00 020550'
7429 020555' 254 00 0 00 017135'
7430 020556' 14 00 53 41 21 20
7431 020557' 77 00 00 00 00 00
7432 020560' 037 02 0 00 020556'
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 201-1
SMFILE MAC 19-Feb-79 10:46 *STOR* RESERVED STORAGE SEQ 0239
7433 020561' 254 00 0 00 017135'
7434 020562' 14 00 53 51 21 20
7435 020563' 77 00 00 00 00 00
7436 020564' 14 00 43 60 65 03
7437 020565' 35 77 00 00 00 00
7438 020566' 45 56 44 00 60 41
7439 020567' 63 63 00 77 00 00
7440 020570' 44 07 0 00 020671'
7441 020571' 600000 000204
7442 020572' 00 71 00 57 62 00
7443 020573' 56 00 34 43 62 36
7444 020574' 00 15 00 77 00 00
7445 020575' 421042 104210
7446 020576' 44 06 0 00 000001
7447 020577' 015 012 052 052 052
7448 020600' 052 052 052 015 012
7449 020601' 105 130 103 105 105
7450 020602' 104 105 104 040 101
7451 020603' 114 114 117 127 105
7452 020604' 104 040 120 122 111
7453 020605' 116 124 117 125 124
7454 020606' 123 015 012 000 000
7455 020607' 037 12 0 00 000001
7456 020610' 254 00 0 00 017775'
7457 020611' 037 01 0 00 000063'
7458 020612' 254 00 0 00 020001'
7459 020613' 037 12 0 00 000001
7460 020614' 254 00 0 00 020026'
7461 020615' 037 12 0 00 000001
7462 020616' 254 00 0 00 020042'
7463 020617' 015 012 114 117 107
7464 020620' 040 117 125 124 120
7465 020621' 125 124 040 105 122
7466 020622' 122 117 122 040 055
7467 020623' 040 114 117 107 107
7468 020624' 111 116 107 040 123
7469 020625' 124 117 120 120 105
7470 020626' 104 015 012 000 000
7471 020627' 10 07 0 00 020666'
7472 020630' 104 105 126 072 000
7473 020631' 070000 020000
7474 020632' 015 012 052 052 052
7475 020633' 052 015 012 125 123
7476 020634' 111 116 107 040 047
7477 020635' 104 123 113 047 040
7478 020636' 120 122 111 116 124
7479 020637' 040 106 111 114 105
7480 020640' 015 012 052 052 052
7481 020641' 052 015 012 000 000
7482 020642' 104 123 113 072 000
7483 020643' 015 012 045 120 122
7484 020644' 111 116 124 040 103
7485 020645' 114 117 123 105 040
7486 020646' 105 122 122 117 122
7487 020647' 015 012 000 000 000
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 201-2
SMFILE MAC 19-Feb-79 10:46 *STOR* RESERVED STORAGE SEQ 0240
7488 020650' 015 012 045 120 122
7489 020651' 111 116 124 040 117
7490 020652' 125 124 120 125 124
7491 020653' 040 105 122 122 117
7492 020654' 122 015 012 000 000
7493 020655' 015 012 104 123 113
7494 020656' 040 111 116 111 124
7495 020657' 040 105 122 122 117
7496 020660' 122 000 000 000 000
7497 020661' 015 012 116 117 040
7498 020662' 104 111 122 040 122
7499 020663' 117 117 115 000 000
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 202
SMFILE MAC 19-Feb-79 10:46 *STOR* RESERVED STORAGE SEQ 0241
7500 020665' 000000 000000 ENDSLD: 0
7501
7502 ;END OF PROGRAM VARIABLES
7503
7504 020666' FILASC: BLOCK 3
7505
7506 020671' D$ISTR: BLOCK ^D30 ;INPUT STORAGE
7507
7508 020727' PATCH: BLOCK 100 ;DEBUGGING AREA
7509
7510 ;PROGRAM VARIABLE WORDS
7511
7512 021027' VAR
7513
7514 021143' 000000 000000 END: 0
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 203
SMFILE MAC 19-Feb-79 10:46 STORAGE -- ZEROED ON STARTUP SEQ 0242
7515 SUBTTL STORAGE -- ZEROED ON STARTUP
7516 021144' FIRZER:!
7517
7518 021144' LEV1PC: BLOCK 1 ;RETURN PC FOR PSI'S
7519 021145' LEV2PC: BLOCK 1 ; ..
7520 021146' LEV3PC: BLOCK 1 ; ..
7521 021147' LF1PC: BLOCK 1 ;RETURN PC FOR PSI'S
7522 021150' LF2PC: BLOCK 1 ; ..
7523 021151' LF3PC: BLOCK 1 ; ..
7524 021152' EXMADR: BLOCK 1 ;ADDRESS OF LAST EXAMINE COMMAND
7525 021153' BITPTR: BLOCK 1 ;BYTE POINTER TO INPUT BIT
7526 021154' BITBYT: BLOCK 1 ;INPUT BYTE
7527 021155' CMDMSG: BLOCK 1 ;POINTER TO ERROR MESSAGE
7528 021156' CZADR: BLOCK 1 ;WHERE TO GO ON CONTROL-Z
7529 021157' CZSP: BLOCK 1 ;CONTROL-Z STACK POINTER
7530 021160' CTADR: BLOCK 1 ;WHERE TO GO ON CONTROL-T
7531 021161' CMFILE: BLOCK 1 ;COMMAND JFN
7532 021162' UCFILE: BLOCK 1 ;INPUT JFN
7533 021163' DEPFLG: BLOCK 1 ;0=EXAMINE, -1=DEPOSIT
7534 021164' LASTCA: BLOCK 1 ;LAST CRAM ADDRESS
7535 021165' INTAKE: BLOCK 1 ;-1 DON'T TYPE DATA BECAUSE OF TAKE CMD
7536 021166' ULDSTR: BLOCK 4 ;".ULD" LINE STORAGE
7537 021172' IBF: BLOCK 2 ;INPUT FILE POINTERS
7538 021174' DSKBF: BLOCK 3
7539 021177' GSBF: BLOCK 3
7540 021202' DSKLIN: BLOCK ^D30
7541 021240' DSKNAM: BLOCK 1
7542 021241' DSKEXT: BLOCK 3
7543 021244' $CCLF: BLOCK 1
7544 021245' $CMNTF: BLOCK 1
7545 021246' $LISTF: BLOCK 1
SMFILE DECSYSTEM 2020 DIAGNOSTICS FE-FILE PROGRAM, VER 0,3 MACRO %53(1020) 10:47 19-Feb-79 Page 204
SMFILE MAC 19-Feb-79 10:46 STORAGE -- ZEROED ON STARTUP SEQ 0243
7546 021247' CFCALL: BLOCK 1
7547 021250' CFJ: BLOCK 1
7548 021251' CFNBR: BLOCK 1
7549 021252' CFALU: BLOCK 1
7550 021253' CFSD: BLOCK 1
7551 021254' CFAB: BLOCK 1
7552 021255' CFRBM: BLOCK 1
7553 021256' CFSPEC: BLOCK 1
7554 021257' CFDISP: BLOCK 1
7555 021260' CFSKIP: BLOCK 1
7556 021261' CFT: BLOCK 1
7557 021262' CFC: BLOCK 1
7558 021263' CFSC: BLOCK 1
7559 021264' CFFE: BLOCK 1
7560 021265' CFFM: BLOCK 1
7561 021266' CFMC: BLOCK 1
7562 021267' CFDV: BLOCK 1
7563 021270' CFMP: BLOCK 1
7564 021271' CFCL: BLOCK 1
7565 021272' CFCR: BLOCK 1
7566 021273' CFMARK: BLOCK 1
7567 021274' STBUF: BLOCK 40 ;STRING BUFFER
7568 021334' LFPDL: BLOCK 100
7569 021433' ENDZER==.-1
7570
7571 021640' RELOC <<.+1140>&777000>-140
7572 021640' IPAG: BLOCK ^D512
7573
7574 000003 000306' END <3,,EV>
NO ERRORS DETECTED
PROGRAM BREAK IS 022640
CPU TIME USED 00:54.339
78P CORE USED
A 66# 2040 2042 2193 2195 2345 2347 4781 4783
AC 76# SEQ 0244
AC0 71# 6096 6097 6098 6099 6101 6104 6106 6107 6116 6119 6120 6130 6133
6136 6137 6260 6265 6280 6380 6572 6574 6576 6803 6821 6847 7106 7148
AC1 72#
AC10 56# 4180 4197 4223 4228 4282 4283 4284 4285 4286 4287 4288 4289 4290
4291 4292 4293 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344
4345 4346 4347 4348 4349 4350 4351 4353 4354 4355 4359 4363 4393 4886
4890 4893 4894 5531
AC11 57# 843 4181 4218 4224 4294 4295 4296 4297 4298 4299 4300 4301 4302
4325 4326 4327 4329 4332 4358 4360 4361 4362 4374 4375 4376 4377 4378
4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 5536
AC12 58# 843 845 4181 4219 4303 4304 4305 4306 4307 4308 4309 4310 4311
4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4328 4330
4331 4333 4352 4356 4357 4365 4366 4367 4368 4369 4370 4371 4372 4373
4394 5538 5539
AC13 59# 844 848
AC2 73#
AC3 74#
AC4 75#
ACBLK0 2628 2651#
ACBLK1 2622 2650#
ACBLK2 2616 2649#
ACBLK3 2610 2648#
ACBLK4 2604 2647#
ACBLK5 2598 2646#
ACBLK6 2592 2645#
ACBLK7 2586 2644#
ARGBLK 1359 1365 1366 1372 1408# 1434 1440 1441 1447
ARGLN 1366 1407# 1408 1441
AROV 258#
AROVU 322#
ATOM 791 5967 5989#
B 67# 3874 3875 3880
B2PLSH 4764#
BADHOM 3235 3239#
BC1FLG 1057# 1057 1059 1113 1115 1131 1133 2669 2671 2684 2695 2714 3257 3259
3262 3302 3304 3312 3314 3358 3360 4125 4166 4168 4463 4465 4489 4491
4532 4534 5221 5223
BC1L 102# 1349 2685 2717
BC1P 101# 2716
BC210 1843 2300#
BC210A 2358# 2419
BC210C 2359 2367#
BC210D 2369# 2416
BC210E 2376# 2380
BC210F 2379#
BC210G 2377 2382#
BC210H 2370 2407 2414#
BC210I 2415#
BC210J 2438# 2446
BC210K 2440 2448#
BC2LP 1889# 1895
BCHKL 114# 1883 1887 1904 2334
BCHKP 113# 2431 SEQ 0245
BCKL 105# 1352
BCKP 104#
BCPREB 126# 2448 2449 2450 2452 2453
BIS 262#
BITBYT 7526#
BITPTR 7525#
BLKSIZ 3384# 3493 3496 3499 4762#
BOORG 1511# 2459 4911
BOOTEV 1568# 1616 1664 1738 1786 1860 1908 2099 2112 2252 2265 2410 2423 4609
4635
BTADDR 3165# 3165 3169 3179 3190 3872 4066 4074 4102
BTHLT0 2463# 2541
BTHLT1 2464# 2545
BTHLT2 2465# 2476
BTHLT3 2466#
BTJFN 1566# 1585 1607 1705 1729 1827 1851 4567 4600
BTLADR 3875# 3875 3897 4063 4065 4069 4098
BTLPAG 3878# 3878 4072 4100
BTSTAR 2461 2468#
BTSTR1 1675 1676 2141 2142 2458#
BTSTRT 2461#
BTUBP0 2477 2519 2566 2659#
BTUBST 2478 2568 2660#
BTVER 2571 2657#
BUFFER 1368 1386 1443 1461 1565#
BUFSIZ 1565#
BYTE 82#
C 68# 3529 3530 3533 3877 3878
CCBLK 763 3454# 5811 5813 5817
CCINT 3454 5816#
CCLBLK 3750 3764 3766 3812#
CCLDIR 3753 3758 3761 3771 3814#
CF%NUD 4659
CFAB 5666 7551#
CFALU 5648 7549#
CFC 5716 7557#
CFCALL 5630 7546#
CFCL 5766 7564#
CFCR 5777 7565#
CFDISP 5697 7554#
CFDV 5745 7562#
CFFE 5727 7559#
CFFM 5733 7560#
CFJ 5635 7547#
CFM 623# 831
CFMARK 5782 7566#
CFMC 5739 7561#
CFMCM1 833 838#
CFMCMD 422 830#
CFMP 5754 7563#
CFNBR 5643 7548#
CFRBM 5677 7552#
CFSC 5722 7558# SEQ 0246
CFSD 5659 7550#
CFSKIP 5706 7555#
CFSPEC 5687 7553#
CFT 5711 7556#
CHKCNT 3515#
CHNTAB 662 5834#
CHR 77#
CHR1 78#
CL.DLL 2116 2269 2427 2871 3414# 4057
CLKU 320#
CM%DPP 1039
CM%ESC 590 591 595 597
CM%FNC 586 621 623 860 973 1021 1024 1026 1038 1039 1052 1061 1062 1074
1075 1104 1117 1118 1148 1223 1251 1585 1705 1827 2673 2726 2741 2936
2940 3261 3272 4459 4467 4477 4567 4573 4583 5176 5185
CM%HPP 1039
CM%NOP 795 801 831 860 973 1021 1024 1026 1038 1039 1052 1061 1062 1074
1075 1108 1117 1118 1148 1223 1251 1585 1705 1827 2673 2726 2741 2936
2940 3261 3272 4459 4467 4477 4567 4573 4583 5176 5185
CMDBUF 785 834 838 5963 5964 5988#
CMDCNT 3466#
CMDE10 698 729#
CMDERR 697# 795 801 831 860 973 1021 1024 1026 1038 1039 1052 1061 1062
1074 1075 1108 1117 1118 1148 1223 1251 1585 1705 1827 2673 2726 2741
2936 2940 3261 3272 4459 4467 4477 4567 4573 4583 5176 5185
CMDFNC 586# 801
CMDMSG 708 714 729 732 795 801 831 860 973 1021 1024 1026 1038 1039
1052 1061 1062 1074 1075 1108 1117 1118 1148 1223 1251 1585 1705 1827
2673 2726 2741 2936 2940 3261 3272 4459 4467 4477 4567 4573 4583 5176
5185 7527#
CMFILE 5185 5196 7531#
CMJERR 795 801 809# 831 860 973 1021 1024 1026 1038 1039 1052 1061 1062
1074 1075 1108 1117 1118 1148 1223 1251 1585 1705 1827 2673 2726 2741
2936 2940 3261 3272 4459 4467 4477 4567 4573 4583 5176 5185
CNT 80#
CO%NRJ 4655
COMEND 3529#
CONCIN 645 5811#
CONSW 451# 6065 6067# 6067 6504 6512 6800 7106 7157 7215
COPPAG 1649 1771 1893 1935#
CPBPNT 1495# 1714 1836
CPOPJ 466#
CPOPJ1 464# 1431 2926 2979 2983 2987 2991 3228 3254 3608 3641 3689 3739 3935
3948 3963 3975 3986 6441
CR%CAP 983
CRAM 119# 1090 1132 2694 3303 3313 3359 4127 4128 4129 4167 4490 4533 5222
CRAMT6 4170# 4170 4217 5526
CREST1 3882# 4120
CREST2 3906# 3923
CREST3 3908 3917#
CRESTR 3880 3883 4032#
CRLF 223 224 520#
CRLF2 229 230 522# SEQ 0247
CRMBC1 124# 1134 2696 3305 3315 3361 4131 4132 4133 4169 4492 4535 5224
CRMFLD 1142 5625#
CRPOPJ 5570 5589# 5613
CRY0 259#
CRY1 260#
CSB 638 782 786 787 789 790 792 795 801 820 824 831 860 973
1021 1024 1026 1038 1039 1052 1061 1062 1074 1075 1108 1117 1118 1148
1223 1251 1585 1705 1827 2673 2726 2741 2936 2940 3261 3272 3778 4459
4467 4477 4567 4573 4583 5176 5185 5191 5202 5565 5573 5960#
CTADR 784 798 802 4124 5904 5907 7530#
CTLC 5865 5874#
CTLO 5868 5912#
CTLROK 3837 3839 3842 3845#
CTLT 5867 5904#
CTLX 5864 5882#
CTLZ 5866 5893#
CTYPF 3409#
CX 62# 5907 5909
CYCL60 6217# 6217
CZADR 5215 5524 5893 5896 7528#
CZSP 5216 5525 7529#
D 69#
D$ISTR 6462 7506#
DAT 3195 3198 3207 3213 3214 3375# 3623 3638 3889 3891 3900 3906 3910
DATBUF 3447 3486#
DATDEV 3401 3460# 3822 3850
DATEND 3487#
DATLST 3447#
DBFLGS 1015# 1017 1024
DBOOTL 111# 1761 1765 1782 2181
DBP 110# 2273
DBUF 2040 2041 2047 2193 2194 2200 2345 2346 2352 4770# 4781 4782 4788
DCK 266#
DEBUGF 1016 1228 1238 1264 1301 1331 3227 5990#
DECVER 4# 10 15 581 2657 5148 6003 6033
DEP 590 591 593 1051#
DEPCMD 1046# 1049 1052
DEPFLG 1068 5559 7533#
DEVJFN 7200 7243# 7243 7273
DEVSTR 1256 3818#
DIR 3378# 4118
DIRBUF 3445 3489#
DIRDEV 954 2017 2170 2323 2850 3023 3402 3458# 3821 3823 3845
DIRDIR 2014 2167 2320 2847 3020 3819# 3819
DIRLST 3445#
DOP%WR 3224
DPBC1 1047 1057#
DPBL 99# 1346
DPBP 98#
DPCRAM 1048 1058 1059#
DPREBP 122# 2290 2291 2292 2294 2295
DPYA 5296# 5308
DPYALU 5258# 5271 SEQ 0248
DPYB 5305# 5318
DPYCAL 5226# 5229 5238
DPYCHL 5480# 5492
DPYCHR 5506# 5518
DPYCLL 5462# 5474
DPYCLR 5489# 5500
DPYCRY 5391# 5403
DPYDBM 5332# 5347
DPYDBU 5324# 5335
DPYDES 5286# 5299
DPYDIS 5355# 5375
DPYDIV 5435# 5447
DPYFLD 1069 5214#
DPYFMW 5417# 5429
DPYGEL 5471# 5483
DPYGER 5497# 5509
DPYJ 5235# 5250
DPYLFE 5409# 5420
DPYLSC 5400# 5412
DPYLSR 5268# 5280
DPYMEM 5426# 5438
DPYMK 5515#
DPYMP 5444# 5456 5465
DPYMS 5453#
DPYNBR 5244# 5261
DPYRAM 5315# 5327
DPYRSR 5277# 5289
DPYSKI 5369# 5385
DPYSPE 5341# 5361
DPYT 5382# 5394
DSKBF 7538#
DSKEXT 7542#
DSKLIN 7540#
DSKNAM 7541#
DSKTYP 939 959 1392# 1392 1466# 1466 3835
DSKUPN 3402# 3929 3969 3980
E10ALC 3403# 3735
E10STS 3404# 3733
E20ALC 3405#
E20STS 3406#
ECHO 596 1037#
ECOFLG 835 1042 3779 5203 5994#
EMDFNC 1104# 1108
END 7514#
ENDBLK 3490#
ENDDPY 1096 5214 5524# 5622
ENDLIT 5957#
ENDSLD 7500#
ENDZER 635 7569#
ENTBLK 3403 3404 3496# 3659 3660 3661 3664 3667 3670 3673 3676 3678 3680 3683
3686 3687 3707 3708 3709 3712 3714 3718 3720 3722 3724 3726 3728 3731
3737 4010 4012
EOCF 816# SEQ 0249
EOFSW 1201 2825 3031 3364 3512 3536 3574# 3574 4441
ERR% 739# 822 869 884 922 1064 1081 1083 1086 1123 1175 1198 1269 1278
1286 1309 1312 1321 1402 1476 1489 1500 1590 1592 1630 1710 1712 1752
1832 1834 1874 1941 1995 2025 2033 2044 2069 2078 2094 2148 2178 2186
2197 2222 2231 2247 2301 2331 2339 2349 2374 2383 2405 2676 2678 2729
2746 2753 2758 2779 2808 2809 2813 2817 2864 2869 2928 2942 2948 2960
3005 3027 3131 3157 3196 3210 3237 3244 3280 3323 3330 3331 3336 3356
3531 3534 3549 3585 3624 3657 3705 3743 3767 3772 3789 3826 3831 3843
3848 3853 3865 3869 3887 3894 3898 3912 3914 3945 3960 3996 4002 4007
4013 4020 4055 4080 4091 4096 4111 4116 4163 4256 4409 4487 4506 4529
4545 4593 4657 4673 4683 4717 4750 4785 4794 4814 4823 4845 4906 5195
5199 5572 5584 5794 5798 5808 5942
ERR%10 740 751#
ERRPC 456#
ERRTLS 457#
ETER10 2032 2185 2338 2863 3692# 4054
EV 579# 7574
EXAM 595 598 1107#
EXBC1 1100 1113#
EXCMDS 1099# 1102 1105
EXCRAM 1101 1114 1115#
EXCRM 1125#
EXFORK 987# 987 993
EXIOT 264#
EXJFN 982# 982 989
EXMADR 1065 1067 1124 1126 1129 5219 7524#
FADER 1449 1483#
FADN 1439# 1452 1456 1458 1463
FALIAS 1421 1434#
FAMS 1448#
FB%BSZ 4660
FB%NXF 1277
FB%PGC 1284
FEADR 1512#
FEDIR 87# 873 1295 1323 1324 1325 1337 1340 1343 1346 1349 1352 1628 1638
1639 1643 1654 1655 1657 1660 1750 1760 1761 1765 1776 1777 1779 1782
1872 1882 1883 1887 1898 1899 1901 1904 2028 2120 2181 2273 2334 2431
2683 2685 2712 2713 2716 2717 2751 2785 2791 2795 2799 2878 2952 3043
3050 3062 3069 3136 3149 3201 3903 3904
FEF10 2749 2812#
FEFERR 2766 2806#
FEFJFN 2741# 2741 2755 2760 2768 2777 2806
FEFNBR 2730# 2730 2797 2835 2837 2839 2876 2943 2950 3008 3010 3012
FEIBIG 2920 2925 2928#
FEICHR 2897 2901 2905 2909 2919#
FEIFMT 2781 2832 2888#
FEILP 2896# 2914
FEILP1 2902 2906 2910 2916#
FEILP2 2898 2917#
FEIPNT 2980 2984 2988 2992 2996#
FEITYP 2972 2978# 3034
FEJFN 928 1251 1259 1272 1288 1294 1567# 1637 1667 1759 1789 1881 1911 2689
2707 2784 2962 3155 SEQ 0250
FEMAX 1513#
FERSET 1315# 1315 1354 1591 1711 1833
FESETF 868 883 921 1314# 1314 1320 1589 1709 1831 2675 2745 2947 3130
FETEL0 3046# 3063
FETEL1 3047 3061#
FETEL2 3066 3072#
FETELL 856 3041#
FILASC 7234 7236 7240 7260 7262 7504#
FIND 1265 1359#
FINDAX 1470 1472 1474 1479#
FINDER 1374 1412#
FINDN 1364# 1377 1381 1383 1388
FINDX 1396 1398 1400 1405#
FIRZER 632 634 7516#
FMT22 1534#
FORKN 1569# 1605 1608 1614 1620 1645 1684 1727 1730 1736 1742 1767 1806 1849
1852 1858 1864 1889 1928 1963 4598 4601 4607 4625 4649 4687
FOV 261#
FOVU 321#
FP 61# 5907 5909
FRKERR 5853 5918#
FSL 90# 873 1337 1628 1638 1654 1655 1657 1750 1760 1776 1777 1779 1872
1882 1898 1899 1901 2751 2785 2791 2795 3069
FSP 89#
FXU 265#
GENPAG 130# 1965 1978 2769 2775 2819 2820 2821 2823 2892 2919 4689 4695
GET10 1200 2824 3030 3363 3512# 3525 4439 4892
GET10Z 3513 3521#
GETBK1 3995#
GETBK2 2119 2272 2430 2874 4006# 4062
GETBUF 3484# 3891 4017 4022 4023
GJ%FOU 4473 4579
GJ%OLD 1159 1247 1581 1701 1823 2737 3269 4563 5182 5972
GJ%PHY 1159
GJ%SHT 977 1159 7239
GOARND 3895 4004 4015#
GSBF 7539#
GTFLD1 5568 5582#
GTJDEV 1190 1245 1578 1698 1820 2734 3024 3267 3576 3617 3747 3820 4032 4471
4519 4560 4577 4740 5180 5974#
GTJDIR 1191 1242 1579 1699 1821 2735 3021 3268 3599 3632 3760 3818 4041 4472
4525 4561 4578 4746 5181 5975#
GTJEXT 1195 1235 1576 1696 1818 2733 3018 3266 3351 3596 3629 3755 4038 4470
4523 4558 4576 4744 5179 5977#
GTJFIL 1193 1232 1573 1693 1815 2732 3015 3264 3593 3626 3752 4035 4468 4521
4555 4574 4742 5177 5976#
GTJFLG 1248 1582 1702 1824 2738 3270 4474 4564 4580 5183 5972#
GTJFNB 5969 5971#
H10LST 3449# 4093 4113
HDQ 3859 3863#
HEAD10 3397 3398 3494# 3569 3570 3571 3572
HEDBLK 3399 3400 3497# 3644 3645 3646 3647 3692 3693 3694 3695
HELP 601 1156# SEQ 0251
HELP10 1158 1189#
HELPEX 1168 1174#
HELPLP 1167# 1172
HLP10A 1200# 1207
HLP10X 1204# 1204 1205
HLPFIL 1160 1179 1184#
HMBK01 3387# 3867 4078
HMBK10 3391# 4084
HOLD 3438#
HOM 3379# 3932 3940 3947 3955 3962 4086 4093 4106 4113 4119
HOMB10 3449 3464# 4099 4101 4103
HOMBPC 3441# 4026
HOMBUF 906 910 914 1330 3085 3440 3441 3443 3462# 3871 3874 3877 4070 4073
4075
HOMCLP 3440# 4024
HOMLST 3443# 3947 3962
HOMPAG 132# 890 894 898 1308 1311 1328 3083 3108 3166 3170 3180 3230
HOMSET 3185#
I.DEV 3479#
I.EXT 3481#
I.NAM1 3480#
I.PPN 3482#
I.STR 3478#
IBF 4135 4406 4411 4430 4433 4444 4446 7537#
IC1TIM 5789# 5789 5803
IDISK 853 921#
IDSK10 925 953#
IFEF10 887 905#
IFEFIL 854 883#
IFIXX3 704
IFL0 117# 2799 2952 3043 3050
IFP0 116# 2878
IFREE 855 866#
IFREE1 867 880#
IN10 3516 3524#
INCNT 4141# 4141 4143 4418
INDX 81#
INFO 852# 857 860
INFORM 603 859#
INIT 621# 795
INTAKE 825 3780 5204 7535#
INTCOR 649 5789#
INTCR1 5790 5806#
INUPTR 6372 6452 6454 6463# 6463 6476 6503 6793
IOX4 813
IPAG 1972 1978 1979 2091 2098 2244 2251 2390 2391 2392 2402 2409 2783 2866
2888 2889 2890 2893 2963 2970 3201 3203 3207 3903 3906 4247 4422 4432
4533 4535 4538 4542 4695 4696 4700 4701 4702 4704 4791 4830 4831 4832
4842 4849 4866 4867 4868 4870 4871 4886 4903 7572#
ITRCNT 453# 6332
JBFFRC 3555 3588# 3588
JOB41 280# 6088
JOBAPR 288# SEQ 0252
JOBCNI 289#
JOBDDT 282#
JOBFF 286# 6058
JOBOPC 291#
JOBREL 281#
JOBREN 287# 6765
JOBSA 285# 6057
JOBSYM 283#
JOBTPC 290#
JOBUSY 284#
JOBUUO 279# 6097 6104 6131 6147 6156 6193 6200
JOBVER 292# 6295 6298
JSERR0 1291 1298 1418 1490 1603 1611 1672 1681 1686 1725 1733 1794 1803 1808
1847 1855 1916 1925 1930 1968 1975 1984 2772 2788 2966 3152 3309 4251
4426 4596 4604 4646 4651 4692 4708
JSHLT0 656 659 664 668 672 676 680 684 689 692 702 811 814 931
980 985 991 996 999 1002 1262 1276 1283 2692 2710 3241
K 4775#
K%INIT 30# 647
KAIFLG 446# 6220 6243 6247 6311
KLFLG 447# 6219 6225 6237 6305
KPALIV 1523# 2390 2391 2480 2579 2639 4700 4701 4830 4831 4933 5057 5081
KSCRMP 4183 4282#
KSSHF3 4180#
KSSHF4 4189 4192#
KSXX 4192 4197# 5545
KSXX1 4203 4206#
KSXX2 4211 4214#
L 5957#
L...TY 2931 2933#
L.DBFL 1015 1017#
L.DEPC 1046 1049#
L.EXCM 1099 1102#
L.INFO 852 857#
L.MAIN 588 619#
L.OUTC 4451 4456#
L.SETC 1010 1013#
L.WRTC 1210 1220#
L.YESN 1032 1035#
LASTCA 7534#
LEV1PC 5826 5875 5887 5898 7518#
LEV2PC 5827 5919 7519#
LEV3PC 5828 7520#
LEVTAB 662 5826#
LF1PC 5830 7521#
LF2PC 5831 7522#
LF3PC 5832 7523#
LFLVTB 5830#
LFPDL 7568#
LOGEXT 5997#
LOGFLG 5992# 7214
LOGNAM 5996#
LOOK10 1997 2003 2006 2009 2011 2023 2150 2156 2159 2162 2164 2176 2303 2309 SEQ 0253
2312 2315 2317 2329 2815 3338 3341 3344 3346 3349 3405 3406 3493# 3594
3597 3600 3603 3605 3999 4001 4719 4722 4725 4727
LOOP1 3363# 3367
LOOP2 3365 3369#
LP 79#
LUUO 272# 6849
LUUO1 482 483
LUUO10 482 487
LUUO11 482 487
LUUO12 482 488
LUUO13 482 488
LUUO14 482 489
LUUO15 482 489
LUUO16 482 490
LUUO17 482 490
LUUO2 482 484
LUUO20 482 491
LUUO21 482 491
LUUO22 482 492
LUUO23 482 492
LUUO24 482 493
LUUO25 482 493
LUUO26 482 494
LUUO27 482 494
LUUO3 482 484
LUUO30 482 495
LUUO31 482 495
LUUO32 482 496
LUUO33 482 496
LUUO4 482 485
LUUO5 482 485
LUUO6 482 486
LUUO7 482 486
LUUOI 273#
M 2053 2054 2064 2065 2066 2105 2206 2207 2217 2218 2219 2258 2358 2359
2369 2370 2371 2416 4774# 4798 4799 4809 4810 4811 4856
MAINCM 587 588# 619
MBOOTL 108# 1639 1643 1660 2028
MBOOTP 107# 2120
MC.DAT 3345 3347 3503# 4515
MC.TIM 3342 3502# 4513
MC.VER 3339 3501# 4511
MCL 93# 1340 2683 2713
MCNVER 3# 10 15 581 2657 5148 6003 6033
MCP 92# 2712
MCPE 1531# 2527
MONCTL 449# 6291 6381 6766 7172
MONFLG 448#
MONTEN 450#
MONTYP 556# 590 591 595 597 640 697 739 795 801 831 860 866 886
924 973 974 1021 1024 1026 1038 1039 1052 1061 1062 1074 1075 1108
1117 1118 1148 1149 1157 1223 1230 1240 1251 1255 1327 1329 1585 1598
1705 1720 1827 1842 2673 2680 2726 2741 2748 2936 2940 2954 3065 3082 SEQ 0254
3084 3134 3145 3250 3252 3261 3272 3274 4136 4243 4416 4459 4467 4477
4481 4567 4569 4573 4583 4587 5176 5185 5188 5563 6018 6047 6052 6059
6061 6227 6266 6300 6302 6345 6383 6407 6448 6478 6480 6500 6502 6755
6780 7166 7168 7176 7178 7195 7232 7270
MPBL 96# 1343
MPBP 95#
MPREBP 121# 2137 2138 2139 2141 2142
MPVU 317#
MS 1373#
MS%MNT 1380 1455
MS%OFL 1382 1457
MSDRIV 1525# 2486 2536 2577 2637 4929 5053 5077
MSDRSV 2487 2576 2636 2655#
MSKPAL 2481 2578 2638 2653#
MSRH 1524# 2473 2575 2635 4924 5051 5075
MSRHSV 2474 2574 2634 2654#
MSSLAV 1526# 2392 4702 4832 4931 5055 5079
MSTX18 1417 1488
MSTX27 1376 1415 1451 1486
MT.DAT 3506# 4726 4728 4736
MT.RF 1538# 4966
MT.SAD 3507# 4850 4863
MT.SF 1539# 5067
MT.SR 1540# 5007
MT.TIM 3505# 4723 4734
MT.VER 3504# 4720 4732
MTAS 5158#
MTBA 4961 5153#
MTBADR 4953 5017#
MTBLK0 5125 5141#
MTBLK1 5119 5140#
MTBLK2 5113 5139#
MTBLK3 5107 5138#
MTBLK4 5101 5137#
MTBLK5 5095 5136#
MTBLK6 5089 5135#
MTBLK7 5083 5134#
MTCC 5159#
MTCOPP 4629 4676#
MTCS1 4967 5008 5029 5068 5150 5151#
MTCS2 4987 4990 5031 5155#
MTDB 5160#
MTDRSV 4930 4989 5052 5076 5145#
MTDRY 1543# 4982
MTDS 4980 5033 5156#
MTDT 5162#
MTER 4973 5035 5157#
MTFAIL 4971 5000 5020#
MTFC 4996 5005 5154#
MTFCE 1544# 4974
MTHLT0 4914# 5017
MTHLT1 4915# 5020
MTHLT2 4916# 4927 SEQ 0255
MTHLT3 4917# 5014
MTJFN 4583# 4583 4590 4621 4642 4654 4658 4664 4671
MTKPAL 4934 5056 5080 5143#
MTMR 5161#
MTPAG 4947 5168#
MTPAGD 4615 4616 4624 4796 5171#
MTPAGX 4617 4639 4871 5172#
MTPGLP 4625# 4631
MTPIP 1542# 4981
MTPNTR 4937 5150#
MTRDY 4969 4980# 4983 5010 5070
MTRHSV 4925 4936 5050 5074 5144#
MTRTRX 4975 5000#
MTSERR 5014# 5072
MTSLSV 4932 4992 5054 5078 5146#
MTSN 5163#
MTSRH 4949 4986# 5002 5065
MTSTAR 4913 4919#
MTSTR1 4638 4639 4870 4871 4910#
MTSTRT 4913#
MTTC 4993 5164#
MTTM 1541# 4970 5071
MTUBP0 4942 4958 5042 5165#
MTUBST 4944 5044 5166#
MTVER 5047 5148#
MTWC 4964 5152#
N 4773#
NEXT 650 694 784# 806
NOHELP 1162 1165 1178#
NOPNT 44# 6801 7120
NOTYPE 5912# 5912 7164
NXMU 318#
O.DATE 2010 2012 2163 2165 2316 2318 2858 3474# 3675 3677 3721 3723 4047 4516
4737
O.DEV 2018 2171 2324 2851 3469# 3650 3697 4033 4520 4741
O.EXT 2001 2154 2307 2845 3471# 3666 3713 4039 4524 4745
O.NAM1 1998 2151 2304 2842 3470# 3663 3711 4036 4522 4743
O.PPN 2015 2168 2321 2848 3473# 3669 3715 4042 4526 4747
O.PRT 2021 2174 2327 2854 3472# 3672 3719 4045 4517 4738
O.STR 3468#
O.TIME 2007 2160 2313 2857 3475# 3679 3725 4048 4514 4735
O.VER 2004 2157 2310 2856 3476# 3682 3727 4049 4512 4733
ODAT10 3195 3499# 3627 3630 3633 3636 3638 3885
OF%APP 7244
OF%NWT 1163
OF%RD 1163 1289 2756 3278 5197
OF%WR 1289 4485 4591
OMT10 4570 4716#
OMT10A 4588 4732#
OPEN10 3492# 3573 3577 3582 3584
OPNBLK 3495# 3648 3653 3655 3656 3696 3700 3702 3704
OPND10 3498# 3611 3612 3613 3614 3615 3618 3621 3623
OPNDAT 3611# 3882 SEQ 0256
OPNHOM 3864 3928#
OPNTDM 3566 3568# 3568 3580 3590
OPNTEN 1197 1994 2147 2300 2812 3026 3335 3568# 4716
OPNWRT 3644# 4528 4749
OPRCDP 3979# 3995 4006
OPTIME 507#
OPWCDP 3968#
ORAM10 4482 4511#
ORAM11 4537# 4547
OUTBC1 4452 4463#
OUTCMD 4451# 4456 4459
OUTJFN 4477# 4477 4484 4504
OUTLP 4494# 4502
OUTMT 4454 4554#
OUTRAM 4453 4455 4464 4465#
OUTX 605 4458#
P 64# 137 138 139 140 465 699 705 744 757 795 796 801 831
860 973 1021 1024 1026 1038 1039 1052 1061 1062 1074 1075 1108 1117
1118 1120 1148 1223 1251 1585 1705 1827 2673 2726 2741 2936 2940 3261
3272 4436 4447 4459 4467 4477 4567 4573 4583 4949 4969 4984 4998 5002
5010 5065 5070 5176 5185 5216 5525 5579 5586 5602 5609 5895 5899 5907
5909 6069 6101 6116 6280 6338 6422 6509 6552 6627 6716
P1 83# 1637 1638 1639 1653 1654 1659 1660 1759 1760 1761 1775 1776 1781
1782 1881 1882 1883 1897 1898 1903 1904 1971 1988 2473 2474 2475 2477
2478 2484 2488 2491 2493 2503 2505 2508 2511 2522 2523 2534 2537 2553
2555 2557 2559 2561 2563 4621 4622 4667 4705 4712 4946 5000
P2 84# 1641 1662 1665 1763 1784 1787 1885 1906 1909 1952 1954 1957 1958
2050 2051 2087 2089 2110 2113 2203 2204 2240 2242 2263 2266 2355 2356
2398 2400 2421 2424 4624 4633 4636 4676 4677 4796 4838 4840 4861 4864
P2BLSH 2067 2220 2372 4763# 4812
P2WLSH 2058 2211 2363 4765# 4803
PA%PEX 1624 1648 1746 1770 1868 1892 4628
PA%RD 1624 1648 1746 1770 1868 1892 4628
PAG0FL 1938# 1938 1944 1948 4681# 4681 4685 4698
PAGELP 1645# 1651
PAGSIZ 2103 2256 2414 4761# 4854
PARFLG 4206 4214 5991#
PARSE 796# 5960
PARSET 797 5949#
PARU 319#
PASCNT 452# 6331 6334
PATCH 7508#
PB.CRA 4207 4393# 5542
PB.CRM 4215 4394# 5543
PBCNT 1642# 1642 1656 1659 1764 1778 1781 1886 1900 1903 1989
PDISF 504# 6741# 6741 6822# 6822 6825
PDLOVU 316#
PG.EAT 4760#
PG.LEB 4759#
PGINGO 6075#
PGMNAM 6002 6005#
PHYDEV 3401#
PLIST 542# 542 796 6069 SEQ 0257
PLISTE 542 544#
PLISTS 543#
PM%CNT 3306
PM%CPY 2770 3306
PM%PLD 1296 2770 3306
PM%RD 1296 1670 1792 1914 1966 1973 2770 2964 3306 4690
PM%WR 1296 1670 1792 1914 1973 2786 3306 4644 4706
PM.ACC 4757#
PM.WRT 4758#
PNTENB 503# 6748 6798# 6798 7113
PNTEXT 6035# 7225
PNTFLG 502# 6745# 6745 6777 6796 6815
PNTINH 505# 6743# 6743
PNTLPT 45# 6505 6513 7158
PNTNAM 6034# 7227
PNTSPC 506# 630 6746# 6746 7010 7024
PRIME 3439# 3889 4015
PROMPT 583# 5962
PUSH10 975 1006#
PUSHCM 607 972#
PUSHPC 999# 5920
PUT10 3541#
PUTBUF 3542 3547#
PUTNXT 3544# 3548
Q 4772#
R10EOF 1202 2830 3038 3370 3553# 4244 4876
RADHOM 3868 3939#
RADIX 525# 7075
RADLSC 527# 7071
RADLSP 526# 7090
RC 3376# 3524 3529 3553 3554 3584 3591 3605 3983 4001 4012 4015 4017
RD%BRK 6464
RD%TOP 6464
RDABLK 2499# 2528 2539
RDADON 2500 2583#
RDATA 1529# 2521
RDBADR 2516 2541#
RDBC1 609 3257#
RDBYTE 4146 4153 4161 4175 4234 4237 4401 4406# 4412
RDEOL 4145 4401# 4404
RDEX10 4873 4901#
RDFAIL 2531 2545#
RDFLAG 1085 2677 3325 3369 4241 5993#
RDMT 4949# 4978 5012
RDMTDN 4955 5061#
RDRTRY 2533#
RDUI10 4417 4439#
RDUIBF 4440# 4440 4445
RDUINP 4408 4416#
RDULD 3289 3353 4123#
RDULDT 4123 5935#
RDULIN 4172# 4178
RDULT6 4164# 4164 5938 SEQ 0258
RDY 1530# 2492 2524
READ 610 3258 3259#
READ.1 4137 4145# 4150 4194 4236 4239
READ.2 4153# 4159
READ.3 4155 4161#
READ.5 4148 4234#
READ10 3275 3335#
READF 3299 3328#
REDDIR 2038 2191 2343 4779 4890#
REDEX2 4798# 4859
REDEX3 4799 4807#
REDEX4 4809# 4856
REDEX5 4816# 4820
REDEX6 4819#
REDEX7 4817 4822#
REDEX8 4810 4847 4854#
REDEX9 4855#
REDEXE 4752 4778#
REDHOM 1305 3160 3176 3225#
REDPAG 2080 2233 2385 4825 4886#
REEN 580 716 727 735 737 750 764 781# 3795 5886 5889
REEN20 6019 6023#
REENTR 6017# 6764
RHCLR 1536# 2483 2533 4986
RIPST 1528# 2490
RM03F 1394# 1394 1403 1468# 1468 1477 3087 3093 3095 3110 3116 3118 3833 3841
RP.ABC 3413# 3732
RP.NFS 3412# 3732
RPBA 1550# 2511
RPCS1 1548# 2491 2522 2523 2553
RPCS2 1552# 2484 2488 2534 2537 2555
RPDA 1551# 2503
RPDC 1558# 2505
RPDS 1553# 2493 2557
RPER1 1554# 2559
RPER2 1555# 2561
RPER3 1556# 2563
RPFC 1559#
RPOF 1557#
RPPAG 2496 2662#
RPPAGD 1594 1595 1641 2050 2125 2665#
RPPAGX 1596 1676 2142 2666#
RPTC 1560#
RPWC 1549# 2508
RSKP 3236 5560
RTTY 5822#
RUNFLG 454#
S%CMND 30# 795 801 831 860 973 1021 1024 1026 1038 1039 1052 1061 1062
1074 1075 1108 1117 1118 1148 1223 1251 1585 1705 1827 2673 2726 2741
2936 2940 3261 3272 4459 4467 4477 4567 4573 4583 5176 5185
S%ERR 30# 736
S%INIT 30# 646
S.ALO 2030 2183 2336 2861 3734 4052# 4052 SEQ 0259
S8080P 2718 3080# 3141 3192
SBINIT 147 6041#
SBOOTP 1953 3106#
SC 1533#
SC%CTC 657
SC%GTB 657
SELBLK 2074 2227 2379 4819 4882#
SELPAG 2037# 2037 2068 2071 2190# 2190 2221 2224 2342# 2342 2373 2376 4778# 4778
4813 4816 4897
SERIAL 612 1073#
SETCLR 1010# 1013 1021
SETDEB 592 1020#
SHOMEP 3163 3190#
SIXASC 7238 7288#
SIXOUT 843#
SIXSTR 7294 7299 7306#
SM10 574# 6218 6240 6306
SMPBBL 1506# 1506 1717 1839
SMPBPG 1503# 1503 1716 1763 1838 1885 2203 2278 2355 2436
SMPEND 33# 1718 1840
SMPREB 32# 1495 1502 1797 1919 2294 2452
SNBR 1075# 1075 1078
START 579 628# 1152 1292 1299 1419 1491 1612 1673 1682 1687 1734 1795 1804
1809 1856 1917 1926 1931 1969 1976 1985 2773 2789 2967 3153 3310 4252
4427 4605 4647 4652 4693 4709 5878 5931 6025 6348 7369
START1 641 651#
STBUF 927 934 1258 1267 1385 1460 3282 3283 3287 7567#
STPNTR 60# 4185 4186 4197 4200
STRCMP 1387 1425# 1430 1462
STRDES 1270# 1270 3231
STTY 5823#
SU.SOT 3408# 3954 4105
SUBRTN 6032#
SUBVER 6033#
SV.DIR 2042 2195 2347 4767# 4783
SV.END 4768#
T$INT 648 766#
T1 49# 590 591 595 597 634 635 637 638 654 661 666 670 674
678 682 686 700 711 714 718 721 781 782 785 786 787 788
789 790 791 792 795 797 798 801 809 820 822 823 824 831
832 860 861 863 864 869 884 922 927 939 940 942 944 946
959 960 962 964 973 977 982 987 988 989 993 1021 1022 1024
1026 1038 1039 1040 1052 1053 1061 1062 1064 1074 1075 1081 1083 1086
1108 1109 1117 1118 1123 1148 1159 1169 1171 1175 1198 1223 1224 1227
1229 1231 1232 1234 1235 1237 1239 1241 1242 1244 1245 1247 1248 1251
1258 1267 1269 1272 1278 1286 1288 1294 1304 1309 1312 1321 1328 1330
1332 1334 1335 1336 1337 1339 1340 1342 1343 1345 1346 1348 1349 1351
1352 1365 1366 1368 1369 1371 1379 1380 1382 1390 1391 1392 1395 1397
1399 1401 1402 1412 1426 1427 1440 1441 1443 1444 1446 1454 1455 1457
1464 1465 1466 1469 1471 1473 1475 1476 1483 1489 1500 1572 1573 1575
1576 1581 1582 1585 1590 1592 1601 1605 1607 1608 1614 1620 1621 1628
1629 1630 1645 1646 1664 1665 1667 1668 1678 1684 1692 1693 1695 1696
1701 1702 1705 1710 1712 1723 1727 1729 1730 1736 1742 1743 1750 1751 SEQ 0260
1752 1767 1768 1786 1787 1789 1790 1800 1806 1814 1815 1817 1818 1823
1824 1827 1832 1834 1845 1849 1851 1852 1858 1864 1865 1872 1873 1874
1889 1890 1908 1909 1911 1912 1922 1928 1935 1939 1941 1946 1951 1956
1957 1960 1961 1963 1964 1971 1981 1995 1997 1998 2000 2001 2003 2004
2006 2007 2009 2010 2011 2012 2014 2015 2017 2018 2020 2021 2023 2024
2025 2026 2027 2028 2029 2030 2033 2044 2069 2078 2094 2112 2113 2120
2121 2131 2148 2150 2151 2153 2154 2156 2157 2159 2160 2162 2163 2164
2165 2167 2168 2170 2171 2173 2174 2176 2177 2178 2179 2180 2181 2182
2183 2186 2197 2222 2231 2247 2265 2266 2273 2274 2284 2301 2303 2304
2306 2307 2309 2310 2312 2313 2315 2316 2317 2318 2320 2321 2323 2324
2326 2327 2329 2330 2331 2332 2333 2334 2335 2336 2339 2349 2374 2383
2389 2391 2392 2393 2405 2423 2424 2431 2432 2442 2480 2481 2483 2484
2486 2487 2488 2490 2491 2533 2534 2536 2537 2673 2676 2678 2689 2707
2726 2729 2737 2738 2741 2746 2751 2752 2753 2755 2758 2760 2768 2777
2779 2783 2791 2792 2793 2794 2795 2797 2798 2799 2802 2806 2808 2809
2813 2815 2816 2817 2820 2821 2834 2836 2838 2840 2841 2842 2844 2845
2847 2848 2850 2851 2853 2854 2860 2861 2864 2869 2875 2889 2890 2928
2936 2937 2940 2942 2948 2950 2951 2952 2957 2959 2960 2962 3004 3005
3007 3009 3011 3013 3014 3015 3017 3018 3020 3021 3023 3024 3027 3080
3081 3083 3085 3086 3089 3091 3092 3094 3096 3097 3098 3102 3103 3106
3107 3108 3109 3112 3114 3115 3117 3119 3120 3121 3124 3125 3131 3148
3155 3157 3159 3165 3166 3169 3170 3171 3175 3179 3180 3181 3196 3202
3203 3204 3205 3210 3233 3236 3237 3239 3244 3251 3253 3261 3263 3264
3265 3266 3269 3270 3272 3277 3280 3283 3291 3301 3313 3315 3317 3318
3321 3323 3328 3330 3331 3336 3338 3339 3341 3342 3344 3345 3346 3347
3349 3355 3356 3531 3534 3549 3555 3556 3572 3573 3576 3577 3579 3581
3582 3585 3587 3588 3593 3594 3596 3597 3599 3600 3602 3603 3614 3615
3617 3618 3620 3621 3624 3626 3627 3629 3630 3632 3633 3635 3636 3647
3648 3650 3651 3652 3653 3654 3655 3657 3660 3661 3663 3664 3666 3667
3669 3670 3672 3673 3675 3676 3677 3678 3679 3680 3682 3683 3685 3686
3695 3696 3697 3698 3699 3700 3701 3702 3705 3708 3709 3711 3712 3713
3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727
3728 3730 3731 3732 3733 3734 3735 3743 3747 3748 3749 3750 3752 3753
3755 3756 3757 3758 3760 3761 3767 3772 3777 3778 3789 3823 3825 3826
3828 3831 3834 3843 3845 3847 3848 3850 3852 3853 3865 3869 3871 3872
3885 3886 3887 3894 3897 3898 3910 3911 3912 3913 3914 3917 3919 3939
3941 3942 3944 3945 3954 3956 3957 3959 3960 3968 3972 3979 3983 3996
3998 3999 4002 4007 4009 4010 4013 4020 4022 4023 4024 4025 4026 4027
4032 4033 4035 4036 4038 4039 4041 4042 4044 4045 4051 4052 4055 4063
4080 4085 4087 4088 4090 4091 4096 4105 4107 4108 4110 4111 4116 4123
4124 4139 4147 4149 4154 4156 4158 4162 4163 4176 4187 4199 4201 4206
4207 4210 4214 4215 4218 4220 4223 4225 4235 4238 4246 4254 4256 4402
4409 4411 4412 4421 4459 4460 4467 4468 4469 4470 4473 4474 4477 4484
4487 4504 4506 4511 4512 4513 4514 4515 4516 4519 4520 4521 4522 4523
4524 4525 4526 4529 4537 4538 4539 4540 4545 4554 4555 4557 4558 4563
4564 4567 4573 4574 4575 4576 4579 4580 4583 4590 4593 4594 4598 4600
4601 4607 4625 4626 4635 4636 4641 4649 4654 4655 4657 4658 4659 4664
4665 4671 4673 4676 4678 4679 4683 4687 4688 4701 4702 4704 4717 4719
4720 4722 4723 4725 4726 4727 4728 4732 4733 4734 4735 4736 4737 4740
4741 4742 4743 4744 4745 4746 4747 4750 4785 4794 4814 4823 4829 4831
4832 4833 4845 4863 4864 4906 4937 4938 4940 4960 4961 4963 4964 4966
4967 4970 4973 4974 4980 4981 4982 4986 4987 4989 4990 4992 4993 4995
4996 5004 5005 5007 5008 5067 5068 5071 5176 5177 5178 5179 5182 5183 SEQ 0261
5185 5191 5192 5195 5196 5199 5200 5201 5202 5214 5215 5247 5248 5344
5345 5358 5359 5372 5373 5528 5530 5531 5533 5535 5541 5542 5543 5565
5572 5573 5584 5641 5642 5654 5655 5657 5658 5664 5665 5672 5673 5675
5676 5685 5686 5695 5696 5704 5705 5752 5753 5761 5762 5764 5765 5772
5773 5775 5776 5792 5793 5794 5798 5801 5802 5808 5886 5887 5895 5896
5897 5898 5899 5907 5909 5918 5919 5920 5921 5923 5939 5942 5949
T16 63#
T2 50# 662 687 699 703 704 705 722 795 801 803 812 813 831
860 928 973 978 983 994 1021 1024 1026 1038 1039 1052 1061 1062
1063 1065 1074 1075 1078 1079 1080 1082 1092 1093 1094 1108 1117 1118
1120 1121 1122 1124 1148 1160 1163 1223 1251 1259 1270 1273 1280 1289
1295 1372 1376 1385 1414 1415 1417 1425 1447 1451 1460 1485 1486 1488
1585 1601 1609 1616 1624 1648 1669 1705 1723 1731 1738 1746 1770 1791
1827 1845 1853 1860 1868 1892 1913 1965 1972 2492 2493 2673 2690 2698
2700 2702 2708 2726 2727 2728 2730 2741 2756 2761 2769 2784 2785 2792
2801 2802 2880 2881 2896 2899 2903 2907 2911 2913 2916 2936 2940 2941
2943 2963 3092 3098 3099 3101 3102 3115 3121 3122 3124 3149 3200 3211
3224 3225 3242 3243 3261 3272 3278 3284 3292 3303 3305 3316 3319 3797
3818 3819 3820 3821 3822 3828 3829 3830 3834 3835 3836 3838 3840 3918
3919 3940 3941 3955 3956 3969 3980 4086 4087 4106 4107 4140 4188 4200
4202 4204 4212 4219 4221 4224 4226 4228 4229 4230 4247 4422 4459 4467
4477 4485 4494 4496 4498 4531 4547 4567 4573 4583 4591 4594 4602 4609
4628 4642 4643 4660 4666 4689 4705 5176 5185 5197 5227 5230 5231 5232
5236 5239 5240 5241 5245 5246 5248 5251 5252 5253 5254 5255 5259 5262
5263 5264 5269 5272 5273 5274 5278 5281 5282 5283 5287 5290 5291 5292
5297 5300 5301 5302 5306 5309 5310 5311 5316 5319 5320 5321 5325 5328
5329 5330 5333 5336 5337 5338 5342 5343 5345 5348 5349 5350 5351 5352
5356 5357 5359 5362 5363 5364 5365 5366 5370 5371 5373 5376 5377 5378
5379 5380 5383 5386 5387 5388 5392 5395 5396 5397 5401 5404 5405 5406
5410 5413 5414 5415 5418 5421 5422 5423 5427 5430 5431 5432 5436 5439
5440 5441 5445 5448 5449 5450 5454 5457 5458 5459 5463 5466 5467 5468
5472 5475 5476 5477 5481 5484 5485 5486 5490 5493 5494 5495 5498 5501
5502 5503 5507 5510 5511 5512 5516 5519 5520 5521 5529 5534 5536 5557
5561 5567 5569 5583 5585 5596 5608 5907 5909 5938
T20ERR 6468 7246 7253 7275 7280#
T3 51# 657 723 929 1204 1260 1274 1277 1281 1284 1285 1296 1386 1426
1461 1618 1625 1629 1670 1679 1740 1747 1751 1792 1801 1862 1869 1873
1914 1923 1936 1939 1940 1943 1945 1961 1964 1966 1973 1978 1979 1982
1987 2496 2499 2502 2513 2514 2530 2542 2546 2548 2551 2583 2683 2685
2686 2687 2762 2770 2786 2827 2899 2903 2907 2911 2922 2923 2964 2971
2978 2982 2986 2990 3150 3201 3202 3205 3230 3285 3293 3306 3366 3518
3521 3537 3544 3867 3904 3918 3922 3942 3957 3970 3981 4078 4084 4088
4108 4141 4189 4201 4248 4423 4440 4533 4535 4537 4540 4644 4661 4667
4668 4679 4682 4684 4688 4690 4695 4696 4706 4711 4893 4947 4951 4977
5021 5024 5027 5061 5062 5574 5907 5909 5940
T4 52# 803 804 1619 1621 1626 1636 1646 1651 1741 1743 1748 1758 1768
1773 1863 1865 1870 1880 1890 1895 2066 2067 2068 2071 2219 2220 2221
2224 2371 2372 2373 2376 2499 2500 2503 2504 2505 2507 2508 2510 2511
2513 2515 2518 2519 2521 2522 2523 2524 2527 2762 2764 2765 2894 2925
3136 3138 3139 3142 3231 3293 3297 3298 3903 3917 3921 4172 4176 4202
4619 4626 4631 4811 4812 4813 4816 4951 4952 4955 4957 4958 5907 5909
T5 53# 1024 1027 2057 2058 2059 2060 2077 2082 2084 2085 2086 2087 2088
2096 2101 2103 2121 2131 2133 2210 2211 2212 2213 2230 2235 2237 2238 SEQ 0262
2239 2240 2241 2249 2254 2256 2274 2284 2286 2362 2363 2364 2365 2382
2387 2395 2396 2397 2398 2399 2407 2412 2414 2432 2442 2444 2497 2531
2697 2705 2893 2913 2914 2916 3133 3135 3143 3902 3923 3928 3932 4173
4178 4203 4211 4493 4502 4802 4803 4804 4805 4822 4827 4835 4836 4837
4838 4839 4847 4852 4854 5907 5909
T6 54# 1022 1027 1067 1088 1089 1090 1092 1094 1129 1130 1132 1134 1135
1137 1139 1166 1169 1171 1359 1360 1361 1362 1364 1369 1379 1390 1420
1434 1435 1436 1437 1439 1444 1454 1464 1952 2041 2043 2046 2047 2048
2053 2057 2062 2107 2108 2125 2127 2134 2194 2196 2199 2200 2201 2206
2210 2215 2260 2261 2278 2280 2287 2346 2348 2351 2352 2353 2358 2362
2367 2418 2419 2436 2438 2445 2694 2696 2698 2700 2702 2704 2712 2716
2876 2877 2878 2881 2892 2919 2922 2970 2971 2973 3043 3046 3049 3061
3062 3103 3125 3138 3190 3929 4066 4151 4157 4158 4164 4165 4167 4169
4170 4186 4187 4200 4201 4217 4221 4226 4230 4490 4492 4494 4496 4498
4501 4782 4784 4787 4788 4789 4798 4802 4807 4858 4859 5219 5220 5222
5224 5227 5230 5236 5239 5245 5247 5251 5253 5259 5262 5269 5272 5278
5281 5287 5290 5297 5300 5306 5309 5316 5319 5325 5328 5333 5336 5342
5344 5348 5350 5356 5358 5362 5364 5370 5372 5376 5378 5383 5386 5392
5395 5401 5404 5410 5413 5418 5421 5427 5430 5436 5439 5445 5448 5454
5457 5463 5466 5472 5475 5481 5484 5490 5493 5498 5501 5507 5510 5516
5519 5526 5528 5529 5533 5534 5538 5629 5634 5639 5641 5647 5652 5654
5657 5662 5664 5670 5672 5675 5683 5685 5693 5695 5702 5704 5710 5715
5721 5726 5732 5738 5744 5750 5752 5759 5761 5764 5770 5772 5775 5781
5907 5909
T7 55# 1643 1765 1887 1990 2062 2104 2215 2257 2367 2415 2713 2717 2823
2827 2828 2875 3044 3054 3055 3080 3106 3139 3140 3191 3359 3361 3366
3367 3930 4065 4183 4187 4188 4807 4855
T8080P 2883 3086# 4067
TABLE0 6120 6123#
TAKE 614 5175#
TBOOTP 2132 2285 2443 3109#
TESTPC 455#
TF10LP 3030# 3035
TO10IC 3397# 3515
TO10IP 3398# 3518
TO10OC 3399# 3541
TO10OP 3400# 3544
TRE 1532# 2527
TRM03P 3088 3111 3250#
TT%DAM 6760
TT%OSP 6789
TTNBRF 550# 5594 6586 6606
TTYFIL 6749# 6749
TYPEFI 2932 2939#
TYPF10 2955 3004#
UBAP0 1520# 4941
UBSTAT 1521# 4943
UBVBIT 1563# 2518 4957
UCFILE 3272 3277 3284 3291 3301 3321 3328 4139 4254 4421 4435 7532#
ULDSTR 4172 4185 7536#
UNV36X 1562# 2518
UPDFL1 5564 5592# 5601 5619
UPDFL2 5595 5605# SEQ 0263
UPDFL3 5593 5612#
UPDFL4 5607 5617#
UPDFL5 5615 5621#
UPDFLD 5228 5237 5249 5260 5270 5279 5288 5298 5307 5317 5326 5334 5346 5360
5374 5384 5393 5402 5411 5419 5428 5437 5446 5455 5464 5473 5482 5491
5499 5508 5517 5557#
UPFLD2 5573# 5578
USER 445# 6043
USERF 263# 6045
USRCRF 518# 7127# 7127 7135
USRHDQ 3859#
USRHPQ 3855#
USRLFF 517# 7125# 7125 7140
UUODIS 483# 6110
UUOEXT 467#
UUOSKP 465#
VALUE 5561# 5561 5585 5608
W10EOF 3560# 4549 4875
W2PLSH 2086 2239 2397 4766# 4837
WB10 1599 1994#
WB10A 2053# 2108
WB10C 2054 2062#
WB10D 2064# 2105
WB10E 2071# 2075
WB10F 2074#
WB10G 2072 2077#
WB10H 2065 2096 2103#
WB10I 2104#
WB10J 2127# 2135
WB10K 2129 2137#
WB10X 2082 2098#
WC 2091 2116 2117 2244 2269 2270 2402 2427 2428 2866 2871 2872 3377# 3547
3560 3561 3656 3687 3704 3737 3972 4057 4058 4542 4791 4842 4901 4903
WDB10 1721 2147#
WDB10A 2206# 2261
WDB10C 2207 2215#
WDB10D 2217# 2258
WDB10E 2224# 2228
WDB10F 2227#
WDB10G 2225 2230#
WDB10H 2218 2249 2256#
WDB10I 2257#
WDB10J 2280# 2288
WDB10K 2282 2290#
WDB10X 2235 2251#
WHELX1 3243
WHOM10 3954# 4079
WINDOW 128# 1632 1633 1634 1669 1675 1676 1754 1755 1756 1791 1797 1798 1876
1877 1878 1913 1919 1920 4611 4612 4613 4638 4639 4641 4770 4890
WRITE 617 1222#
WRTBC1 1211 2669#
WRTBC2 1212 1814#
WRTBOO 1213 1572# SEQ 0264
WRTC10 2681 2712#
WRTCMD 1210# 1220 1223
WRTCRM 1214 2670 2671#
WRTD10 3146 3195#
WRTD11 3202# 3211
WRTDB 1215 1692#
WRTDBL 1767# 1773
WRTDON 1216 3129#
WRTFEF 1217 2725#
WRTHOM 3172 3182 3224#
WRTRSE 1218 1319#
WRTSET 1219 1227#
WRTSEX 1302 1314# 3915 3925
WTLOOP 2698# 2705
WTPTR 2687# 2687 2690
XOFFLA 6744# 6744
YESNO 1032# 1035 1039
ZZ.. 4282# 4282 4283 4283# 4284 4284# 4285 4285# 4286 4286# 4287 4287# 4288 4288#
4289 4289# 4290 4290# 4291 4291# 4292 4292# 4293 4293# 4294 4294# 4295 4295#
4296 4296# 4297 4297# 4298 4298# 4299 4299# 4300 4300# 4301 4301# 4302 4302#
4303 4303# 4304 4304# 4305 4305# 4306 4306# 4308# 4308 4309 4309# 4310 4310#
4311 4311# 4312 4312# 4315# 4315 4316 4316# 4317 4317# 4318 4318# 4319 4319#
4320 4320# 4321 4321# 4322 4322# 4323# 4323 4324 4324# 4325 4325# 4326 4326#
4327 4327# 4328 4328# 4334# 4334 4335 4335# 4336 4336# 4337 4337# 4338 4338#
4339 4339# 4340 4340# 4341 4341# 4342 4342# 4343 4343# 4344 4344# 4345 4345#
4346 4346# 4347 4347# 4348 4348# 4349 4349# 4350 4350# 4351 4351# 4352 4352#
4353# 4353 4354 4354# 4355 4355# 4356# 4356 4357 4357# 4358 4358# 4360# 4360
4361 4361# 4362 4362# 4374# 4374 4375 4375# 4376 4376# 4377 4377# 4378 4378#
4379 4379# 4380 4380# 4381 4381# 4382 4382# 4383 4383# 4384 4384# 4385 4385#
4386 4386# 4387 4387# 4388 4388# 4389 4389# 4390 4390# 4391 4391# 4392 4392#
$$$TT0 767 6450#
$$$TT1 769 6501#
$$OUTE 562# 7366 7367
$$PAC0 6042 6080# 6080
$$SNX 6236# 6236 6316 6319
$$TOGG 568#
$$TT0 766 772#
$$TT1 768 778#
$ACC0 474#
$ASCP1 7045# 7056
$ASCP2 7048# 7052
$ASCPN 6836 6855 7044#
$CARCT 6499 7107# 7107 7114 7117 7161
$CCL 3742# 5189
$CCLF 3742 3745 7543#
$CCLI1 3783 3786 3797#
$CCLIN 29 3782#
$CHN 3380# 3766 3769 3771 3785 3788
$CHRIN 511# 5597 5605 6496# 6496 6508 6515
$CHRPN 6863 7033#
$CMNTF 7544#
$CNVD 6585# 6585 6656 6665
$CNVX 6597 6654# SEQ 0265
$CNVX1 6618 6663#
$CNVX2 6666 6675#
$CPINI 6227# 6249
$CPKAI 6224 6243#
$CPKL 6221#
$CPUTP 6075 6217#
$CRLF 513# 6750# 6750
$DCCMP 7075#
$DCSPS 7089#
$DECP1 7081# 7087 7089
$DECPN 6857 7064#
$DECSP 6859 7062#
$DEVCH 330# 7320 7326 7330 7331 7334 7346 7354 7355 7359
$DPYNO 5208 5210#
$DRP10 7271 7354#
$DRPDV 6168 7216 7268#
$DVOFF 509# 839 6740# 6740 7186 7247 7268 7277 7333 7360
$DVTTY 7314# 7314 7337
$EG177 6152 6200#
$EG4 6154 6193#
$EGX 6196 6198 6203 6206 6209 6211#
$END 6189 6331#
$END2 6333#
$END3 6338#
$EOP 6191 6284 6345#
$ERH0 6258 6260# 6260 6269 6271
$ERHL4 6265#
$ERHLT 6190 6256#
$FATAL 6190 6278#
$FFF 515# 6752
$HEAR 6420 6448# 6473
$HEAR2 6506 6508# 6514 6517
$HEAR3 6498 6512#
$HEAR4 6387 6400 6415 6451 6457 6490#
$IBF 3763 3782 3797 3813#
$INT10 7233 7325#
$INT11 7330# 7350
$INT12 7247# 7338
$INT13 7329 7339#
$INT21 7237# 7264
$INT22 7242 7252#
$INTD3 7231# 7231 7252 7263
$INTDF 6739# 6739 7339 7345
$INTDV 7187 7225#
$LDSPS 7078 7086#
$LISTF 7545#
$NEGF 6584# 6584 6624 6651
$NEGX 6595 6649#
$NOYES 6176 6527#
$OBUF 533# 7316 7318 7328 7348
$OERR1 7349 7371#
$OERR2 7332 7375#
$ONETM 458# 6079 6768 SEQ 0266
$OPTLK 6175 6419# 6536 6544 6592 6696
$OUTER 7363# 7373 7377
$OUTEX 535# 7226
$OUTNM 534# 7228 7237 7325 7331
$PACA1 6810 6826 6842# 6842
$PACA2 6811 6827 6843# 6843
$PACA3 6812 6828 6844# 6844
$PACA4 6813 6829 6845# 6845
$PACA5 6814 6830 6846# 6846
$PACB0 7099# 7099 7148
$PACC4 7154# 7154 7156 7165 7170 7190
$PACF1 7229# 7229 7249
$PACF2 7230# 7230 7248
$PGMIN 6042#
$PGMN1 6057#
$PNAME 6002# 6293
$PNM2 6292 6317 6322#
$PNM3 6308 6310 6313 6316#
$PNT 6848# 6848 7014# 7014 7018 7023 7042# 7042 7054 7062 7086
$PNTB1 6825#
$PNTI1 6865 7001# 7025
$PNTI2 7005# 7008 7019
$PNTI3 6861 7021#
$PNTI4 6808# 7015 7026 7036 7050 7055 7069
$PNTIA 6784 6794 6802 6842#
$PNTIB 6799 6821#
$PNTIC 6853#
$PNTIF 6150 6777#
$PNTIN 6077 6739#
$PNTIT 6148 6796#
$PNTIX 6756 6764#
$PNTLN 6854 7042#
$PNTNM 6168 6291# 6770
$PNTSV 7009# 7009 7016
$PNTSX 6166 6875#
$PNTTY 6778# 6778 6797 6808 6831 7118 7189
$PNTYC 7100# 7100
$POCS 6182 6957#
$POCS1 6965 6972#
$POCS2 6977# 6986
$POCS3 6974 6981# 6995
$POCS4 6986# 6994
$POCS5 6979 6994#
$POCSF 6182 6953#
$POINT 7044# 7044 7046 7053
$PRNTX 6804 6815# 6823
$PSIX 6181 6909#
$PSIX1 6918# 6934
$PSIX2 6921# 6933
$PSIX3 6933# 6939
$PSIX4 6926 6936#
$PSIX5 6924 6941#
$PSIXF 6181 6905# SEQ 0267
$PTINH 6742# 6742 6779 7109 7112
$PTSXF 6166 6888#
$PUT10 7196 7314#
$PUTCR 7188 7195#
$PUTER 7202 7207#
$PVER 6003#
$RADIX 7068 7071# 7079
$SJBFF 3775# 3775
$SUBUO 6100 6119#
$SVCSW 6066# 6066
$SVUPC 477# 6103
$SVUUO 476# 6105 6106
$SWFLG 6068# 6068
$TABF 514# 6751
$TACB4 6419# 6419 6425
$TACC1 6530# 6530 6555
$TACC2 6531# 6531 6553
$TACD1 6578# 6578 6626 6633
$TACD2 6579# 6579 6622 6632
$TACD3 6580# 6580 6621 6631
$TALT1 6437 6441#
$TALT2 6435#
$TALTM 6178 6432#
$TISIX 6179 6691#
$TOUB1 7111 7116#
$TOUB2 7119 7123#
$TOUB3 7125#
$TOUT 7007 7013 7035 7051 7066 7083 7091 7099#
$TOUT2 7123 7143 7154#
$TOUT3 7159 7186#
$TOUT4 7163 7172#
$TOUT5 7164# 7173 7181
$TOUT6 7161# 7191
$TOUTA 7129 7134 7139 7141 7148#
$TOUTB 7106#
$TPCK 6603 6640#
$TPCLR 6180 6475# 6559
$TPCNV 6177 6572#
$TPCV1 6573 6575 6578#
$TPDEC 6177 6574#
$TPERR 6593 6604 6616 6630# 6650 6655 6668
$TPEX1 6621# 6673 6682
$TPEXT 6599 6601 6615#
$TPMUL 6608 6643#
$TPNBR 6615 6646#
$TPOCT 6176 6576#
$TSX1 6691# 6691 6719
$TSX2 6692# 6692 6720
$TSXB1 6696# 6714
$TSXB2 6699 6701 6716#
$TSXB3 6697 6704 6708 6712 6718#
$TSXB4 6707 6710#
$TTCHR 510# 772 773 6385 6397 6413 6450 6456 6490 SEQ 0268
$TTLK 6178 6380# 6432
$TTYIN 6179 6407#
$TWCNT 508# 6424
$TYPIN 6078 6372#
$TYPL1 6606#
$TYPLP 6592# 6611 6652 6657
$TYPNB 512# 6583# 6583 6630
$UOERX 6089 6131# 6167 6169 6170 6171 6172 6173 6180 6184 6185 6186 6187 6188
6189 6191
$UORTN 6087 6096#
$UOTAB 6162 6165#
$UPLER 6091# 6091
$USRF1 7136 7141# 7144
$USRFC 7128 7133#
$USRFL 7126 7138#
$USRUO 6101#
$UUO37 6123 6147#
$UUOER 468# 483 6090
$UUOIN 6076 6087#
$VTF 516# 6753
$XUUO 6111# 6163
$YESNO 6175 6529#
$YN1 6534# 6560
$YN2 6537 6545 6553#
$YN3 6541 6551 6558#
$YN4 6547 6549 6562#
..0001 794# 795
..0002 800# 801
..0003 830# 831
..0004 859# 860
..0005 972# 973
..0006 1020# 1021
..0007 1023# 1024
..0010 1025# 1026
..0011 1037# 1038
..0012 1038# 1039
..0013 1051# 1052
..0014 1060# 1061
..0015 1061# 1062
..0016 1073# 1074
..0017 1074# 1075
..0020 1107# 1108
..0021 1116# 1117
..0022 1117# 1118
..0023 1147# 1148
..0024 1222# 1223
..0025 1250# 1251
..0026 1584# 1585
..0027 1704# 1705
..0030 1826# 1827
..0031 2672# 2673
..0032 2725# 2726
..0033 2740# 2741 SEQ 0269
..0034 2935# 2936
..0035 2939# 2940
..0036 3260# 3261
..0037 3271# 3272
..0040 4458# 4459
..0041 4466# 4467
..0042 4476# 4477
..0043 4566# 4567
..0044 4572# 4573
..0045 4582# 4583
..0046 5175# 5176
..0047 5184# 5185
..TYPE 2931# 2933 2936
..XX 586# 586 621# 621 623# 623 860# 860 973# 973 1021# 1021 1024# 1024
1026# 1026 1038# 1038 1039# 1039 1052# 1052 1061# 1061 1062# 1062 1074# 1074
1075# 1075 1104# 1104 1117# 1117 1118# 1118 1148# 1148 1223# 1223 1251# 1251
1585# 1585 1705# 1705 1827# 1827 2673# 2673 2726# 2726 2741# 2741 2936# 2936
2940# 2940 3261# 3261 3272# 3272 4459# 4459 4467# 4467 4477# 4477 4567# 4567
4573# 4573 4583# 4583 5176# 5176 5185# 5185
.AC1 652 656 659 664 668 672 676 680 684 689 692 702 742 748
811 931 980 985 991 996 999 1002 1262 1276 1283 2692 2710 3241
5884 5929 5936 5944 7210
.BFCTR 3395# 3397 3399
.BFPTR 3394# 3398 3400
.CMABC 790
.CMABP 792
.CMBFP 786
.CMCFM 623
.CMCNT 789
.CMFIL 1251 1585 1705 1827 2741 3272 4477 4567 4583 5185
.CMINI 621
.CMIOJ 638 782 820 824 831 3778 5191 5202 5565 5573
.CMKEY 586 860 1021 1024 1039 1052 1104 1223 2936 4459
.CMNOI 973 1026 1038 1061 1074 1117 1148 2673 3261 4467 4573 5176
.CMNUM 1062 1075 1118 2726 2940
.CMPTR 787
.DCUPN 3396# 3401 3402
.DCUR3 964 3417# 3840
.DCUR4 960 3415# 3836
.DCUR6 962 3416# 3838
.EXIT 597 599 1147#
.FBBYV 1280 2761 3292 4140 4659
.FBCTL 1273
.FBSIZ 4665
.FHSLF 654 661 686 700 722 809 1295 1669 1791 1913 1965 1972 2769 2783
2963 3149 3239 3303 3305 4247 4422 4641 4689 4704 7281
.IOBIN 3410# 3579
.IODMP 3411# 3581 3620 3654 3701 3928 3968 3979
.JB41 298#
.JBAPR 306#
.JBCNI 307#
.JBDDT 300#
.JBFF 304# 3556 3587 3774 SEQ 0270
.JBOPC 309#
.JBREL 299#
.JBREN 305#
.JBSA 303# 2098 2251 2409 4849
.JBSYM 301#
.JBTPC 308#
.JBUSY 302#
.JBUUO 297#
.JBVER 310#
.MSRCH 1360 1435
.MSRCT 1361 1436
.MSRLN 1371 1407 1446
.MSRNU 1371 1446
.MSRP4 940 1395 1469
.MSRP5 942 1397 1471
.MSRP6 944 1399 1473
.MSRSA 1444
.MSRSN 1369
.MSRST 1364 1365 1379 1390 1439 1440 1454 1464
.MSRUN 1362 1437
.NULIO 3777 5201
.PRIIN 637 781 823 832 5192 5961 5973 6390 6477
.PRIOU 637 721 781 823 1166 3777 5923 5939 5961 5973 6758 6787 7280
.RBALC 3403 3405 3430# 3885
.RBCNT 3421#
.RBDEV 3435#
.RBEST 3429#
.RBEXT 2009 2162 2315 3344 3424# 3597 3630 3667 3676 3714 3722 4725
.RBMTA 3434#
.RBNAM 1997 2150 2303 3423# 3594 3627 3664 3712
.RBNCA 3433#
.RBPOS 3431#
.RBPPN 3422# 3600 3633 3670 3718
.RBPRV 2006 2011 2159 2164 2312 2317 3341 3346 3425# 3673 3678 3680 3720 3724
3726 4722 4727
.RBSIZ 2023 2176 2329 2815 3349 3426#
.RBSPL 3428#
.RBSTS 3404 3406 3436#
.RBTF1 3432#
.RBVER 2003 2156 2309 3338 3427# 3683 3728 4719
.TICCC 670
.TICCO 682
.TICCT 678
.TICCX 666
.TICCZ 674
.TYPE 615 2935#
AIC 688
ATI 667 671 675 679 683 SEQ 0271
BIN 1167 5566 5582
BKJFN 5571
BOUT 1170 2699 2701 2703 4495 4497 4499 7201
CALL 656 659 664 668 672 676 680 684 689 692 702 811 814 931
980 985 991 996 999 1002 1262 1276 1283 1291 1298 1418 1490 1603
1611 1672 1681 1686 1725 1733 1794 1803 1808 1847 1855 1916 1925 1930
1968 1975 1984 2692 2710 2772 2788 2966 3152 3241 3309 4251 4426 4596
4604 4646 4651 4692 4708
CFIBF 5925 6481
CFORK 984 1602 1724 1846 4595
CHFDB 4662 4669
CLOSF 821 1174 2778 2807 3156 3322 3329 4255 4505 4656 5194 7274
CLRBFI 762 6479
CMABR 346# 590 591 595 597
CMD 358# 794 800 830 859 972 1020 1023 1025 1037 1038 1051 1060 1061
1073 1074 1107 1116 1117 1147 1222 1250 1584 1704 1826 2672 2725 2740
2935 2939 3260 3271 4458 4466 4476 4566 4572 4582 5175 5184
CMDNOP 382#
CMTAB 342# 592 593 596 598 599 601 603 605 607 609 610 612 614
615 617 853 854 855 856 1011 1012 1016 1033 1034 1047 1048 1100
1101 1211 1212 1213 1214 1215 1216 1217 1218 1219 2932 4452 4453 4454
4455
COMND 795 801 831 860 973 1021 1024 1026 1038 1039 1052 1061 1062 1074
1075 1108 1117 1118 1148 1223 1251 1585 1705 1827 2673 2726 2741 2936
2940 3261 3272 4459 4467 4477 4567 4573 4583 5176 5185
CONFIR 422# 862 973 1026 1041 1066 1076 1119 1148 1156 1253 1319 1587 1707
1829 2673 2743 2945 3129 3273 4479 4585 5186
CORE 5793
CRMBIT 4259# 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294
4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308
4309 4310 4311 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323
4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337
4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351
4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4365 4366
4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380
4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4393 4394
CRMRNG 4273# 4282 4294 4303 4308 4315 4319 4323 4325 4334 4337 4340 4343 4346
4349 4353 4356 4360 4374 4380
DEBRK 5876 5888 5894 5900 5905 5909 5913 5922
DEVCHR 7335
DISK. 3860
DOBE 5924
DPYNOF 5208# 5233 5242 5256 5265 5275 5284 5293 5303 5312 5322 5331 5339 5353
5367 5381 5389 5398 5407 5416 5424 5433 5442 5451 5460 5469 5478 5487
5496 5504 5513 5522
DROPDV 222# 6017 7160
DSKCHR 3825 3847 3852
DSKOP 3234
ECMTAB 589# 619 853# 857 1011# 1013 1016# 1017 1033# 1035 1047# 1049 1100# 1102
1211# 1220 2932# 2933 4452# 4456
EIR 691
ENDUUO 250#
EOPUUO 251# SEQ 0272
EPCAP 658
ERCAL 1374 1449
ERJMP 656 659 664 668 672 676 680 684 689 692 702 725 726 795
801 811 831 860 931 973 980 985 991 996 999 1002 1021 1024
1026 1038 1039 1052 1061 1062 1074 1075 1108 1117 1118 1148 1168 1223
1251 1262 1276 1283 1298 1585 1603 1611 1672 1681 1686 1705 1725 1733
1794 1803 1808 1827 1847 1855 1916 1925 1930 1968 1975 1984 2673 2692
2710 2726 2741 2772 2788 2936 2940 2966 3152 3235 3241 3261 3272 3309
4251 4426 4459 4467 4477 4567 4573 4583 4596 4604 4646 4651 4692 4708
5176 5185 7202 7242
ERMSG 656 659 664 668 672 676 680 684 689 692 702 811 931 980
985 991 996 999 1002 1262 1276 1283 2692 2710 3241
ERR 403# 822 869 884 922 1064 1081 1083 1086 1123 1175 1198 1269 1278
1286 1309 1312 1321 1402 1476 1489 1500 1590 1592 1630 1710 1712 1752
1832 1834 1874 1941 1995 2025 2033 2044 2069 2078 2094 2148 2178 2186
2197 2222 2231 2247 2301 2331 2339 2349 2374 2383 2405 2676 2678 2729
2746 2753 2758 2779 2808 2809 2813 2817 2864 2869 2928 2942 2948 2960
3005 3027 3131 3157 3196 3210 3237 3244 3280 3323 3330 3331 3336 3356
3531 3534 3549 3585 3624 3657 3705 3743 3767 3772 3789 3826 3831 3843
3848 3853 3865 3869 3887 3894 3898 3912 3914 3945 3960 3996 4002 4007
4013 4020 4055 4080 4091 4096 4111 4116 4163 4256 4409 4487 4506 4529
4545 4593 4657 4673 4683 4717 4750 4785 4794 4814 4823 4845 4906 5195
5199 5572 5584 5794 5798 5808 5942
ERRHLT 154#
ERSTR 724 7283
ESOUT 741
EXIT 1150 5820 7368
FATAL 153# 6140
FLD 586 621 623 860 973 1021 1024 1026 1038 1039 1052 1061 1062 1074
1075 1104 1117 1118 1148 1223 1251 1585 1705 1827 2673 2726 2741 2936
2940 3261 3272 4459 4467 4477 4567 4573 4583 5176 5185
FLDDB. 586 621 623 860 973 1021 1024 1026 1038 1039 1052 1061 1062 1074
1075 1104 1117 1118 1148 1223 1251 1585 1705 1827 2673 2726 2741 2936
2940 3261 3272 4459 4467 4477 4567 4573 4583 5176 5185
GET 990 1610 1732 1854 4603
GETER 701 810 1413 1484 3240
GETIT 140# 863 1042 1420 1945 1946 1956 1987 2088 2241 2393 2399 3099 3122
4711 4833 4839 5921 6115 6130 6133 6136 6211 6258 6265 6393 6394 6398
6399 6414 6470 6471 6472 6482 6791 6792 6803 6821 6847 6882 6895 6941
6942 6943 6944 6945 6987 6988 6989 6990 6991 7180 7203 7204 7217 7218
7276 7301 7302 7303
GETTAB 6049 6234
GEVEC 1615 1737 1859 4608
GO 137# 422 645 646 647 648 649 736 766 768 795 801 804 822
831 860 869 884 922 973 1021 1024 1026 1038 1039 1052 1061 1062
1064 1069 1074 1075 1081 1083 1086 1108 1117 1118 1123 1142 1148 1175
1197 1198 1200 1223 1251 1265 1269 1278 1286 1305 1309 1312 1321 1387
1402 1462 1476 1489 1500 1585 1590 1592 1630 1649 1705 1710 1712 1714
1752 1771 1827 1832 1834 1836 1874 1893 1941 1953 1994 1995 2025 2032
2033 2038 2044 2069 2074 2078 2080 2094 2119 2132 2147 2148 2178 2185
2186 2191 2197 2222 2227 2231 2233 2247 2272 2285 2300 2301 2331 2338
2339 2343 2349 2374 2379 2383 2385 2405 2430 2443 2673 2676 2678 2718
2726 2729 2741 2746 2753 2758 2779 2781 2808 2809 2812 2813 2817 2824 SEQ 0273
2830 2832 2863 2864 2869 2874 2883 2897 2901 2905 2909 2928 2936 2940
2942 2948 2960 2972 2980 2984 2988 2992 3005 3026 3027 3030 3034 3088
3111 3131 3141 3157 3160 3163 3172 3176 3182 3192 3196 3210 3237 3244
3261 3272 3280 3323 3330 3331 3335 3336 3356 3363 3531 3534 3549 3585
3624 3657 3705 3743 3767 3772 3789 3826 3831 3843 3848 3853 3864 3865
3868 3869 3882 3887 3894 3895 3898 3912 3914 3945 3960 3995 3996 4002
4006 4007 4013 4020 4054 4055 4062 4067 4079 4080 4091 4096 4111 4116
4145 4146 4153 4161 4163 4175 4192 4234 4237 4256 4401 4408 4409 4439
4459 4467 4477 4487 4506 4528 4529 4545 4549 4567 4570 4573 4583 4593
4629 4657 4673 4683 4716 4717 4749 4750 4779 4785 4794 4814 4819 4823
4825 4845 4873 4875 4876 4892 4906 5176 5185 5195 5199 5208 5228 5237
5249 5260 5270 5279 5288 5298 5307 5317 5326 5334 5346 5360 5374 5384
5393 5402 5411 5419 5428 5437 5446 5455 5464 5473 5482 5491 5499 5508
5517 5545 5572 5584 5794 5798 5808 5907 5942 6075 6076 6077 6078 6087
6415 6420 6432 6536 6544 6559 6592 6696 7068 7079 7187 7188 7216 7238
7294 7299
GTFDB 1275 1282 2763 3295 4142
GTJFN 979 1161 7241
HALTF 1151 1604 1726 1848 4597 5877 6024 6270 6347 7284 7285 7286
HPQ 3856
INCHRS 6385
INCHRW 772 778 6409 6501
INCHWL 6450
JFNS 930 1261 3286
JSERR 1291 1298 1418 1490 1603 1611 1672 1681 1686 1725 1733 1794 1803 1808
1847 1855 1916 1925 1930 1968 1975 1984 2772 2788 2966 3152 3309 4251
4426 4596 4604 4646 4651 4692 4708
JSHLT 656 659 664 668 672 676 680 684 689 692 702 811 931 980
985 991 996 999 1002 1262 1276 1283 2692 2710 3241
KFORK 1001 1685 1807 1929 4650
MOVSLJ 414#
MOVST 418#
MSTR 1373 1448
NAME 7# 10
NIN 5575
NOISE 379# 972 1025 1037 1060 1073 1116 1147 2672 3260 4466 4572 5175
NOUT 5941
OP$$AC 424# 5906 5908
OPENF 1164 1290 2757 3279 4486 4592 5198 7245
OUTCHR 7167 7177
OUTSTR 590 591 595 597 643 731 732 733 754 755 756 760 7340 7356
7363 7371 7375
PBELL 231#
PBIN 6396 6412
PBOUT 7169 7179
PCRL 223# 6139 6322 6507 6938
PCRL2 229#
PCRL2F 230# 5217
PCRLF 224# 876 877 901 902 917 918 949 950 967 968 1143 1181 2969
2974 3029 3037 3057 3072 3073 5589 5621 5785 6263 6283 6337 6558 6936
PFORCE 233#
PGMINT 147# 628
PJRST 141# SEQ 0274
PMAP 1297 1671 1680 1793 1802 1915 1924 1967 1974 1983 2771 2787 2965 3151
3308 4250 4425 4645 4691 4707
PMSG 235# 871 6132 6294 6301 6303 6307 6309 6312 6314 6318
PMSGF 238# 880 889 893 897 905 909 913 933 941 943 945 947 953
961 963 965 1006 1178 3041 3068 5226 5235 5244 5258 5267 5268 5277
5286 5295 5296 5305 5314 5315 5324 5332 5341 5355 5369 5382 5391 5400
5409 5417 5426 5435 5444 5453 5461 5462 5471 5480 5489 5497 5506 5515
6257 6279 6333 6534
PNT1 189#
PNT11 205#
PNT11F 206#
PNT1F 190# 5631 5649 5712 5717 5723 5728 5734 5740 5746 5755 5767 5778 5783
PNT2 191#
PNT2F 192# 5688 5698 5707
PNT3 193#
PNT3F 194# 5660 5678
PNT4 195#
PNT4F 196# 5636 5667
PNT5 197#
PNT5F 198#
PNT6 199#
PNT6F 200# 1127 5644 6262 6282
PNT7 201#
PNT7F 202#
PNT8 203#
PNT8F 204# 1136
PNTA 175# 1206
PNTADF 208#
PNTADR 207#
PNTAF 176#
PNTAL 177# 840 6210
PNTALF 178# 819 836 935 1180 3794 6208
PNTCHF 188# 847 2998 3000 6195 6893 6930 6967 6982
PNTCHR 187# 775 779 6197 6516 6880 6932 6969 6984
PNTCI 185# 6297
PNTCIF 186# 1128 6336
PNTDCF 216# 874 3070 6335
PNTDEC 215# 6320
PNTDS 217#
PNTDSF 218#
PNTHW 211# 6134 6138
PNTHWF 212# 891 895 899 907 911 915
PNTMSF 182# 1125 3185 3245 5210 5576 5599 5617 5625
PNTMSG 181# 6293
PNTNM 219# 6256 6278
PNTOCF 214# 746 759 3052 5558
PNTOCS 213# 6296 6299
PNTOCT 209#
PNTOTF 210# 1138 1140
PNTSIX 220#
PNTSXF 221# 955
POS 586 621 623 860 973 1021 1024 1026 1038 1039 1052 1061 1062 1074
1075 1104 1117 1118 1148 1223 1251 1585 1705 1827 2673 2726 2741 2936 SEQ 0275
2940 3261 3272 4459 4467 4477 4567 4573 4583 5176 5185
PSIXL 179# 6205
PSIXLF 180# 6202
PSIXM 183# 871 6132 6294 6301 6303 6307 6309 6312 6314 6318
PSIXMF 184# 880 889 893 897 905 909 913 933 941 943 945 947 953
961 963 965 1006 1178 3041 3068 5226 5235 5244 5258 5267 5268 5277
5286 5295 5296 5305 5314 5315 5324 5332 5341 5355 5369 5382 5391 5400
5409 5417 5426 5435 5444 5453 5461 5462 5471 5480 5489 5497 5506 5515
6257 6279 6333 6535
PSOUT 590 591 595 597 653 656 659 664 668 672 676 680 684 689
692 702 713 715 720 743 749 811 931 980 985 991 996 999
1002 1262 1276 1283 2692 2710 3241 5885 5930 5937 5945 5952 7213 7259
PSP 225# 6135
PSPACE 227# 5632 5637 5645 5650 5661 5668 5679 5680 5681 5689 5690 5691 5699
5700 5701 5708 5713 5718 5719 5724 5725 5729 5730 5735 5736 5741 5742
5747 5748 5756 5757 5768 5779
PSPF 226#
PTAB 228# 937 957 3059 5562
PUT 139# 861 1040 1935 1936 1951 1960 2084 2237 2389 2395 3091 3114 4678
4829 4835 5918 6096 6108 6131 6155 6259 6388 6389 6411 6459 6460 6461
6475 6785 6786 6875 6888 6905 6909 6911 6912 6913 6914 6953 6957 6959
6960 6961 6962 7174 7197 7198 7272 7288 7289 7290
RDIO 1516# 2523 2553 2555 2557 2559 2561 2563 2566 2568 4973 4980 5029 5031
5033 5035 5042 5044
RDTTY 6467
RESET 6023 6062
RESTAC 436# 5908
RET 706 837 1144 3161 3173 3177 3183 3188 3248 5212 5786
RETSKP 5560
RFMOD 6759 6788
RLJFN 4672
RPACS 1623 1647 1745 1769 1867 1891 4627
RPCAP 655
RTN 138# 467 770 776 780 826 841 849 878 881 903 919 951 969
1004 1007 1028 1043 1070 1176 1182 1306 1316 1356 1405 1416 1428 1479
1487 1507 1689 1811 1933 1949 1991 2144 2297 2455 2720 2804 2885 2917
2924 2976 2994 3001 3074 3104 3126 3167 3193 3215 3326 3332 3519 3522
3538 3545 3558 3563 3606 3639 3688 3738 3781 3810 3933 3950 3965 3973
3984 4028 4232 4258 4403 4414 4419 4437 4442 4448 4508 4551 4675 4713
4730 4878 4899 4907 5205 5547 5580 5587 5590 5603 5610 5804 5809 5814
5946 5953 6092 6117 6212 6238 6241 6323 6339 6373 6382 6386 6395 6417
6426 6433 6443 6483 6510 6556 6628 6634 6721 6767 6769 6816 6883 6896
6946 6992 7084 7205 7219 7250 7269 7278 7304 7311 7319 7361
S 38# 40 42 133 135 143 145 149 151 156 158 171 173 246
248 254 256 268 270 275 277 293 295 312 314 324 328 441
443 460 462 470 472 478 480 498 500 529 531 538 540 546
548 552 554 558 560 564 566 570 572 6028 6030 6037 6039 6053
6055 6071 6073 6083 6085 6125 6127 6143 6145 6215 6253 6275 6289 6329
6343 6352 6368 6371 6375 6378 6401 6405 6428 6430 6444 6446 6484 6488
6520 6525 6567 6570 6590 6613 6638 6661 6686 6689 6724 6732 6734 6737
6772 6775 6806 6819 6837 6840 6867 6870 6873 6886 6897 6903 6947 6951
6996 6999 7028 7031 7038 7040 7057 7060 7095 7097 7102 7104 7131 7147
7150 7152 7184 7193 7220 7223 7266 SEQ 0276
SAVEAC 432# 5906
SCMTAB 334# 588 852 1010 1015 1032 1046 1099 1210 2931 4451
SETUWP 5797 5807
SFMOD 6762 6790
SFPTR 2691 2709
SFRKV 995
SIBE 6391
SIR 663
SIXBTZ 244#
STDEV 1268
SUSET. 3944 3959 4090 4110
SYSGT 6230
TION 1517# 2493
TMSG 651 656 659 664 668 672 676 680 684 689 692 702 742 747
811 931 980 985 991 996 999 1002 1262 1276 1283 2692 2710 3241
5882 5926 5935 5943 7207
TTALTM 167#
TTICHR 160#
TTICLR 170#
TTICNV 165#
TTIDEC 164#
TTINO 162#
TTIOCT 163# 5592
TTIYES 161#
TTLOOK 166#
TTSIXB 168#
TTYINP 169#
WARN 408#
WFORK 998
WRIO 1518# 2484 2488 2491 2503 2505 2508 2511 2519 2522 2534 2537 4958 4961
4964 4967 4987 4990 4993 4996 5005 5008 5068
WRUBR 1515# 2586 2592 2598 2604 2610 2616 2622 2628 5083 5089 5095 5101 5107
5113 5119 5125
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 1
SMPREB MAC 27-Oct-78 11:53 SEQ 0277
1 ;MAINDEC-10-SMPREB
2
3 000000 MCNVER=0
4 000002 DECVER=2
5
6 XLIST
7 LIST
8 LALL
9
10 NAME \MCNVER,\DECVER^
11
12 TITLE SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2^
13
14 ;*JOHN R. KIRCHOFF
15
16 NOSYM
17
18 INTERN SMPREB ;LET EXTERNAL PROGRAM KNOW WHERE THIS IS
19 000000' SMPREB: ;INTERNAL REFERENCE ADDRESS
20 INTERN SMPEND ;INTERNAL REFERENCE END ADDRESS
21
22 001000 PHASE 1000 ;THE PRE-BOOT IS REALLY AT LOC 1000
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 2
SMPREB MAC 27-Oct-78 11:53 PARAMETERS SEQ 0278
23 SUBTTL PARAMETERS
24
25 ; ********************************************************************
26
27 ; THIS PROGRAM IS THE PRE-BOOT FOR THE DIAGNOSTICS DISK LOADER AND
28 ; FOR BOOTCHECK II. THE PROGRAM PERFORMS A BASIC VERIFICATION OF THE
29 ; KS-10 CPU BEFORE TRYING TO LOAD THE PRIMARY LOADER OR BOOTCHECK II
30 ; CODE.
31
32 ; THIS WILL ALSO GIVE A VERY PRESCRIBED SEQUENCE OF OPERATIONS TO BE
33 ; DEBUGGED IF THIS CODE DOES NOT RUN TO COMPLETION.
34
35 ;DEFINITIONS FOR SM10
36
37 001000 BOORG=1000 ;START OF HARDWARE BOOT
38
39 701140 000000 OPDEF WRUBR [701B8+3B12] ;WRITE USER BASE REGISTER
40 712000 000000 OPDEF RDIO [712B8] ;READ I/O
41 713000 000000 OPDEF WRIO [713B8] ;WRITE I/O
42
43 763000 UBAP0= 763000 ;ADDRESS OF UNIBUS MAP
44 763100 UBSTAT= 763100 ;ADDRESS OF UNIBUS STATUS
45
46 000031 KPALIVE=31 ;KEEP-ALIVE & STATUS WORD
47 000036 MSRH= 36 ;RH-11 BASE ADDRESS
48 000037 MSDRIVE=37 ;DRIVE NUMBER
49 000040 MSSLAVE=40 ;SLAVE & FORMAT
50
51 000021 RIPST=21 ;READ IN PRESET
52 000071 RDATA=71 ;READ DATA
53 000200 RDY=200 ;READY
54 020000 MCPE=20000 ;MASS I/O CONTROL BUS PARITY ERROR
55 040000 TRE=40000 ;TRANSFER ERROR
56 100000 SC=100000 ;SPECIAL CONDITION
57 010000 FMT22=10000 ;FORMAT 22 (FORMAT BIT)
58
59 000040 RHCLR= 40 ;CONTROLLER CLEAR
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 3
SMPREB MAC 27-Oct-78 11:53 PARAMETERS SEQ 0279
60
61 ;REGISTER DEFINITIONS
62
63 000000 RPCS1= 00 ;CONTROL AND STATUS 1
64 000002 RPWC= 02 ;WORD COUNT REGISTER
65 000004 RPBA= 04 ;UNIBUS ADDRESS REGISTER
66 000006 RPDA= 06 ;DESIRED SECTOR/TRACK ADDRESS REGISTER
67 000010 RPCS2= 10 ;CONTROL AND STATUS 2
68 000012 RPDS= 12 ;DRIVE STATUS
69 000014 RPER1= 14 ;ERROR 1
70 000040 RPER2= 40 ;ERROR 2
71 000042 RPER3= 42 ;ERROR 3
72 000032 RPOF= 32 ;OFFSET REGISTER
73 000034 RPDC= 34 ;DESIRED CYLINDER REGISTER
74 000006 RPFC= 6 ;MAGTAPE FRAME COUNTER
75 000032 RPTC= 32 ;MAGTAPE TAPE CONTROL
76
77 100000 UNV36X=100000 ;UNIBUS 36 BIT TRANSFER BIT
78 040000 UBVBIT==40000 ;UNIBUS VALID BIT
79
80 ;PRE-BOOT AC DEFINITIONS
81
82 000001 T1=1 ;TEMPS
83 000002 T2=2
84 000003 T3=3
85 000004 T4=4
86 000005 T5=5
87
88 000006 P1=6
89
90 000001 PBMADR=1
91 000002 PBLIM=2
92 000003 PBBITS=3
93 000004 PBERR=4
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 4
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0280
94 SUBTTL PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK
95
96 001000 254 00 0 00 001007 PBSTRT:!JRST PBSTAR
97
98 001001 254 04 0 00 001001 PBHLT0:!HALT . ;TRIED TO OVERLOAD PRE-BOOT
99 001002 254 04 0 00 001002 PBHLT1:!HALT . ;DISK RETRY FAILURE
100 001003 254 04 0 00 001003 PBHLT2:!HALT . ;NO RH-11 BASE ADDRESS
101 001004 254 04 0 00 001004 PBHLT3:!HALT . ;RESERVED
102
103 001005 123456 001662 PBPAGP:!123456,,PBPAG ;CODE,,POINTER TO DISK ADR & MEM ADR POINTERS
104 001006 000000 000000 BC2RES: 0 ;BC2 RESTART ADDRESS, 0 FOR DISK
105
106 ;VERIFY ACCUMULATOR AC0
107
108 001007 402 00 0 00 000000 PBSTAR:!SETZM 0 ;SET AC 0 TO ALL ZEROS
109 001010 332 00 0 00 000000 SKIPE ;SHOULD CAUSE A SKIP
110 001011 254 04 0 00 001011 HALT . ;ERROR, DIDN'T SKIP
111 001012 336 00 0 00 000000 SKIPN ;THIS SHOULD NOT SKIP
112 001013 334 00 0 00 000000 SKIPA ;WHICH COMES HERE AND THEN SKIPS
113 001014 254 04 0 00 001014 HALT . ;ERROR, EITHER SKIPN OR SKIPA FAILED
114 001015 312 00 0 00 001626 CAME 0,PBZERO
115 001016 254 04 0 00 001016 HALT . ;ERROR, DOES NOT COMPARE
116
117 001017 476 00 0 00 000000 SETOM 0 ;SET AC 0 TO ALL ONES
118 001020 336 00 0 00 000000 SKIPN ;SHOULD CAUSE A SKIP
119 001021 254 04 0 00 001021 HALT . ;ERROR, DIDN'T SKIP
120 001022 332 00 0 00 000000 SKIPE ;THIS SHOULD NOT SKIP
121 001023 326 00 0 00 001025 JUMPN 0,.+2 ;BUT THIS JUMP SHOULD JUMP
122 001024 254 04 0 00 001024 HALT . ;ERROR, EITHER SKIPE OR JUMPN FAILED
123 001025 327 00 0 00 001027 JUMPG 0,.+2 ;THIS SHOULD NOT JUMP
124 001026 321 00 0 00 001030 JUMPL 0,.+2 ;THIS ONE SHOULD JUMP
125 001027 254 04 0 00 001027 HALT . ;ERROR, EITHER JUMPG OR JUMPL FAILED
126 001030 312 00 0 00 001627 CAME 0,PBMONE
127 001031 254 04 0 00 001031 HALT . ;ERROR, DOES NOT COMPARE
128
129 001032 462 00 0 00 000000 SETCMM 0 ;COMPLEMENT AC0
130 001033 322 00 0 00 001035 JUMPE 0,.+2 ;THIS JUMP SHOULD JUMP
131 001034 254 04 0 00 001034 HALT . ;ERROR, DATA WRONG OR JUMP DIDN'T JUMP
132 001035 312 00 0 00 001626 CAME 0,PBZERO
133 001036 254 04 0 00 001036 HALT . ;ERROR, DOES NOT COMPARE
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 5
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0281
134
135 ;VERIFY BASIC CPU OPERATION
136
137 001037 400 00 0 00 000000 SETZ 0, ;CLEAR AC0
138 001040 271 00 0 00 000001 ADDI 0,1 ;ADD ONE
139 001041 302 00 0 00 000001 CAIE 0,1 ;DID IT ADD CORRECTLY ?
140 001042 254 04 0 00 001042 HALT . ;ERROR, CPU CAN'T ADD
141 001043 306 00 0 00 000001 CAIN 0,1 ;THIS COMPARE SHOULDN'T SKIP
142 001044 326 00 0 00 001046 JUMPN 0,.+2 ;BUT THIS JUMP SHOULD
143 001045 254 04 0 00 001045 HALT . ;ERROR, EITHER CAIN OR JUMPN FAILED
144 001046 321 00 0 00 001050 JUMPL 0,.+2 ;THIS SHOULD NOT JUMP
145 001047 327 00 0 00 001051 JUMPG 0,.+2 ;THIS ONE SHOULD JUMP
146 001050 254 04 0 00 001050 HALT . ;ERROR, EITHER JUMPL OR JUMPG FAILED
147
148 001051 271 00 0 00 000001 ADDI 0,1 ;ADD ONE AGAIN
149 001052 302 00 0 00 000002 CAIE 0,2 ;SHOULD NOW BE TWO
150 001053 254 04 0 00 001053 HALT . ;ERROR, CPU CAN'T ADD
151
152 001054 275 00 0 00 000002 SUBI 0,2 ;SUBTRACT TWO
153 001055 302 00 0 00 000000 CAIE 0,0 ;SHOULD NOW BE ZERO AGAIN
154 001056 254 04 0 00 001056 HALT . ;ERROR, CPU CAN'T SUBTRACT EITHER
155
156 001057 350 00 0 00 000000 AOS 0 ;ADD ONE A DIFFERENT WAY
157 001060 302 00 0 00 000001 CAIE 0,1 ;THIS SHOULD GIVE A ONE
158 001061 254 04 0 00 001061 HALT . ;ERROR, CPU STILL CAN'T ADD
159
160 001062 207 00 0 00 000000 MOVSS 0,0 ;SWAP AC0
161 001063 312 00 0 00 001630 CAME 0,PBLONE ;DID IT SWAP CORRECTLY ?
162 001064 254 04 0 00 001064 HALT . ;NO, ERROR
163
164 001065 211 00 0 00 002000 MOVNI 0,2000 ;GENERATE A NEGATIVE NUMBER (BOOT WORD COUNT)
165 001066 312 00 0 00 001631 CAME 0,PBNEG ;SHOULD GIVE A MINUS 2000
166 001067 254 04 0 00 001067 HALT . ;DIDN'T, ERROR
167
168 001070 400 00 0 00 000000 SETZ 0, ;ZERO AC0
169 001071 435 00 0 00 140000 IORI 0,140000 ;OR IN SAME BITS AS UBVBIT AND UNV36X
170 001072 312 00 0 00 001632 CAME 0,PBIOR ;ARE THE CORRECT BIT SET ?
171 001073 254 04 0 00 001073 HALT . ;NO, ERROR
172
173 001074 201 00 0 00 000002 MOVEI 0,2 ;START WITH A TWO
174 001075 363 00 0 00 001077 SOJLE 0,.+2 ;SUBTRACT ONE BUT SHOULD NOT JUMP
175 001076 334 00 0 00 000000 SKIPA ;WHICH SHOULD COME HERE AND SKIP
176 001077 254 04 0 00 001077 HALT . ;ERROR, SOJLE MUST HAVE JUMPED
177 001100 302 00 0 00 000001 CAIE 0,1 ;DID SUBTRACT WORK ?
178 001101 254 04 0 00 001101 HALT . ;NO, ERROR
179 001102 363 00 0 00 001104 SOJLE 0,.+2 ;DO IT AGAIN, THIS SHOULD JUMP
180 001103 254 04 0 00 001103 HALT . ;DIDN'T, ERROR
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 6
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0282
181
182 ;VERIFY BASIC ADDITION
183
184 001104 400 00 0 00 000000 SETZ 0, ;CLEAR AC 0
185 001105 270 00 0 00 001633 ADD 0,PBONES ;ADD A SET OF OCTAL ONES
186 001106 312 00 0 00 001633 CAME 0,PBONES ;DID IT ADD CORRECTLY ?
187 001107 254 04 0 00 001107 HALT . ;ERROR, CPU CAN'T ADD
188
189 001110 270 00 0 00 001633 ADD 0,PBONES ;ADD A SET OF OCTAL ONES AGAIN
190 001111 312 00 0 00 001634 CAME 0,PBTWOS ;SHOULD GIVE A SET OF OCTAL TWOS
191 001112 254 04 0 00 001112 HALT . ;ERROR
192
193 001113 270 00 0 00 001633 ADD 0,PBONES ;ADD AGAIN
194 001114 312 00 0 00 001635 CAME 0,PBTHRE ;SHOULD GIVE A SET OF OCTAL THREES
195 001115 254 04 0 00 001115 HALT . ;ERROR
196
197 001116 270 00 0 00 001633 ADD 0,PBONES ;ADD AGAIN
198 001117 312 00 0 00 001636 CAME 0,PBFOUR ;SHOULD GIVE A SET OF OCTAL FOURS
199 001120 254 04 0 00 001120 HALT . ;ERROR
200
201 001121 270 00 0 00 001633 ADD 0,PBONES ;ADD AGAIN
202 001122 312 00 0 00 001637 CAME 0,PBFIVE ;SHOULD GIVE A SET OF OCTAL FIVES
203 001123 254 04 0 00 001123 HALT . ;ERROR
204
205 001124 270 00 0 00 001633 ADD 0,PBONES ;ADD AGAIN
206 001125 312 00 0 00 001640 CAME 0,PBSIX ;SHOULD GIVE A SET OF OCTAL SIXES
207 001126 254 04 0 00 001126 HALT . ;ERROR
208
209 001127 270 00 0 00 001633 ADD 0,PBONES ;ADD AGAIN
210 001130 312 00 0 00 001627 CAME 0,PBMONE ;SHOULD GIVE A SET OF OCTAL SEVENS
211 001131 254 04 0 00 001131 HALT . ;ERROR
212
213 001132 271 00 0 00 000001 ADDI 0,1 ;ADD JUST A ONE
214 001133 322 00 0 00 001135 JUMPE 0,.+2 ;COMPARE IT A DIFFERENT WAY
215 001134 254 04 0 00 001134 HALT . ;DIDN'T GIVE A FULL WORD OF ZEROS
216
217 ;VERIFY AOBJN ADDITION AND JUMP TRANSFER
218
219 001135 253 00 0 00 001137 AOBJN 0,.+2 ;ADD 1 TO BOTH HALVES OF THE WORD
220 001136 312 00 0 00 001641 CAME 0,PB11 ;GIVE THE RIGHT ANSWER AND NO JUMP ?
221 001137 254 04 0 00 001137 HALT . ;NO, ERROR
222
223 001140 474 00 0 00 000000 SETO 0, ;PRESET AC 0 TO -1
224 001141 253 00 0 00 001143 AOBJN 0,.+2 ;GIVE THE RIGHT ANSWER AND NO JUMP ?
225 001142 312 00 0 00 001626 CAME 0,PBZERO
226 001143 254 04 0 00 001143 HALT . ;NO, ERROR
227
228 001144 200 00 0 00 001640 MOVE 0,PBSIX ;VERIFY THAT AOBJN DOES JUMP
229 001145 253 00 0 00 001147 AOBJN 0,.+2
230 001146 254 04 0 00 001146 HALT . ;ERROR, DIDN'T DO THE JUMP
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 7
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0283
231
232 ;VERIFY ACCUMULATOR ADDRESSING
233
234 001147 201 00 0 00 000000 MOVEI 0,0 ;LOAD EACH AC WITH ITS OWN ADDRESS
235 001150 201 01 0 00 000001 MOVEI 1,1
236 001151 201 02 0 00 000002 MOVEI 2,2
237 001152 201 03 0 00 000003 MOVEI 3,3
238 001153 201 04 0 00 000004 MOVEI 4,4
239 001154 201 05 0 00 000005 MOVEI 5,5
240 001155 201 06 0 00 000006 MOVEI 6,6
241 001156 201 07 0 00 000007 MOVEI 7,7
242 001157 201 10 0 00 000010 MOVEI 10,10
243 001160 201 11 0 00 000011 MOVEI 11,11
244 001161 201 12 0 00 000012 MOVEI 12,12
245 001162 201 13 0 00 000013 MOVEI 13,13
246 001163 201 14 0 00 000014 MOVEI 14,14
247 001164 201 15 0 00 000015 MOVEI 15,15
248 001165 201 16 0 00 000016 MOVEI 16,16
249 001166 201 17 0 00 000017 MOVEI 17,17
250
251 001167 302 17 0 00 000017 CAIE 17,17 ;VERIFY THAT EACH AC ADDRESSES CORRECTLY
252 001170 254 04 0 00 001170 HALT . ;ERROR
253 001171 302 16 0 00 000016 CAIE 16,16
254 001172 254 04 0 00 001172 HALT .
255 001173 302 15 0 00 000015 CAIE 15,15
256 001174 254 04 0 00 001174 HALT .
257 001175 302 14 0 00 000014 CAIE 14,14
258 001176 254 04 0 00 001176 HALT .
259 001177 302 13 0 00 000013 CAIE 13,13
260 001200 254 04 0 00 001200 HALT .
261 001201 302 12 0 00 000012 CAIE 12,12
262 001202 254 04 0 00 001202 HALT .
263 001203 302 11 0 00 000011 CAIE 11,11
264 001204 254 04 0 00 001204 HALT .
265 001205 302 10 0 00 000010 CAIE 10,10
266 001206 254 04 0 00 001206 HALT .
267 001207 302 07 0 00 000007 CAIE 7,7
268 001210 254 04 0 00 001210 HALT .
269 001211 302 06 0 00 000006 CAIE 6,6
270 001212 254 04 0 00 001212 HALT .
271 001213 302 05 0 00 000005 CAIE 5,5
272 001214 254 04 0 00 001214 HALT .
273 001215 302 04 0 00 000004 CAIE 4,4
274 001216 254 04 0 00 001216 HALT .
275 001217 302 03 0 00 000003 CAIE 3,3
276 001220 254 04 0 00 001220 HALT .
277 001221 302 02 0 00 000002 CAIE 2,2
278 001222 254 04 0 00 001222 HALT .
279 001223 302 01 0 00 000001 CAIE 1,1
280 001224 254 04 0 00 001224 HALT .
281 001225 302 00 0 00 000000 CAIE 0,0
282 001226 254 04 0 00 001226 HALT .
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 8
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0284
283
284 ;VERIFY ACCUMULATOR INDEXING
285
286 001227 312 01 0 01 000000 CAME 1,(1) ;SHOULD COMPARE AC1 AGAINST CONTENTS OF AC1
287 001230 254 04 0 00 001230 HALT . ;ERROR
288 001231 312 02 0 02 000000 CAME 2,(2)
289 001232 254 04 0 00 001232 HALT .
290 001233 312 03 0 03 000000 CAME 3,(3)
291 001234 254 04 0 00 001234 HALT .
292 001235 312 04 0 04 000000 CAME 4,(4)
293 001236 254 04 0 00 001236 HALT .
294 001237 312 05 0 05 000000 CAME 5,(5)
295 001240 254 04 0 00 001240 HALT .
296 001241 312 06 0 06 000000 CAME 6,(6)
297 001242 254 04 0 00 001242 HALT .
298 001243 312 07 0 07 000000 CAME 7,(7)
299 001244 254 04 0 00 001244 HALT .
300 001245 312 10 0 10 000000 CAME 10,(10)
301 001246 254 04 0 00 001246 HALT .
302 001247 312 11 0 11 000000 CAME 11,(11)
303 001250 254 04 0 00 001250 HALT .
304 001251 312 12 0 12 000000 CAME 12,(12)
305 001252 254 04 0 00 001252 HALT .
306 001253 312 13 0 13 000000 CAME 13,(13)
307 001254 254 04 0 00 001254 HALT .
308 001255 312 14 0 14 000000 CAME 14,(14)
309 001256 254 04 0 00 001256 HALT .
310 001257 312 15 0 15 000000 CAME 15,(15)
311 001260 254 04 0 00 001260 HALT .
312 001261 312 16 0 16 000000 CAME 16,(16)
313 001262 254 04 0 00 001262 HALT .
314 001263 312 17 0 17 000000 CAME 17,(17)
315 001264 254 04 0 00 001264 HALT .
316
317 ;VERIFY INDIRECT ADDRESSING
318
319 001265 200 00 1 00 000017 MOVE 0,@17 ;FETCH THE CONTENTS OF AC17
320 001266 302 00 0 00 000017 CAIE 0,17 ;SHOULD BE 17
321 001267 254 04 0 00 001267 HALT . ;WASN'T, ERROR
322
323 ;VERIFY INDIRECT AND INDEXING
324
325 001270 200 00 1 03 000004 MOVE 0,@4(3) ;SHOULD FETCH THE CONTENTS OF AC7
326 001271 302 00 0 00 000007 CAIE 0,7 ;CONTENTS OF 4 PLUS CONTENTS OF 3
327 001272 254 04 0 00 001272 HALT . ;DIDN'T, ERROR
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 9
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0285
328
329 ;VERIFY ACCUMULATOR AC17
330
331 001273 402 00 0 00 000017 SETZM 17 ;SET ZEROS TO AC17
332 001274 312 17 0 00 001626 CAME 17,PBZERO ;IS IT CORRECT ?
333 001275 254 04 0 00 001275 HALT . ;NO, COULD BE ABOUT ANYTHING
334
335 001276 476 00 0 00 000017 SETOM 17 ;SET ONES TO AC17
336 001277 312 17 0 00 001627 CAME 17,PBMONE ;IS IT CORRECT ?
337 001300 254 04 0 00 001300 HALT . ;NO, COULD BE ABOUT ANYTHING
338
339 ;VERIFY ACCUMULATOR DATA STORAGE
340
341 001301 205 17 0 00 777761 MOVSI 17,-17
342 001302 312 17 0 00 001642 CAME 17,PB17 ;DID MOVE SWAPPED IMMEDIATE WORK ?
343 001303 254 04 0 00 001303 HALT . ;NO, ERROR
344
345 001304 476 00 0 17 000000 SETOM (17) ;SET ONES TO AC'S 0 TO 16
346 001305 253 17 0 00 001304 AOBJN 17,.-1
347
348 001306 205 17 0 00 777761 MOVSI 17,-17
349 001307 462 00 0 17 000000 SETCMM (17) ;COMPLEMENT AC, SHOULD THEN BE ZERO
350 001310 332 00 0 17 000000 SKIPE (17)
351 001311 254 04 0 00 001311 HALT . ;WASN'T, STILL COULD BE ABOUT ANYTHING
352 001312 253 17 0 00 001307 AOBJN 17,.-3
353 001313 402 00 0 00 000017 SETZM 17
354
355 ;VERIFY SUBROUTINE CALLING
356
357 001314 254 02 1 00 001315 JRSTF @.+1 ;CLEAR PROCESSOR FLAGS
358 001315 000000 001316 0,,.+1
359 001316 264 00 0 00 001321 JSR .+3 ;TRANSFER TO SUBROUTINE
360 001317 254 04 0 00 001317 PBJSR:! HALT . ;DIDN'T TRANSFER
361
362 001320 254 00 0 00 001327 JRST .+7 ;CONTINUE AFTER SUBROUTINE FROM HERE
363
364 001321 000000 000000 0 ;SAVED PC STORAGE
365 001322 200 00 0 00 001321 MOVE 0,.-1 ;GET SAVED PC
366 001323 312 00 0 00 001643 CAME 0,PBSPC ;DID CORRECT PC GET STORED ?
367 001324 254 04 0 00 001324 HALT . ;NO, ERROR
368 001325 350 00 0 00 001321 AOS PBJSR+2 ;PLUS ONE TO PC TO SKIP HALT
369 001326 254 02 1 00 001321 JRSTF @PBJSR+2 ;NOW CONTINUE BACK IN MAINLINE
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 10
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0286
370
371 ;VERIFY BIT TESTS USED IN PRE-BOOT
372
373 001327 201 00 0 00 000200 MOVEI 0,200 ;SAME BIT AS DISK READY
374 001330 606 00 0 00 000200 TRNN 0,200 ;SHOULD SKIP
375 001331 254 04 0 00 001331 HALT . ;ERROR, DIDN'T
376 001332 602 00 0 00 000200 TRNE 0,200 ;SHOULD NOT SKIP
377 001333 324 00 0 00 001335 JUMPA .+2 ;WHICH COMES HERE AND JUMPA SHOULD JUMP
378 001334 254 04 0 00 001334 HALT . ;EITHER TRNE OR JUMPA FAILED
379 001335 302 00 0 00 000200 CAIE 0,200 ;DO IMMEDIATE MODE COMPARE
380 001336 254 04 0 00 001336 HALT . ;ERROR, DOES NOT COMPARE
381
382 001337 201 00 0 00 040000 MOVEI 0,40000 ;SAME BIT AS TRE ERROR
383 001340 606 00 0 00 040000 TRNN 0,40000 ;SHOULD SKIP
384 001341 254 04 0 00 001341 HALT . ;ERROR, DIDN'T
385 001342 602 00 0 00 040000 TRNE 0,40000 ;SHOULD NOT SKIP
386 001343 324 00 0 00 001345 JUMPA .+2 ;WHICH COMES HERE AND JUMPA SHOULD JUMP
387 001344 254 04 0 00 001344 HALT . ;EITHER TRNE OR JUMPA FAILED
388 001345 302 00 0 00 040000 CAIE 0,40000 ;DO IMMEDIATE MODE COMPARE
389 001346 254 04 0 00 001346 HALT . ;ERROR, DOES NOT COMPARE
390
391 ;SAVE BOOT DISK PARAMETERS
392
393 001347 200 00 0 00 000036 MOVE 0,MSRH ;GET DISK ADDRESS
394 001350 202 00 0 00 001655 MOVEM 0,PBRHSV
395 001351 336 00 0 00 000000 SKIPN 0
396 001352 254 00 0 00 001003 JRST PBHLT2 ;NO RH-11 BASE ADDRESS ?
397 001353 502 00 0 00 001660 HLLM 0,PBUBP0 ;SETUP UBA MAP POINTER
398 001354 502 00 0 00 001661 HLLM 0,PBUBST ;SETUP UBA STATUS POINTER
399
400 001355 200 00 0 00 000031 MOVE 0,KPALIVE
401 001356 202 00 0 00 001654 MOVEM 0,PBKPAL ;SAVE KEEP-ALIVE WORD
402
403 001357 200 00 0 00 000037 MOVE 0,MSDRIVE
404 001360 202 00 0 00 001656 MOVEM 0,PBDRSV ;SAVE DRIVE SELECTION
405
406 ;VERIFY XOR INSTRUCTION
407
408 001361 400 00 0 00 000000 SETZ 0, ;XOR 0 WITH 0
409 001362 430 00 0 00 000000 XOR 0,0
410 001363 302 00 0 00 000000 CAIE 0,0 ;SHOULD GIVE ALL ZEROS
411 001364 254 04 0 00 001364 HALT . ;DIDN'T, ERROR
412
413 001365 474 00 0 00 000000 SETO 0, ;XOR -1 WITH -1
414 001366 430 00 0 00 000000 XOR 0,0
415 001367 302 00 0 00 000000 CAIE 0,0 ;SHOULD GIVE ALL ZEROS
416 001370 254 04 0 00 001370 HALT . ;DIDN'T, ERROR
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 11
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0287
417
418 001371 474 01 0 00 000000 SETO 1, ;ALL ONES TO AC1
419 001372 430 00 0 00 000001 XOR 0,1 ;XOR 0 AND -1
420 001373 312 00 0 00 001627 CAME 0,PBMONE ;SHOULD GIVE ALL ONES
421 001374 254 04 0 00 001374 HALT . ;DIDN'T, ERROR
422
423 001375 400 01 0 00 000000 SETZ 1, ;ALL ZEROS TO AC1
424 001376 430 00 0 00 000001 XOR 0,1 ;XOR -1 AND 0
425 001377 312 00 0 00 001627 CAME 0,PBMONE ;SHOULD GIVE ALL ONES
426 001400 254 04 0 00 001400 HALT . ;DIDN'T, ERROR
427
428 ;VERIFY MEMORY FROM 20 TO 777
429
430 001401 201 01 0 00 000020 MOVEI PBMADR,20 ;TEST MEMORY 20 TO 777 FOR ONES
431 001402 201 02 0 00 000777 MOVEI PBLIM,777
432 001403 476 00 0 00 000003 SETOM PBBITS
433 001404 264 00 0 00 001430 JSR PBTST1 ;DO MEMORY TEST
434
435 001405 201 01 0 00 000020 MOVEI PBMADR,20 ;TEST MEMORY 20 TO 777 FOR ADDRESS
436 001406 201 02 0 00 000777 MOVEI PBLIM,777
437 001407 264 00 0 00 001441 JSR PBTST2 ;DO MEMORY TEST
438
439 001410 201 01 0 00 000020 MOVEI PBMADR,20 ;TEST MEMORY 20 TO 777 FOR ZEROS
440 001411 201 02 0 00 000777 MOVEI PBLIM,777
441 001412 402 00 0 00 000003 SETZM PBBITS
442 001413 264 00 0 00 001430 JSR PBTST1 ;DO MEMORY TEST
443
444 ;VERIFY MEMORY FROM 2000 TO END OF 32K
445
446 001414 201 01 0 00 002000 MOVEI PBMADR,2000 ;TEST MEMORY 2000 TO 77777 FOR ONES
447 001415 201 02 0 00 077777 MOVEI PBLIM,77777
448 001416 476 00 0 00 000003 SETOM PBBITS
449 001417 264 00 0 00 001430 JSR PBTST1 ;DO MEMORY TEST
450
451 001420 201 01 0 00 002000 MOVEI PBMADR,2000 ;TEST MEMORY 2000 TO 77777 FOR ADDRESS
452 001421 201 02 0 00 077777 MOVEI PBLIM,77777
453 001422 264 00 0 00 001441 JSR PBTST2 ;DO MEMORY TEST
454
455 001423 201 01 0 00 002000 MOVEI PBMADR,2000 ;TEST MEMORY 2000 TO 77777 FOR ZEROS
456 001424 201 02 0 00 077777 MOVEI PBLIM,77777
457 001425 402 00 0 00 000003 SETZM PBBITS
458 001426 264 00 0 00 001430 JSR PBTST1 ;DO MEMORY TEST
459
460 001427 254 00 0 00 001452 JRST PBSTA1 ;NOW GO LOAD FROM DISK
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 12
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0288
461
462 ;MEMORY DATA SUBROUTINE
463
464 001430 000000 000000 PBTST1:! 0
465 001431 202 03 0 01 000000 MOVEM PBBITS,(PBMADR) ;MOVE DATA TO MEMORY
466 001432 200 04 0 01 000000 MOVE PBERR,(PBMADR) ;READ DATA BACK FROM MEMORY
467 001433 430 04 0 00 000003 XOR PBERR,PBBITS ;XOR DATA, WILL BE ZERO IF NO ERROR
468 001434 322 04 0 00 001436 JUMPE PBERR,.+2
469 001435 254 04 0 00 001435 HALT . ;MEMORY DATA ERROR
470 001436 305 01 0 02 000000 CAIGE PBMADR,(PBLIM) ;COMPLETED MEMORY SECTION ?
471 001437 344 01 0 00 001431 AOJA PBMADR,PBTST1+1 ;NO, CONTINUE TO NEXT ADDRESS
472 001440 254 02 1 00 001430 JRSTF @PBTST1 ;YES, RETURN TO MAIN LINE
473
474 ;MEMORY ADDRESS SUBROUTINE
475
476 001441 000000 000000 PBTST2:! 0
477 001442 200 03 0 00 000001 MOVE PBBITS,PBMADR ;SETUP ADDRESS AS TEST DATA
478 001443 202 03 0 01 000000 MOVEM PBBITS,(PBMADR) ;MOVE DATA TO MEMORY
479 001444 200 04 0 01 000000 MOVE PBERR,(PBMADR) ;READ DATA BACK FROM MEMORY
480 001445 312 03 0 00 000004 CAME PBBITS,PBERR ;DATA WILL BE THE SAME IF NO ERROR
481 001446 254 04 0 00 001446 HALT . ;MEMORY DATA ERROR
482 001447 305 01 0 02 000000 CAIGE PBMADR,(PBLIM) ;COMPLETED MEMORY SECTION ?
483 001450 344 01 0 00 001442 AOJA PBMADR,PBTST2+1 ;NO, CONTINUE TO NEXT ADDRESS
484 001451 254 02 1 00 001441 JRSTF @PBTST2 ;YES, RETURN TO MAIN LINE
485
486 ;NOW GO LOAD LOAD FROM THE DISK
487
488 001452 200 06 0 00 001655 PBSTA1:!MOVE P1,PBRHSV
489
490 001453 201 01 0 00 000040 MOVEI T1,RHCLR
491 001454 713 01 0 06 000010 WRIO T1,RPCS2(P1) ;CLEAR CONTROLLER
492
493 001455 200 01 0 00 001656 MOVE T1,PBDRSV
494 001456 713 01 0 06 000010 WRIO T1,RPCS2(P1) ;SELECT DRIVE
495
496 001457 201 01 0 00 000021 MOVEI T1,RIPST ;DO READIN PRESET
497 001460 713 01 0 06 000000 WRIO T1,RPCS1(P1) ;WRITE REGISTER
498 001461 712 02 0 06 000012 RDIO T2,RPDS(P1) ;CHECK READY?
499 001462 606 02 0 00 000200 TRNN T2,RDY ;WAIT FOR READY
500 001463 254 00 0 00 001461 JRST .-2 ;NO -- CONTINUE WAIT
501
502 001464 201 03 0 00 001662 MOVEI T3,PBPAG ;FIND THE OFFSET STUFF
503 001465 201 05 0 00 000012 MOVEI T5,^D10 ;SET RETRY COUNT
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 13
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0289
504
505 ;READ BOOT PAGES FROM THE DISK INTO MEMORY
506
507 001466 200 04 0 03 000000 PBREAD:!MOVE T4,0(T3) ;FIND THE DISK ADDRESS
508 001467 321 04 0 00 001566 JUMPL T4,PBDONE ;QUIT IF ALL DONE WITH PAGES
509
510 001470 350 00 0 00 000003 AOS T3 ;POINT TO BLOCK ENTRIES
511 001471 713 04 0 06 000006 WRIO T4,RPDA(P1) ;SET DISK ADDRESS
512 001472 207 00 0 00 000004 MOVSS T4 ;FIND CYL ADDRESS
513 001473 713 04 0 06 000034 WRIO T4,RPDC(P1) ;SET CYL ADDRESS
514
515 001474 211 04 0 00 002000 MOVNI T4,2000 ;READ A PAGE (WORD COUNT)
516 001475 713 04 0 06 000002 WRIO T4,RPWC(P1) ;SET WORD COUNT
517
518 001476 400 04 0 00 000000 SETZ T4, ;CLEAR CURRENT ADDRESS REGISTER
519 001477 713 04 0 06 000004 WRIO T4,RPBA(P1) ;SET UNIBUS ADDRESS TO 0
520
521 001500 200 04 0 03 000000 MOVE T4,0(T3) ;FIND THE CORE ADDRESS
522 001501 350 00 0 00 000003 AOS T3 ;POINT TO NEXT ENTRY
523 001502 306 04 0 00 000001 CAIN T4,1 ;CAN'T OVERLOAD PRE-BOOT
524 001503 254 00 0 00 001524 JRST PBBADR ;PAGE 1 REQUESTED TO BE LOADED ?
525
526 001504 435 04 0 00 140000 IORI T4,UBVBIT!UNV36X
527 001505 713 04 1 00 001660 WRIO T4,@PBUBP0 ;SET UP UNIBUS ADAPTOR PAGE 0
528
529 001506 201 04 0 00 000071 MOVEI T4,RDATA ;SET GO
530 001507 713 04 0 06 000000 WRIO T4,RPCS1(P1) ;WAIT FOR GO
531 001510 712 04 0 06 000000 RDIO T4,RPCS1(P1)
532 001511 606 04 0 00 000200 TRNN T4,RDY
533 001512 254 00 0 00 001510 JRST .-2 ;HO HUM WAIT
534
535 001513 606 04 0 00 060000 TRNN T4,TRE!MCPE ;CHECK ERROR CONDITION SUMMARY
536 001514 254 00 0 00 001466 JRST PBREAD ;DO NEXT PAGE
537
538 001515 275 03 0 00 000002 SUBI T3,2 ;BACKUP TO SAME ENTRY
539 001516 363 05 0 00 001527 SOJLE T5,PBFAIL ;TRY AGAIN TILL RETRY RUNS OUT
540
541 ;DISK ERROR RETRY
542
543 001517 201 01 0 00 000040 PBRTRY:!MOVEI T1,RHCLR ;ERROR, CLEAR & TRY AGAIN
544 001520 713 01 0 06 000010 WRIO T1,RPCS2(P1) ;CLEAR CONTROLLER
545
546 001521 200 01 0 00 001656 MOVE T1,PBDRSV
547 001522 713 01 0 06 000010 WRIO T1,RPCS2(P1) ;SELECT DRIVE
548
549 001523 254 00 0 00 001466 JRST PBREAD ;TRY AGAIN
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 14
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0290
550
551 ;PRE-BOOT ERROR, TRIED TO OVERLOAD PAGE 1
552
553 001524 201 17 0 00 001001 PBBADR:!MOVEI 17,PBHLT0 ;SET HALT ADDRESS
554 001525 275 03 0 00 000002 SUBI T3,2 ;POINT TO FAILING ENTRY
555 001526 254 00 0 00 001530 JRST .+2
556
557 ;PRE-BOOT ERROR, DISK TRANSFER ERROR AND EXCEEDED RETRY LIMIT
558
559 001527 201 17 0 00 001002 PBFAIL:!MOVEI 17,PBHLT1 ;SET HALT ADDRESS
560 001530 200 00 0 03 000000 MOVE (T3)
561 001531 202 00 0 00 000100 MOVEM 100 ;SAVE 8080 DISK ADDRESS
562 001532 200 00 0 03 000001 MOVE 1(T3)
563 001533 202 00 0 00 000101 MOVEM 101 ;SAVE MEMORY PAGE ADDRESS
564
565 001534 202 03 0 00 000102 MOVEM T3,102 ;SAVE SELECTION PICKUP POINTER
566
567 001535 712 00 0 06 000000 RDIO RPCS1(P1)
568 001536 202 00 0 00 000103 MOVEM 103 ;SAVE CONTROL AND STATUS 1
569 001537 712 00 0 06 000010 RDIO RPCS2(P1)
570 001540 202 00 0 00 000104 MOVEM 104 ;SAVE CONTROL AND STATUS 2
571 001541 712 00 0 06 000012 RDIO RPDS(P1)
572 001542 202 00 0 00 000105 MOVEM 105 ;SAVE DRIVE STATUS
573 001543 712 00 0 06 000014 RDIO RPER1(P1)
574 001544 202 00 0 00 000106 MOVEM 106 ;SAVE ERROR 1
575 001545 712 00 0 06 000040 RDIO RPER2(P1)
576 001546 202 00 0 00 000107 MOVEM 107 ;SAVE ERROR 2
577 001547 712 00 0 06 000042 RDIO RPER3(P1)
578 001550 202 00 0 00 000110 MOVEM 110 ;SAVE ERROR 3
579
580 001551 712 00 1 00 001660 RDIO @PBUBP0
581 001552 202 00 0 00 000111 MOVEM 111 ;SAVE UBA PAGING RAM LOC 0
582 001553 712 00 1 00 001661 RDIO @PBUBST
583 001554 202 00 0 00 000112 MOVEM 112 ;SAVE UBA STATUS REG
584
585 001555 200 00 0 00 001657 MOVE PBVER
586 001556 202 00 0 00 000113 MOVEM 113 ;SAVE PRE-BOOT VERSION
587
588 001557 200 00 0 00 001655 MOVE PBRHSV
589 001560 202 00 0 00 000036 MOVEM MSRH ;REINSTALL RH-11 BASE ADDRESS
590 001561 200 00 0 00 001656 MOVE PBDRSV
591 001562 202 00 0 00 000037 MOVEM MSDRIVE ;REINSTALL DRIVE NUMBER
592 001563 200 00 0 00 001654 MOVE PBKPAL
593 001564 202 00 0 00 000031 MOVEM KPALIVE ;REINSTALL KEEP-ALIVE
594
595 001565 254 00 1 00 000017 JRST @17 ;HALT AT APPROPRIATE HALT
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 15
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0291
596
597 ;CLEAR ALL ACCUMULATOR BLOCKS
598
599 001566 200 00 0 03 000001 PBDONE:!MOVE 1(T3) ;GET START ADDRESS
600 001567 202 00 0 00 000020 MOVEM 20 ;SAVE
601
602 001570 701 03 0 00 001644 WRUBR PBACB7
603 001571 264 00 0 00 001620 JSR PBWRAC ;CLEAR AC BLOCK 7
604
605 001572 701 03 0 00 001645 WRUBR PBACB6
606 001573 264 00 0 00 001620 JSR PBWRAC ;CLEAR AC BLOCK 6
607
608 001574 701 03 0 00 001646 WRUBR PBACB5
609 001575 264 00 0 00 001620 JSR PBWRAC ;CLEAR AC BLOCK 5
610
611 001576 701 03 0 00 001647 WRUBR PBACB4
612 001577 264 00 0 00 001620 JSR PBWRAC ;CLEAR AC BLOCK 4
613
614 001600 701 03 0 00 001650 WRUBR PBACB3
615 001601 264 00 0 00 001620 JSR PBWRAC ;CLEAR AC BLOCK 3
616
617 001602 701 03 0 00 001651 WRUBR PBACB2
618 001603 264 00 0 00 001620 JSR PBWRAC ;CLEAR AC BLOCK 2
619
620 001604 701 03 0 00 001652 WRUBR PBACB1
621 001605 264 00 0 00 001620 JSR PBWRAC ;CLEAR AC BLOCK 1
622
623 001606 701 03 0 00 001653 WRUBR PBACB0
624 001607 264 00 0 00 001620 JSR PBWRAC ;CLEAR AC BLOCK 0
625
626 ;REINSTALL 8080 PARAMETERS
627
628 001610 200 00 0 00 001655 MOVE PBRHSV
629 001611 202 00 0 00 000036 MOVEM MSRH ;REINSTALL RH-11 BASE ADDRESS
630 001612 200 00 0 00 001656 MOVE PBDRSV
631 001613 202 00 0 00 000037 MOVEM MSDRIVE ;REINSTALL DRIVE NUMBER
632 001614 200 00 0 00 001654 MOVE PBKPAL
633 001615 202 00 0 00 000031 MOVEM KPALIVE ;REINSTALL KEEP-ALIVE
634
635 ;NOW START CODE JUST READ IN
636
637 001616 400 00 0 00 000000 SETZ
638 001617 254 00 1 00 000020 JRST @20 ;NOW START BOOT
639
640 ;AC BLOCK CLEAR SUBROUTINE
641
642 001620 000000 000000 PBWRAC:!0
643 001621 205 17 0 00 777761 MOVSI 17,-17
644 001622 402 00 0 17 000000 SETZM (17) ;ZERO AC'S
645 001623 253 17 0 00 001622 AOBJN 17,.-1
646 001624 402 00 0 00 000017 SETZM 17
647 001625 254 02 1 00 001620 JRSTF @PBWRAC
SMPREB DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2 MACRO %53(1020) 10:57 19-Feb-79 Page 16
SMPREB MAC 27-Oct-78 11:53 PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK SEQ 0292
648
649 ;PRE-BOOT PARAMETERS AND STORAGE
650
651 001626 000000 000000 PBZERO:!0 ;CONSTANT ZERO TEST WORD
652 001627 777777 777777 PBMONE:!-1 ;CONSTANT ONE TEST WORD
653 001630 000001 000000 PBLONE:!1,,0 ;CONSTANT LEFT HALF ONE
654 001631 777777 776000 PBNEG:! -2000 ;CONSTANT MINUS 2000
655 001632 000000 140000 PBIOR:! 0,,140000 ;CONSTANT FOR IORI CHECK
656 001633 111111 111111 PBONES:!111111,,111111 ;CONSTANT ONES TEST WORD
657 001634 222222 222222 PBTWOS:!222222,,222222 ;CONSTANT TWOS TEST WORD
658 001635 333333 333333 PBTHRE:!333333,,333333 ;CONSTANT THREES TEST WORD
659 001636 444444 444444 PBFOUR:!444444,,444444 ;CONSTANT FOURS TEST WORD
660 001637 555555 555555 PBFIVE:!555555,,555555 ;CONSTANT FIVES TEST WORD
661 001640 666666 666666 PBSIX:! 666666,,666666 ;CONSTANT SIXES TEST WORD
662 001641 000001 000001 PB11:! 1,,1 ;CONSTANT ONE IN EACH HALF
663 001642 777761 000000 PB17:! -17,,0 ;CONSTANT AC'S AOBJN POINTER
664 001643 000000 001317 PBSPC:! 0,,PBJSR ;CONSTANT FOR SUBROUTINE TEST PC
665
666 001644 407000 000000 PBACB7:! 1B0!7B8 ;WRUBR ARGUMENTS
667 001645 406000 000000 PBACB6:! 1B0!6B8
668 001646 405000 000000 PBACB5:! 1B0!5B8
669 001647 404000 000000 PBACB4:! 1B0!4B8
670 001650 403000 000000 PBACB3:! 1B0!3B8
671 001651 402000 000000 PBACB2:! 1B0!2B8
672 001652 401000 000000 PBACB1:! 1B0!1B8
673 001653 400000 000000 PBACB0:! 1B0!0B8
674
675 001654 000000 000000 PBKPAL:! 0 ;KEEP-ALIVE & STATUS WORD
676 001655 000000 000000 PBRHSV:! 0 ;RH-11 BASE ADDRESS
677 001656 000000 000000 PBDRSV:! 0 ;DRIVE NUMBER
678
679 001657 000000 000002 PBVER:! MCNVER,,DECVER ;PRE-BOOT VERSION
680
681 001660 000001 763000 PBUBP0:! 1,,763000 ;ADDRESS OF FIRST WINDOW
682 001661 000001 763100 PBUBST:! 1,,763100 ;ADDRESS OF UBA STATUS
683
684 001662 SMPBPG:
685 001662 000000 000000 PBPAG:! 0 ;DISK ADDRESS AND MEMORY ADDRESS POINTERS
686 001663 PBPAGX:! BLOCK 114 ;STORAGE BLOCK
687 000777' DEPHASE
688 000777' 000000 000000 SMPEND: 0 ;ENDING REFERENCE ADDRESS
689 END
NO ERRORS DETECTED
PROGRAM BREAK IS 001000
CPU TIME USED 00:02.255
18P CORE USED
BC2RES 104#
BOORG 37# SEQ 0293
DECVER 4# 10 679
FMT22 57#
KPALIV 46# 400 593 633
MCNVER 3# 10 679
MCPE 54# 535
MSDRIV 48# 403 591 631
MSRH 47# 393 589 629
MSSLAV 49#
P1 88# 488 491 494 497 498 511 513 516 519 530 531 544 547
567 569 571 573 575 577
PB11 220 662#
PB17 342 663#
PBACB0 623 673#
PBACB1 620 672#
PBACB2 617 671#
PBACB3 614 670#
PBACB4 611 669#
PBACB5 608 668#
PBACB6 605 667#
PBACB7 602 666#
PBBADR 524 553#
PBBITS 92# 432 441 448 457 465 467 477 478 480
PBDONE 508 599#
PBDRSV 404 493 546 590 630 677#
PBERR 93# 466 467 468 479 480
PBFAIL 539 559#
PBFIVE 202 660#
PBFOUR 198 659#
PBHLT0 98# 553
PBHLT1 99# 559
PBHLT2 100# 396
PBHLT3 101#
PBIOR 170 655#
PBJSR 360# 368 369 664
PBKPAL 401 592 632 675#
PBLIM 91# 431 436 440 447 452 456 470 482
PBLONE 161 653#
PBMADR 90# 430 435 439 446 451 455 465 466 470 471 477 478 479
482 483
PBMONE 126 210 336 420 425 652#
PBNEG 165 654#
PBONES 185 186 189 193 197 201 205 209 656#
PBPAG 103 502 685#
PBPAGP 103#
PBPAGX 686#
PBREAD 507# 536 549
PBRHSV 394 488 588 628 676#
PBRTRY 543#
PBSIX 206 228 661#
PBSPC 366 664#
PBSTA1 460 488#
PBSTAR 96 108#
PBSTRT 96# SEQ 0294
PBTHRE 194 658#
PBTST1 433 442 449 458 464# 471 472
PBTST2 437 453 476# 483 484
PBTWOS 190 657#
PBUBP0 397 527 580 681#
PBUBST 398 582 682#
PBVER 585 679#
PBWRAC 603 606 609 612 615 618 621 624 642# 647
PBZERO 114 132 225 332 651#
RDATA 52# 529
RDY 53# 499 532
RHCLR 59# 490 543
RIPST 51# 496
RPBA 65# 519
RPCS1 63# 497 530 531 567
RPCS2 67# 491 494 544 547 569
RPDA 66# 511
RPDC 73# 513
RPDS 68# 498 571
RPER1 69# 573
RPER2 70# 575
RPER3 71# 577
RPFC 74#
RPOF 72#
RPTC 75#
RPWC 64# 516
SC 56#
SMPBPG 684#
SMPEND 20 688#
SMPREB 18 19#
T1 82# 490 491 493 494 496 497 543 544 546 547
T2 83# 498 499
T3 84# 502 507 510 521 522 538 554 560 562 565 599
T4 85# 507 508 511 512 513 515 516 518 519 521 523 526 527
529 530 531 532 535
T5 86# 503 539
TRE 55# 535
UBAP0 43#
UBSTAT 44#
UBVBIT 78# 526
UNV36X 77# 526
NAME 7# 10
RDIO 40# 498 531 567 569 571 573 575 577 580 582 SEQ 0295
WRIO 41# 491 494 497 511 513 516 519 527 530 544 547
WRUBR 39# 602 605 608 611 614 617 620 623
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 1
GSCN MAC 22-May-78 10:53 KEYBOARD INTERFACE SEQ 0296
1 TITLE GSCN -- Command Scanner Interface for DIAGNOSTICS
2
3 SEARCH GLXMAC ;OPEN SYMBOLS NEEDED
4 SEARCH MACTEN
5 SEARCH UUOSYM
6
7 SALL
8 ;This module emulates the command scanning and text input routines found
9 ; in the TOPS-20 operating system. (Somewhat)
10
11 ;SPECIAL DIAGNOSTIC DEFINITIONS, OVERRIDE GLXMAC
12
13 000100 .PRIIN=100
14 000101 .PRIOU=101
15
16 000002 .FDSTR=2 ;STRUCTURE
17 000003 .FDPPN=3 ;PPN
18 000004 .FDNAM=4 ;NAME
19 000005 .FDEXT=5 ;EXT
20
21 100000 000000 GJ%OLD=1B2
22
23 260740 000000 OPDEF GO [PUSHJ P,]
24 263740 000000 OPDEF RTN [POPJ P,]
25 261740 000000 OPDEF PUT [PUSH P,]
26 262740 000000 OPDEF GETIT [POP P,]
27
28 EXTERN $CCLIN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 2
GSCN MAC 22-May-78 10:53 Table of Contents SEQ 0297
29 SUBTTL Table of Contents
30
31 ; TABLE OF CONTENTS FOR GLXSCN
32 ;
33 ;
34 ; SECTION PAGE
35 ; 1. Table of Contents......................................... 2
36 ; 2. Local Definitions......................................... 3
37 ; 3. Module Storage............................................ 4
38 ; 4. S%INIT -- Initialization of the Scanning Module......... 5
39 ; 5. S%RCOC -- Read Character Output Control table.......... 6
40 ; 6. S%WCOC -- Write Character Output Control table......... 6
41 ; 7. S%STYP -- Set terminal type............................. 7
42 ; 8. S%TXTI -- Handle Terminal Input......................... 8
43 ; 9. TXTL -- Loop for inputting text......................... 9
44 ; 10. Utilities for text handling............................... 10
45 ; 11. SPCHK -- Check for special characters................... 15
46 ; 12. CCU -- Handle ^U (Rubout entire line)................... 16
47 ; 13. CCR -- Handle ^R (Re-type the line)..................... 17
48 ; 14. CCDEL -- Handle Rubout (Delete one character)........... 18
49 ; 15. CCW -- Handle ^W (Delete back to punctuation character). 19
50 ; 16. BEGBUF -- Handle rubouts to beginning of buffer......... 19
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 3
GSCN MAC 22-May-78 10:53 Revision History SEQ 0298
51 SUBTTL Revision History
52
53
54 COMMENT \
55
56 Edit SPR/QAR/GCO Reason
57 ---- ----------- -------------------------------------------
58
59 0001 Create GLXSCN module
60 0002 Fix a number of interrupt race problems and
61 start adding ESCape sequence code
62 0003 Add support for parsing of a string; fix bug in
63 .CMINI which caused prompts not at left margin
64 0004 TOTALLY HACKED UP FOR DIAGNOSTICS
65
66 \ ;END OF REVISION HISTORY
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 4
GSCN MAC 22-May-78 10:53 Revision History SEQ 0299
67 ; Entry Points found in this module
68
69 ENTRY S%INIT ;INIT THE COMMAND SCANNER MODULE
70 ENTRY S%CMND ;SCAN A COMMAND
71 ENTRY S%SCMP ;COMPARE TWO STRINGS
72 ENTRY S%TBLK ;LOOK UP A STRING IN A TABLE
73 ENTRY S%ERR ;TYPE OUT SCANNER'S LAST ERROR
74
75 ;SPECIAL DIAGNOSTICS MACROS
76
77 DEFINE $$DATA(NAM,SIZ<1>)<
78 NAM: BLOCK SIZ
79 >
80
81 DEFINE $$GDATA(NAM,SIZ<1>)<
82 NAM: BLOCK SIZ
83 >
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 5
GSCN MAC 22-May-78 10:53 Local Definitions SEQ 0300
84 SUBTTL Local Definitions
85
86 ; Special Accumulator definitions
87
88 000016 C==16 ;GLOBAL CHARACTER REGISTER
89 000013 P5==P4+1 ;S%CMND NEEDS LOTS OF ACS
90 000014 F==14 ;FLAG AC
91 000015 Q1==15 ;
92 000016 Q2==16 ;DON'T DEFINE Q3 OR Q4
93
94 ; Special characters
95
96 000134 .CHBSL=="\" ;BACKSLASH
97
98 ; Control character former
99
100 DEFINE $C(A)<"A"-100> ;JUST ASCII MINUS LEAD BIT
101
102 ; Bad parse return macro
103
104 DEFINE NOPARS(CODE,TEXT)<
105 MOVE T1,[XWD CODE,[ASCIZ /TEXT/]]
106 JRST XCOMNE > ;END OF NOPARS DEFINITION
107
108 ; Special bit testing macros
109
110 DEFINE JXN(AC,FLD,ADDR)<
111 TXNN AC,FLD
112 SKIPA
113 JRST ADDR > ;END OF JXN DEFINITION
114
115 DEFINE JXE(AC,FLD,ADDR)<
116 TXNE AC,FLD
117 SKIPA
118 JRST ADDR > ;END OF JXE DEFINITION
119
120 DEFINE JXO(AC,FLD,ADDR)<
121 TXC AC,FLD
122 TXCN AC,FLD
123 JRST ADDR > ;END OF JXO DEFINITION
124
125 DEFINE RETSKP<JRST [AOS 0(P)
126 POPJ P,] >
127
128 ; Bit table - 36. Words long with word N containing 1B<N>
129
130 000000 XX==0
131 000000' BITS: XLIST
132 LIST
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 6
GSCN MAC 22-May-78 10:53 Module Storage SEQ 0301
133 SUBTTL Module Storage
134
135
136 000044' $$DATA RD,.RDSIZ ;INTERNAL ARGUMENT BLOCK
137
138 000055' $$DATA PCALL ;PUSHDOWN LIST SAVE FOR COMND
139 000056' $$DATA ATBPTR ;ATOM BUFFER POINTER (END)
140 000057' $$DATA ATBSIZ ;ATOM BUFFER SIZE
141 000060' $$DATA STKFEN ;FENCE FOR STACK RESTORATION
142 000061' $$DATA FNARG ;FUNCTION ARGUMENT
143 000062' $$DATA CMCCM,2 ;SAVED CC CODES
144 000064' $$DATA CMRBRK ;POINTER TO BREAK SET TABLE
145 000065' $$DATA CMCSF ;SAVED FLAGS
146 000066' $$DATA CMCSAC,7 ;SAVED ACS DURING S%TXTI FROM S%CMND
147 000075' $$DATA CMCSC ;
148 000076' $$DATA CMCBLF ;
149 000077' $$DATA TBA ;TABLE ARGUMENTS
150 000100' $$DATA STRG ;TEMP STRING POINTER
151 000101' $$DATA REMSTR ;"REMEMBER"ED STRING
152 000102' $$DATA XXXPTR ;RE-USABLE STRING POINTER STORAGE
153 000103' $$DATA CRBLK,CR.SIZ ;RETURNED BLOCK OF ANSWERS
154 000106' $$DATA TABDON ;END OF TAB FOR "?"
155 000107' $$DATA TABSIZ ;SIZE OF TAB LARGER THAN LARGEST KEYWORD
156 000110' $$DATA LSTERR ;ERROR CODE RETURNED FROM NOPARS
157 000111' $$DATA BIGSIZ ;LENGTH OF LONGEST KEYWORD
158 000112' $$DATA KEYSIZ ;NOMINAL KEYWORD LENGTH
159 000113' $$DATA PWIDTH ;TERMINAL'S WIDTH
160 000114' $$DATA CURPOS ;LINE POSITION OF CURSOR
161 000115' $$DATA Q3SAVE ;NO Q3 EXISTS
162 000116' $$DATA IFOB ;INDIRECT FILESPEC FOB
163 000117' $$DATA IIFN ;IFN OF INDIRECT FILE
164 000120' $$DATA TI,.RDSIZ ;S%TXTI ARGUMENT BLOCK
165 000131' $$DATA TRMUDX ;CONTROLLING TERMINAL'S UDX
166 000132' $$DATA NODSIX ;SIXBIT NODE-ID
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 7
GSCN MAC 22-May-78 10:53 S%INIT -- Initialize the GLXSCN Module SEQ 0302
167 SUBTTL S%INIT -- Initialize the GLXSCN Module
168
169 IFN FTUUOS,<
170 000133' 205 01 0 00 646471 S%INIT: MOVSI S1,'TTY' ;LOAD TTY NAME
171 000134' 047 01 0 00 000127 IONDX. S1, ;GET THE I/O INDEX
172 000135' 255 00 0 00 000000 JFCL ;IGNORE THE ERROR
173 000136' 202 01 0 00 000131' MOVEM S1,TRMUDX ;AND STORE THE UDX
174 000137' 254 00 0 00 003747' $RETT ;AND RETURN
175 > ;END IFN FTUUOS
176
177 IFN FTJSYS,<
178 S%INIT: $RETT ;RETURN
179 > ;END IFN FTJSYS
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 8
GSCN MAC 22-May-78 10:53 S%ERR - ERROR TYPEOUT ROUTINE SEQ 0303
180 SUBTTL S%ERR - ERROR TYPEOUT ROUTINE
181
182 IFN FTUUOS,<;!!!BEGINNING OF TOPS10 ROUTINE
183 000140' 550 01 0 00 000110' S%ERR: HRRZ S1,LSTERR ;GET ADDRESS OF ERROR
184 000141' 322 01 0 00 004026' JUMPE S1,[POPJ P,0] ;RETURN IF NONE
185 OUTSTR [ASCIZ/
186 000142' 051 03 0 00 004027' ?/]
187 000143' 051 03 1 00 000001 OUTSTR @S1
188 OUTSTR [ASCIZ /
189 000144' 051 03 0 00 004030' /]
190 000145' 263 17 0 00 000000 POPJ P,0
191 >; !!!END OF TOPS10 ROUTINE
192
193 IFN FTJSYS,<;!!!BEGINNING OF TOPS20 ROUTINE
194 S%ERR: MOVX S1,.PRIOU ;TO PRIMARY OUTPUT
195 MOVE S2,[.FHSLF,,-1] ;OUR LAST ERROR
196 ERSTR ;TYPE OUT THE ERROR STRING
197 HALTF ;UNDEFINED ERROR NUMBER
198 HALTF ;BAD DESTINATION DESIGNATOR
199 POPJ P,0
200 >;!!!END OF TOPS20 ROUTINE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 9
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0304
201 SUBTTL S%CMND -- Scan a command
202
203 ;The S%CMND routine provides a command scanner interface similar to the
204 ; TOPS-20 COMND JSYS.
205
206 ;CALL IS: S1/ Pointer to Command State Block
207 ; S2/ Pointer to list of Function Descriptor Blocks
208 ; See GLXMAC or MONSYM for a description of these
209
210 ;TRUE RETURN: ALWAYS,
211 ; S1/ Length of Command Reply block
212 ; S2/ Address of the Command Reply block
213
214
215
216 ;LOCAL FLAGS (RH OF F)
217
218 400000 CMQUES==1B18 ;? TYPED
219 200000 CMSWF==1B19 ;BEG OF SWITCH SEEN
220 100000 CMUSRF==1B20 ;USER NAME REQUIRED
221 040000 CMDEFF==1B21 ;DEFAULT FIELD GIVEN
222 020000 CMCFF==1B22 ;^F RECOGNIZED FIELD
223 010000 CMQUE2==1B23 ;IN SECOND OR SUBSEQUENT HELP POSSIBILITY
224 004000 CMBOL==1B24 ;FIELD IS AT BEG OF LINE
225 002000 CMTF1==1B25 ;INTERNAL TEMP FLAG
226 001000 CMINDF==1B26 ;DOING GTJFN ON INDIRECT FILE
227
228 ;FLAGS IN FUNCTION DISPATCH TABLE
229
230 400000 000000 CMNOD==1B0 ;NO DEFAULT POSSIBLE
231
232 000050 NOIBCH=="(" ;NOISE WORD BEG CHARACTER
233 000051 NOIECH==")" ;NOISE WORD END CHARACTER
234 000057 CMSWCH=="/" ;SWITCH CHARACTER
235 000072 CMSWTM==":" ;SWITCH TERMINATOR
236 000077 CMHLPC=="?" ;HELP CHARACTER
237 000041 CMCOM1=="!" ;COMMENT CHARACTER
238 000073 CMCOM2==";" ;FULL LINE COMMENT CHARACTER
239 000043 CMDEFC=="#" ;DEFAULT FIELD CHARACTER
240 000006 CMFREC=="F"-100 ;FIELD RECOGNITION CHARACTER
241 000100 CMINDC=="@" ;INDIRECT FILE CHARACTER
242 000010 CMRDOC=="H"-100 ;REDO COMMAND CHARACTER
243 000042 CMQTCH=="""" ;CHARACTER FOR QUOTED STRINGS
244 000055 CMCONC=="-" ;LINE CONTINUATION CHARACTER
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 10
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0305
245
246 ;NOPARSE ERROR CODES
247 000001 NPXNSW==1
248 000002 NPXNOM==2
249 000003 NPXNUL==3
250 000004 NPXINW==4
251 000005 NPXNC==5
252 000006 NPXICN==6
253 000007 NPXIDT==7
254 000010 NPXNQS==10
255 000011 NPXAMB==11
256 000012 NPXNMT==12
257 000013 NPXCMA==13
258 000014 NPXNNC==14 ;TOO MANY CHARACTERS IN NODE NAME
259 000015 NPXNNI==15 ;ILLEGAL CHARACTER IN NODE NAME
260 000016 NPXNSN==16 ;NO SUCH NODE
261
262
263 IFN FTJSYS,< ;BEGINNING OF COMND JSYS CALL
264 S%CMND: COMND
265 ERJMP .RETF
266 MOVEM S1,CRBLK+CR.FLG
267 MOVEM S2,CRBLK+CR.RES
268 MOVEM T1,CRBLK+CR.FNB
269 MOVEI S1,CR.SIZ
270 MOVEI S2,CRBLK
271 $RETT
272 >;END OF COMND JSYS CALL
273
274 ;DIAGNOSTICS COMND JSYS EQUIVELANT
275
276 000146' 260 17 0 00 000161' S%CMND: PUSHJ P,.S%CMND
277 000147' 200 01 0 00 000103' MOVE 1,CRBLK+CR.FLG
278 000150' 200 02 0 00 000104' MOVE 2,CRBLK+CR.RES
279 000151' 200 03 0 00 000105' MOVE 3,CRBLK+CR.FNB
280 000152' 263 17 0 00 000000 POPJ P,
281
282 000153' 260 17 0 00 000000* F%IBYT: GO $CCLIN ;GET CHAR FROM TAKE FILE
283 000154' 254 00 0 00 003747' $RETT
284
285 000155' 260 17 0 00 003773' F%IOPN: $STOP(FSO,F%IOPN ERROR)
286 000157' 260 17 0 00 003773' F%REL: $STOP(FSR,F%REL ERROR)
287
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 11
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0306
288 IFN FTUUOS,<;BEGINNING OF TOPS-10 COMND CALL ROUTINE
289 ;!!!!!NOTE WELL - THIS CONDITIONAL RUNS TO THE END OF COMND ROUTINE
290
291 000161' 552 17 0 00 000055' .S%CMND:HRRZM P,PCALL ;SAVE STACK POINTER
292 000162' 260 17 0 00 003647' PUSHJ P,.SAVE4 ;SAVE P REGS
293 000163' 260 17 0 00 003703' SAVE P5 ;P5 WON'T BE SAVED BY THAT
294 000164' 260 17 0 00 003665' PUSHJ P,.SAVET ;AND T REGS
295 000165' 260 17 0 00 003723' SAVE Q1 ;AND Q REGS
296 000166' 260 17 0 00 003733' SAVE Q2
297 000167' 260 17 0 00 003713' SAVE F ;AND F REGISTER
298 000170' 260 17 0 00 000176' PUSHJ P,XCOMND ;DO THE WORK
299 000171' 550 06 0 10 000000 HRRZ T4,.CMFLG(P2) ;GET REPARSE DISPATCH ADDRESS IF ANY
300 000172' 322 06 0 00 000175' JUMPE T4,COMN1
301 000173' 603 14 0 00 040000 TXNE F,CM%RPT ;REPARSE NEEDED?
302 000174' 542 06 1 00 000055' HRRM T4,@PCALL ;YES, EFFECT TRANSFER
303 000175' 263 17 0 00 000000 COMN1: POPJ P,0 ;NO RETURN
304
305 000176' 202 01 0 00 000010 XCOMND::MOVEM S1,P2 ;SAVE BLOCK PTR
306 000177' 202 02 0 00 000007 MOVEM S2,P1 ;SAVE FN BLOCK PTR
307 000200' 504 07 0 00 000007 HRL P1,P1 ;SAVE COPY OF ORIGINAL
308 000201' 202 17 0 00 000060' MOVEM P,STKFEN ;SAVE CURRENT STACK AS FENCE
309 MOVEI T1,[.CMRTY ;LIST OF BYTE POINTERS TO CHECK
310 .CMBFP
311 .CMPTR
312 .CMABP
313 000202' 201 03 0 00 004043' 0] ;MARK OF END OF LIST
314 000203' 260 17 0 00 001240' PUSHJ P,CHKABP ;CHECK ALL BYTE PTRS
315 000204' 200 11 0 10 000005 MOVE P3,.CMCNT(P2) ;SETUP ACTIVE VARIABLES
316 000205' 200 12 0 10 000004 MOVE P4,.CMPTR(P2)
317 000206' 200 13 0 10 000006 MOVE P5,.CMINC(P2)
318 000207' 510 14 0 10 000000 HLLZ F,.CMFLG(P2) ;GET 'GIVEN' FLAGS
319 000210' 621 14 0 00 010000 TXZ F,CM%PFE
320 000211' 623 14 0 00 400000 TXZE F,CM%ESC ;PREVIOUS FIELD HAD ESC?
321 000212' 661 14 0 00 010000 TXO F,CM%PFE ;YES
322 000213' 260 17 0 00 002674' PUSHJ P,K%RCOC ;GET COC MODES
323 000214' 124 01 0 00 000062' DMOVEM S1,CMCCM ;SAVE THEM
324 000215' 621 01 0 00 000060 TXZ S1,3B<CMFREC*2+1> ;NO ECHO ^F
325 000216' 621 01 0 00 000003 TXZ S1,3B<CMRDOC*2+1> ;OR ^H
326 000217' 660 01 0 00 140000 TXO S1,3B<.CHLFD*2+1> ;PROPER HANDLING OF NL
327 000220' 620 02 0 00 600000 TXZ S2,3B<.CHESC*2+1-^D36> ;SET ESC TO NO ECHO
328 000221' 260 17 0 00 002676' PUSHJ P,K%WCOC ;AND WRITE THEM BACK
329 ; ..
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 12
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0307
330
331 ; ..
332 000222' 200 17 0 00 000060' XCOMN0: MOVE P,STKFEN ;NORMALIZE STACK IN CASE ABORTED ROUTINES
333 000223' 630 14 0 00 004050' TXZ F,CM%ESC+CM%NOP+CM%EOC+CM%RPT+CM%SWT+CMBOL+CMCFF+CMDEFF+CMINDF ;INIT FLAGS
334 000224' 316 12 0 10 000003 CAMN P4,.CMBFP(P2) ;AT BEG OF LINE?
335 000225' 660 14 0 00 004000 TXO F,CMBOL ;YES
336 000226' 135 03 0 00 004051' XCOM1: LOAD T1,.CMFNP(P1),CM%FFL ;GET FUNCTION FLAGS
337 000227' 137 03 0 00 004052' STORE T1,F,CM%FFL ;KEEP WITH OTHER FLAGS
338 000230' 554 15 0 00 000007 HLRZ Q1,P1 ;GET CM%DPP FLAG FROM FIRST BLOCK ONLY
339 000231' 430 14 0 15 000000 XOR F,.CMFNP(Q1)
340 000232' 621 14 0 00 000002 TXZ F,CM%DPP
341 000233' 430 14 0 15 000000 XOR F,.CMFNP(Q1)
342 000234' 200 03 0 07 000001 MOVE T1,.CMDAT(P1) ;GET FUNCTION DATA IF ANY
343 000235' 202 03 0 00 000061' MOVEM T1,FNARG ;KEEP LOCALLY
344 000236' 135 03 0 00 004053' LOAD T1,.CMFNP(P1),CM%FNC ;GET FUNCTION CODE
345 000237' 301 03 0 00 000000 CAIL T1,0 ;VALIDATE FN CODE
346 000240' 301 03 0 00 000027 CAIL T1,MAXCFN
347 000241' 260 17 0 00 003773' $STOP(BFC,Bad function code)
348 000243' 200 03 0 03 000324' MOVE T1,CFNTAB(T1) ;GET TABLE ENTRY FOR IT
349 000244' 607 03 0 00 400000 JXN T1,CMNOD,XCOM3 ;DISPATCH NOW IF NO DEFAULT POSSIBLE
350 000245' 334 00 0 00 000000
351 000246' 254 00 0 00 000267'
352 000247' 260 17 0 00 000742' PUSHJ P,INILCH ;SKIP SPACES AND INIT ATOM BUFFER
353 000250' 260 17 0 00 000765' PUSHJ P,CMCIN ;GET INITIAL INPUT
354 000251' 306 03 0 00 000055 CAIN T1,CMCONC ;POSSIBLE LINE CONTINUATION?
355 JRST [PUSHJ P,CMCIN ;YES, SEE IF NL FOLLOWS
356 CAIE T1,.CHLFD
357 PUSHJ P,CMRSET ;NO, RESET FIELD
358 PUSHJ P,CMCIN ;RE-READ FIRST CHAR
359 000252' 254 00 0 00 004062' JRST .+1] ;CONTINUE
360 000253' 306 03 0 00 000073 CAIN T1,CMCOM2 ;COMMENT?
361 000254' 254 00 0 00 000307' JRST CMCMT2 ;YES
362 000255' 306 03 0 00 000041 CAIN T1,CMCOM1
363 000256' 254 00 0 00 000310' JRST CMCMT1 ;YES
364 000257' 306 03 0 00 000100 CAIN T1,CMINDC ;INDIRECT INDICATOR?
365 JRST [TXNN F,CM%XIF ;YES, INDIRECT FILES ALLOWED?
366 JRST CMIND ;YES, DO IT
367 000260' 254 00 0 00 004067' JRST .+1] ;NO, KEEP CHARACTER AS ORDINARY INPUT
368 000261' 306 03 0 00 000012 CAIN T1,.CHLFD ;EOL BEGINS FIELD?
369 JRST [PUSHJ P,CMDIP ;YES, PUT IT BACK
370 LOAD T1,.CMFNP(P1),CM%FNC ;GET FUNCTION CODE
371 CAIN T1,.CMCFM ;CONFIRM?
372 JRST XCOM3 ;YES, DO IT
373 TXNE F,CM%DPP ;HAVE DEFAULT?
374 JRST XCOM5 ;YES, USE IT
375 TXNN F,CMBOL ;AT BGN OF BFR?
376 JRST XCOM3 ;NO, TRY NULL FIELD
377 PUSHJ P,CMRSET
378 SETZ P5,0 ;YES, EMPTY LINE. IGNORE
379 PUSHJ P,CMRTY1 ;REDO PROMPT
380 000262' 254 00 0 00 004072' JRST XCOMN0] ;TRY AGAIN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 13
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0308
381 000263' 302 03 0 00 000033 CAIE T1,.CHESC ;ESC AT BEG OF FIELD?
382 000264' 306 03 0 00 000006 CAIN T1,CMFREC
383 000265' 254 00 0 00 000271' JRST XCOM4 ;^F AT BEG OF FIELD
384 ; CAIN T1,CMDEFC ;OR DEFAULT REQUEST?
385 ; JRST XCOM4 ;YES
386 000266' 260 17 0 00 001116' XCOM2: PUSHJ P,CMDIP ;PUT CHAR BACK
387 000267' 135 03 0 00 004053' XCOM3: LOAD T1,.CMFNP(P1),CM%FNC ;GET FUNCTION CODE
388 000270' 254 00 1 03 000324' JRST @CFNTAB(T1) ;DO IT
389
390 ;ESC OR ^F AT BEG OF FIELD
391
392 000271' 607 14 0 00 000002 XCOM4: TXNN F,CM%DPP ;YES, HAVE DEFAULT STRING?
393 000272' 254 00 0 00 000266' JRST XCOM2 ;NO
394 000273' 260 17 0 00 001110' PUSHJ P,CMDCH ;FLUSH RECOG CHAR
395 000274' 554 15 0 00 000007 XCOM5: HLRZ Q1,P1 ;GET PTR TO FIRST FLD BLOCK
396 000275' 200 03 0 15 000003 MOVE T1,.CMDEF(Q1) ;GET DEFAULT STRING PTR
397 000276' 260 17 0 00 001252' PUSHJ P,CHKBP ;CHECK POINTER
398 000277' 202 03 0 00 000015 MOVEM T1,Q1
399 000300' 660 14 0 00 040000 TXO F,CMDEFF ;NOTE FIELD ALREADY IN ATOM BFR
400 000301' 134 03 0 00 000015 XCOM6: ILDB T1,Q1
401 JUMPE T1,[PUSHJ P,CHKLCH ;CHECK FOR NULL DEFAULT STRING
402 CAIG T1,0
403 $STOP(BDS,Bad Default String) ;NULL STRING ILLEGAL
404 PUSHJ P,TIELCH ;END OF STRING, TIE OFF ATOM BUFFER
405 TXNE F,CMCFF ;^F RECOG?
406 JRST XCOMRF ;YES, GO GET MORE INPUT
407 JXE F,CM%ESC,XCOM3 ;GO DIRECT TO FUNCTION IF NO RECOG
408 MOVEI T1,.CHESC
409 PUSHJ P,CMDIBQ ;YES, APPEND ESC TO BUFFER
410 PUSHJ P,CMRSET ;RESET LINE VARIABLES
411 000302' 322 03 0 00 004114' JRST XCOMN0] ;TREAT AS ORDINARY INPUT
412 000303' 260 17 0 00 000747' PUSHJ P,STOLCH ;STOR CHAR IN ATOM BUFFER
413 000304' 603 14 0 00 400000 TXNE F,CM%ESC ;RECOGNIZING?
414 000305' 260 17 0 00 001130' PUSHJ P,CMDIB ;YES, CHAR TO MAIN BUFFER ALSO
415 000306' 254 00 0 00 000301' JRST XCOM6
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 14
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0309
416
417 ;COMMENT
418
419 000307' 474 03 0 00 000000 CMCMT2: SETO T1, ;SAY NO TERMINATOR OTHER THAN EOL
420 000310' 202 03 0 00 000016 CMCMT1: MOVEM T1,Q2 ;REMEMBER MATCHING TERMINATOR
421 000311' 260 17 0 00 000765' CMCOM: PUSHJ P,CMCIN ;GET NEXT CHAR
422 000312' 306 03 0 00 000055 CAIN T1,CMCONC ;POSSIBLE LINE CONTINUATION?
423 JRST [PUSHJ P,CMCIN ;YES, CHECK FOR NL FOLLOWING
424 CAIN T1,.CHLFD
425 JRST CMCOM ;YES, STAY IN COMMENT
426 000313' 254 00 0 00 004132' JRST .+1] ;NO, EXAMINE CHARACTER
427 000314' 302 03 0 00 000006 CAIE T1,CMFREC ;RECOG REQUEST?
428 000315' 306 03 0 00 000033 CAIN T1,.CHESC
429 JRST [PUSHJ P,CMAMB ;YES, DING
430 000316' 254 00 0 00 004136' JRST CMCOM] ;KEEP GOING
431 000317' 306 03 0 00 000012 CAIN T1,.CHLFD ;END OF LINE?
432 JRST [PUSHJ P,CMDIP ;YES, PUT IT BACK
433 000320' 254 00 0 00 004140' JRST XCOM1] ;DO WHATEVER
434 000321' 316 03 0 00 000016 CAMN T1,Q2 ;MATCHING TERMINATOR?
435 000322' 254 00 0 00 000226' JRST XCOM1 ;YES, END OF COMMENT
436 000323' 254 00 0 00 000311' JRST CMCOM ;NO, KEEP LOOKING
437
438 ;TABLE OF COMND FUNCTIONS
439
440 000000 CFNTAB: PHASE 0
441 000000 000000 001345' .CMKEY::!XCMKEY ;KEYWORD
442 000001 000000 001665' .CMNUM::!XCMNUM ;INTEGER
443 000002 400000 001607' .CMNOI::!XCMNOI+CMNOD ;NOISE WORD
444 000003 000000 001331' .CMSWI::!XCMSWI ;SWITCH
445 000004 000000 002064' .CMIFI::!XCMIFI ;INPUT FILE
446 000005 000000 002064' .CMOFI::!XCMOFI ;OUTPUT FILE
447 000006 000000 002064' .CMFIL::!XCMFIL ;GENERAL FILESPEC
448 000007 000000 002051' .CMFLD::!XCMFLD ;ARBITRARY FIELD
449 000010 000000 001643' .CMCFM::!XCMCFM ;CONFIRM
450 000011 000000 002361' .CMDIR::!XCMDIR ;DIRECTORY NAME
451 000012 000000 002361' .CMUSR::!XCMUSR ;USER NAME
452 000013 000000 002435' .CMCMA::!XCMCMA ;COMMA
453 000014 400000 001260' .CMINI::!XCMINI+CMNOD ;INITIALIZE COMMAND
454 000015 000000 001662' .CMFLT::!XCMFLT ;FLOATING POINT NUMBER
455 000016 000000 001777' .CMDEV::!XCMDEV ;DEVICE NAME
456 000017 000000 001602' .CMTXT::!XCMTXT ;TEXT
457 000020 000000 001774' .CMTAD::!XCMTAD ;TIME AND DATE
458 000021 000000 002033' .CMQST::!XCMQST ;QUOTED STRING
459 000022 400000 002041' .CMUQS::!XCMUQS+CMNOD ;UNQUOTED STRING
460 000023 000000 002340' .CMTOK::!XCMTOK ;TOKEN
461 000024 000000 001664' .CMNUX::!XCMNUX ;NUMBER DELIMITED BY NON-DIGIT
462 000025 000000 002055' .CMACT::!XCMACT ;ACCOUNT
463 000026 000000 002060' .CMNOD::!XCMNOD ;NODE NAME
464 000353' DEPHASE
465 000027 MAXCFN==.-CFNTAB
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 15
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0310
466
467 ;HERE TO GET MORE INPUT AND RETRY FIELD
468
469 000353' 260 17 0 00 000357' XCOMRF: PUSHJ P,CMRSET ;RESET VARIABLES TO BEGINNING OF FIELD
470 000354' 260 17 0 00 000777' PUSHJ P,CMCIN1 ;GET MORE INPUT
471 000355' 544 07 0 00 000007 HLR P1,P1 ;RESET ALTERNATIVE LIST
472 000356' 254 00 0 00 000222' JRST XCOMN0
473
474 ;RESET VARIABLES TO BEGINNING OF CURRENT FIELD
475
476 000357' 274 13 0 00 000011 CMRSET: SUB P5,P3 ;RESET VARIABLES TO BGN OF FIELD
477 000360' 270 13 0 10 000005 ADD P5,.CMCNT(P2) ;KEEP ALL CURRENT INPUT
478 000361' 200 11 0 10 000005 MOVE P3,.CMCNT(P2)
479 000362' 200 12 0 10 000004 MOVE P4,.CMPTR(P2)
480 000363' 263 17 0 00 000000 POPJ P,0
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 16
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0311
481
482 ;STANDARD EXITS
483
484 ;RETURN BECAUSE ENTIRE COMMAND DELETED
485
486 000364' 661 14 0 00 040000 XCOMXL: TXO F,CM%RPT ;NOTE REPEAT PARSE NEEDED
487 000365' 200 03 0 00 000012 MOVE T1,P4 ;BACK POINTER TO BEG OF BUFFER
488 000366' 200 04 0 10 000003 MOVE T2,.CMBFP(P2)
489 000367' 202 04 0 00 000012 MOVEM T2,P4
490 000370' 260 17 0 00 001077' PUSHJ P,SUBBP ;SEE HOW MANY CHARS DELETED
491 000371' 272 03 0 00 000011 ADDM T1,P3 ;UPDATE SPACE COUNT
492 000372' 400 13 0 00 000000 SETZ P5, ;NOTE NO INPUT
493 000373' 260 17 0 00 000470' PUSHJ P,CMRTY1 ;RETYPE PROMPT
494 000374' 254 00 0 00 000410' JRST XCOMXI ;EXIT
495
496 ;RETURN AND REPEAT PARSE BECAUSE USER DELETED BACK INTO ALREADY
497 ;PARSED TEXT
498
499 000375' 661 14 0 00 040000 XCOMRP: TXO F,CM%RPT ;REQUEST REPEAT
500 000376' 200 03 0 00 000012 MOVE T1,P4 ;COMPUTE NUMBER CHARS IN BUFFER
501 000377' 200 04 0 10 000003 MOVE T2,.CMBFP(P2)
502 000400' 202 04 0 00 000012 MOVEM T2,P4 ;RESET PTR TO TOP OF BUFFER
503 000401' 260 17 0 00 001077' PUSHJ P,SUBBP ;COMPUTE PTR-TOP
504 000402' 202 03 0 00 000013 MOVEM T1,P5 ;SET AS NUMBER CHARS FOLLOWING PTR
505 000403' 272 03 0 00 000011 ADDM T1,P3 ;RESET COUNT TO TOP OF BUFFER
506 000404' 322 03 0 00 000364' JUMPE T1,XCOMXL ;JUMP IF LINE NOW EMPTY
507 000405' 254 00 0 00 000417' JRST XCOMX1 ;OTHERWISE UPDATE VARIABLES AND EXIT
508
509 ;GOOD RETURN
510
511 000406' 603 14 0 00 400000 XCOMXR: TXNE F,CM%ESC ;RECOG CHARACTER TERMINATED?
512 000407' 260 17 0 00 001110' PUSHJ P,CMDCH ;YES, FLUSH IT
513 000410' 627 14 0 00 400000 XCOMXI: TXZN F,CM%ESC ;FIELD TERMINATED WITH RECOG?
514 000411' 254 00 0 00 000417' JRST XCOMX1 ;NO
515 000412' 602 14 0 00 020000 TXNE F,CMCFF ;^F RECOG?
516 000413' 254 00 0 00 000353' JRST XCOMRF ;YES, GET MORE INPUT BEFORE RETURNING
517 000414' 661 14 0 00 400000 TXO F,CM%ESC ;SET FLAG
518 000415' 201 03 0 00 000040 MOVEI T1," " ;TERMINATE TYPESCRIPT WITH SPACE
519 000416' 260 17 0 00 001130' PUSHJ P,CMDIB
520 000417' 202 11 0 10 000005 XCOMX1: MOVEM P3,.CMCNT(P2) ;UPDATE VARIABLES
521 000420' 202 12 0 10 000004 MOVEM P4,.CMPTR(P2)
522 000421' 202 13 0 10 000006 MOVEM P5,.CMINC(P2)
523 000422' 200 17 0 00 000060' XCOMX2: MOVE P,STKFEN ;RESET STACK
524 000423' 120 01 0 00 000062' DMOVE S1,CMCCM ;GET SAVED CC MODES
525 000424' 260 17 0 00 002676' PUSHJ P,K%WCOC ;RESTORE THEM
526 000425' 202 07 0 00 000105' MOVEM P1,CRBLK+CR.FNB ;RETURN PTR TO FUNCTION BLOCK USED
527 000426' 621 14 0 00 000777 TXZ F,CM%FFL ;FLUSH FUNCTION FLAGS
528 000427' 502 14 0 10 000000 HLLM F,.CMFLG(P2) ;RETURN FLAGS
529 000430' 202 10 0 00 000103' MOVEM P2,CRBLK+CR.FLG ;STORE BLK ADDRESS
530 000431' 502 14 0 00 000103' HLLM F,CRBLK+CR.FLG ;AND THE FLAGS
531 000432' 201 01 0 00 000003 MOVEI S1,CR.SIZ ;LOAD SIZE OF RETURNED BLOCK
532 000433' 201 02 0 00 000103' MOVEI S2,CRBLK ;AND ITS LOCATION
533 000434' 254 00 0 00 003747' $RETT ;AND TAKE A GOOD RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 17
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0312
534
535 ;FAILURE RETURNS - FAILED TO PARSE
536
537 000435' 202 03 0 00 000110' XCOMNE: MOVEM T1,LSTERR ;SAVE ERROR CODE
538 000436' 606 14 0 00 400000 XCOMNP: JXN F,CMQUES,CMRTYP ;IF IN HELP, DON'T RETURN NOW
539 000437' 334 00 0 00 000000
540 000440' 254 00 0 00 000450'
541 000441' 260 17 0 00 000357' PUSHJ P,CMRSET ;RESET FIELD VARIABLES
542 000442' 202 13 0 10 000006 MOVEM P5,.CMINC(P2) ;FIX USER BLOCK
543 000443' 550 03 0 07 000000 LOAD T1,.CMFNP(P1),CM%LST ;GET PTR TO NEXT FN BLOCK
544 000444' 542 03 0 00 000007 HRRM T1,P1 ;SAVE IT
545 000445' 326 03 0 00 000222' JUMPN T1,XCOMN0 ;DISPATCH IF THERE IS ANOTHER FUNCTION
546 000446' 661 14 0 00 200000 TXO F,CM%NOP ;NO OTHER POSSIBILITIES, SAY NO PARSE
547 000447' 254 00 0 00 000422' JRST XCOMX2
548
549 ;HERE AFTER EACH HELP OUTPUT
550
551 000450' 260 17 0 00 000357' CMRTYP: PUSHJ P,CMRSET ;RESET FIELD VARIABLES
552 000451' 550 03 0 07 000000 LOAD T1,.CMFNP(P1),CM%LST ;GET NEXT FUNCTION IN LIST
553 000452' 542 03 0 00 000007 HRRM T1,P1
554 000453' 660 14 0 00 410000 TXO F,CMQUES+CMQUE2 ;NOTE IN SECOND HELP POSSIBILITY
555 000454' 326 03 0 00 000222' JUMPN T1,XCOMN0 ;DO SUBSEQUENT HELPS
556 000455' 201 03 0 00 000012 MOVEI T1,.CHLFD ;START NEW LINE
557 000456' 260 17 0 00 001173' PUSHJ P,CMCOUT
558 000457' 544 07 0 00 000007 HLR P1,P1 ;END OF LIST, REINIT IT
559 000460' 370 00 0 00 000013 SOS P5 ;FLUSH QMARK FROM INPUT
560 000461' 620 14 0 00 410000 TXZ F,CMQUES+CMQUE2 ;NOTE NOT IN HELP
561 000462' 260 17 0 00 000470' PUSHJ P,CMRTY1 ;RETYPE LINE
562 000463' 254 00 0 00 000222' JRST XCOMN0 ;RESTART PARSE OF CURRENT FIELD
563
564 000464' 661 14 0 00 200000 XCOMEO: TXO F,CM%NOP ;SET NO PARSE
565 000465' 201 02 0 00 000103' MOVEI S2,CRBLK
566 000466' 200 17 0 00 000060' MOVE P,STKFEN ;FIXUP STACK
567 000467' 254 00 0 00 003746' $RETF
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 18
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0313
568
569 ;RETYPE LINE INCLUDING ADVANCE INPUT IF ANY
570
571 000470' CMRTY1:;** HRRZ T1,.CMIOJ(P2) ;GET OUT JFN
572 ;** RFPOS
573 ;** HRRZ T2,T2
574 ;** JUMPE T2,CMRTY2 ;JUMP IF AT LEFT MARGIN
575 000470' 561 03 0 00 004030' HRROI T1,[BYTE (7) .CHCRT,.CHLFD] ;NOT AT MARGIN, GIVE CRLF
576 000471' 260 17 0 00 001175' PUSHJ P,CMSOUT ;
577 000472' 332 15 0 10 000002 CMRTY2: SKIPE Q1,.CMRTY(P2) ;GET ^R PTR IF ANY
578 000473' 316 15 0 10 000003 CMRTY3: CAMN Q1,.CMBFP(P2) ;UP TO TOP OF BFR?
579 000474' 254 00 0 00 000477' JRST CMRTY4 ;DONE WITH ^R PTR
580 000475' 134 03 0 00 000015 ILDB T1,Q1 ;TYPE ^R BFR
581 JUMPN T1,[PUSHJ P,CMCOUT
582 000476' 326 03 0 00 004142' JRST CMRTY3]
583 000477' 200 15 0 10 000003 CMRTY4: MOVE Q1,.CMBFP(P2) ;GET MAIN BFR PTR
584 000500' 316 15 0 00 000012 CMRTY5: CAMN Q1,P4 ;UP TO CURRENT PTR?
585 000501' 254 00 0 00 000505' JRST CMRTY6 ;YES, GO DO ADVANCE INPUT
586 000502' 134 03 0 00 000015 ILDB T1,Q1 ;TYPE OUT COMMAND BFR
587 000503' 260 17 0 00 001173' PUSHJ P,CMCOUT
588 000504' 254 00 0 00 000500' JRST CMRTY5
589
590 000505' 200 16 0 00 000013 CMRTY6: MOVE Q2,P5 ;GET INPUT COUNT
591 CMRTY7: SOJL Q2,[SETZ T1,0 ;ALL INPUT PRINTED, TIE OFF
592 IDPB T1,Q1 ;BUFFER
593 000506' 361 16 0 00 004144' POPJ P,0]
594 000507' 134 03 0 00 000015 ILDB T1,Q1
595 000510' 260 17 0 00 001173' PUSHJ P,CMCOUT
596 000511' 254 00 0 00 000506' JRST CMRTY7
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 19
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0314
597 ;INDIRECT FILE HANDLING
598
599 000512' 640 14 0 00 010000 CMIND: JXO F,CMQUE2,XCOMNP ;NO SECOND HELP POSSIBILITIES
600 000513' 646 14 0 00 010000
601 000514' 254 00 0 00 000436'
602 000515' 260 17 0 00 002062' PUSHJ P,CMATFI ;GET A JFN ON THE INDIRECT FILE
603 000516' 254 00 0 00 000562' JRST CMINDE ;FAILED
604 000517' 260 17 0 00 001646' PUSHJ P,CMCFM0 ;DO A CONFIRM
605 JRST [HRROI T1,[ASCIZ /
606 ?Indirect file not confirmed.
607 /]
608 PUSHJ P,CMSOUT
609 TXO F,CM%NOP
610 000520' 254 00 0 00 004156' JRST XCOMX2]
611 000521' 550 01 0 10 000011 LOAD S1,.CMGJB(P2),CM%GJB ;GET ADDR OF FD
612 000522' 336 02 0 01 000002 SKIPN S2,.FDSTR(S1) ;IF DEVICE HAS NOT BEEN SPECIFIED,
613 000523' 205 02 0 00 446353 MOVSI S2,'DSK' ;DEFAULT TO DISK
614 000524' 202 02 0 01 000002 MOVEM S2,.FDSTR(S1) ;
615 000525' 336 02 0 01 000005 SKIPN S2,.FDEXT(S1) ;AND DEFAULT THE EXTENSION
616 000526' 205 02 0 00 435544 MOVSI S2,'CMD' ;TO ".CMD"
617 000527' 202 02 0 01 000005 MOVEM S2,.FDEXT(S1) ;
618 000530' 202 01 0 00 000116' STORE S1,IFOB+FOB.FD ;STORE IT
619 000531' 201 01 0 00 000207 MOVX S1,FB.LSN!<INSVL.(7,FB.BSZ)> ;IGNORE LINE NUMBERS
620 000532' 202 01 0 00 000117' STORE S1,IFOB+FOB.CW ;STORE
621 000533' 201 01 0 00 000002 MOVEI S1,2 ;SHORT FOB
622 000534' 201 02 0 00 000116' MOVEI S2,IFOB ;AND ITS ADDRESS
623 000535' 260 17 0 00 000155' PUSHJ P,F%IOPN ;OPEN FOR INPUT
624 000536' 322 00 0 00 000562' JUMPF CMINDE ;IF FAILS,TELL WHY
625 000537' 202 01 0 00 000117' MOVEM S1,IIFN ;STORE IFN
626 000540' 260 17 0 00 000357' PUSHJ P,CMRSET ;FLUSH INDIRECT FILESPEC FROM BUFFER
627 000541' 200 01 0 00 000117' CMIND1: MOVE S1,IIFN ;GET IFN
628 000542' 260 17 0 00 000153' PUSHJ P,F%IBYT ;GET A BYTE
629 000543' 322 00 0 00 000555' JUMPF CMIND2 ;IF FAILS FIND OUT WHY
630 000544' 302 02 0 00 000010 CAIE S2,CMRDOC ;IGNORE ^H
631 000545' 306 02 0 00 000015 CAIN S2,.CHCRT ;IGNORE CR
632 000546' 254 00 0 00 000541' JRST CMIND1
633 000547' 302 02 0 00 000012 CAIE S2,.CHLFD ;CONVERT EOL TO SPACE
634 000550' 306 02 0 00 000033 CAIN S2,.CHESC ;DITTO ESC (BUT THERE SHOULDN'T BE ANY)
635 000551' 201 02 0 00 000040 MOVEI S2," "
636 000552' 200 03 0 00 000002 MOVE T1,S2 ;COPY CHARACTER
637 000553' 260 17 0 00 001131' PUSHJ P,CMDIBQ ;PUT CHAR IN BUFFER WITHOUT TYPEOUT
638 000554' 254 00 0 00 000541' JRST CMIND1
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 20
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0315
639 000555' 200 01 0 00 000117' CMIND2: MOVE S1,IIFN ;CLOSE OFF THE FILE NOW
640 000556' 260 17 0 00 000157' PUSHJ P,F%REL ;
641 000557' 201 03 0 00 000012 MOVEI T1,.CHLFD ;TIE OFF LINE
642 000560' 260 17 0 00 001131' PUSHJ P,CMDIBQ
643 000561' 254 00 0 00 000375' JRST XCOMRP ;REPARSE LINE AS NOW CONSTITUTED
644
645 000562' 260 17 0 00 002655' CMINDE: PUSHJ P,I%IOFF ;TURN OFF INTERRUPTS
646 000563' 037 01 0 00 000000 PCRLF
647 000564' 201 00 0 00 004162' MOVEI [ASCIZ/?PROBLEM WITH INDIRECT FILE:/]
648 000565' 037 17 0 00 000001 PNTALF
649 000566' 260 17 0 00 002654' PUSHJ P,I%ION ;THEN TURN THEM BACK ON
650 000567' 661 14 0 00 200000 TXO F,CM%NOP ;RETURN FAILURE, NO CHECK ALTERNATIVES
651 000570' 254 00 0 00 000422' JRST XCOMX2
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 21
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0316
652
653 ;****************************************
654 ;COMND - LOCAL SUBROUTINES
655 ;****************************************
656
657 ;READ NEXT FIELD ATOM
658 ;ASSUMES ATOM BUFFER ALREADY SETUP
659
660 000571' 201 03 0 00 000573' CMRATM: MOVEI T1,FLDBRK ;USE STANDARD FIELD BREAK SET
661 000572' 254 00 0 00 000615' PJRST CMRFLD ;PARSE THE FIELD
662
663 000573' 777777 777760 FLDBRK: 777777,,777760 ;ALL CONTROL CHARS
664 000574' 777754 001760 777754,,001760 ;ALL EXCEPT - , NUMBERS
665 000575' 400000 000760 400000,,000760 ;ALL EXCEPT UC ALPHABETICS
666 000576' 400000 000760 400000,,000760 ;ALL EXCEPT LC ALPHABETICS
667
668 ;READ FILESPEC FIELD - FILESPEC PUNCTUATION CHARACTERS
669 ;ARE LEGAL ( :, <, >, ., ;)
670
671 000577' 201 03 0 00 000601' CMRFIL: MOVEI T1,FILBRK ;USE FILE BREAK SET
672 000600' 254 00 0 00 000645' PJRST CFRFLD
673
674 000601' 777777 777760 FILBRK: 777777,,777760 ;ALL CC
675 000602' 747504 000520 747504,,000520 ;PUNCT, NUMBERS
676 000603' 400000 000260 400000,,000260 ;UC, BRACKETS
677 000604' 400000 000760 400000,,000760 ;LC
678
679 ;USERNAME BREAK SET. BREAKS ON EVERYTHING EXCEPT DOT AND ALPHABETICS.
680
681 000605' 777777 777760 USRBRK: -1,,777760 ;BREAK ON CONTROLS
682 000606' 777744 001760 777744,,001760 ;DON'T BREAK ON "-", ".", DIGITS
683 000607' 400000 000760 400000,,760 ;DON'T BREAK ON UPPERCASE LETTERS
684 000610' 400000 000760 400000,,760 ;OR LOWERCASE LETTERS
685
686 ;READ TO END OF LINE
687
688 000611' 000200 000000 EOLBRK: 1B<.CHLFD> ;END OF LINE ONLY
689 000612' 000000 000000 EXP 0,0,0 ;THREE WORDS OF 0'S
690 000613' 000000 000000
691 000614' 000000 000000
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 22
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0317
692
693 ;GENERAL FIELD PARSE ROUTINE - TAKES BREAK SET MASK
694 ; T1/ ADDRESS OF 4-WORD BREAK SET MASK
695 ; PUSHJ P,CMRFLD
696 ; RETURNS +1, FIELD COPIED TO ATOM BUFFER, TERMINATOR BACKED UP
697
698 000615' 202 03 0 00 000064' CMRFLD: MOVEM T1,CMRBRK ;SAVE BREAK TABLE ADDRESS
699 000616' 602 14 0 00 040000 TXNE F,CMDEFF ;DEFAULT GIVEN?
700 000617' 254 00 0 00 000644' JRST CMRATT ;YES, ALREADY IN BUFFER
701 000620' 260 17 0 00 000765' CMRAT1: PUSHJ P,CMCIN ;GET A CHAR
702 000621' 302 03 0 00 000006 CMRAT2: CAIE T1,CMFREC ;^F RECOGNITION?
703 000622' 306 03 0 00 000033 CAIN T1,.CHESC ;ESC?
704 JRST [PUSHJ P,CHKLCH ;YES, RETURN IF ANYTHING NOW
705 JUMPG T1,CMRATT ;IN ATOM BFR
706 PUSHJ P,CMAMB ;NOTHING THERE, DING
707 000623' 254 00 0 00 004170' JRST CMRAT1] ;KEEP TRYING
708 000624' 302 03 0 00 000040 CAIE T1," " ;SPACE OR TAB?
709 000625' 306 03 0 00 000011 CAIN T1,.CHTAB
710 JRST [PUSHJ P,CHKLCH ;YES, RETURN IF ANYTHING
711 JUMPG T1,CMRATT ;IN ATOM BFR
712 000626' 254 00 0 00 004174' JRST CMRAT1] ;OTHERWISE IGNORE
713 000627' 306 03 0 00 000012 CAIN T1,.CHLFD ;OR EOL?
714 000630' 254 00 0 00 000643' JRST CMRATR ;YES
715 000631' 306 03 0 00 000077 CAIN T1,CMHLPC ;HELP REQUEST?
716 JRST [TXO F,CMQUES ;YES, FLAG
717 000632' 254 00 0 00 004177' JRST CMRATT]
718 000633' 200 04 0 00 000003 move T2,t1 ;get copy of char
719 000634' 231 04 0 00 000040 IDIVI T2,40 ;COMPUTE INDEX TO BIT MASK
720 000635' 200 05 0 05 000000' MOVE T3,BITS(t3)
721 000636' 270 04 0 00 000064' ADD T2,CMRBRK
722 000637' 612 05 0 04 000000 TDNE T3,0(t2) ;BREAK CHARACTER?
723 000640' 254 00 0 00 000643' JRST CMRATR ;YES
724 000641' 260 17 0 00 000747' CMRAT3: PUSHJ P,STOLCH ;BUILD KEYWORD STRING
725 000642' 254 00 0 00 000620' JRST CMRAT1
726
727 000643' 260 17 0 00 001116' CMRATR: PUSHJ P,CMDIP ;PUT CHARACTER BACK IN BUFFER
728 000644' 254 00 0 00 000757' CMRATT: PJRST TIELCH ;TIE OFF ATOM BUFFER AND RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 23
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0318
729
730 ;FILE SPEC FIELD PARSE ROUTINE - TAKES BREAK SET MASK
731 ; T1/ ADDRESS OF 4-WORD BREAK SET MASK
732 ; PUSHJ P,CFRFLD
733 ; RETURNS +1, FIELD COPIED TO ATOM BUFFER, TERMINATOR BACKED UP
734
735 000645' 202 03 0 00 000064' CFRFLD: MOVEM T1,CMRBRK ;SAVE BREAK TABLE ADDRESS
736 000646' 602 14 0 00 040000 TXNE F,CMDEFF ;DEFAULT GIVEN?
737 000647' 254 00 0 00 000674' JRST CFRATT ;YES, ALREADY IN BUFFER
738 000650' 260 17 0 00 000765' CFRAT1: PUSHJ P,CMCIN ;GET A CHAR
739 000651' 302 03 0 00 000006 CFRAT2: CAIE T1,CMFREC ;^F RECOGNITION?
740 000652' 306 03 0 00 000033 CAIN T1,.CHESC ;ESC?
741 000653' 254 00 0 00 000674' JRST CFRATT ;YES
742 000654' 302 03 0 00 000040 CAIE T1," " ;SPACE OR TAB?
743 000655' 306 03 0 00 000011 CAIN T1,.CHTAB
744 JRST [PUSHJ P,CHKLCH ;YES, RETURN IF ANYTHING
745 JUMPG T1,CFRATT ;IN ATOM BFR
746 000656' 254 00 0 00 004201' JRST CFRAT1] ;OTHERWISE IGNORE
747 000657' 306 03 0 00 000012 CAIN T1,.CHLFD ;OR EOL?
748 000660' 254 00 0 00 000673' JRST CFRATR ;YES
749 000661' 306 03 0 00 000077 CAIN T1,CMHLPC ;HELP REQUEST?
750 JRST [TXO F,CMQUES ;YES, FLAG
751 000662' 254 00 0 00 004204' JRST CFRATT]
752 000663' 200 04 0 00 000003 move T2,t1 ;get copy of char
753 000664' 231 04 0 00 000040 IDIVI T2,40 ;COMPUTE INDEX TO BIT MASK
754 000665' 200 05 0 05 000000' MOVE T3,BITS(t3)
755 000666' 270 04 0 00 000064' ADD T2,CMRBRK
756 000667' 612 05 0 04 000000 TDNE T3,0(t2) ;BREAK CHARACTER?
757 000670' 254 00 0 00 000673' JRST CFRATR ;YES
758 000671' 260 17 0 00 000747' CFRAT3: PUSHJ P,STOLCH ;BUILD KEYWORD STRING
759 000672' 254 00 0 00 000650' JRST CFRAT1
760
761 000673' 260 17 0 00 001116' CFRATR: PUSHJ P,CMDIP ;PUT CHARACTER BACK IN BUFFER
762 000674' 254 00 0 00 000757' CFRATT: PJRST TIELCH ;TIE OFF ATOM BUFFER AND RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 24
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0319
763
764 ;ATOM READ FOR SPECIAL FIELDS - DOES NOT ALLOW RECOGNITION
765 ;READ FIELD TO CR
766
767 000675' 624 14 0 00 002000 CMRSTR: TXZA F,CMTF1 ;FLAG NO TERMINATE ON SPACE
768 ; .. ;CONTINUE IN CMRSPC
769
770 ;READ FIELD TO SPACE OR CR
771
772 000676' 660 14 0 00 002000 CMRSPC: TXO F,CMTF1 ;FLAG TERMINATE ON SPACE
773 000677' 602 14 0 00 040000 TXNE F,CMDEFF ;HAVE FIELD ALREADY?
774 000700' 263 17 0 00 000000 POPJ P,0 ;YES
775 000701' 260 17 0 00 000765' CMRSP1: PUSHJ P,CMCIN ;GET CHAR
776 000702' 306 03 0 00 000077 CAIN T1,CMHLPC ;HELP?
777 JRST [TXO F,CMQUES ;YES
778 000703' 254 00 0 00 004206' POPJ P,0]
779 000704' 302 03 0 00 000033 CAIE T1,.CHESC ;RECOG REQUEST?
780 000705' 306 03 0 00 000006 CAIN T1,CMFREC
781 JRST [PUSHJ P,CMAMB ;DING
782 000706' 254 00 0 00 004210' JRST CMRSP1] ;CONTINUE
783 000707' 302 03 0 00 000011 CAIE T1,.CHTAB
784 000710' 306 03 0 00 000040 CAIN T1," " ;END OF FIELD?
785 JRST [JXE F,CMTF1,.+1 ;CONTINUE IF NOT TERMINATING ON BLANK
786 PUSHJ P,CHKLCH ;SEE IF ANY NON-BLANK SEEN
787 JUMPE T1,CMRSP1 ;JUMP IF LEADING BLANK
788 000711' 254 00 0 00 004212' JRST CMRATT] ;TERMINATING BLANK
789 000712' 306 03 0 00 000012 CAIN T1,.CHLFD ;END OF LINE?
790 000713' 254 00 0 00 000643' JRST CMRATR ;YES
791 000714' 260 17 0 00 000747' PUSHJ P,STOLCH ;NO, CHAR TO ATOM BUFFER
792 000715' 254 00 0 00 000701' JRST CMRSP1 ;CONTINUE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 25
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0320
793 ;READ QUOTED STRING INTO ATOM BUFFER
794 ;STRING DELIMITED BY ", "" MEANS LITERAL "
795
796 000716' 602 14 0 00 040000 CMRQST: TXNE F,CMDEFF ;HAVE DEFAULT?
797 000717' 254 00 0 00 004220' RETSKP ;YES
798 000720' 260 17 0 00 000765' PUSHJ P,CMCIN ;GET FIRST CHAR
799 000721' 306 03 0 00 000077 CAIN T1,CMHLPC ;FIRST CHAR IS HELP?
800 JRST [TXO F,CMQUES ;YES
801 000722' 254 00 0 00 004222' RETSKP]
802 000723' 302 03 0 00 000042 CAIE T1,CMQTCH ;START OF STRING?
803 000724' 263 17 0 00 000000 POPJ P,0 ;NO, FAIL
804 000725' 260 17 0 00 000765' CMRQS1: PUSHJ P,CMCIN ;READ NEXT CHAR
805 000726' 306 03 0 00 000012 CAIN T1,.CHLFD ;LINE ENDED UNEXPECTEDLY?
806 000727' 254 00 0 00 004224' JRST [PJRST CMDIP] ;YES, PUT LF BACK AND RETURN FAIL
807 000730' 302 03 0 00 000042 CAIE T1,CMQTCH ;ANOTHER QUOTE?
808 000731' 254 00 0 00 000740' JRST CMRQS2 ;NO, GO STORE CHARACTER
809 000732' 260 17 0 00 000765' PUSHJ P,CMCIN ;YES, PEEK AT ONE AFTER
810 000733' 306 03 0 00 000042 CAIN T1,CMQTCH ;PAIR OF QUOTES?
811 000734' 254 00 0 00 000740' JRST CMRQS2 ;YES, STORE ONE
812 000735' 260 17 0 00 001116' PUSHJ P,CMDIP ;NO, PUT BACK NEXT CHAR
813 000736' 260 17 0 00 000757' PUSHJ P,TIELCH ;TIE OFF ATOM BUFFER
814 000737' 254 00 0 00 004220' RETSKP ;GOOD
815
816 000740' 260 17 0 00 000747' CMRQS2: PUSHJ P,STOLCH ;STOR CHAR IN ATOM BUFFER
817 000741' 254 00 0 00 000725' JRST CMRQS1 ;KEEP LOOKING
818
819 ;INIT ATOM BUFFER
820
821 000742' 200 03 0 10 000007 INILCH: MOVE T1,.CMABP(P2) ;GET PTR
822 000743' 202 03 0 00 000056' MOVEM T1,ATBPTR
823 000744' 200 03 0 10 000010 MOVE T1,.CMABC(P2) ;GET SIZE
824 000745' 202 03 0 00 000057' MOVEM T1,ATBSIZ
825 000746' 254 00 0 00 001072' PJRST CMSKSP ;FLUSH INITIAL SPACES
826
827 ;STORE CHARACTER IN ATOM BUFFER
828
829 000747' 375 00 0 00 000057' STOLCH: SOSGE ATBSIZ ;ROOM?
830 000750' 260 17 0 00 003773' $STOP(ABS,Atom buffer too small) ;NO
831 000752' 136 03 0 00 000056' IDPB T1,ATBPTR
832 000753' 263 17 0 00 000000 POPJ P,0
833
834 ;CHECK NUMBER OF CHARACTERS IN ATOM BUFFER
835
836 000754' 200 03 0 10 000010 CHKLCH: MOVE T1,.CMABC(P2) ;GET ORIG COUNT
837 000755' 274 03 0 00 000057' SUB T1,ATBSIZ ;COMPUTE DIFFERENCE
838 000756' 263 17 0 00 000000 POPJ P,0
839
840 ;TIE OFF ATOM BUFFER
841
842 000757' 337 00 0 00 000057' TIELCH: SKIPG ATBSIZ ;ROOM FOR NULL?
843 000760' 260 17 0 00 000750' PUSHJ P,S..ABS ;NO, LOSE
844 000761' 400 03 0 00 000000 SETZ T1,0
845 000762' 200 05 0 00 000056' MOVE T3,ATBPTR ;GET POINTER
846 000763' 136 03 0 00 000005 IDPB T1,T3 ;DEPOSIT WITHOUT CHANGING PTR
847 000764' 263 17 0 00 000000 POPJ P,0
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 26
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0321
848
849 ;GET NEXT INPUT CHARACTER FOR PROCESSING
850 ;APPEND TEXT TO BUFFER IF NECESSARY WITH INTERNAL TEXTI
851 ; PUSHJ P,CMCIN
852 ; RETURNS +1 ALWAYS, T1/ CHARACTER
853
854 CMCIN: SOJL P5,[SETZ P5,0 ;MAKE INPUT EXACTLY EMPTY
855 PUSHJ P,CMCIN1 ;NONE LEFT, GO GET MORE
856 000765' 361 13 0 00 004234' JRST CMCIN]
857 000766' 134 03 0 00 000012 ILDB T1,P4 ;GET NEXT ONE
858 000767' 370 00 0 00 000011 SOS P3 ;UPDATE FREE COUNT
859 000770' 306 03 0 00 000006 CAIN T1,CMFREC ;^F?
860 JRST [TXO F,CM%ESC+CMCFF ;YES
861 000771' 254 00 0 00 004240' POPJ P,0]
862 000772' 306 03 0 00 000033 CAIN T1,.CHESC ;ESC?
863 JRST [TXO F,CM%ESC ;YES
864 000773' 254 00 0 00 004242' POPJ P,0]
865 000774' 306 03 0 00 000012 CAIN T1,.CHLFD ;END OF LINE?
866 000775' 661 14 0 00 100000 TXO F,CM%EOC ;YES, MEANS END OF COMMAND
867 000776' 263 17 0 00 000000 POPJ P,0
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 27
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0322
868
869 000777' 202 14 0 00 000065' CMCIN1: MOVEM F,CMCSF ;SAVE F
870 001000' 402 00 0 00 000076' SETZM CMCBLF ;INIT ACCUMULATED FLAGS
871 001001' 200 03 0 00 004244' MOVE T1,[XWD P1,CMCSAC] ;PREPARE FOR BLT
872 001002' 251 03 0 00 000071' BLT T1,CMCSAC+3 ;SAVE P1-P4
873 001003' 205 03 0 00 565000 MOVX T1,RD%BRK+RD%PUN+RD%BEL+RD%CRF+RD%JFN+RD%BBG ;SETUP FLAGS
874 001004' 603 14 0 00 000020 TXNE F,CM%NJF ;WERE JFN'S PASSED?
875 001005' 621 03 0 00 004000 TXZ T1,RD%JFN ;NO, PASS THAT FACT
876 001006' 603 14 0 00 004000 TXNE F,CM%RAI ;RAISE INPUT REQUESTED?
877 001007' 661 03 0 00 000200 TXO T1,RD%RAI ;YES, PASS IT
878 001010' 202 03 0 00 000121' MOVEM T1,TI+.RDFLG ;STORE FLAGS FOR TEXTI
879 001011' 201 03 0 00 000010 MOVX T1,.RDBKL ;GET NUMBER OF WORDS TO PASS
880 001012' 202 03 0 00 000120' MOVEM T1,TI+.RDCWB ;AND STORE IT
881 001013' 200 03 0 10 000002 MOVE T1,.CMRTY(P2) ;SETUP ^R BUFFER
882 001014' 202 03 0 00 000126' MOVEM T1,TI+.RDRTY ;FOR TXTI
883 001015' 200 03 0 10 000003 MOVE T1,.CMBFP(P2) ;SETUP TOP OF BUFFER
884 001016' 202 03 0 00 000125' MOVEM T1,TI+.RDBFP ;
885 001017' 402 00 0 00 000127' SETZM TI+.RDBRK ;NO SPECIAL BREAK MASK
886 001020' 202 12 0 00 000130' MOVEM P4,TI+.RDBKL ;STORE CURRENT PTR FOR BACK UP LIMIT
887 001021' 202 11 0 00 000075' MOVEM P3,CMCSC ;SAVE CURRENT COUNT
888 001022' 274 11 0 00 000013 SUB P3,P5 ;ADJUST COUNT FOR ADVANCE INPUT
889 001023' 202 11 0 00 000124' MOVEM P3,TI+.RDDBC ;AND STORE FOR THE TEXT INPUT
890 001024' 332 00 0 00 000013 SKIPE P5 ;PUSH POINTER PAST CURRENT INPUT
891 001025' 133 00 0 00 000012 IBP P4 ;
892 001026' 367 13 0 00 001025' SOJG P5,.-1 ;
893 001027' 202 12 0 00 000123' MOVEM P4,TI+.RDDBP ;STORE FOR INPUT
894 001030' 200 01 0 10 000001 MOVE S1,.CMIOJ(P2) ;GET THE JFNS
895 001031' 202 01 0 00 000122' MOVEM S1,TI+.RDIOJ ;STORE FOR TEXTI
896 001032' 337 00 0 00 000011 CMCIN2: SKIPG P3 ;ROOM IN BUFFER FOR MORE INPUT?
897 001033' 260 17 0 00 003773' $STOP(TMT,Too much text) ;NO
898 001035' 201 01 0 00 000120' MOVEI S1,TI ;GET LOCATION OF TEXTI BLOCK
899 001036' 260 17 0 00 003001' PUSHJ P,K%TXTI ;DO INTERNAL TEXTI
900 JUMPF [MOVEI S1,EREOF$
901 001037' 322 00 0 00 004252' JRST XCOMEO]
902 001040' 434 14 0 00 000121' IOR F,TI+.RDFLG ;GET FLAGS
903 001041' 603 14 0 00 000020 TXNE F,RD%BFE ;BUFFER EMPTY?
904 001042' 254 00 0 00 001067' JRST CMCIN4 ;YES
905 001043' 437 14 0 00 000076' IORB F,CMCBLF ;ACCUMULATE FLAGS (RD%BLR)
906 001044' 135 03 0 00 000123' LDB T1,TI+.RDDBP ;GET LAST CHAR
907 001045' 200 12 0 00 000123' MOVE P4,TI+.RDDBP ;REMEMBER POINTER
908 001046' 200 11 0 00 000124' MOVE P3,TI+.RDDBC ;AND COUNT
909 001047' 302 03 0 00 000012 CAIE T1,.CHLFD ;AN ACTION CHAR?
910 001050' 306 03 0 00 000033 CAIN T1,.CHESC
911 001051' 254 00 0 00 001056' JRST CMCIN3 ;YES
912 001052' 302 03 0 00 000077 CAIE T1,CMHLPC
913 001053' 306 03 0 00 000006 CAIN T1,CMFREC ;^F?
914 001054' 254 00 0 00 001056' JRST CMCIN3 ;YES
915 001055' 254 00 0 00 001032' JRST CMCIN2 ;NO, GET MORE INPUT
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 28
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0323
916
917 001056' 603 14 0 00 000010 CMCIN3: TXNE F,RD%BLR ;BACKUP LIMIT REACHED?
918 001057' 254 00 0 00 001067' JRST CMCIN4 ;YES, CLEANUP AND REPARSE
919 001060' 200 13 0 00 000075' MOVE P5,CMCSC ;RECOVER PREVIOUS COUNT
920 001061' 274 13 0 00 000011 SUB P5,P3 ;COMPUTE CHARACTERS JUST APPENDED
921 001062' 205 03 0 00 000066' MOVSI T1,CMCSAC ;RESTORE ACS P1-P4, F
922 001063' 541 03 0 00 000007 HRRI T1,P1
923 001064' 251 03 0 00 000012 BLT T1,P4
924 001065' 200 14 0 00 000065' MOVE F,CMCSF
925 001066' 263 17 0 00 000000 POPJ P,0
926
927 ;HERE ON RETURN FROM TEXTI WHICH REACHED BACKUP LIMIT OR WHICH RETURNED
928 ;BECAUSE BUFFER EMPTY. MUST REPARSE LINE. RESTORE ACS, BUT LEAVE
929 ;MAIN POINTER AS RETURNED BY TEXTI.
930
931 001067' 120 07 0 00 000066' CMCIN4: DMOVE P1,CMCSAC ;RESTORE P1&P2
932 001070' 200 14 0 00 000065' MOVE F,CMCSF ;RESTORE F
933 001071' 254 00 0 00 000375' JRST XCOMRP ;RETURN REPEAT PARSE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 29
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0324
934
935 ;SKIP LEADING TABS OR SPACES
936
937 001072' 260 17 0 00 000765' CMSKSP: PUSHJ P,CMCIN ;GET A CHAR
938 001073' 302 03 0 00 000040 CAIE T1," " ;SPACE OR TAB?
939 001074' 306 03 0 00 000011 CAIN T1,.CHTAB
940 001075' 254 00 0 00 001072' JRST CMSKSP ;YES, KEEP LOOKING
941 001076' 254 00 0 00 001116' PJRST CMDIP ;NO, PUT IT BACK
942
943 ;LOCAL ROUTINE - SUBTRACT ASCII BYTE PTRS
944 ; T1, T2/ ASCII BYTE PTRS
945 ; PUSHJ P,SUBBP
946 ; RETURNS +1 ALWAYS,
947 ; T1/ T1-T2
948
949 001077' 550 05 0 00 000003 SUBBP: HRRZ T3,T1 ;COMPUTE 5*(A1-A2)+(P2-P1)/7
950 001100' 275 05 0 04 000000 SUBI T3,0(T2)
951 001101' 221 05 0 00 000005 IMULI T3,5 ;COMPUTE NUMBER CHARS IN THOSE WORDS
952 001102' 135 03 0 00 004254' LDB T1,[POINT 6,T1,5]
953 001103' 135 04 0 00 004255' LDB T2,[POINT 6,T2,5]
954 001104' 276 04 0 00 000003 SUBM T2,T1
955 001105' 231 03 0 00 000007 IDIVI T1,7
956 001106' 270 03 0 00 000005 ADD T1,T3
957 001107' 263 17 0 00 000000 POPJ P,0
958
959 ;LOCAL ROUTINE - DELETE LAST CHAR INPUT
960
961 001110' 200 03 0 00 000012 CMDCH: MOVE T1,P4
962 001111' 260 17 0 00 001136' PUSHJ P,DBP ;DECREMENT BYTE PTR
963 001112' 202 03 0 00 000012 MOVEM T1,P4
964 001113' 350 00 0 00 000011 AOS P3 ;ADJUST SPACE COUNT
965 001114' 400 13 0 00 000000 SETZ P5,0 ;CAN'T BE ANY WAITING INPUT
966 001115' 263 17 0 00 000000 POPJ P,0
967
968 ;LOCAL ROUTINE - DECREMENT INPUT POINTER
969
970 001116' 135 03 0 00 000012 CMDIP: LDB T1,P4 ;CHECK THE CHARACTER
971 001117' 302 03 0 00 000006 CAIE T1,CMFREC ;A RECOG REQUEST CHAR?
972 001120' 306 03 0 00 000033 CAIN T1,.CHESC
973 001121' 630 14 0 00 004237' TXZ F,CM%ESC+CMCFF ;YES, RESET FLAGS
974 001122' 200 03 0 00 000012 MOVE T1,P4 ;GET POINTER
975 001123' 260 17 0 00 001136' PUSHJ P,DBP ;DECREMENT IT
976 001124' 202 03 0 00 000012 MOVEM T1,P4 ;PUT IT BACK
977 001125' 350 00 0 00 000013 AOS P5 ;ADJUST COUNTS
978 001126' 350 00 0 00 000011 AOS P3
979 001127' 263 17 0 00 000000 POPJ P,0
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 30
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0325
980
981 ;LOCAL ROUTINE - DEPOSIT INTO INPUT BUFFER
982
983 001130' 260 17 0 00 001173' CMDIB: PUSHJ P,CMCOUT ;TYPE THE CHAR
984 001131' 400 13 0 00 000000 CMDIBQ: SETZ P5,0 ;CLEAR ADVANCE COUNT
985 001132' 375 00 0 00 000011 SOSGE P3 ;ROOM?
986 001133' 260 17 0 00 000750' PUSHJ P,S..ABS ;NO
987 001134' 136 03 0 00 000012 IDPB T1,P4 ;APPEND BYTE TO USER'S BUFFER
988 001135' 263 17 0 00 000000 POPJ P,0
989
990 ;LOCAL ROUTINE - DECREMENT BYTE POINTER
991
992 001136' 370 00 0 00 000003 DBP: SOS T1 ;BACK OFF ONE WORD
993 001137' 133 00 0 00 000003 IBP T1 ;AND THEN GO FORWARD 4 TIMES
994 001140' 133 00 0 00 000003 IBP T1
995 001141' 133 00 0 00 000003 IBP T1
996 001142' 133 00 0 00 000003 IBP T1
997 001143' 254 00 0 00 003747' $RETT ;THEN RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 31
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0326
998
999 ;APPEND CHARACTER TO INPUT BUFFER
1000 ; T1/ CHARACTER
1001
1002 001144' 202 03 0 00 000006 CMAPC: MOVEM T1,T4 ;SAVE CHAR
1003 001145' 200 04 0 00 000013 MOVE T2,P5 ;ADVANCE COUNT
1004 001146' 133 04 0 00 000012 ADJBP T2,P4 ;COMPUTE POINTER TO END OF INPUT
1005 001147' 136 06 0 00 000004 IDPB T4,T2 ;APPEND THE CHAR
1006 001150' 350 00 0 00 000013 AOS P5 ;UPDATE ADVANCE COUNT
1007 001151' 263 17 0 00 000000 POPJ P,0
1008
1009 ;DO CALLER-SUPPLIED HELP TEXT IF ANY
1010
1011 001152' DOHLP: HRROI T1,[ASCIZ /
1012 001152' 561 03 0 00 004256' or/]
1013 001153' 602 14 0 00 010000 TXNE F,CMQUE2 ;IN ALTERNATE HELP POSSIBILITIES?
1014 001154' 260 17 0 00 001175' PUSHJ P,CMSOUT ;YES, NOT ALTERNATIVE
1015 001155' 607 14 0 00 000004 TXNN F,CM%HPP ;HAVE HELP POINTER?
1016 001156' 263 17 0 00 000000 POPJ P,0 ;NO
1017 001157' 201 03 0 00 000040 MOVEI T1," "
1018 001160' 260 17 0 00 001173' PUSHJ P,CMCOUT ;SPACE BEFORE USER TEXT
1019 001161' 550 03 0 00 000007 HRRZ T1,P1 ;LOAD ADDRESS
1020 001162' 200 03 0 03 000002 MOVE T1,.CMHLP(T1) ;YES, GET IT
1021 001163' 260 17 0 00 001175' PUSHJ P,CMUSOU ;YES, TYPE IT
1022 001164' 263 17 0 00 000000 POPJ P,0
1023
1024 ;HANDLE AMBIGUOUS TYPEIN
1025
1026 001165' 627 14 0 00 400000 CMAMB: TXZN F,CM%ESC ;ESC SEEN?
1027 001166' 254 00 0 00 004270' JRST [NOPARS (NPXAMB,UNRECOGNIZED CONTROL CHARACTER)] ;NO, SAME AS UNREC
1028 001167' 260 17 0 00 001110' PUSHJ P,CMDCH ;FLUSH RECOG CHAR FROM BUFFER
1029 001170' 201 03 0 00 000007 MOVEI T1,.CHBEL ;INDICATE AMBIGUOUS
1030 001171' 260 17 0 00 001173' PUSHJ P,CMCOUT
1031 001172' 254 00 0 00 000353' JRST XCOMRF ;GET MORE INPUT AND RESTART
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 32
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0327
1032 ;OUTPUT CHARACTER TO SPECIFIED DESTINATION
1033 ; T1/ CHAR
1034 ; PUSHJ P,CMCOUT
1035 ; RETURNS +1 ALWAYS
1036
1037 001173' 051 01 0 00 000003 CMCOUT: OUTCHR T1 ;OUTPUT THE CHARACTER
1038 001174' 263 17 0 00 000000 POPJ P,0
1039
1040 ;OUTPUT STRING FROM CURRENT CONTEXT
1041 ; T1/ STRING PTR
1042 ; PUSHJ P,CMSOUT
1043 ; RETURN +1 ALWAYS
1044
1045 001175' CMUSOU:
1046 001175' 554 01 0 00 000003 CMSOUT: HLRZ S1,T1 ;GET LH OF POINTER TO S1
1047 001176' 306 01 0 00 777777 CAIN S1,-1 ;IS IT A -1?
1048 001177' 201 01 0 00 440700 MOVEI S1,(POINT 7,0) ;YES, MAKE IT POINT 7,
1049 001200' 306 01 0 00 440700 CAIN S1,(POINT 7,0) ;IS IT A WORD-ALIGNED POINTER?
1050 001201' 254 00 0 00 001207' JRST CMSO.2 ;YES, DO AN OUTSTR FOR EFFICIENCY
1051 001202' 504 03 0 00 000001 HRL T1,S1 ;NO, COMPLETE THE BYTE POINTER
1052 001203' 134 01 0 00 000003 CMSO.1: ILDB S1,T1 ;GET A CHARACTER
1053 001204' 322 01 0 00 003750' JUMPE S1,.POPJ ;TERMINATE ON NULL
1054 001205' 051 01 0 00 000001 OUTCHR S1 ;OUTPUT THE CHARACTER
1055 001206' 254 00 0 00 001203' JRST CMSO.1 ;AND LOOP FOR MORE
1056
1057 001207' 051 03 0 03 000000 CMSO.2: OUTSTR 0(T1) ;TYPE OUT THE STRING
1058 001210' 263 17 0 00 000000 POPJ P, ;AND RETURN
1059
1060 ;OUTPUT CHARACTER TO SPECIFIED DESTINATION
1061 ; T1/ CHAR
1062 ; PUSHJ P,XMCOUT
1063 ; RETURNS +1 ALWAYS
1064
1065 001211' 051 01 0 00 000003 XMCOUT: OUTCHR T1
1066 001212' 306 03 0 00 000011 CAIN T1,^D9
1067 001213' 254 00 0 00 001230' JRST XMCS.1
1068 001214' 254 00 0 00 001236' JRST XMCS.2
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 33
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0328
1069
1070 ;OUTPUT STRING FROM CURRENT CONTEXT
1071 ; T1/ STRING PTR
1072 ; PUSHJ P,XMSOUT
1073 ; RETURN +1 ALWAYS
1074
1075 001215' 554 01 0 00 000003 XMSOUT: HLRZ S1,T1 ;GET LH OF POINTER TO S1
1076 001216' 306 01 0 00 777777 CAIN S1,-1 ;IS IT A -1?
1077 001217' 505 03 0 00 440700 HRLI T1,(POINT 7,0) ;YES, MAKE POINT 7
1078 001220' 134 01 0 00 000003 XMSO.1: ILDB S1,T1 ;GET A CHARACTER
1079 001221' 322 01 0 00 003750' JUMPE S1,.POPJ ;TERMINATE ON NULL
1080 001222' 260 17 0 00 001225' PUSHJ P,XMCSPC ;GO OUTPUT THE CHARACTER
1081 001223' 254 00 0 00 001220' JRST XMSO.1 ;AND LOOP FOR MORE
1082 001224' 263 17 0 00 000000 POPJ P,0
1083
1084 001225' 051 01 0 00 000001 XMCSPC: OUTCHR S1 ;OUTPUT A CHARACTER
1085 001226' 302 01 0 00 000011 CAIE S1,^D9
1086 001227' 254 00 0 00 001236' JRST XMCS.2
1087 001230' 200 01 0 00 000114' XMCS.1: MOVE S1,CURPOS
1088 001231' 271 01 0 00 000010 ADDI S1,8
1089 001232' 231 01 0 00 000010 IDIVI S1,8
1090 001233' 221 01 0 00 000010 IMULI S1,8
1091 001234' 202 01 0 00 000114' MOVEM S1,CURPOS
1092 001235' 334 00 0 00 000000 SKIPA
1093 001236' 350 00 0 00 000114' XMCS.2: AOS CURPOS ;MAINTAIN POSITION
1094 001237' 263 17 0 00 000000 POPJ P,0
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 34
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0329
1095
1096 ;CHECK ALL BYTE PTRS
1097 ; T1/ PTR TO LIST OF ADDRESSES, TERMINATED BY 0
1098
1099 001240' 260 17 0 00 003723' CHKABP: SAVE Q1 ;SAVE ACS
1100 001241' 260 17 0 00 003733' SAVE Q2 ;THAT WE USE
1101 001242' 202 03 0 00 000015 MOVEM T1,Q1 ;SAVE LIST PTR
1102 001243' 200 16 0 15 000000 CHKAB1: MOVE Q2,0(Q1) ;GET NEXT ADDRESS
1103 001244' 322 16 0 00 003747' JUMPE Q2,.RETT ;DONE ON 0
1104 001245' 271 16 0 10 000000 ADDI Q2,0(P2) ;MAKE PTR TO BLOCK
1105 001246' 200 03 0 16 000000 MOVE T1,0(Q2) ;GET BYTE PTR
1106 001247' 260 17 0 00 001252' PUSHJ P,CHKBP ;CHECK AND NORMALIZE
1107 001250' 202 03 0 16 000000 MOVEM T1,0(Q2) ;PUT IT BACK
1108 001251' 344 15 0 00 001243' AOJA Q1,CHKAB1 ;DO NEXT
1109
1110 ;CHECK A BYTE PTR
1111 ; T1/ BYTE PTR - IF LH IS -1, PTR IS FIXED
1112
1113 001252' 554 04 0 00 000003 CHKBP: HLRZ T2,T1
1114 001253' 306 04 0 00 777777 CAIN T2,-1
1115 001254' 505 03 0 00 440700 HRLI T1,(POINT 7)
1116 001255' 135 04 0 00 004272' LDB T2,[POINT 6,T1,11] ;GET BYTE SIZE
1117 001256' 133 00 0 00 000003 IBP T1 ;INCREMENT AND DECREMENT TO NORMALIZE
1118 001257' 254 00 0 00 001136' PJRST DBP
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 35
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0330
1119
1120 ;************************
1121 ;FUNCTIONS
1122 ;************************
1123
1124 ;INITIALIZE LINE AND CHECK FOR REDO REQUEST
1125
1126 001260' 550 03 0 10 000001 XCMINI: HRRZ T1,.CMIOJ(P2) ;DOING OUTPUT TO TERMINAL?
1127 001261' 302 03 0 00 000101 CAXE T1,.PRIOU ;..
1128 001262' 254 00 0 00 001313' JRST CMINI4 ;NO, SKIP REPAIR
1129 001263' 201 03 0 00 004030' MOVEI T1,[BYTE (7).CHCRT,.CHLFD] ;GET TO LEFT MARGIN
1130 001264' 260 17 0 00 001175' PUSHJ P,CMSOUT
1131 001265' 332 15 0 10 000002 CMINI1: SKIPE Q1,.CMRTY(P2) ;DO PROMPT IF ANY
1132 001266' 316 15 0 10 000003 CMINI2: CAMN Q1,.CMBFP(P2) ;STOP AT TOP OF BUFFER
1133 001267' 254 00 0 00 001272' JRST CMINI3
1134 001270' 134 03 0 00 000015 ILDB T1,Q1
1135 JUMPN T1,[PUSHJ P,CMCOUT
1136 001271' 326 03 0 00 004273' JRST CMINI2]
1137 001272' 316 12 0 10 000003 CMINI3: CAMN P4,.CMBFP(P2) ;BUFFER EMPTY?
1138 001273' 254 00 0 00 001313' JRST CMINI4 ;YES, NO REDO POSSIBLE
1139 001274' 135 03 0 00 000012 LDB T1,P4 ;CHECK LAST CHAR
1140 001275' 306 03 0 00 000012 CAIN T1,.CHLFD ;END OF LINE?
1141 001276' 254 00 0 00 001313' JRST CMINI4 ;YES, LAST COMMAND OK, NO REDO
1142 001277' 051 00 0 00 000003 INCHRW T1 ;GET FIRST CHARACTER
1143 001300' 306 03 0 00 000010 CAIN T1,CMRDOC ;IS IT REDO?
1144 001301' 254 00 0 00 001322' JRST CMINI5 ;YES
1145 001302' 200 04 0 00 000131' MOVE T2,TRMUDX ;GET TERMINAL'S UDX
1146 001303' 200 06 0 00 000003 MOVE T4,T1 ;COPY CHARACTER
1147 001304' 242 06 0 00 000035 LSH T4,^D36-7 ;AND POSITION IT
1148 001305' 201 03 0 00 000021 MOVX T1,.TOTYP ;RE-INSERT INTO INPUT BUFFER
1149 001306' 201 05 0 00 000006 MOVEI T3,T4 ;POINT TO STRING
1150 001307' 200 01 0 00 004275' MOVE S1,[XWD 3,T1] ;POINT TO ARGUMENT BLOCK
1151 001310' 047 01 0 00 000116 TRMOP. S1, ;AND DO IT
1152 001311' 260 17 0 00 003773' $STOP(TRI,TRMOP RE-INSERT FAILURE)
1153 001313' 200 03 0 00 000012 CMINI4: MOVE T1,P4 ;RESET LINE VARIABLES
1154 001314' 200 04 0 10 000003 MOVE T2,.CMBFP(P2)
1155 001315' 202 04 0 00 000012 MOVEM T2,P4
1156 001316' 260 17 0 00 001077' PUSHJ P,SUBBP ;COMPUTE CHARACTERS IN LINE
1157 001317' 272 03 0 00 000011 ADDM T1,P3 ;UPDATE SPACE COUNT
1158 001320' 400 13 0 00 000000 SETZ P5,0 ;RESET ADVANCE COUNT
1159 001321' 254 00 0 00 000410' JRST XCOMXI ;RETURN GOOD
1160
1161 001322' 200 11 0 10 000005 CMINI5: MOVE P3,.CMCNT(P2) ;RESET VARIABLES TO CURR FIELD
1162 001323' 200 12 0 10 000004 MOVE P4,.CMPTR(P2)
1163 001324' 400 13 0 00 000000 SETZ P5,0 ;NO INPUT
1164 001325' 201 03 0 00 004030' MOVEI T1,[BYTE (7).CHCRT,.CHLFD] ;START NEW LINE
1165 001326' 260 17 0 00 001175' PUSHJ P,CMSOUT ;
1166 001327' 260 17 0 00 000470' PUSHJ P,CMRTY1 ;RETYPE
1167 001330' 254 00 0 00 000375' JRST XCOMRP ;RETURN TO REPARSE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 36
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0331
1168
1169 ;SWITCH - LIKE KEYWORD BUT PRECEEDED BY SLASH
1170
1171 001331' 660 14 0 00 200000 XCMSWI: TXO F,CMSWF ;NOTE DOING SWITCH
1172 001332' 602 14 0 00 040000 TXNE F,CMDEFF ;DEFAULT GIVEN?
1173 001333' 254 00 0 00 001346' JRST CMKEY0 ;YES, SLASH ALREADY ASSUMED
1174 001334' 260 17 0 00 000765' PUSHJ P,CMCIN ;GET FIRST CHAR
1175 001335' 302 03 0 00 000006 CAIE T1,CMFREC ;^F
1176 001336' 306 03 0 00 000033 CAIN T1,.CHESC ;ESC?
1177 JRST [PUSHJ P,CMAMB ;YES, INDICATE AMBIGUOUS
1178 001337' 254 00 0 00 004305' JRST XCMSWI] ;TRY AGAIN
1179 001340' 306 03 0 00 000077 CAIN T1,CMHLPC ;HELP?
1180 JRST [SETZ T1,0
1181 MOVE T2,ATBPTR
1182 IDPB T1,T2
1183 MOVE T1,FNARG ;GET TABLE PTR
1184 MOVEI T1,1(T1) ;POINT TO FIRST TABLE ENTRY
1185 001341' 254 00 0 00 004307' JRST CMQ2] ;TYPE OPTIONS
1186 001342' 302 03 0 00 000057 CAIE T1,CMSWCH ;THE SWITCH CHARACTER?
1187 JRST [PUSHJ P,CMDIP ;NO, PUT IT BACK
1188 001343' 254 00 0 00 004325' NOPARS (NPXNSW,UNRECOGNIZABLE SWITCH CONSTRUCTION)] ;RETURN NO PARSE
1189 001344' 254 00 0 00 001346' JRST CMKEY0 ;CONTINUE LIKE KEYWORD
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 37
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0332
1190 ;KEYWORD LOOKUP FUNCTION
1191
1192 001345' 620 14 0 00 200000 XCMKEY: TXZ F,CMSWF ;NOT SWITCH
1193 001346' CMKEY0:
1194 001346' 260 17 0 00 000571' KEYW1: PUSHJ P,CMRATM ;READ THE FIELD INTO LOCAL BUFFER
1195 001347' 200 03 0 00 000061' MOVE T1,FNARG ;GET TABLE HEADER ADDRESS
1196 001350' 200 04 0 10 000007 MOVE T2,.CMABP(P2) ;POINT TO KEYWORD BUFFER
1197 001351' 260 17 0 00 002523' PUSHJ P,XTLOOK ;LOOKUP
1198 001352' 602 14 0 00 400000 TXNE F,CMQUES ;HAD "?"
1199 001353' 254 00 0 00 001431' JRST CMQ1 ;YES, GO TYPE ALTERNATIVES
1200 001354' 607 04 0 00 400000 JXN T2,TL%NOM,[NOPARS (NPXNOM,NO KEYWORD MATCH)] ;NO MATCH
1201 001355' 334 00 0 00 000000
1202 001356' 254 00 0 00 004335'
1203 JXN T2,TL%AMB,[PUSHJ P,CMAMB ;AMBIGUOUS, DING OR FAIL
1204 001357' 607 04 0 00 200000 JRST KEYW1] ;GET MORE INPUT
1205 001360' 334 00 0 00 000000
1206 001361' 254 00 0 00 004337'
1207 001362' 202 03 0 00 000004 MOVEM T1,T2 ;SAVE TABLE INDEX
1208 001363' 202 03 0 00 000104' MOVEM T1,CRBLK+CR.RES ;AS RESULT
1209 001364' 603 14 0 00 400000 JXE F,CM%ESC,KEYW4 ;DONE IF NO REC WANTED
1210 001365' 334 00 0 00 000000
1211 001366' 254 00 0 00 001412'
1212 001367' 202 05 0 00 000015 MOVEM T3,Q1 ;SAVE PTR TO REMAINDER OF STRING
1213 001370' 260 17 0 00 001110' PUSHJ P,CMDCH ;FLUSH RECOG CHARACTER
1214 001371' 134 03 0 00 000015 KEYW2: ILDB T1,Q1 ;TYPE REMAINDER OF KEYWORD
1215 001372' 322 03 0 00 001377' JUMPE T1,KEYW3 ;DONE
1216 001373' 260 17 0 00 001130' PUSHJ P,CMDIB ;APPEND COMPLETION TO BUFFER
1217 001374' 306 03 0 00 000072 CAIN T1,CMSWTM ;A SWITCH TERMINATOR?
1218 JRST [TXZ F,CM%ESC ;YES, OVERRIDES ESC
1219 TXO F,CM%SWT ;NOTE SWITCH TERMINAOTR
1220 TXNN F,CMSWF ;IN SWITCH?
1221 PUSHJ P,CMDIP ;NO, PUT TERMINATOR BACK
1222 001375' 254 00 0 00 004341' JRST XCOMXI] ;DONE
1223 001376' 254 00 0 00 001371' JRST KEYW2
1224
1225 001377' 602 14 0 00 200000 KEYW3: JXE F,CMSWF,XCOMXI ;DONE IF NOT SWITCH
1226 001400' 334 00 0 00 000000
1227 001401' 254 00 0 00 000410'
1228 001402' 200 15 0 00 000061' MOVE Q1,FNARG ;CHECK FUNCTION FLAGS
1229 001403' 603 15 0 00 400000 JXE Q1,CM%VRQ,XCOMXI ;DONE IF NO VALUE REQUIRED
1230 001404' 334 00 0 00 000000
1231 001405' 254 00 0 00 000410'
1232 001406' 201 03 0 00 000072 MOVEI T1,CMSWTM ;INCLUDE COLON IN RECOGNITION
1233 001407' 260 17 0 00 001130' PUSHJ P,CMDIB
1234 001410' 661 14 0 00 020000 TXO F,CM%SWT ;NOTE SWITCH TERMINATOR
1235 001411' 254 00 0 00 000417' JRST XCOMX1 ;INHIBIT ADDITIONAL SPACE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 38
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0333
1236
1237 001412' 260 17 0 00 000754' KEYW4: PUSHJ P,CHKLCH ;SEE IF ATOM NON-NULL
1238 001413' 322 03 0 00 004353' JUMPE T1,[NOPARS (NPXNUL,KEYWORD EXPECTED)] ;FAIL IF NULL
1239 001414' 602 14 0 00 200000 JXE F,CMSWF,XCOMXI ;DONE IF NOT SWITCH
1240 001415' 334 00 0 00 000000
1241 001416' 254 00 0 00 000410'
1242 001417' 260 17 0 00 001072' PUSHJ P,CMSKSP ;SKIP SPACES
1243 001420' 260 17 0 00 000765' PUSHJ P,CMCIN ;GET NON-BLANK CHAR
1244 001421' 306 03 0 00 000072 CAIN T1,CMSWTM ;SWITCH TERMINATOR?
1245 JRST [TXO F,CM%SWT ;YES, NOTE
1246 001422' 254 00 0 00 004355' JRST XCOMXI] ;DONE
1247 001423' 260 17 0 00 001116' PUSHJ P,CMDIP ;NO, PUT IT BACK
1248 001424' 200 15 0 00 000061' MOVE Q1,FNARG
1249 001425' 607 15 0 00 400000 JXN Q1,CM%VRQ,XCOMNP ;FAIL IF VALUE WAS REQUIRED
1250 001426' 334 00 0 00 000000
1251 001427' 254 00 0 00 000436'
1252 001430' 254 00 0 00 000410' JRST XCOMXI ;OTHERWISE OK
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 39
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0334
1253
1254 ;"?" TYPED, FIRST PARTIAL MATCH FOUND. TYPE ALL PARTIAL MATCHES
1255
1256 CMQ1: JXN T2,TL%NOM,[
1257 JXN F,CMQUE2,CMRTYP ;DO NOTHING IF NOT FIRST ALTERNATIVE
1258 HRROI T1,[ASCIZ / keyword (no defined keywords match this input)/]
1259 PUSHJ P,CMSOUT ;TYPE MESSAGE
1260 001431' 607 04 0 00 400000 JRST CMRTYP] ;RETYPE LINE AND CONTINUE
1261 001432' 334 00 0 00 000000
1262 001433' 254 00 0 00 004371'
1263 001434' 202 03 0 00 000016 CMQ2: MOVEM T1,Q2 ;SAVE TABLE INDEX
1264 001435' 260 17 0 00 001152' PUSHJ P,DOHLP ;DO USER HELP IF ANY
1265 001436' 603 14 0 00 000001 TXNE F,CM%SDH ;DEFAULT HELP SUPPRESSED?
1266 001437' 254 00 0 00 000450' JRST CMRTYP ;YES, DONE
1267 001440' 200 03 0 00 000061' MOVE T1,FNARG ;GET TABLE PTR
1268 001441' 554 15 0 03 000000 HLRZ Q1,0(T1) ;GET TABLE SIZE
1269 001442' 271 15 0 03 000001 ADDI Q1,1(T1) ;COMPUTE TABLE END ADDRESS FOR BELOW
1270 HRROI T1,[ASCIZ / one of the following:
1271 001443' 561 03 0 00 004377' /]
1272 001444' 260 17 0 00 001175' PUSHJ P,CMSOUT
1273 001445' 402 00 0 00 000114' SETZM CURPOS ;CLEAR CURRENT POSITION
1274 001446' 360 16 0 00 000000 SOJ Q2,0 ;GETS INCREMENTED BEFORE EACH APPLICATION
1275 001447' 202 16 0 00 000115' MOVEM Q2,Q3SAVE ;SAVE SO IT CAN BE REINITIALIZED
1276 001450' 402 00 0 00 000107' SETZM TABSIZ ;START WITH TAB SIZE OF 0
1277 001451' 476 00 0 00 000113' SETOM PWIDTH ;MARK THAT WE DON'T KNOW WIDTH YET
1278 001452' 260 17 0 00 001472' CMTAB1: PUSHJ P,CMNXTE ;GET TO NEXT VALID KEYWORD IN TABLE
1279 001453' 254 00 0 00 001460' JRST CMTAB2 ;NO MORE IN TABLE
1280 001454' 260 17 0 00 001572' PUSHJ P,CMGTLN ;CALCULATE LENGTH OF KEYWORD
1281 001455' 311 03 0 00 000107' CAML T1,TABSIZ ;LONGEST SEEN SO FAR?
1282 001456' 202 03 0 00 000107' MOVEM T1,TABSIZ ;YES, REMEMBER IT
1283 001457' 254 00 0 00 001452' JRST CMTAB1 ;LOOK AT REST
1284 001460' 200 03 0 00 000107' CMTAB2: MOVE T1,TABSIZ
1285 001461' 202 03 0 00 000111' MOVEM T1,BIGSIZ ;REMEMBER LENGTH OF LONGEST KEYWORD
1286 001462' 201 03 0 00 000004 MOVEI T1,3+1 ;3 SPACES AFTER CRLF AND LEAVE AT LEAST
1287 ;ONE SPACE BETWEEN ITEMS
1288 001463' 272 03 0 00 000107' ADDM T1,TABSIZ
1289 001464' 200 16 0 00 000115' MOVE Q2,Q3SAVE ;RESTART TABLE POINTER FOR ACTUAL LISTING
1290 001465' 260 17 0 00 001472' CMQ3: PUSHJ P,CMNXTE ;GET TO NEXT KEYWORD
1291 001466' 254 00 0 00 000450' JRST CMRTYP ;NO MORE, REPEAT COMMAND SO FAR AND CONTINUE
1292 001467' 260 17 0 00 001514' PUSHJ P,KEYTAB ;JUSTIFY "TYPEBALL" FOR KEYWORD TYPEOUT
1293 001470' 260 17 0 00 001215' PUSHJ P,XMSOUT ;TYPE IT
1294 001471' 254 00 0 00 001465' JRST CMQ3 ;TRY NEXT
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 40
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0335
1295 ;ROUTINE WHICH TAKES POINTER TO TABLE IN Q2, POINTER TO END OF TABLE
1296 ;IN Q1, AND RETURNS POINTER TO KEYWORD NAME IN T1. SKIPS UNLESS TABLE
1297 ;IS EXHAUSTED. ONLY CONSIDERS PRINTABLE KEYWORDS, AND UPDATES Q2.
1298
1299 001472' 350 00 0 00 000016 CMNXTE: AOS Q2 ;LOOK AT NEXT TABLE ENTRY
1300 001473' 311 16 0 00 000015 CAML Q2,Q1 ;BEYOND END OF TABLE?
1301 001474' 263 17 0 00 000000 POPJ P,0 ;YES, FINISHED LIST
1302 001475' 554 04 0 16 000000 HLRZ T2,0(Q2) ;GET STRING PTR FOR IT
1303 001476' 260 17 0 00 002455' PUSHJ P,CHKTBS ;GET FLAGS FROM STRING
1304 001477' 606 03 0 00 000003 JXN T1,CM%INV+CM%NOR,CMNXTE ;SKIP ENTRY IF INVISIBLE OR NOREC
1305 001500' 334 00 0 00 000000
1306 001501' 254 00 0 00 001472'
1307 001502' 200 03 0 10 000007 MOVE T1,.CMABP(P2) ;PTR TO PARTIAL KEYWORD
1308 001503' 260 17 0 00 002476' PUSHJ P,USTCMP ;COMPARE
1309 001504' 322 03 0 00 001510' JUMPE T1,CMNXT1 ;OK IF EXACT MATCH
1310 001505' 603 03 0 00 200000 JXE T1,SC%SUB,.POPJ ;DONE IF NOT SUBSTRING
1311 001506' 334 00 0 00 000000
1312 001507' 254 00 0 00 003750'
1313
1314 001510' 554 04 0 16 000000 CMNXT1: HLRZ T2,0(Q2) ;GET PTR TO STRING FOR THIS ENTRY
1315 001511' 260 17 0 00 002455' PUSHJ P,CHKTBS
1316 001512' 200 03 0 00 000004 MOVE T1,T2
1317 001513' 254 00 0 00 004220' RETSKP
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 41
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0336
1318 ;ROUTINE TO CALL BEFORE TYPING KEYWORD IN RESPONSE TO "?". GIVE
1319 ;IT USER'S BYTE POINTER IN T1. IT DECIDES WHETHER KEYWORD WILL FIT
1320 ;ON THIS LINE, AND STARTS NEW LINE IF NOT. IT THEN OUTPUTS A TAB,
1321 ;FOLLOWED BY SWITCH DELIMITER (IF KEYWORD IS A SWITCH).
1322
1323 001514' 260 17 0 00 003665' KEYTAB: PUSHJ P,.SAVET ;DON'T CLOBBER USER'S BYTE POINTER
1324 001515' 260 17 0 00 001572' PUSHJ P,CMGTLN ;COMPUTE LENGTH OF KEYWORD
1325 001516' 202 03 0 00 000112' MOVEM T1,KEYSIZ ;REMEMBER LENGTH
1326 001517' 550 03 0 10 000001 HRRZ T1,.CMIOJ(P2) ;GET OUTPUT CHANNEL
1327 001520' 331 00 0 00 000113' SKIPL PWIDTH ;DO WE ALREADY KNOW HOW WIDE PAPER IS?
1328 001521' 254 00 0 00 001533' JRST KEY2 ;YES, SO DON'T DO SYSTEM CALL
1329 001522' 201 04 0 00 000110 MOVEI T2,^D72 ;START DEFAULT
1330 001523' 202 04 0 00 000113' MOVEM T2,PWIDTH
1331 001524' 200 06 0 00 000131' MOVE T4,TRMUDX ;GET OUR UDX
1332 001525' 201 05 0 00 001012 MOVX T3,.TOWID ;FUNCTION FOR CARRIAGE POSITION
1333 001526' 200 04 0 00 004404' MOVE T2,[XWD 2,T3]
1334 001527' 047 04 0 00 000116 TRMOP. T2,0
1335 ; $STOP(TWF,TRMOP WIDTH FAILURE)
1336 001530' 201 04 0 00 000110 MOVEI T2,^D72 ;IF ERROR, MAKE WIDTH 72
1337 001531' 202 04 0 00 000113' KEY1: MOVEM T2,PWIDTH ;SAVE WIDTH, SO NO JSYS CALL NEXT TIME
1338 001532' 254 00 0 00 001545' JRST KEY4 ;FIRST TIME THROUGHM, ASSUME NO TAB NEEDED
1339 001533' 200 04 0 00 000114' KEY2: MOVE T2,CURPOS ;GET OUR CURRENT POSITION
1340 PUSHJ P,[ CMTAB: ADD T2,TABSIZ ;FIGURE OUT MAXIMUM PLACE TAB CAN MOVE US TO
1341 IDIV T2,TABSIZ ;SCALE DOWN TO REALLY WHERE
1342 IMUL T2,TABSIZ ;TAB WILL BRING US TO
1343 001534' 260 17 0 00 004405' POPJ P,0]
1344 001535' 270 04 0 00 000111' ADD T2,BIGSIZ ;MAKE SURE WE HAVE ROOM FOR ANOTHER COLUMN
1345 HRROI T1,[ASCIZ /
1346 001536' 561 03 0 00 004030' /]
1347 001537' 317 04 0 00 000113' CAMG T2,PWIDTH ;ROOM FOR ANOTHER KEYWORD ON THIS LINE?
1348 001540' 254 00 0 00 001544' JRST KEY3 ;YES, SO DON'T START NEW LINE
1349 001541' 260 17 0 00 001215' PUSHJ P,XMSOUT ;GET TO NEXT LINE
1350 001542' 402 00 0 00 000114' SETZM CURPOS ;CLEAR CURRENT POSITON
1351 001543' 304 00 0 00 000000 CAIA ;NO TAB NECESSARY AT BEGINNING OF LINE
1352 001544' 260 17 0 00 001551' KEY3: PUSHJ P,TYPTAB ;TYPE A TAB
1353 001545' 201 03 0 00 000057 KEY4: MOVX T1,CMSWCH
1354 001546' 602 14 0 00 200000 TXNE F,CMSWF ;IN SWITCH FIELD?
1355 001547' 260 17 0 00 001211' PUSHJ P,XMCOUT ;YES, TYPE SWITCH INDICATOR
1356 001550' 263 17 0 00 000000 POPJ P,0 ;READY TO TYPE KEYWORD ALL ON SAME LINE NOW
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 42
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0337
1357 ;ROUTINE TO TYPE TAB OF SIZE TABSIZ. IT ASSUMES HARDWARE TABS ARE OF
1358 ;SIZE 8 AND TRIES TO TYPE AS MANY REAL TABS AS IT CAN, AND THEN SPACES
1359 ;OVER REST OF THE WAY.
1360
1361 001551' 200 04 0 00 000114' TYPTAB: MOVE T2,CURPOS ;SEE WHERE WE'RE STARTING ON LINE
1362 001552' 260 17 0 00 004405' PUSHJ P,CMTAB ;SEE WHERE WE WANT TO GET TO
1363 001553' 202 04 0 00 000106' MOVEM T2,TABDON ;REMEMBER WHERE WE WANT TO GET TO
1364 001554' 200 03 0 00 000114' TYPTB1: MOVE T1,CURPOS ;GET WHERE WE ARE
1365 001555' 271 03 0 00 000010 ADDI T1,8 ;HARDWARE TAB MIGHT GO THIS FAR
1366 001556' 620 03 0 00 000007 TRZ T1,7 ;BUT MAYBE NOT QUITE
1367 001557' 313 03 0 00 000106' CAMLE T1,TABDON ;WILL HARDWARE TAB GO TOO FAR?
1368 001560' 254 00 0 00 001564' JRST TYPTB2 ;YES
1369 001561' 201 03 0 00 000011 MOVEI T1,.CHTAB
1370 001562' 260 17 0 00 001211' PUSHJ P,XMCOUT ;AND TYPE IT
1371 001563' 254 00 0 00 001554' JRST TYPTB1 ;LOOP FOR AS MANY HARDWARE TABS AS WE CAN GET AWAY WITH
1372 001564' 200 03 0 00 000114' TYPTB2: MOVE T1,CURPOS
1373 001565' 311 03 0 00 000106' CAML T1,TABDON ;ARE WE THERE YET?
1374 001566' 263 17 0 00 000000 POPJ P,0 ;YES, SO TAB IS TYPED
1375 001567' 201 03 0 00 000040 MOVEI T1," " ;NO, SO SPACE OVER
1376 001570' 260 17 0 00 001211' PUSHJ P,XMCOUT
1377 001571' 254 00 0 00 001564' JRST TYPTB2 ;AND LOOP FOR REST OF SPACES
1378
1379 ;ROUTINE TAKING POINTER TO KEYWORD IN T1. RETURNS KEYWORD LENGTH IN
1380 ;T1. GIVES EXTRA 1 FOR SWITCH, ASSUMING A SLASH WILL PREFIX ITS
1381 ;PRINTOUT.
1382
1383 001572' 201 06 0 00 000000 CMGTLN: MOVEI T4,0 ;COUNT OF NUMBER OF CHARACTERS NEEDED FOR THIS KEYWORD
1384 001573' 134 04 0 00 000003 CMGT.1: ILDB T2,T1 ;PICK UP NEXT CHARACTER FROM KEYWORD
1385 001574' 302 04 0 00 000000 CAIE T2,0 ;ASSUME KEYWORD ENDS ON NULL
1386 001575' 344 06 0 00 001573' AOJA T4,CMGT.1 ;NOT OVER YET, ACCUMULATE ITS LENGTH
1387 001576' 602 14 0 00 200000 TXNE F,CMSWF ;IS THIS A SWITCH?
1388 001577' 340 06 0 00 000000 AOJ T4,0 ;YES, DELIMITER TAKES UP ANOTHER SPACE
1389 001600' 200 03 0 00 000006 MOVE T1,T4 ;RETURN LENGTH IN T1
1390 001601' 263 17 0 00 000000 POPJ P,0
1391
1392 ;ARBITRARY TEXT TO ACTION CHARACTER
1393
1394 001602' 260 17 0 00 000675' XCMTXT: PUSHJ P,CMRSTR ;READ STRING
1395 JXN F,CMQUES,[PUSHJ P,DOHLP ;DO USER HELP
1396 HRROI T1,[ASCIZ / text string/]
1397 TXNN F,CM%SDH
1398 PUSHJ P,CMSOUT ;TYPE HELP UNLESS SUPPRESSED
1399 001603' 606 14 0 00 400000 JRST CMRTYP] ;NO DEFAULT MESSAGE
1400 001604' 334 00 0 00 000000
1401 001605' 254 00 0 00 004414'
1402 001606' 254 00 0 00 000410' JRST XCOMXI ;DONE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 43
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0338
1403
1404 ;NOISE WORD FUNCTION
1405
1406 001607' 200 03 0 00 000061' XCMNOI: MOVE T1,FNARG ;GET STRING PTR
1407 001610' 260 17 0 00 001252' PUSHJ P,CHKBP ;CHECK AND NORMALIZE
1408 001611' 202 03 0 00 000102' MOVEM T1,XXXPTR
1409 001612' 607 14 0 00 010000 TXNN F,CM%PFE ;PREVIOUS FIELD ENDED WITH ESC?
1410 001613' 254 00 0 00 001624' JRST CMNOI3 ;NO
1411 001614' 661 14 0 00 400000 CMNOI1: TXO F,CM%ESC ;YES, MEANS THIS ONE DID TOO
1412 001615' 201 03 0 00 000050 MOVEI T1,NOIBCH ;TYPE NOISE BEG CHAR
1413 001616' 260 17 0 00 001130' PUSHJ P,CMDIB ; AND PUT IT IN BUFFER
1414 001617' 134 03 0 00 000102' CMNOI2: ILDB T1,XXXPTR ;GET NEXT NOISE CHAR
1415 JUMPN T1,[PUSHJ P,CMDIB ;PUT IT IN BUFFER IF NOT END OF STRING
1416 001620' 326 03 0 00 004421' JRST CMNOI2]
1417 001621' 201 03 0 00 000051 MOVEI T1,NOIECH ;END OF STRING, TYPE END CHAR
1418 001622' 260 17 0 00 001130' PUSHJ P,CMDIB
1419 001623' 254 00 0 00 000410' JRST XCOMXI ;EXIT
1420
1421 ;PREVIOUS FIELD NOT TERMINATED WITH ESC - PASS NOISE WORD IF TYPED
1422
1423 001624' 260 17 0 00 001072' CMNOI3: PUSHJ P,CMSKSP ;BYPASS SPACES
1424 001625' 260 17 0 00 000765' PUSHJ P,CMCIN ;GET FIRST CHAR
1425 001626' 302 03 0 00 000050 CAIE T1,NOIBCH ;NOISE BEG CHAR?
1426 JRST [PUSHJ P,CMDIP ;NO, NOT A NOISE WORD, PUT IT BACK
1427 001627' 254 00 0 00 004344' JRST XCOMXI] ;RETURN OK
1428 001630' 260 17 0 00 000765' CMNOI4: PUSHJ P,CMCIN ;GET NEXT NOISE CHAR
1429 001631' 302 03 0 00 000006 CAIE T1,CMFREC ;^F?
1430 001632' 306 03 0 00 000033 CAIN T1,.CHESC ;ESC?
1431 JRST [PUSHJ P,CMDCH ;YES, FLUSH IT
1432 001633' 254 00 0 00 004423' JRST CMNOI2] ;COMPLETE NOISE WORD FOR USER
1433 001634' 134 04 0 00 000102' ILDB T2,XXXPTR ;COMPARE WITH GIVEN STRING
1434 001635' 316 03 0 00 000004 CAMN T1,T2
1435 001636' 254 00 0 00 001630' JRST CMNOI4 ;STILL SAME AS EXPECTED
1436 001637' 306 03 0 00 000051 CAIN T1,NOIECH ;NOT SAME, STRING ENDED TOGETHER?
1437 001640' 322 04 0 00 000410' JUMPE T2,XCOMXI ;YES, EXIT OK
1438 001641' 200 03 0 00 004430' NOPARS (NPXINW,BAD NOISE WORD) ;NO, PROBABLY BAD NOISE WORD
1439 001642' 254 00 0 00 000435'
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 44
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0339
1440
1441 ;CONFIRM
1442
1443 001643' 260 17 0 00 001646' XCMCFM: PUSHJ P,CMCFM0 ;DO THE WORK
1444 001644' 254 00 0 00 004437' JRST [NOPARS (NPXNC,CONFIRMATION REQUIRED)] ;FAILED
1445 001645' 254 00 0 00 000410' JRST XCOMXI ;OK
1446
1447 001646' 260 17 0 00 000765' CMCFM0: PUSHJ P,CMCIN ;GET CHAR
1448 001647' 302 03 0 00 000011 CAIE T1,.CHTAB ;BLANK?
1449 001650' 306 03 0 00 000040 CAIN T1," "
1450 001651' 254 00 0 00 001646' JRST CMCFM0 ;YES, IGNORE
1451 001652' 306 03 0 00 000077 CAIN T1,CMHLPC ;HELP?
1452 JRST [PUSHJ P,DOHLP
1453 HRROI T1,[ASCIZ / confirm with carriage return/]
1454 TXNN F,CM%SDH
1455 PUSHJ P,CMSOUT ;GIVE HELP MESSAGE
1456 001653' 254 00 0 00 004447' JRST CMRTYP] ;RETYPE AND TRY AGAIN
1457 001654' 302 03 0 00 000006 CAIE T1,CMFREC ;^F?
1458 001655' 306 03 0 00 000033 CAIN T1,.CHESC ;ESC?
1459 JRST [PUSHJ P,CMAMB ;YES, DING
1460 001656' 254 00 0 00 004454' JRST CMCFM0] ;TRY AGAIN
1461 001657' 302 03 0 00 000012 CAIE T1,.CHLFD ;NL (NEW LINE, I.E. LINEFEED)
1462 001660' 263 17 0 00 000000 POPJ P,0 ;NO, FAIL
1463 001661' 254 00 0 00 004220' RETSKP ;YES
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 45
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0340
1464
1465 ;FLOATING POINT NUMBER
1466
1467 001662' 260 17 0 00 003773' XCMFLT: $STOP(SFP,Scanning floating point not implemented)
1468 REPEAT 0,<
1469 MOVEI T1,FLTBRK ;USE SPECIAL BREAK SET
1470 PUSHJ P,CMRFLD ;READ FIELD
1471 JXN F,CMQUES,[PUSHJ P,DOHLP
1472 HRROI T1,[ASCIZ / number/]
1473 TXNN F,CM%SDH ;SUPPRESS DEFAULT?
1474 PUSHJ P,CMSOUT ;NO, DO IT
1475 JRST CMRTYP]
1476 MOVE T1,.CMABP(P2) ;NUMBER NOW IN ATOM BUFFER, GET PTR
1477 MOVEM T1,T1
1478 IMCALL .FLIN
1479 JRST [MOVEM T3,T2 ;FAILED, RETURN ERROR CODE
1480 JRST XCOMNP]
1481 JRST CMNUMR ;DO NUMBER CLEANUP AND RETURN
1482
1483 ;FLOATING POINT BREAK SET MASK, ALLOWS +, -, ., E, NUMBERS
1484
1485 FLTBRK: 777777,,777760
1486 777644,,001760
1487 400000,,000760
1488 400000,,000760
1489
1490 >;END OF REPEAT 0
1491 ;NUMBER
1492
1493 001664' 334 03 0 00 004470' XCMNUX: SKIPA T1,[NUXBRK] ;USE SPECIAL BREAK SET
1494 001665' 201 03 0 00 001704' XCMNUM: MOVEI T1,NUMBRK ;USE REGULAR BREAK SET
1495 001666' 260 17 0 00 000615' PUSHJ P,CMRFLD ;READ FIELD
1496 001667' 602 14 0 00 400000 TXNE F,CMQUES ;SAW "?"
1497 001670' 254 00 0 00 001741' JRST CMNUMH ;YES
1498 001671' 200 03 0 10 000007 MOVE T1,.CMABP(P2) ;SETUP NIN
1499 001672' 200 05 0 00 000061' MOVE T3,FNARG ;GET RADIX
1500 001673' 260 17 0 00 001714' PUSHJ P,NUMIN ;PARSE THE NUMBER
1501 001674' 254 00 0 00 001702' JRST CMNUM1 ;NO PARSE
1502 001675' 202 04 0 00 000104' CMNUMR: MOVEM T2,CRBLK+CR.RES ;STORE RESULT
1503 001676' 200 04 0 00 000056' MOVE T2,ATBPTR
1504 001677' 133 00 0 00 000004 IBP T2 ;BUMP PTR PAST TERMINATOR
1505 001700' 316 03 0 00 000004 CAMN T1,T2 ;NIN SAW WHOLE FIELD?
1506 JRST [MOVE T2,CRBLK+CR.RES
1507 001701' 254 00 0 00 004471' JRST XCOMXR] ; YES, RECOVER RESULT AND RETURN
1508 001702' 200 03 0 00 004501' CMNUM1: NOPARS (NPXICN,NUMERIC CHARACTER EXPECTED) ;INVALID CHARACTER IN NUMBER
1509 001703' 254 00 0 00 000435'
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 46
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0341
1510
1511 ;NUMBER BREAK SET, ALLOWS +, -, NUMBERS
1512
1513 001704' 777777 777760 NUMBRK: 777777,,777760
1514 001705' 777654 001760 777654,,001760
1515 001706' 400000 000760 400000,,000760
1516 001707' 400000 000760 400000,,000760
1517
1518 001710' 777777 777760 NUXBRK: 777777,,777760
1519 001711' 777654 001760 777654,,001760
1520 001712' 777777 777760 777777,,777760
1521 001713' 777777 777760 777777,,777760
1522
1523
1524 ;NUMERIC INPUT ROUTINE
1525 ; T1/ BYTE POINTER TO STRING
1526 ; T3/ BASE TO USE
1527 ;
1528 ;RETURNS T1 UPDATED,T2 THE RESULT
1529
1530 001714' 400 02 0 00 000000 NUMIN: SETZ S2,0 ;CLEAR MODIFIER
1531 001715' 134 01 0 00 000003 ILDB S1,T1 ;GET FIRST CHARACTER
1532 001716' 306 01 0 00 000040 CAIN S1," " ;A BLANK?
1533 001717' 254 00 0 00 001714' JRST NUMIN ;YES, IGNORE IT
1534 001720' 306 01 0 00 000055 CAIN S1,"-" ;IS IT MINUS SIGN?
1535 001721' 561 02 0 00 777777 MOVX S2,-1 ;YES, REMEMBER IT
1536 001722' 306 01 0 00 000053 CAIN S1,"+" ;IS IT PLUS SIGN?
1537 001723' 201 02 0 00 000001 MOVX S2,+1 ;YES, REMEMBER IT
1538 001724' 332 00 0 00 000002 SKIPE S2 ;IF WE HAD EITHER + OR -
1539 001725' 134 01 0 00 000003 ILDB S1,T1 ;GET NEXT BYTE
1540 001726' 307 01 0 05 000057 CAIG S1,"0"-1(T3) ;TOO BIG
1541 001727' 305 01 0 00 000060 CAIGE S1,"0" ;OR TOO SMALL?
1542 001730' 263 17 0 00 000000 POPJ P,0 ;YES, TAKE FAILURE RETURN
1543 001731' 400 04 0 00 000000 SETZ T2,0 ;CLEAR THE RESULT
1544 001732' 221 04 0 05 000000 NUMI.1: IMULI T2,0(T3) ;SHIFT OVER 1 DIGIT
1545 001733' 271 04 0 01 777720 ADDI T2,-"0"(S1) ;AND ADD IN THIS ONE
1546 001734' 134 01 0 00 000003 ILDB S1,T1 ;GET NEXT CHAR
1547 001735' 307 01 0 05 000057 CAIG S1,"0"-1(T3) ;IN RANGE?
1548 001736' 305 01 0 00 000060 CAIGE S1,"0"
1549 JRST [SKIPE S2
1550 IMUL T2,S2
1551 001737' 254 00 0 00 004502' RETSKP]
1552 001740' 254 00 0 00 001732' JRST NUMI.1 ;YES, REPEAT
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 47
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0342
1553
1554 001741' 260 17 0 00 001152' CMNUMH: PUSHJ P,DOHLP ;DO USER SUPPLIED MESSAGE
1555 001742' 607 14 0 00 000001 JXN F,CM%SDH,CMRTYP ;SUPPRESS DEFAULT HELP IF REQUESTED
1556 001743' 334 00 0 00 000000
1557 001744' 254 00 0 00 000450'
1558 001745' 550 04 0 00 000061' HRRZ T2,FNARG ;GET BASE
1559 001746' 301 04 0 00 000002 CAIL T2,^D2 ;LEGAL?
1560 001747' 303 04 0 00 000012 CAILE T2,^D10
1561 001750' 260 17 0 00 003773' $STOP(IBN,Illegal base for number)
1562 001752' 306 04 0 00 000012 CAIN T2,^D10 ;DECIMAL?
1563 001753' 254 00 0 00 001771' JRST CMNH10 ;YES
1564 001754' 306 04 0 00 000010 CAIN T2,^D8 ;OCTAL?
1565 001755' 254 00 0 00 001767' JRST CMNH8 ;YES
1566 001756' 561 03 0 00 004514' HRROI T1,[ASCIZ / a number in base /]
1567 001757' 260 17 0 00 001175' PUSHJ P,CMSOUT ;ARBITRARY BASE
1568 001760' 550 03 0 10 000001 HRRZ T1,.CMIOJ(P2)
1569 001761' 550 04 0 00 000061' HRRZ T2,FNARG
1570 001762' 201 05 0 00 000012 MOVEI T3,^D10
1571 001763' 271 04 0 00 000060 ADDI T2,"0" ;CONVERT BASE TO ASCII
1572 001764' 051 01 0 00 000004 OUTCHR T2 ;OUTPUT THE BASE
1573 001765' 275 04 0 00 000060 SUBI T2,"0" ;CONVERT IT BACK
1574 001766' 254 00 0 00 000450' JRST CMRTYP ;RETYPE LINE AND CONTINUE
1575
1576 001767' 561 03 0 00 004520' CMNH8: HRROI T1,[ASCIZ / octal number/]
1577 001770' 254 00 0 00 001772' JRST CMNH
1578
1579 001771' 561 03 0 00 004523' CMNH10: HRROI T1,[ASCIZ / decimal number/]
1580 001772' 260 17 0 00 001175' CMNH: PUSHJ P,CMSOUT
1581 001773' 254 00 0 00 000450' JRST CMRTYP
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 48
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0343
1582 ;DATE AND/OR TIME
1583 ;FLAGS IN ARG SPECIFY WHICH
1584
1585 001774' 260 17 0 00 003773' XCMTAD: $STOP(SDT,Scanning date/time not implemented)
1586
1587 REPEAT 0,<
1588 MOVE Q1,FNARG ;GET ARG
1589 PUSHJ P,CMRSPC ;READ FIRST FIELD
1590 JXN F,CMQUES,CMTADH ;DO HELP IF REQUESTED
1591 JXN F,CMDEFF,CMTAD1 ;JUMP IF NOW HAVE FIELD DEFAULT
1592 TXC Q1,CM%IDA+CM%ITM ;DATE AND TIME BOTH?
1593 TXCN Q1,CM%IDA+CM%ITM
1594 JRST [MOVEI T1," " ;YES, PUT SPACE IN ATOM BUFFER
1595 PUSHJ P,STOLCH
1596 PUSHJ P,CMRSPC ;READ SECOND FIELD
1597 JXN F,CMQUES,CMTADH ;DO HELP
1598 JRST .+1]
1599 CMTAD1: MOVE T1,.CMABP(P2) ;POINT TO ATOM BUFFER
1600 MOVEM T1,T1
1601 MOVX T2,1B0+1B6 ;SETUP FLAGS FOR IDTNC
1602 TXNE Q1,CM%IDA ;DATE WANTED?
1603 TXZ T2,1B0 ;YES
1604 TXNE Q1,CM%ITM ;TIME WANTED?
1605 TXZ T2,1B6 ;YES
1606 ;** IMCALL .IDTNC
1607 JRST XCOMNP ;FAILED
1608 TXNE Q1,CM%NCI ;CONVERT TO INTERNAL FORMAT?
1609 JRST [MOVSI T1,T2 ;NO, STORE DATA IN USER BLOCK
1610 HRR T1,Q1
1611 BLT T1,2(Q1)
1612 JRST XCOMXR]
1613 TXNN Q1,CM%IDA ;HAVE DATE?
1614 JRST [SETO T2,0 ;NO, DEFAULT TO TODAY
1615 SETZ T4,0
1616 ;** ODCNV ;GET TODAY
1617 ;** UMOVEM T3,T3
1618 JRST .+1]
1619 ;** IMCALL .IDCNV ;CONVERT TO INTERNAL
1620 JRST XCOMNP ;FAILED
1621 MOVEM T2,CRBLK+CR.RES ;STORE RESULT
1622 JRST XCOMXR ;OK, TAD ALREADY IN T2
1623
1624 ;TIME/DATE HELP
1625
1626 CMTADH: PUSHJ P,DOHLP ;DO USER TEXT
1627 JXN F,CM%SDH,CMRTYP ;CHECK SUPPRESS DEFAULT
1628 LOAD T1,Q1,<CM%IDA+CM%ITM> ;GET FLAGS
1629 HRRO T1,[[ASCIZ //]
1630 [ASCIZ / time/]
1631 [ASCIZ / date/]
1632 [ASCIZ / date and time/]](T1)
1633 PUSHJ P,CMSOUT ;PRINT APPROPRIATE MESSAGE
1634 > ;END OF REPEAT 0
1635 001776' 254 00 0 00 000450' JRST CMRTYP
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 49
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0344
1636
1637 ;DEVICE
1638
1639 001777' 260 17 0 00 000571' XCMDEV: PUSHJ P,CMRATM ;GET THE FIELD
1640 002000' 606 14 0 00 400000 JXN F,CMQUES,CMDEVH ;HELP
1641 002001' 334 00 0 00 000000
1642 002002' 254 00 0 00 002026'
1643 JXN F,CM%ESC,[PUSHJ P,CMAMB ;NO ESC ALLOWED
1644 002003' 607 14 0 00 400000 JRST XCMDEV ] ;ON DEVICE
1645 002004' 334 00 0 00 000000
1646 002005' 254 00 0 00 004540'
1647 002006' 260 17 0 00 000765' PUSHJ P,CMCIN ;CHECK TERMINATOR
1648 002007' 302 03 0 00 000072 CAIE T1,":" ;DEVICE?
1649 002010' 254 00 0 00 004551' JRST [NOPARS (NPXIDT,IMPROPER DEVICE SPECIFICATION)] ;NO, FAIL
1650 002011' 200 03 0 10 000007 CMDEV1: MOVE T1,.CMABP(P2) ;SETUP STDEV ARGS
1651 002012' 202 03 0 00 000102' MOVEM T1,XXXPTR ;STORE POINTER
1652 002013' 260 17 0 00 002277' PUSHJ P,FTOKEN ;GET TOKEN
1653 002014' 322 03 0 00 000436' JUMPE T1,XCOMNP ;IF NULL SPEC
1654 002015' 302 04 0 00 000072 CAIE T2,":" ; OR NOT TERMINATED WITH COLON
1655 002016' 254 00 0 00 000436' JRST XCOMNP ; THEN FAILED TO PARSE
1656 002017' 202 03 0 00 000104' MOVEM T1,CRBLK+CR.RES ;STORE RESULT
1657 002020' 603 14 0 00 400000 JXE F,CM%ESC,XCOMXR ;SUCCESS, DONE IF NO ESC
1658 002021' 334 00 0 00 000000
1659 002022' 254 00 0 00 000406'
1660 002023' 201 03 0 00 000072 MOVEI T1,":" ;RECOG, APPEND TERMINATOR
1661 002024' 260 17 0 00 001130' PUSHJ P,CMDIB
1662 002025' 254 00 0 00 000410' JRST XCOMXI
1663
1664 002026' 260 17 0 00 001152' CMDEVH: PUSHJ P,DOHLP ;DO USER HELP
1665 002027' 561 03 0 00 004553' HRROI T1,[ASCIZ / device name/]
1666 002030' 607 14 0 00 000001 TXNN F,CM%SDH ;SUPPRESS DEFAULT?
1667 002031' 260 17 0 00 001175' PUSHJ P,CMSOUT ;NO, DO IT
1668 002032' 254 00 0 00 000450' JRST CMRTYP
1669
1670
1671
1672
1673 ;QUOTED STRING
1674
1675 002033' 260 17 0 00 000716' XCMQST: PUSHJ P,CMRQST ;READ THE STRING
1676 002034' 254 00 0 00 004564' JRST [NOPARS (NPXNQS,QUOTED STRING EXPECTED)] ;FAILED
1677 JXN F,CMQUES,[PUSHJ P,DOHLP ;DO USER HELP
1678 HRROI T1,[ASCIZ / quoted string/]
1679 TXNN F,CM%SDH ;DEFAULT HELP?
1680 PUSHJ P,CMSOUT ;YES
1681 002035' 606 14 0 00 400000 JRST CMRTYP]
1682 002036' 334 00 0 00 000000
1683 002037' 254 00 0 00 004571'
1684 002040' 254 00 0 00 000410' JRST XCOMXI
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 50
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0345
1685
1686 ;UNQUOTED STRING - TAKES BIT MASK (4 WORDS * 32 BITS) TO SPECIFY BREAKS.
1687
1688 002041' XCMUQS:
1689 002041' 260 17 0 00 000765' CMUQS1: PUSHJ P,CMCIN ;GET A CHAR
1690 002042' 231 03 0 00 000040 IDIVI T1,^D32 ;COMPUTE INDEX TO BIT ARRAY
1691 002043' 200 04 0 04 000000' MOVE T2,BITS(T2)
1692 002044' 270 03 0 00 000061' ADD T1,FNARG
1693 002045' 616 04 0 03 000000 TDNN T2,0(T1) ;BIT ON?
1694 002046' 254 00 0 00 002041' JRST CMUQS1 ;NO, KEEP GOING
1695 002047' 260 17 0 00 001116' PUSHJ P,CMDIP ;YES, PUT CHAR BACK
1696 002050' 254 00 0 00 000410' JRST XCOMXI ;DONE
1697
1698 ;ARBITRARY FIELD
1699
1700 002051' 260 17 0 00 000571' XCMFLD: PUSHJ P,CMRATM
1701 002052' 602 14 0 00 400000 CMFLD1: TXNE F,CMQUES ;"?" SEEN?
1702 JRST [PUSHJ P,DOHLP ;YES, DO USER MESSAGE
1703 002053' 254 00 0 00 004576' JRST CMRTYP]
1704 002054' 254 00 0 00 000406' JRST XCOMXR ;LEAVE FIELD IN ATOM BUFFER
1705
1706 ;ACCOUNT
1707 002055' 201 03 0 00 000605' XCMACT: MOVEI T1,USRBRK ;SAME BREAK SET AS USER NAME FIELD
1708 002056' 260 17 0 00 000615' PUSHJ P,CMRFLD ;READ FIELD
1709 002057' 254 00 0 00 002052' JRST CMFLD1 ;FINISH LIKE ARBITRARY FIELD
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 51
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0346
1710 ;NODE NAME
1711
1712 002060' 260 17 0 00 003773' XCMNOD: $STOP(NOD,SCANNING NODE NOT IMPLEMENTED)
1713
1714 REPEAT 0,<
1715 PUSHJ P,CMRATM ;GET AN ATOM
1716 JXN F,CMQUES,[PUSHJ P,DOHLP ;TYPE OUT USER'S HELP
1717 HRROI T1,[ASCIZ / Node Name/] ;SET UP DEFAULT HELP
1718 TXNN F,CM%SDH ;DOES USER NOT WANT IT
1719 PUSHJ P,CMSOUT ;NO,TYPE IT
1720 JRST CMRTYP] ;AND RETYPE COMMAND
1721 MOVE T1,.CMABP(P2) ;POINT AT THE ATOM BUFFER
1722 MOVEI T3,^D8 ;TRY AS AN OCTAL NUMBER
1723 PUSHJ P,NUMIN ;READ IT
1724 JRST XNOD1 ;LOST, TRY AS A SIXBIT NAME
1725 MOVEM T2,CRBLK+CR.RES ;SAVE AS RESULT
1726 MOVE T2,ATBPTR ;GET POINTER TO END OF ATOM BUFFER
1727 IBP T2 ;POINT AT TERMINATOR
1728 CAME T1,T2 ;OUR POINTER END THE SAME PLACE?
1729 JRST XNOD1 ;NO, NOT A GOOD NUMBER
1730 MOVE T3,CRBLK+CR.RES ;NODE NUMER WE JUST PARSED
1731 TXNE F,CM%PO ;PARSE ONLY?
1732 JRST [CAILE T3,77 ;ILLEGAL NODE NUMBER?
1733 JRST XNOD1 ;YES, TRY A NAME
1734 JRST XCOMXI] ;GOOD NODE NUMBER, RETURN
1735 MOVE T1,[XWD .NDRNN,T2] ;CHECK TO MAKE SURE THAT THIS NODE NUMBER EXISTS
1736 MOVEI T2,2 ;2 ARGS
1737 NODE. T1, ;TRY IT FOR EXISTANCE
1738 SKIPA ;NOT A NODE NUMBER, TRY AS A NAME
1739 JRST XCOMXI ;A GOOD NODE NUMBER, RETURN
1740 XNOD1: MOVE T1,.CMABP(P2) ;POINT AT THE ATOM BUFFER
1741 MOVEI T2,6 ;GET MAX NUMBER OF CHARACTERS IN NAME
1742 MOVE T4,[POINT 6,NODSIX]; BP TO NODE STORAGE
1743 SETZM NODSIX ;START FRESH
1744 XNOD2: ILDB T3,T1 ;GET NEXT CHARACTER FROM ATOM BUFFER
1745 CAIL T3,"0" ;IS THE CHARACTER
1746 CAILE T3,"Z" ;NUMERIC OR UPPER CASE?
1747 JRST XNOD4 ;ITS NOT
1748 CAILE T3,"9" ;...
1749 CAIL T3,"A" ;...
1750 CAIA ;GOOD CHARACTER, JUST SAVE IT
1751 JRST XNOD4 ;TRY FOR LOWER CASE ALPHA
1752 XNOD3: SUBI T3,"a"-"A" ;SIXBITIZE
1753 IDPB T3,T4 ;FILL OUT SIXBIT NODE NAME
1754 SOJGE T2,XNOD2 ;HAVE WE SEEN ENOUGH CHARACTERS?
1755 NOPARS (NPXNNC,IMPROPER NODE NAME) ;TOO MANY CHARACTERS IN NODE NAME
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 52
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0347
1756
1757 XNOD4: CAIG T3,"z" ;BIGGER THAN LOWER CASE Z?
1758 CAIGE T3,"a" ;OR LESS THAN LOWER CASE A?
1759 JRST XNOD5 ;YES, GIVE ILLEGAL CHARACTER IN NODE NAME
1760 SUBI T3,"a"-"A" ;CONVERT CHARACTER TO UPPER CASE
1761 JRST XNOD3 ;SAVE IT AN LOOK FOR MORE
1762 XNOD5: MOVE T2,ATBPTR ;GET POINTER TO END OF ATOM BUFFER
1763 IBP T2 ;POINT AT TERMINATOR
1764 CAMN T1,T2 ;OUR POINTER END THE SAME PLACE?
1765 JRST XNOD6 ;GO DO NODE UUO
1766 NOPARS (NPXNNI,NODE NAME EXPECTED) ;ILLEGAL CHARACTER IN NODE NAME
1767
1768 XNOD6: MOVEI T2,2 ;2 ARGS
1769 MOVE T3,NODSIX
1770 MOVE T1,[XWD .NDRNN,T2]
1771 NODE. T1,0
1772 JRST [NOPARS (NPXNSN,NO SUCH NODE)]
1773 MOVEM T1,CRBLK+CR.RES ;STORE NUMBER
1774 JRST XCOMXI ;AND RETURN
1775 >
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 53
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0348
1776 ;INDIRECT FILESPEC (INTERNAL CALL)
1777
1778 002062' CMATFI:
1779 002062' 660 14 0 00 001000 TXO F,CMINDF ;NOTE GETTING INDIRECT FILE
1780 002063' 254 00 0 00 002064' JRST XCMIFI ;AND HANDLE AS INPUT FILE
1781
1782 002064' XCMOFI:
1783 002064' XCMIFI:
1784
1785 002064' 260 17 0 00 000577' XCMFIL: PUSHJ P,CMRFIL ;GET FILE SPECIFICATION
1786 002065' 606 14 0 00 400000 JXN F,CMQUES,CMFHLP ;IF THEY WANT HELP, GIVE IT TO THEM
1787 002066' 334 00 0 00 000000
1788 002067' 254 00 0 00 002322'
1789 ; JXN F,CM%ESC,[ PUSHJ P,CMAMB ;NO RECOGNITION AVAILABLE
1790 ; JRST XCMFIL]
1791 002070' 260 17 0 00 002101' PUSHJ P,FILIN ;GET FILE SPEC
1792 002071' 254 00 0 00 000436' JRST XCOMNP ;IF FAILS ITS A NO PARSE
1793 002072' 200 04 0 00 000056' MOVE T2,ATBPTR ;GET POINTER TO ATOM BUFFER END
1794 002073' 133 00 0 00 000004 IBP T2 ;BUMP PAST TERMINATOR
1795 002074' 312 04 0 00 000102' CAME T2,XXXPTR ;DOES IT MATCH?
1796 002075' 254 00 0 00 000436' JRST XCOMNP ;NO, TERMINATED PREMATURELY
1797 002076' 622 14 0 00 001000 TXZE F,CMINDF ;ARE WE DOING INDIRECT FILE?
1798 002077' 254 00 0 00 004220' RETSKP ;YES , RETURN FOR PROCESSING
1799 002100' 254 00 0 00 000410' JRST XCOMXI ;OTHERWISE, DONE
1800
1801
1802 002101' 402 00 0 00 004024' FILIN: SETZM DEVSUP#
1803 002102' 402 00 0 00 004025' SETZM PPNSUP#
1804 002103' 260 17 0 00 003617' PUSHJ P,.SAVE1 ;SAVE A REG
1805 002104' 550 02 0 10 000011 LOAD S2,.CMGJB(P2),CM%GJB ;GET ADDR OF FD
1806 002105' 202 02 0 00 000104' MOVEM S2,CRBLK+CR.RES ;SAVE IT FOR CALLER
1807 002106' 200 07 0 00 000002 MOVE P1,S2 ;AND REMEMBER IT
1808 002107' 201 01 0 00 000012 MOVX S1,FDXSIZ ;NOW ZERO IT OUT
1809 002110' 542 01 0 02 000000 STORE S1,.FDLEN(S2),FD.LEN ;STORE LENGTH INTO FD
1810 002111' 200 03 0 10 000007 MOVE T1,.CMABP(P2) ;GET ATOM BUFFER POINTER
1811 002112' 202 03 0 00 000102' MOVEM T1,XXXPTR ;STORE IT
1812 002113' 260 17 0 00 002277' PUSHJ P,FTOKEN ;GET FIRST FILE TOKEN
1813 002114' 302 04 0 00 000032 CAIE T2,':' ;IS FIRST PART A DEVICE
1814 002115' 254 00 0 00 002121' JRST FILI.1 ;NO
1815 002116' 202 03 0 07 000002 MOVEM T1,.FDSTR(P1) ;STORE STRUCTURE NAME
1816 002117' 476 00 0 00 004024' SETOM DEVSUP
1817 002120' 260 17 0 00 002277' PUSHJ P,FTOKEN ;YES, LOAD NEXT TOKEN
1818 002121' 326 03 0 00 002137' FILI.1: JUMPN T1,FILI.2 ;IF WE HAVE SOMETHING, IT MUST BE FILENAM
1819 002122' 302 04 0 00 000073 CAIE T2,'[' ;IF NOT, EXPECT A PPN HERE
1820 002123' 306 04 0 00 000074 CAIN T2,74 ;
1821 002124' 334 00 0 00 000000 SKIPA ;IT IS A PPN
1822 002125' 254 00 0 00 002137' JRST FILI.2 ;CHECK FOR SUFFICIENT FILE-SPEC
1823 002126' 200 03 0 00 000102' MOVE T1,XXXPTR ;GET POINTER TO PPN
1824 002127' 260 17 0 00 001136' PUSHJ P,DBP ;DECREMENT POINTER
1825 002130' 200 04 0 00 000003 MOVE T2,T1 ;GET INTO PLACE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 54
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0349
1826 002131' 260 17 0 00 002405' PUSHJ P,PPNIN ;GET PPN
1827 002132' 263 17 0 00 000000 POPJ P, ;PASS ON FAILURE
1828 002133' 202 03 0 00 000102' MOVEM T1,XXXPTR ;STORE CORRECTED POINTER
1829 002134' 202 04 0 07 000003 STORE T2,.FDPPN(P1) ;STORE THE PPN NOW
1830 002135' 476 00 0 00 004025' SETOM PPNSUP
1831 002136' 260 17 0 00 002277' PUSHJ P,FTOKEN ;AND GET NEXT PART
1832 002137' 336 00 0 00 004024' FILI.2: SKIPN DEVSUP ;WAS DEVICE SUPPLIED ?
1833 002140' 260 17 0 00 002237' GO DEVSP1 ;NO, GET DEFAULT IF SUPPLIED
1834 002141' 336 00 0 00 004025' SKIPN PPNSUP ;WAS PPN SUPPLIED ?
1835 002142' 260 17 0 00 002256' GO PPNSP1 ;NO, GET DEFAULT IF SUPPLIED
1836 002143' 336 00 0 00 000003 SKIPN T1 ;ANY FILE NAME ?
1837 002144' 260 17 0 00 002176' GO NAMSP1 ;NO, GET DEFAULT
1838 002145' 202 03 0 07 000004 STORE T1,.FDNAM(P1) ;STORE NAME
1839 002146' 302 04 0 00 000016 CAIE T2,'.' ;IS THERE AN EXTENSION?
1840 002147' 254 00 0 00 002215' JRST EXTSUP ;NO, GET DEFAULT
1841 002150' 260 17 0 00 002277' PUSHJ P,FTOKEN ;GET EXTENSION
1842 002151' 336 00 0 00 000003 SKIPN T1 ;ANY EXT ?
1843 002152' 260 17 0 00 002223' GO EXTSP1 ;NO, GET DEFAULT IF SUPPLIED
1844 002153' 202 03 0 07 000005 STORE T1,.FDEXT(P1) ;AND STORE IT
1845 002154' 302 04 0 00 000073 FILI.3: CAIE T2,'[' ;HAVE WE GOT A PPN?
1846 002155' 306 04 0 00 000074 CAIN T2,74 ;NOW
1847 002156' 334 00 0 00 000000 SKIPA ;YES, WE HAVE
1848 002157' 254 00 0 00 002170' JRST FILI.4 ;CHECK FOR SUFFICIENT FILE-SPEC
1849 002160' 200 03 0 00 000102' MOVE T1,XXXPTR ;RELOAD THE POINTER
1850 002161' 260 17 0 00 001136' PUSHJ P,DBP ;DECREMENT IT
1851 002162' 200 04 0 00 000003 MOVE T2,T1 ;AND THEN PARSE THE
1852 002163' 260 17 0 00 002405' PUSHJ P,PPNIN ;PPN
1853 002164' 263 17 0 00 000000 POPJ P, ;RETURN A FAILURE
1854 002165' 202 03 0 00 000102' MOVEM T1,XXXPTR ;STORE CORRECTED POINTER
1855 002166' 202 04 0 07 000003 STORE T2,.FDPPN(P1) ;STORE PPN IF OK
1856 002167' 133 00 0 00 000102' IBP XXXPTR ;AND BUMP PAST IT
1857 002170' 336 01 0 07 000002 FILI.4: SKIPN S1,.FDSTR(P1) ;SEE IF USER SUPPLIED A DEFAULT DEVICE
1858 002171' 205 01 0 00 446353 MOVSI S1,'DSK' ;NO, SUPPLY DEFAULT DEVICE
1859 002172' 202 01 0 07 000002 STORE S1,.FDSTR(P1) ;STORE DEFAULT DEVICE
1860 002173' 336 00 0 07 000004 SKIPN .FDNAM(P1) ;MAKE SURE THERE IS A NAME
1861 002174' 263 17 0 00 000000 POPJ P, ;NO NAME, BAD FILE SPEC
1862 002175' 254 00 0 00 004220' RETSKP ;TAKE GOOD RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 55
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0350
1863 ;PROCESS FILE PARAMETER DEFAULTS
1864
1865 002176' 550 00 0 07 000004 NAMSP1: HRRZ .FDNAM(P1) ;GET DEFAULT POINTER
1866 002177' 336 00 0 00 000000 SKIPN ;ANY SUPPLIED ?
1867 002200' 260 17 0 00 003773' $STOP(NNS,NO DEFAULT NAME SUPPLIED)
1868 002202' 603 14 0 00 400000 TLNE F,(CM%ESC) ;ESCAPE TERMINATE FIELD ?
1869 002203' 037 17 0 00 000001 PNTALF ;PRINT IT
1870
1871 002204' 261 17 0 00 000004 PUT T2
1872 002205' 261 17 0 00 000102' PUT XXXPTR
1873 002206' 550 00 0 07 000004 HRRZ .FDNAM(P1)
1874 002207' 505 00 0 00 440700 HRLI 440700 ;MAKE BYTE POINTER
1875 002210' 202 00 0 00 000102' MOVEM XXXPTR
1876
1877 002211' 260 17 0 00 002277' GO FTOKEN ;PROCESS FILE NAME
1878
1879 002212' 262 17 0 00 000102' GETIT XXXPTR
1880 002213' 262 17 0 00 000004 GETIT T2
1881 002214' 263 17 0 00 000000 RTN
1882
1883 002215' 336 00 0 07 000005 EXTSUP: SKIPN .FDEXT(P1) ;ANY DEFAULT EXT ?
1884 002216' 254 00 0 00 002154' JRST FILI.3
1885 002217' 603 14 0 00 400000 TLNE F,(CM%ESC) ;ESCAPE TERMINATE FIELD ?
1886 002220' 037 01 0 00 000056 PNTCIF "."
1887 002221' 260 17 0 00 002223' GO EXTSP1 ;PROCESS DEFAULT
1888 002222' 254 00 0 00 002153' JRST FILI.3-1
1889
1890 002223' 550 00 0 07 000005 EXTSP1: HRRZ .FDEXT(P1) ;GET DEFAULT POINTER
1891 002224' 603 14 0 00 400000 TLNE F,(CM%ESC) ;ESCAPE TERMINATE FIELD ?
1892 002225' 037 17 0 00 000001 PNTALF ;PRINT IT
1893
1894 002226' 261 17 0 00 000004 PUT T2
1895 002227' 261 17 0 00 000102' PUT XXXPTR
1896 002230' 550 00 0 07 000005 HRRZ .FDEXT(P1)
1897 002231' 505 00 0 00 440700 HRLI 440700 ;MAKE BYTE POINTER
1898 002232' 202 00 0 00 000102' MOVEM XXXPTR
1899
1900 002233' 260 17 0 00 002277' GO FTOKEN ;PROCESS FILE EXT
1901
1902 002234' 262 17 0 00 000102' GETIT XXXPTR
1903 002235' 262 17 0 00 000004 GETIT T2
1904 002236' 263 17 0 00 000000 RTN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 56
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0351
1905
1906 002237' 336 00 0 07 000002 DEVSP1: SKIPN .FDSTR(P1) ;ANY DEFAULT SUPPLIED ?
1907 002240' 263 17 0 00 000000 RTN ;NO
1908
1909 002241' 261 17 0 00 000004 PUT T2
1910 002242' 261 17 0 00 000102' PUT XXXPTR
1911
1912 002243' 550 00 0 07 000002 HRRZ .FDSTR(P1)
1913 002244' 603 14 0 00 400000 TLNE F,(CM%ESC) ;ESCAPE TERMINATE FIELD ?
1914 002245' 037 17 0 00 000001 PNTALF ;PRINT IT
1915
1916 002246' 550 00 0 07 000002 HRRZ .FDSTR(P1)
1917 002247' 505 00 0 00 440700 HRLI 440700
1918 002250' 202 00 0 00 000102' MOVEM XXXPTR
1919 002251' 260 17 0 00 002277' GO FTOKEN ;PROCESS DEFAULT
1920 002252' 202 03 0 07 000002 STORE T1,.FDSTR(P1)
1921
1922 002253' 262 17 0 00 000102' GETIT XXXPTR
1923 002254' 262 17 0 00 000004 GETIT T2
1924 002255' 263 17 0 00 000000 RTN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 57
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0352
1925
1926 002256' 336 00 0 07 000003 PPNSP1: SKIPN .FDPPN(P1) ;ANY DEFAULT SUPPLIED ?
1927 002257' 263 17 0 00 000000 RTN ;NO
1928
1929 002260' 261 17 0 00 000003 PUT T1
1930 002261' 261 17 0 00 000004 PUT T2
1931
1932 002262' 550 00 0 07 000003 HRRZ .FDPPN(P1)
1933 002263' 603 14 0 00 400000 TLNE F,(CM%ESC) ;ESCAPE TERMINATE FIELD ?
1934 002264' 037 17 0 00 000001 PNTALF ;PRINT IT
1935
1936 002265' 550 00 0 07 000003 HRRZ .FDPPN(P1)
1937 002266' 505 00 0 00 440700 HRLI 440700
1938 002267' 202 00 0 00 000004 MOVEM T2
1939
1940 002270' 260 17 0 00 002405' GO PPNIN ;PROCESS PPN
1941 002271' 260 17 0 00 003773' $STOP(DPP,DEFAULT PPN ERROR)
1942
1943 002273' 202 04 0 07 000003 STORE T2,.FDPPN(P1)
1944
1945 002274' 262 17 0 00 000004 GETIT T2
1946 002275' 262 17 0 00 000003 GETIT T1
1947 002276' 263 17 0 00 000000 RTN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 58
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0353
1948
1949 002277' 402 00 0 00 000003 FTOKEN: SETZM T1 ;CLEAR RESULT
1950 002300' 200 05 0 00 004625' MOVE T3,[POINT 6,T1] ;AND POINT TO STORAGE AREA
1951
1952 002301' 134 04 0 00 000102' FTOK.1: ILDB T2,XXXPTR ;GET A BYTE
1953 002302' 260 17 0 00 002315' PUSHJ P,C7TO6 ;CONVERT TO SIXBIT
1954 002303' 307 04 0 00 000072 CAIG T2,'Z' ;IS IT IN RANGE?
1955 002304' 305 04 0 00 000020 CAIGE T2,'0' ;
1956 002305' 263 17 0 00 000000 POPJ P,0 ;NO
1957 002306' 303 04 0 00 000031 CAILE T2,'9' ;
1958 002307' 301 04 0 00 000041 CAIL T2,'A' ;
1959 002310' 334 00 0 00 000000 SKIPA
1960 002311' 263 17 0 00 000000 POPJ P,0
1961 002312' 603 05 0 00 770000 TXNE T3,<INSVL.(77,BP.POS)> ;IS THERE ROOM?
1962 002313' 136 04 0 00 000005 IDPB T2,T3 ;YES,STORE IT
1963 002314' 254 00 0 00 002301' JRST FTOK.1 ;TRY ANOTHER
1964
1965 002315' 301 04 0 00 000141 C7TO6: CAIL T2,"a" ;IS IT LC?
1966 002316' 275 04 0 00 000040 SUBI T2,40 ;YES
1967 002317' 275 04 0 00 000040 SUBI T2," " ;CONVERT TO SIXBIT
1968 002320' 405 04 0 00 000077 ANDI T2,77 ;MASK IT AND
1969 002321' 263 17 0 00 000000 POPJ P, ;RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 59
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0354
1970
1971 ;FILESPEC HELP
1972
1973 CMFHLP: JXO F,CMINDF,[HRROI T1,[ASCIZ / filespec of indirect file/]
1974 002322' 640 14 0 00 001000 JRST CMFH1] ;SPECIAL HELP IF INDIRECT FILESPEC
1975 002323' 646 14 0 00 001000
1976 002324' 254 00 0 00 004634'
1977 002325' 260 17 0 00 001152' PUSHJ P,DOHLP ;DO USER MESSAGE
1978 002326' 607 14 0 00 000001 JXN F,CM%SDH,CMRTYP ;SUPPRESS DEFAULT HELP IF REQUESTED
1979 002327' 334 00 0 00 000000
1980 002330' 254 00 0 00 000450'
1981 ; LOAD T2,.CMFNP(P1),CM%FNC ;GET FUNCTION CODE
1982 ; CAXE T2,.CMIFI ;INPUT FILE?
1983 002331' 550 04 0 10 000011 LOAD T2,.CMGJB(P2),CM%GJB ;GET ADDR OF FD
1984 002332' 200 04 0 04 000000 MOVE T2,(T2)
1985 002333' 607 04 0 00 100000 TLNN T2,(GJ%OLD)
1986 002334' 334 03 0 00 004642' SKIPA T1,[-1,,[ASCIZ / output filespec/]] ;NO, OUTPUT
1987 002335' 561 03 0 00 004643' HRROI T1,[ASCIZ \ input filespec\] ;YES,INPUT
1988 002336' 260 17 0 00 001175' CMFH1: PUSHJ P,CMSOUT
1989 002337' 254 00 0 00 000450' JRST CMRTYP
1990
1991 ;TOKEN - ARBITRARY SYMBOL AS SPECIFIED BY FN DATA
1992
1993 002340' 200 15 0 00 000061' XCMTOK: MOVE Q1,FNARG ;GET STRING ADDRESS
1994 002341' 134 16 0 00 000015 CMTOK1: ILDB Q2,Q1 ;GET NEXT CHAR IN STRING
1995 JUMPE Q2,[PUSHJ P,TIELCH ;SUCCESS IF END OF STRING
1996 002342' 322 16 0 00 004647' JRST XCOMXI]
1997 002343' 260 17 0 00 000765' CMTOK2: PUSHJ P,CMCIN ;GET NEXT CHAR OF INPUT
1998 002344' 316 03 0 00 000016 CAMN T1,Q2 ;MATCH?
1999 JRST [PUSHJ P,STOLCH ;YES, APPEND TO ATOM BUFFER
2000 002345' 254 00 0 00 004651' JRST CMTOK1] ;CONTINUE
2001 002346' 302 03 0 00 000006 CAIE T1,CMFREC ;RECOG REQUEST?
2002 002347' 306 03 0 00 000033 CAIN T1,.CHESC
2003 JRST [PUSHJ P,CMAMB ;YES, CAN'T
2004 002350' 254 00 0 00 004653' JRST CMTOK2]
2005 002351' 306 03 0 00 000077 CAIN T1,CMHLPC ;HELP REQUEST?
2006 JRST [PUSHJ P,DOHLP ;YES
2007 JXN F,CM%SDH,CMRTYP
2008 MOVEI T1,"""" ;TYPE "token"
2009 PUSHJ P,CMCOUT
2010 MOVE T1,FNARG
2011 PUSHJ P,CMUSOU
2012 MOVEI T1,""""
2013 PUSHJ P,CMCOUT
2014 002352' 254 00 0 00 004655' JRST CMRTYP]
2015 002353' 200 03 0 00 004674' NOPARS (NPXNMT,INVALID TOKEN FOUND) ;NO MATCH OF TOKEN
2016 002354' 254 00 0 00 000435'
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 60
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0355
2017 ; PPN (EITHER DIRECTORY OR USER NAME FUNCTION)
2018
2019
2020 002355' 777777 777760 PPNBRK: 777777,,777760
2021 002356' 777734 007537 777734,,007537
2022 002357' 777777 777277 777777,,777277
2023 002360' 777777 777760 777777,,777760
2024
2025 002361' XCMDIR:
2026 002361' XCMUSR: ;EQUIVALENT
2027 002361' 201 03 0 00 002355' MOVEI T1,PPNBRK ;GET PROPER BREAK SET
2028 002362' 260 17 0 00 000615' PUSHJ P,CMRFLD ;GET FIELD
2029 002363' 602 14 0 00 400000 TXNE F,CMQUES ;HELP?
2030 002364' 254 00 0 00 002376' JRST CMDIRH ;YES
2031 002365' 603 14 0 00 400000 TXNE F,CM%ESC ;RECOGNITION WANTED?
2032 JRST [ PUSHJ P,CMAMB ;YES, ALWAYS AMBIGOUS
2033 002366' 254 00 0 00 004675' JRST XCMUSR ]
2034 002367' 200 04 0 10 000007 MOVE T2,.CMABP(P2) ;PTR TO TYPEIN
2035 002370' 260 17 0 00 002405' PUSHJ P,PPNIN ;PARSE PPN
2036 002371' 254 00 0 00 000436' JRST XCOMNP ;ILLEGAL SYNTAX
2037 002372' 202 04 0 00 000104' MOVEM T2,CRBLK+CR.RES ;STORE RESULT
2038 002373' 312 03 0 00 000056' CAME T1,ATBPTR ;CHECK THAT WE SAW WHOLE FIELD
2039 002374' 254 00 0 00 000436' JRST XCOMNP ;IF NOT, PARSE FAILURE
2040 002375' 254 00 0 00 000410' JRST XCOMXI ;DONE NOW
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 61
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0356
2041
2042 ;DIRECTORY/USER HELP
2043
2044 002376' 260 17 0 00 001152' CMDIRH: PUSHJ P,DOHLP ;DO USER HELP
2045 002377' 607 14 0 00 000001 JXN F,CM%SDH,CMRTYP ;SUPPRESS DEFAULT HELP IF REQUESTED TO
2046 002400' 334 00 0 00 000000
2047 002401' 254 00 0 00 000450'
2048 002402' 561 03 0 00 004677' HRROI T1,[ASCIZ / Project-Programmer number/]
2049 002403' 260 17 0 00 001175' PUSHJ P,CMSOUT
2050 002404' 254 00 0 00 000450' JRST CMRTYP ;RETYPE AND CONTINUE
2051
2052
2053 002405' 260 17 0 00 003617' PPNIN: PUSHJ P,.SAVE1 ;SAVE A REG
2054 002406' 134 01 0 00 000004 ILDB S1,T2 ;GET FIRST BYTE
2055 002407' 306 01 0 00 000040 CAIN S1," " ;SKIP LEADING BLANKS
2056 002410' 254 00 0 00 002405' JRST PPNIN ;
2057 002411' 302 01 0 00 000074 CAIE S1,74 ;BETTER BE A BRACKET OF SOME
2058 002412' 306 01 0 00 000133 CAIN S1,"[" ;KIND
2059 002413' 334 00 0 00 000000 SKIPA ;IT IS
2060 002414' 263 17 0 00 000000 POPJ P, ;IT IS NOT, FAIL NOW
2061 002415' 200 03 0 00 000004 MOVE T1,T2 ;COPY BP
2062 002416' 201 05 0 00 000010 MOVEI T3,^D8 ;AND MAKE IT OCTAL
2063 002417' 260 17 0 00 001714' PUSHJ P,NUMIN ;PARSE PROJECT NUMBER
2064 002420' 263 17 0 00 000000 POPJ P, ;IF IT FAILS, GIVE UP NOW
2065 002421' 135 01 0 00 000003 LDB S1,T1 ;GET TERMINATOR BYTE
2066 002422' 302 01 0 00 000054 CAIE S1,"," ;BETTER BE A COMMA
2067 002423' 263 17 0 00 000000 POPJ P, ;NOT, GIVE UP NOW
2068 002424' 514 07 0 00 000004 HRLZ P1,T2 ;REMEMBER PROJECT NR.
2069 002425' 260 17 0 00 001714' PUSHJ P,NUMIN ;GET 2ND HALF (PROGRAMMER NR.)
2070 002426' 263 17 0 00 000000 POPJ P, ;PASS ON FAILURE
2071 002427' 500 04 0 00 000007 HLL T2,P1 ;ASSEMBLE PPN
2072 002430' 135 01 0 00 000003 LDB S1,T1 ;GET TERMINATOR
2073 002431' 302 01 0 00 000135 CAIE S1,"]" ;AND CHECK IT
2074 002432' 306 01 0 00 000076 CAIN S1,76 ;FOR BRACKET
2075 002433' 254 00 0 00 004220' RETSKP ;ALL IS OK
2076 002434' 263 17 0 00 000000 POPJ P, ;OR FAIL
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 62
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0357
2077
2078 ;COMMA, ARBITRARY CHARACTER
2079
2080 002435' 201 03 0 00 000054 XCMCMA: MOVEI T1,"," ;SETUP COMMA AS CHARACTER TO FIND
2081 002436' 202 03 0 00 000061' MOVEM T1,FNARG
2082 002437' 260 17 0 00 000765' CMCHR: PUSHJ P,CMCIN ;GET A CHAR
2083 002440' 302 03 0 00 000011 CAIE T1,.CHTAB ;BLANK?
2084 002441' 306 03 0 00 000040 CAIN T1," "
2085 002442' 254 00 0 00 002437' JRST CMCHR ;YES, IGNORE
2086 002443' 550 04 0 00 000061' HRRZ T2,FNARG ;GET SPECIFIED CHAR
2087 002444' 316 03 0 00 000004 CAMN T1,T2 ;THE RIGHT ONE?
2088 002445' 254 00 0 00 000410' JRST XCOMXI ;YES, WIN
2089 002446' 302 03 0 00 000006 CAIE T1,CMFREC ;^F?
2090 002447' 306 03 0 00 000033 CAIN T1,.CHESC ;ESC?
2091 JRST [PUSHJ P,CMAMB ;YES, DING
2092 002450' 254 00 0 00 004705' JRST CMCHR] ;TRY AGAIN
2093 002451' 306 03 0 00 000077 CAIN T1,CMHLPC ;HELP?
2094 JRST [PUSHJ P,DOHLP
2095 JXN F,CM%SDH,CMRTYP ;JUMP IF SUPPRESSING HELP
2096 MOVEI T1,"""" ;TYPE "char"
2097 PUSHJ P,CMCOUT
2098 HRRZ T1,FNARG
2099 PUSHJ P,CMCOUT
2100 MOVEI T1,""""
2101 PUSHJ P,CMCOUT
2102 002452' 254 00 0 00 004707' JRST CMRTYP]
2103 002453' 200 03 0 00 004726' NOPARS (NPXCMA,COMMA WAS EXPECTED) ;FAIL
2104 002454' 254 00 0 00 000435'
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 63
GSCN MAC 22-May-78 10:53 S%CMND -- Scan a command SEQ 0358
2105
2106 ;LOCAL ROUTINE TO SETUP BYTE PTR TO TABLE STRING AND GET FLAGS
2107 ; T2/ ADDRESS OF STRING
2108 ; PUSHJ P,CHKTBS
2109 ; T1/ FLAGS
2110 ; T2/ BYTE POINTER TO STRING
2111
2112 002455' 505 04 0 00 440700 CHKTBS: HRLI T2,(POINT 7) ;SETUP P AND S FIELDS
2113 002456' 332 03 0 04 000000 SKIPE T1,0(T2) ;CHECK FIRST WORD OF STRING
2114 002457' 603 03 0 00 774000 TXNE T1,177B6 ;FIRST CHAR 0 AND WORD NOT ALL-0?
2115 002460' 634 03 0 00 000003 TDZA T1,T1 ;NO, MAKE FLAGS ALL 0
2116 002461' 350 00 0 00 000004 AOS T2 ;YES, HAVE FLAGS, ADJUST BYTE PTR
2117 002462' 263 17 0 00 000000 POPJ P,0
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 64
GSCN MAC 22-May-78 10:53 S%SCMP -- String Comparison Routine SEQ 0359
2118 SUBTTL S%SCMP -- String Comparison Routine
2119
2120 ;CALL IS: S1/ TEST STRING POINTER
2121 ; S2/ BASE STRING POINTER
2122 ;TRUE RETURN: S1/ COMPARE CODE:
2123 ; 1B0 (SC%LSS) - TEST STRING LESS THAN BASE STRING
2124 ; 1B1 (SC%SUB) - TEST STRING SUBSET OF BASE STRING
2125 ; 1B2 (SC%GTR) - TEST STRING GREATER THAN BASE STRING
2126 ; N.O.T.A. MEANS EXACT MATCH
2127 ; S2/ UPDATED BASE STRING POINTER, USEFUL IN CASE TEST STRING
2128 ; WAS SUBSET
2129
2130 002463' 260 17 0 00 003665' S%SCMP: PUSHJ P,.SAVET ;SAVE T REGS
2131 002464' 120 03 0 00 000001 DMOVE T1,S1 ;COPY ARGUMENTS
2132 002465' 554 05 0 00 000003 HLRZ T3,T1
2133 002466' 306 05 0 00 777777 CAIN T3,-1
2134 002467' 505 03 0 00 440700 HRLI T1,(POINT 7)
2135 002470' 554 05 0 00 000004 HLRZ T3,T2
2136 002471' 306 05 0 00 777777 CAIN T3,-1
2137 002472' 505 04 0 00 440700 HRLI T2,(POINT 7)
2138 002473' 260 17 0 00 002476' PUSHJ P,USTCMP ;DO THE WORK
2139 002474' 120 01 0 00 000003 DMOVE S1,T1 ;PUT THE ARGUMENTS BACK
2140 002475' 254 00 0 00 003747' $RETT
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 65
GSCN MAC 22-May-78 10:53 S%SCMP -- String Comparison Routine SEQ 0360
2141 ;STRING COMPARE ROUTINE - REFERENCES PREVIOUS CONTEXT.
2142 ; T1/ TEST STRING POINTER
2143 ; T2/ BASE STRING POINTER
2144 ; PUSHJ P,USTCMP
2145 ;RETURN AS FOR .STCMP
2146
2147 002476' 134 05 0 00 000003 USTCMP::ILDB T3,T1 ;GET NEXT BYTE FROM EACH STRING
2148 002477' 301 05 0 00 000141 CAIL T3,"A"+40 ;LC LETTER?
2149 JRST [CAIG T3,"Z"+40
2150 SUBI T3,40 ;YES, CONVERT TO UC
2151 002500' 254 00 0 00 004727' JRST .+1]
2152 002501' 134 06 0 00 000004 ILDB T4,T2
2153 002502' 301 06 0 00 000141 CAIL T4,"A"+40 ;LC LETTER?
2154 JRST [CAIG T4,"Z"+40
2155 SUBI T4,40 ;YES, CONVERT TO UC
2156 002503' 254 00 0 00 004732' JRST .+1]
2157 002504' 312 05 0 00 000006 CAME T3,T4 ;STILL EQUAL?
2158 002505' 254 00 0 00 002511' JRST STRC2 ;NO, GO SEE WHY
2159 002506' 326 05 0 00 002476' JUMPN T3,USTCMP ;KEEP GOING IF NOT END OF STRING
2160 002507' 400 03 0 00 000000 SETZ T1, ;STRINGS ENDED TOGETHER, EXACT MATCH.
2161 002510' 263 17 0 00 000000 POPJ P,0 ;RETURN 0
2162
2163 002511' STRC2: JUMPE T3,[MOVX T1,SC%SUB ;TEST STRING ENDED, IS A SUBSET
2164 ADD T2,[7B5] ;DECREMENT BASE POINTER ONE BYTE
2165 002511' 322 05 0 00 004736' POPJ P,0]
2166 002512' 317 05 0 00 000006 CAMG T3,T4 ;STRINGS UNEQUAL
2167 002513' 334 03 0 00 004741' SKIPA T1,[SC%LSS] ;TEST STRING LESS
2168 002514' 205 03 0 00 100000 MOVX T1,SC%GTR ;TEST STRING GREATER
2169 002515' 263 17 0 00 000000 POPJ P,0
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 66
GSCN MAC 22-May-78 10:53 S%TBLK -- Table lookup routine SEQ 0361
2170 SUBTTL S%TBLK -- Table lookup routine
2171
2172
2173 ;CALL IS: S1/ ADDRESS OF TABLE HEADER WORD
2174 ; S2/ STRING POINTER TO STRING TO BE FOUND
2175 ;
2176 ;TRUE RETURN: S1/ ADDRESS OF ENTRY WHICH MATCHED OR WHERE ENTRY WOULD BE
2177 ; IF IT WERE IN TABLE
2178 ; S2/ RECOGNITION CODE:
2179 ; 1B0 (TL%NOM) - NO MATCH
2180 ; 1B1 (TL%AMB) - AMBIGUOUS
2181 ; 1B2 (TL%ABR) - UNIQUE ABBREVIATION
2182 ; 1B3 (TL%EXM) - EXACT MATCH
2183
2184 002516' 260 17 0 00 003665' S%TBLK: PUSHJ P,.SAVET ;SAVE SOME REGISTERS
2185 002517' 120 03 0 00 000001 DMOVE T1,S1 ;COPY INPUT ARGUMENTS
2186 002520' 260 17 0 00 002525' PUSHJ P,XTLOK0 ;DO THE WORK
2187 002521' 120 01 0 00 000003 DMOVE S1,T1 ;RE-COPY ARGUMENTS
2188 002522' 254 00 0 00 003747' $RETT ;AND RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 67
GSCN MAC 22-May-78 10:53 S%TBLK -- Table lookup routine SEQ 0362
2189 ;WORKER ROUTINE - MAY BE CALLED INTERNALLY.
2190 ; RETURNS +1 SUCCESS, ACS AS ABOVE
2191
2192 ;INTERNAL AC USAGE:
2193 ; T1/ TEST STRING FROM CALL
2194 ; T2/ STRING FROM TABLE
2195 ; T3/ CLOBBERED BY USTCMP
2196 ; T4/ " "
2197 ; P1/ CURRENT TABLE INDEX
2198 ; P2/ ADDRESS OF TABLE INDEXED BY P1 - USED FOR INDIRECTION
2199 ; P3/ INDEX INCREMENT FOR LOG SEARCH
2200 ; P4/ SIZE OF TABLE
2201
2202 002523' 260 17 0 00 003647' XTLOOK:: PUSHJ P,.SAVE4 ;PRESERVE ACS
2203 002524' 260 17 0 00 003703' SAVE P5
2204 002525' 554 05 0 00 000004 XTLOK0: HLRZ T3,T2 ;CHECK STRING POINTER
2205 002526' 302 05 0 00 777777 CAIE T3,-1 ;LH 0 OR -1?
2206 002527' 306 05 0 00 000000 CAIN T3,0
2207 002530' 505 04 0 00 440700 HRLI T2,(POINT 7) ;YES, FILL IN
2208 002531' 202 04 0 00 000100' MOVEM T2,STRG
2209 002532' 201 10 0 03 000001 MOVEI P2,1(T1) ;CONSTRUCT ADDRESS OF FIRST ENTRY
2210 002533' 505 10 0 00 000007 HRLI P2,P1 ;MAKE IT INDEXED BY P1
2211 002534' 554 12 0 03 000000 HLRZ P4,0(T1) ;GET PRESENT SIZE
2212 002535' 200 11 0 00 000012 MOVE P3,P4 ;INITIAL INCREMENT IS SIZE
2213 002536' 200 07 0 00 000012 MOVE P1,P4 ;SET INITIAL INDEX TO SIZE/2
2214 002537' 240 07 0 00 777777 ASH P1,-1
2215 002540' 322 12 0 00 002556' JUMPE P4,TABLKX ;IF TABLE EMPTY THEN NO MATCH
2216 002541' 554 04 1 00 000010 TABLK0: HLRZ T2,@P2 ;GET STRING ADR FROM TABLE
2217 002542' 260 17 0 00 002455' PUSHJ P,CHKTBS ;CONSTRUCT POINTER
2218 002543' 200 03 0 00 000100' MOVE T1,STRG ;GET TEST STRING
2219 002544' 260 17 0 00 002476' PUSHJ P,USTCMP ;COMPARE
2220 002545' 326 03 0 00 002561' JUMPN T1,TABLK1 ;JUMP IF NOT EXACTLY EQUAL
2221 002546' 554 04 1 00 000010 TABLKF: HLRZ T2,@P2 ;GET STRING ADDRESS
2222 002547' 260 17 0 00 002455' PUSHJ P,CHKTBS ;GET FLAGS
2223 002550' 606 03 0 00 000002 JXN T1,CM%NOR,TABLKM ;MAKE IT AMBIG IF NOREC ENTRY
2224 002551' 334 00 0 00 000000
2225 002552' 254 00 0 00 002555'
2226 002553' 205 04 0 00 040000 MOVX T2,TL%EXM ;EXACTLY EQUAL, RETURN CODE
2227 002554' 254 00 0 00 002557' JRST TABLKA
2228
2229 002555' 334 04 0 00 004742' TABLKM: SKIPA T2,[TL%AMB] ;AMBIGUOUS RETURN
2230 002556' 205 04 0 00 400000 TABLKX: MOVX T2,TL%NOM ;NO MATCH RETURN
2231 002557' 201 03 1 00 000010 TABLKA: MOVEI T1,@P2 ;RETURN ADR WHERE ENTRY IS OR SHOULD BE
2232 002560' 263 17 0 00 000000 POPJ P,
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 68
GSCN MAC 22-May-78 10:53 S%TBLK -- Table lookup routine SEQ 0363
2233
2234 ;STRING MAY BE UNEQUAL OR A SUBSET, SEE WHICH
2235
2236 002561' 603 03 0 00 200000 TABLK1: JXE T1,SC%SUB,TABLKN ;UNEQUAL, GO SETUP NEXT PROBE
2237 002562' 334 00 0 00 000000
2238 002563' 254 00 0 00 002623'
2239 002564' 202 04 0 00 000101' TABLK3: MOVEM T2,REMSTR ;SUBSTRING, SAVE REMAINDER
2240 002565' 322 07 0 00 002600' JUMPE P1,TABLK2 ;JUMP IF THIS FIRST ENTRY IN TABLE
2241 002566' 201 03 1 00 000010 MOVEI T1,@P2 ;CHECK NEXT HIGHER ENTRY IN TABLE
2242 002567' 554 04 0 03 777777 HLRZ T2,-1(T1) ;GET ITS STRING ADDRESS
2243 002570' 260 17 0 00 002455' PUSHJ P,CHKTBS ;BUILD BYTE PTR
2244 002571' 200 03 0 00 000100' MOVE T1,STRG ;GET TEST STRING
2245 002572' 260 17 0 00 002476' PUSHJ P,USTCMP ;TEST PREVIOUS ENTRY
2246 002573' 322 03 0 00 004743' JUMPE T1,[SOJA P1,TABLKF] ;EXACTLY EQUAL, DONE. FIX INDEX.
2247 002574' 607 03 0 00 100000 JXN T1,SC%GTR,TABLK2 ;IF LESS THEN HAVE FOUND HIGHEST SUBSTR
2248 002575' 334 00 0 00 000000
2249 002576' 254 00 0 00 002600'
2250 002577' 364 07 0 00 002564' SOJA P1,TABLK3 ;STILL A SUBSTR, CHECK HIGHER
2251
2252 ;NOW POINT AT HIGHEST ENTRY WHICH IS A SUBSTR. IF THERE IS AN EXACT
2253 ;MATCH, IT IS BEFORE ALL SUBSETS AND HAS ALREADY BEEN FOUND
2254
2255 002600' 201 03 1 00 000010 TABLK2: MOVEI T1,@P2 ;CHECK NEXT ENTRY FOR AMBIGUOUS
2256 002601' 301 07 0 12 777777 CAIL P1,-1(P4) ;NOW AT LAST ENTRY IN TABLE?
2257 002602' 254 00 0 00 002613' JRST TBLK2A ;YES, THIS ENTRY IS DISTINCT
2258 002603' 554 04 0 03 000001 HLRZ T2,1(T1) ;GET STRING ADR OF NEXT ENTRY
2259 002604' 260 17 0 00 002455' PUSHJ P,CHKTBS ;BUILD BYTE PTR
2260 002605' 200 03 0 00 000100' MOVE T1,STRG ;GET TEST STRING
2261 002606' 260 17 0 00 002476' PUSHJ P,USTCMP ;COMPARE NEXT LOWER ENTRY
2262 002607' 322 03 0 00 004752' JUMPE T1,[$STOP(BTF,Bad table format)] ;EXACT MATCH,TABLE IS BAD
2263 002610' 607 03 0 00 200000 JXN T1,SC%SUB,TABLKM ;NEXT ENTRY NOT DISTINCT, DO AMBIG RETURN
2264 002611' 334 00 0 00 000000
2265 002612' 254 00 0 00 002555'
2266 002613' 554 04 1 00 000010 TBLK2A: HLRZ T2,@P2 ;CHECK FLAGS FOR THIS ENTRY
2267 002614' 260 17 0 00 002455' PUSHJ P,CHKTBS
2268 002615' 606 03 0 00 000002 JXN T1,CM%NOR,TABLKM ;FAIL IF NOREC BIT SET
2269 002616' 334 00 0 00 000000
2270 002617' 254 00 0 00 002555'
2271 002620' 205 04 0 00 100000 MOVX T2,TL%ABR ;GIVE LEGAL ABBREVIATION RETURN
2272 002621' 200 05 0 00 000101' MOVE T3,REMSTR ;RETURN PTR TO REMAINDER OF STRING
2273 002622' 254 00 0 00 002557' JRST TABLKA
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 69
GSCN MAC 22-May-78 10:53 S%TBLK -- Table lookup routine SEQ 0364
2274
2275 ;HERE WHEN PROBE NOT EQUAL
2276
2277 002623' 307 11 0 00 000001 TABLKN: CAIG P3,1 ;INCREMENT NOW 1?
2278 JRST [JXN T1,SC%LSS,TABLKX ;YES, NO MATCH FOUND
2279 002624' 254 00 0 00 004754' AOJA P1,TABLKX] ;IF STRING GREATER, BUMP ADR FOR INSERT
2280 002625' 350 00 0 00 000011 AOS P3 ;NEXT INC = <INC+1>/2
2281 002626' 240 11 0 00 777777 ASH P3,-1
2282 002627' 603 03 0 00 100000 TXNE T1,SC%GTR ;IF LAST PROBE LOW, ADD INCREMENT
2283 002630' 270 07 0 00 000011 ADD P1,P3
2284 002631' 603 03 0 00 400000 TXNE T1,SC%LSS
2285 002632' 274 07 0 00 000011 SUB P1,P3 ;LAST PROBE HIGH, SUBTRACT INCR
2286 002633' 301 07 0 12 000000 TBLKN1: CAIL P1,0(P4) ;AFTER END OF TABLE?
2287 JRST [MOVX T1,SC%LSS ;YES, FAKE PROBE TOO HIGH
2288 002634' 254 00 0 00 004760' JRST TABLKN]
2289 002635' 325 07 0 00 002541' JUMPGE P1,TABLK0 ;IF STILL WITHIN TABLE RANGE, GO PROBE
2290 002636' 205 03 0 00 100000 MOVX T1,SC%GTR ;BEFORE START OF TABLE, FAKE LOW PROBE
2291 002637' 254 00 0 00 002623' JRST TABLKN
2292
2293 002640' SCN%L: ;LABEL THE LITERAL POOL
2294
2295 >;;!!!!!NOTE WELL - THIS CONDITIONAL STARTED AT LABEL S%CMND
2296
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 1
GKBD MAC 22-May-78 10:54 KEYBOARD INTERFACE SEQ 0365
2297 SUBTTL KEYBOARD INTERFACE
2298
2299 ;This module provides a timesharing terminal interface for the
2300 ;DIAGNOSTIC library. The interface itself attempts to emulate as
2301 ;far as possible the TEXTI JSYS implemented in the TOPS20 monitor.
2302
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 2
GKBD MAC 22-May-78 10:54 Table of Contents SEQ 0366
2303 SUBTTL Table of Contents
2304
2305 ; TABLE OF CONTENTS FOR GLXKBD
2306 ;
2307 ;
2308 ; SECTION PAGE
2309 ; 1. Table of Contents......................................... 2
2310 ; 2. Revision History.......................................... 3
2311 ; 3. Local Definitions......................................... 5
2312 ; 4. Module Storage............................................ 6
2313 ; 5. K%INIT -- Initialization of the Scanning Module......... 7
2314 ; 6. K%RCOC -- Read Character Output Control Table........... 8
2315 ; 7. K%WCOC -- Write Character Output Control table......... 9
2316 ; 8. K%SUET -- Set User Escape Table......................... 10
2317 ; 9. K%STYP -- Set terminal type............................. 11
2318 ; 10. K%TXTI -- Handle Terminal Input......................... 13
2319 ; 11. TXTL -- Loop for inputting text......................... 14
2320 ; 12. TTYCHR -- Here to receive 1 character from the TTY...... 16
2321 ; 13. Utilities for text handling............................... 17
2322 ; 14. SPCHK -- Check for special characters................... 22
2323 ; 15. CCU -- Handle ^U (Rubout entire line)................... 23
2324 ; 16. CCR -- Handle ^R (Re-type the line)..................... 24
2325 ; 17. CCDEL -- Handle Rubout (Delete one character)........... 25
2326 ; 18. CCW -- Handle ^W (Delete back to punctuation character). 26
2327 ; 19. BEGBUF -- Handle rubouts to beginning of buffer......... 27
2328 ; 20. TYPEBP -- Type a string according to a byte-pointer..... 27
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 3
GKBD MAC 22-May-78 10:54 Revision History SEQ 0367
2329 SUBTTL Revision History
2330
2331
2332 COMMENT \
2333
2334 Edit GCO Reason
2335 ---- --- -------------------------------------------
2336
2337 0001 Create GLXKBD module
2338 0002 Fix a number of interrupt race problems and
2339 start adding ESCape sequence code
2340 0003 009 Implement a new TEXTI flag to causes 'nothing' to echo.
2341 0004 010 Make K%STYP set some additional characteristic like LC..
2342 0005 Allow the source word (.RDIOJ) contain a byte-pointer to
2343 an ASCIZ string if RD%JFN is off in the flag word (this
2344 is additional compatibility with the TEXTI JSYS).
2345 006 TOTALLY HACKED UP FOR DIAGNOSTICS
2346
2347 \ ;END OF REVISION HISTORY
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 4
GKBD MAC 22-May-78 10:54 Revision History SEQ 0368
2348 ; Entry Points found in this module
2349
2350 ENTRY K%INIT ;INITIALIZATION POINT
2351 ENTRY K%TXTI ;TEXT INPUT ROUTINE
2352 ENTRY K%RCOC ;READ COC TABLE
2353 ENTRY K%WCOC ;WRITE COC TABLE
2354 ENTRY K%STYP ;SET TERMINAL TYPE
2355 ENTRY K%SUET ;SETUP USER ESCAPE TABLE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 5
GKBD MAC 22-May-78 10:54 Local Definitions SEQ 0369
2356 SUBTTL Local Definitions
2357
2358 ; Special Accumulator definitions
2359
2360 000016 C==16 ;GLOBAL CHARACTER REGISTER
2361
2362 ; Special characters
2363
2364 000134 .CHBSL=="\" ;BACKSLASH
2365
2366 ; Control character former
2367
2368 DEFINE $C(A)<"A"-100> ;JUST ASCII MINUS LEAD BIT
2369
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 6
GKBD MAC 22-May-78 10:54 Module Storage SEQ 0370
2370 SUBTTL Module Storage
2371
2372
2373 002640' $$DATA TTYFLG ;FLAGS FROM INITIALIZATION BLOCK
2374 ; $$DATA RD,.RDSIZ ;INTERNAL ARGUMENT BLOCK
2375 002641' $$DATA COCTAB,2 ;CHARACTER OUTPUT CONTROL TABLE
2376 002643' $$DATA TRMPTR ;POINTER TO TERMINAL CONTROL
2377 002644' $$DATA RUBFLG ;-1 WHEN LAST CHAR WAS RUBOUT
2378 002645' $$DATA ARGLOC ;LOCATION OF CALLER'S ARGUMENT BLOCK
2379 002646' $$DATA BCKFLG ;-1 WHEN BACKUP LIMIT HAS BEEN PASSED
2380 002647' $$DATA UESCTB ;ADDRESS OF USER ESCAPE TABLE
2381 002650' $$DATA CURESC ;CURRENT STATE OF ESCAPE SEQ PROCESSOR
2382 002651' $$DATA TRMTYP ;TERMINAL TYPE
2383 ; $$DATA TRMUDX ;UDX FOR TERMINAL
2384 002652' $$DATA BGLINE ;POINTER TO BEGINNING OF CURRENT LINE
2385 002653' $$DATA BGBUFR ;MY POINTER TO BEGINNING OF BUFFER
2386
2387 002654' 263 17 0 00 000000 I%ION: POPJ P,
2388 002655' 263 17 0 00 000000 I%IOFF: POPJ P,
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 7
GKBD MAC 22-May-78 10:54 K%INIT -- Initialization of the Scanning Module SEQ 0371
2389 SUBTTL K%INIT -- Initialization of the Scanning Module
2390
2391 ;K%INIT is called during the intialization phase of the host program via the
2392 ; I%INIT call. If command scanning is desired, the controlling terminal
2393 ; is taken over, etc...
2394
2395 ;CALL IS: S1/ Length of the Initialization Block
2396 ; S2/ Address of the Initialization Block
2397 ;
2398 ;TRUE RETURN: No arguments are returned
2399
2400 002656' K%INIT:
2401 IFN FTJSYS,<
2402 DMOVE S1,[BYTE (2) 0,1,1,1,1,1,1,2,3,2,2,1,1,2,1,1,1,1
2403 BYTE (2) 0,0,0,0,0,0,1,1,1,3,2,2,2,2,0,0,0,0] ;LOAD COCTAB
2404 PJRST K%WCOC ;WRITE THE COC AND RETURN
2405 > ;END IFN FTJSYS
2406
2407 IFN FTUUOS,<
2408 ; MOVEI S1,16 ;USE CHANNEL 16
2409 ; IOR S1,[OPEN [IO.LEM+IO.SUP+IO.TEC+.IOASC ;SET ALL THE FUNNY MODES
2410 ; SIXBIT /TTY/ ;ON THE CONTROLLING TERMINAL
2411 ; XWD 0,0 ]] ;ALLOCATING NO BUFFERS
2412 ; XCT S1 ;OPEN UP THE TERMINAL FOR SCANNING
2413 OPEN 16,[IO.LEM+IO.SUP+IO.TEC+.IOASC
2414 SIXBIT/TTY/
2415 002656' 050 16 0 00 004762' 0]
2416 002657' 260 17 0 00 003773' $STOP(COT,Cannot OPEN terminal)
2417 DMOVE S1,[BYTE (2) 0,1,1,1,1,1,1,2,3,2,2,1,1,2,1,1,1,1
2418 002661' 120 01 0 00 004774' BYTE (2) 0,0,0,0,0,0,1,1,1,3,2,2,2,2,0,0,0,0] ;LOAD COCTAB
2419 002662' 260 17 0 00 002676' PUSHJ P,K%WCOC ;WRITE THE TABLE
2420 002663' 205 01 0 00 646471 MOVSI S1,'TTY' ;LOAD TTY NAME
2421 002664' 047 01 0 00 000127 IONDX. S1, ;GET IO INDEX
2422 002665' 255 00 0 00 000000 JFCL ;IGNORE ERROR
2423 002666' 202 01 0 00 000131' MOVEM S1,TRMUDX ;STORE FOR VARIOUS TRMOPS
2424 002667' 402 00 0 00 002647' SETZM UESCTB ;NO ESCAPE SEQUENCES
2425 002670' 402 00 0 00 002650' SETZM CURESC ;CLEAR ESCAPE MACHINE
2426 002671' 201 01 0 00 000000 MOVX S1,.TT33 ;ASSUME THIS IS A 33
2427 002672' 476 00 0 00 002640' SETOM TTYFLG ;SET TTY OPENED
2428 002673' 254 00 0 00 002715' PJRST K%STYP ;SET TYPE AND RETURN
2429 > ;END IFN FTUUOS
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 8
GKBD MAC 22-May-78 10:54 K%RCOC -- Read Character Output Control Table SEQ 0372
2430 SUBTTL K%RCOC -- Read Character Output Control Table
2431
2432 ;K%RCOC and K%WCOC are used to read/write the control character output
2433 ; table. For each character 0-37, there is a 2 bit field indicating
2434 ; how this character should be echoed. This two word table then
2435 ; consists of bit pairs code as:
2436 ; 00 - Do not echo at all
2437 ; 01 - Indicate by ^X
2438 ; 10 - Send the actual ASCII code (I.E. 7 for ^G)
2439 ; 11 - Simulate the character
2440
2441
2442 ;CALL IS: No arguments
2443 ;
2444 ;TRUE RETURN: S1/ First word of COC table
2445 ; S2/ Second word of COC table
2446
2447 IFN FTUUOS,<
2448 002674' 120 01 0 00 002641' K%RCOC: DMOVE S1,COCTAB ;GET TABLE
2449 002675' 254 00 0 00 003747' $RETT ;AND RETURN
2450 > ;END IFN FTUUOS
2451
2452
2453 IFN FTJSYS,<
2454 K%RCOC: PUSH P,S2+1 ;SAVE A 3RD AC
2455 MOVX S1,.PRIIN ;LOAD PRINCIPLE INPUT JFN
2456 RFCOC ;READ THE COC TABLE
2457 MOVE S1,S2 ;GET FIRST WORD INTO S1
2458 MOVE S2,S2+1 ;GET SECOND WORD INTO S2
2459 POP P,S2+1 ;RESTORE THE SAVED AC
2460 $RETT ;AND RETURN
2461 > ;END IFN FTJSYS
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 9
GKBD MAC 22-May-78 10:54 K%WCOC -- Write Character Output Control table SEQ 0373
2462 SUBTTL K%WCOC -- Write Character Output Control table
2463
2464 ;See explanation above
2465
2466 ;CALL IS: S1/ First word of COC table
2467 ; S2/ Second word of COC table
2468 ;
2469 ;TRUE RETURN: Always
2470
2471 IFN FTUUOS,<
2472 002676' 124 01 0 00 002641' K%WCOC: DMOVEM S1,COCTAB ;STORE THE TABLE
2473 002677' 254 00 0 00 003747' $RETT ;AND RETURN
2474 > ;END IFN FTUUOS
2475
2476 IFN FTJSYS,<
2477 K%WCOC: PUSH P,S2+1 ;SAVE A 3RD JSYS AC
2478 MOVE S2+1,S2 ;PUT SECOND WORD IN T1
2479 MOVE S2,S1 ;PUT FIRST WORD IN S2
2480 MOVEI S1,.PRIIN ;GET PRINCIPLE INPUT JFN
2481 SFCOC ;SET COC TABLE
2482 POP P,S2+1 ;RESTORE S2+1
2483 $RETT ;AND RETURN
2484 > ;END IFN FTJSYS
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 10
GKBD MAC 22-May-78 10:54 K%SUET -- Set User Escape Table SEQ 0374
2485 SUBTTL K%SUET -- Set User Escape Table
2486
2487 ;K%SUET is called to setup the address of the user escape table if the
2488 ; program wants special action on ESCape sequences.
2489 ;
2490 ;Call: S1/ address of User Escape Table
2491 ; or 0 to clear the UET entry
2492 ;
2493 ;T Ret: always
2494
2495 IFN FTUUOS,<
2496 002700' 202 01 0 00 002647' K%SUET: MOVEM S1,UESCTB ;SAVE THE ESCAPE TABLE ADDRESS
2497 002701' 402 00 0 00 002650' SETZM CURESC ;CLEAR CURRENT STATE
2498 002702' 200 01 0 00 002651' MOVE S1,TRMTYP ;GET TERMINAL TYPE
2499 002703' 302 01 0 00 000011 CAXE S1,.TTV50 ;IS IT A VT50?
2500 002704' 306 01 0 00 000015 CAXN S1,.TTV52 ;OR A VT52?
2501 002705' 334 00 0 00 000000 SKIPA ;YES, SET IT UP
2502 002706' 254 00 0 00 003747' $RETT ;RETURN
2503
2504 002707' 051 01 0 00 004776' OUTCHR [.CHESC] ;OUTPUT AN ESCAPE
2505 002710' 201 01 0 00 000075 MOVEI S1,"=" ;THIS SETS THE MODE
2506 002711' 336 00 0 00 002647' SKIPN UESCTB ;PROGRAM IS CLEARING IT
2507 002712' 201 01 0 00 000076 MOVEI S1,76 ;CLEAR IT
2508 002713' 051 01 0 00 000001 OUTCHR S1 ;PUT OUT THE CHARACTER
2509 002714' 254 00 0 00 003747' $RETT ;AND RETURN
2510 > ;END IFN FTUUOS
2511
2512 IFN FTJSYS,<
2513 K%SUET: HALT . ;NOT IMPLEMENT
2514 > ;END IFN FTJSYS
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 11
GKBD MAC 22-May-78 10:54 K%STYP -- Set terminal type SEQ 0375
2515 SUBTTL K%STYP -- Set terminal type
2516
2517 ;K%STYP is used to give the scanning module knowledge of the terminal type
2518 ; in use as the command terminal.
2519
2520 ;CALL IS: S1/ Terminal type code (See GLXMAC)
2521 ;
2522 ;TRUE RETURN: Terminal is a known type
2523 ;FALSE RETURN: The terminal code does not appear in SCN's tables
2524
2525
2526 IFN FTJSYS,<
2527 K%STYP: MOVE S2,S1 ;PUT TYPE IN S2
2528 MOVX S1,.PRIIN ;LOAD PRINCIPLE INPUT JFN
2529 STTYP ;SET TERMINAL TYPE
2530 ERJMP .RETF ;LOSE IF JSYS DID
2531 $RETT ;ELSE WIN.
2532 > ;END IFN FTJSYS
2533
2534 IFN FTUUOS,<
2535 002715' 260 17 0 00 003647' K%STYP: PUSHJ P,.SAVE4 ;SAVE SOME PERM ACS
2536 002716' 200 07 0 00 000001 MOVE P1,S1 ;AND COPY INPUT ARGUMENT
2537 002717' 205 01 0 00 777766 MOVSI S1,-TTTABL ;LENGTH OF TABLE
2538
2539 002720' 554 02 0 01 002741' STYP.2: HLRZ S2,TTTAB(S1) ;GET A TERMINAL TYPE CODE
2540 002721' 312 07 0 00 000002 CAME P1,S2 ;A MATCH?
2541 002722' 253 01 0 00 002720' AOBJN S1,STYP.2 ;NO, TRY ALL THE ENTRIES
2542 002723' 325 01 0 00 003746' JUMPGE S1,.RETF ;TAKE FAILURE IF NOT FOUND
2543
2544 002724' 200 02 0 01 002753' MOVE S2,TTSET(S1) ;GET ADDRESS OF SETUP ROUTINE
2545 002725' 271 01 0 00 002741' ADDI S1,TTTAB ;ADD TABLE ADDRESS TO OFFSET
2546 002726' 552 01 0 00 002643' HRRZM S1,TRMPTR ;STORE POINTER FOR LATER USE
2547 002727' 202 07 0 00 002651' MOVEM P1,TRMTYP ;AND SAVE THE TERMINAL TYPE
2548 002730' 607 02 0 00 777777 TLNN S2,-1 ;IS THERE A WIDTH THERE?
2549 002731' 254 00 0 02 000000 PJRST 0(S2) ;NO, JUST SET TERMINAL SPECIFIC STUFF
2550 002732' 200 01 0 00 004777' MOVE S1,[3,,P1] ;SETUP AN ARG BLOCK
2551 002733' 201 07 0 00 002012 MOVX P1,.TOWID+.TOSET ;SET WIDTH FUNCTION
2552 002734' 200 10 0 00 000131' MOVE P2,TRMUDX ;GET THE UDX
2553 002735' 554 11 0 00 000002 HLRZ P3,S2 ;GET THE WIDTH
2554 002736' 047 01 0 00 000116 TRMOP. S1, ;SET THE WIDTH
2555 002737' 255 00 0 00 000000 JFCL ;IGNORE THE ERROR
2556 002740' 254 00 0 02 000000 PJRST 0(S2) ;AND DO TERMINAL SPECIFIC STUFF
2557
2558
2559 ;TABLES ARE ON THE FOLLOWING PAGE
2560 ;
2561 ;STILL IN IFN FTUUOS
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 12
GKBD MAC 22-May-78 10:54 K%STYP -- Set terminal type SEQ 0376
2562 ;FORMAT OF THE TTTAB TABLE IS:
2563 ; XWD TERMINAL-TYPE,ADDRESS-OF-CONTROL-TABLE
2564 ;
2565 ;EACH ENTRY IN THE CONTROL TABLE IS THE ADDRESS OF A PARTICULAR
2566 ; CONTROL SEQUENCE FOR THE TERMINAL.
2567 ;
2568 ;THE SEQUENCES ARE:
2569 000000 .TCEOL==0 ;ERASE TO END-OF-LINE
2570
2571 002741' 000000 000000 TTTAB: .TT33,,0 ;MODEL 33 TTY
2572 002742' 000001 000000 .TT35,,0 ;MODEL 35 TTY
2573 002743' 000002 000000 .TT37,,0 ;MODEL 37 TTY
2574 002744' 000003 000000 .TTEXE,,0 ;EXECUPORT
2575 002745' 000010 005001' .TTV05,,[[BYTE (7)37,177,177,177]];VT05
2576 002746' 000011 005003' .TTV50,,[[BYTE (7).CHESC,"J"]] ;VT50
2577 002747' 000012 000000 .TTL30,,0 ;LA30
2578 002750' 000014 000000 .TTL36,,0 ;LA36
2579 002751' 000015 005003' .TTV52,,[[BYTE (7) .CHESC,"J"]] ;VT52
2580 002752' 000015 005003' .TTV52,,[[BYTE (7) .CHESC,"J"]] ;AND ONE FOR PATCHING
2581 000012 TTTABL==.-TTTAB
2582
2583
2584 ;FORMAT OF TABLE IS WIDTH,,ADR OF SETUP ROUTINE
2585 ; IF WIDTH IS 0, IT ISN'T SET
2586 ; ***MUST BE PARALLEL TO TTTAB***
2587
2588 002753' 000110 003747' TTSET: XWD ^D72,.RETT ;MODEL 33 TTY
2589 002754' 000110 003747' XWD ^D72,.RETT ;MODEL 35 TTY
2590 002755' 000110 003747' XWD ^D72,.RETT ;MODEL 37 TTY
2591 002756' 000110 003747' XWD ^D72,.RETT ;EXECUPORT
2592 002757' 000110 003747' XWD ^D72,.RETT ;VT05
2593 002760' 000120 002765' XWD ^D80,SETVT5 ;VT50
2594 002761' 000110 003747' XWD ^D72,.RETT ;LA30
2595 002762' 000000 003747' XWD ^D00,.RETT ;LA36
2596 002763' 000120 002765' XWD ^D80,SETVT5 ;VT52
2597 002764' 000120 002765' XWD ^D80,SETVT5 ;PATCH SPACE
2598
2599
2600 ;TERMINAL SETUP ROUTINES
2601 002765' 051 01 0 00 004776' SETVT5: OUTCHR [.CHESC] ;PUT OUT AN ESCAPE
2602 002766' 201 01 0 00 000075 MOVEI S1,"=" ;TO SET ALTERNATE MODE
2603 002767' 336 00 0 00 002647' SKIPN UESCTB ;DID PROGRAM SET IT
2604 002770' 201 01 0 00 000076 MOVEI S1,76 ;NOPE.
2605 002771' 051 01 0 00 000001 OUTCHR S1 ;PUT IT OUT
2606 002772' 200 01 0 00 004777' MOVE S1,[3,,P1] ;GET TRMOP ARG POINTER
2607 002773' 201 07 0 00 002003 MOVX P1,.TOLCT+.TOSET ;SET TT LC
2608 002774' 200 10 0 00 000131' MOVE P2,TRMUDX ;GET THE UDX
2609 002775' 400 11 0 00 000000 SETZ P3, ;SET A FLAG?
2610 002776' 047 01 0 00 000116 TRMOP. S1, ;DO THE TRMOP
2611 002777' 255 00 0 00 000000 JFCL ;IGNORE ERROR
2612 003000' 254 00 0 00 003747' $RETT ;AND RETURN
2613 > ;END IFN FTUUOS
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 13
GKBD MAC 22-May-78 10:54 K%TXTI -- Handle Terminal Input SEQ 0377
2614 SUBTTL K%TXTI -- Handle Terminal Input
2615
2616 ;This routine is used to do input from the controlling terminal. It
2617 ; acts much like the TOPS-20 JSYS TEXTI.
2618
2619 ;CALL IS: S1/ Address of a TEXTI format argument block
2620 ;
2621 ;TRUE RETURN: Always, with an updated argument block
2622
2623 IFN FTJSYS,<
2624 K%TXTI: TEXTI ;DO THE TEXTI JSYS
2625 ERJMP .RETF ;LOSE IF HE DID
2626 $RETT ;AND RETURN
2627 > ;END IFN FTJSYS
2628
2629 IFN FTUUOS,<
2630 003001' 336 00 0 00 002640' K%TXTI: SKIPN TTYFLG ;WAS TERMINAL EVER OPENED?
2631 003002' 260 17 0 00 003773' $STOP(TNO,Terminal never opened) ;APPARENTLY NOT
2632 003004' 202 01 0 00 002645' MOVEM S1,ARGLOC ;REMEMBER ARGUMENT BLOCK LOCATION
2633 003005' 260 17 0 00 003733' SAVE C ;SAVE CHARACTER AC
2634 003006' 260 17 0 00 003665' PUSHJ P,.SAVET ;MAKE T REGS AVAILABLE FOR SCRATCH
2635 003007' 201 01 0 00 000011 MOVEI S1,.RDSIZ ;GET SIZE OF BLOCK
2636 003010' 201 02 0 00 000044' MOVEI S2,RD ;AND ITS LOCATION
2637 003011' 260 17 0 00 003605' PUSHJ P,.ZCHNK ;AND NOW ZERO THE BLOCK OUT
2638 003012' 504 02 0 00 002645' HRL S2,ARGLOC ;FORM A XFER POINTER
2639 003013' 200 01 0 00 002645' MOVE S1,ARGLOC ;GET LOCATION OF BLOCK
2640 003014' 200 01 0 01 000000 MOVE S1,.RDCWB(S1) ;LENGTH OF BLOCK TO MOVE
2641 003015' 271 01 0 02 000000 ADDI S1,0(S2) ;NOW HAVE LAST WORD TO MOVE
2642 003016' 251 02 0 01 000000 BLT S2,0(S1) ;MOVE USER BLOCK
2643 003017' 260 17 0 00 003206' PUSHJ P,CONVBP ;CONVERT ALL BYTE POINTERS ETC..
2644 003020' 402 00 0 00 002644' SETZM RUBFLG ;CLEAR RUBOUT IN PROGRESS FLAG
2645 003021' 402 00 0 00 002646' SETZM BCKFLG ;CLEAR BACKUP LIMIT FLAG
2646 003022' 254 00 0 00 003042' JRST TXTL ;YES, DON'T SLEEP
2647
2648
2649 ;CONTINUED ON NEXT PAGE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 14
GKBD MAC 22-May-78 10:54 K%TXTI -- Handle Terminal Input SEQ 0378
2650 ;CONTINUED FROM PREVIOUS PAGE
2651
2652 ; HERE WHEN ALL IS DONE, S1 CONTAINS FLAGS TO STORE
2653
2654 003023' 332 00 0 00 002646' FINTXT: SKIPE BCKFLG ;WAS BACKUP LIMIT REACHED?
2655 003024' 661 01 0 00 000010 IORX S1,RD%BLR ;YES, TURN ON THE INDICATOR
2656 003025' 436 01 0 00 000045' IORM S1,RD+.RDFLG ;STORE FLAGS
2657 003026' 336 00 0 00 000050' SKIPN RD+.RDDBC ;ANY ROOM FOR A TERMINATING NULL?
2658 003027' 254 00 0 00 003033' JRST FINT.1 ;NO, SO CANNOT DEPOSIT NULL
2659 003030' 400 01 0 00 000000 SETZ S1, ;GET A NULL
2660 003031' 200 02 0 00 000047' MOVE S2,RD+.RDDBP ;GET THE BYTE POINTER
2661 003032' 136 01 0 00 000002 IDPB S1,S2 ;AND STORE IT
2662 003033' 200 01 0 00 002645' FINT.1: MOVE S1,ARGLOC ;GET LOCATION OF ARG BLOCK
2663 003034' 200 02 0 01 000000 MOVE S2,.RDCWB(S1) ;AND SIZE OF IT-1
2664 003035' 270 02 0 00 000001 ADD S2,S1 ;GET LAST WORD TO MOVE
2665 003036' 505 01 0 00 000044' HRLI S1,RD ;TRANSFER FROM OUR FULL ARG BLOCK
2666 003037' 251 01 0 02 000000 BLT S1,0(S2) ;TO THE USER'S POSSIBLY PARTIAL
2667 003040' 260 17 0 00 002654' PUSHJ P,I%ION ;RE-ENABLE INTERRUPTS JUST IN CASE
2668 003041' 254 00 0 00 003747' $RETT
2669
2670 ;STILL IN IFN FTUUOS FOR A LONG TIME
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 15
GKBD MAC 22-May-78 10:54 TXTL -- Loop for inputting text SEQ 0379
2671 SUBTTL TXTL -- Loop for inputting text
2672
2673 ;TXTL is a lower level routine which loops for each character, calling
2674 ; all the worker routines. It exits when the appropriate condition
2675 ; (ie, break or full) occurs.
2676
2677 ;CALL IS: No arguments
2678 ;
2679 ;TRUE RETURN: Always
2680
2681
2682 003042' 260 17 0 00 002654' TXTL: PUSHJ P,I%ION ;TURN ON INTERRUPTS IF OFF
2683 003043' 331 00 0 00 002646' SKIPL BCKFLG ;WAS BACKUP LIMIT REACHED?
2684 003044' 337 01 0 00 000050' SKIPG S1,RD+.RDDBC ;ANY ROOM FOR ANOTHER CHARACTER?
2685 003045' 254 00 0 00 003023' JRST FINTXT ;NO, RETURN WITH NO FLAGS SET
2686 003046' 205 01 0 00 004000 MOVX S1,RD%JFN ;GET THE "JFN PRESENT" BIT
2687 003047' 616 01 0 00 000045' TDNN S1,RD+.RDFLG ;SKIP IF SET
2688 JRST [ILDB C,RD+.RDFLG ;ELSE, GET A CHARACTER
2689 JUMPN C,TXTL.2 ;AND CONTINUE IF NOT NULL
2690 MOVX S1,RD%BTM ;LOAD "BREAK TERMINATOR" FLAG
2691 003050' 254 00 0 00 005013' JRST FINTXT] ;AND RETURN
2692 003051' 554 01 0 00 000046' HLRZ S1,RD+.RDIOJ ;GET PRIMARY INPUT JFN
2693 003052' 302 01 0 00 000100 CAXE S1,.PRIIN ;TERMINAL?
2694 003053' 254 00 0 00 003110' JRST TXTL.4 ;NO
2695
2696 003054' 332 00 0 00 002650' SKIPE CURESC ;ARE WE IN AN ESCAPE SEQUENCE?
2697 003055' 254 00 0 00 003122' JRST TXTL.5 ;YES, GET NEXT CHARACTER
2698 003056' 260 17 0 00 003134' PUSHJ P,TTYCHR ;NO,GET A CHARACTER
2699 003057' 306 16 0 00 000033 CAIN C,.CHESC ;IS IT AN ESCAPE?
2700 003060' 336 01 0 00 002647' SKIPN S1,UESCTB ;YES, HAS USER SETUP A TABLE?
2701 003061' 254 00 0 00 003073' JRST TXTL.2 ;NO, CONTINUE ON
2702 003062' 202 01 0 00 002650' MOVEM S1,CURESC ;SAVE AS CURRENT STATE
2703
2704 003063' 260 17 0 00 003134' TXTL.1: PUSHJ P,TTYCHR ;GET THE NEXT CHARACTER
2705 003064' 270 16 0 00 002650' ADD C,CURESC ;GET ADR OF TABLE ENTRY
2706 003065' 200 01 0 16 000000 MOVE S1,0(C) ;AND GET THE WORD
2707 003066' 202 01 0 00 002650' MOVEM S1,CURESC ;STORE AS CURRENT STATE
2708 JUMPE S1,[OUTCHR [.CHBEL] ;TYPE A BELL
2709 003067' 322 01 0 00 005017' JRST TXTL] ;AND LOOP AROUND
2710 003070' 607 01 0 00 777777 TLNN S1,-1 ;IS IT 0,,ADR?
2711 003071' 254 00 0 00 003063' JRST TXTL.1 ;YES, LOOP
2712 003072' 254 00 0 00 003042' JRST TXTL ;NO, A BP FINALLY
2713
2714
2715 ;TXTL IS CONTINUED ON THE FOLLOWING PAGE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 16
GKBD MAC 22-May-78 10:54 TXTL -- Loop for inputting text SEQ 0380
2716 ;CONTINUED FROM THE PREVIOUS PAGE
2717
2718 003073' 322 16 0 00 003042' TXTL.2: JUMPE C,TXTL ;IGNORE NULLS
2719
2720 003074' 260 17 0 00 003171' PUSHJ P,CONVRT ;CONVERT LOWER TO UPPER, ETC.
2721 003075' 260 17 0 00 003360' PUSHJ P,SPCHK ;SEE IF ITS A SPECIAL FUNCTION
2722 003076' 321 00 0 01 000000 JUMPT 0(S1) ;IF ITS SPECIAL, GO HANDLE IT
2723
2724 003077' 260 17 0 00 003146' PUSHJ P,STOC ;STORE THE CHARACTER
2725 003100' 260 17 0 00 002654' PUSHJ P,I%ION ;OK, SAFE TO BE INTERRUPTED
2726 003101' 356 00 0 00 002644' AOSN RUBFLG ;CLEAR RUBFLG, WAS IT UP?
2727 003102' 051 01 0 00 005021' OUTCHR [.CHBSL] ;YES, CLOSE THE RUBOUT SET
2728 003103' 260 17 0 00 003273' PUSHJ P,ECHO ;AND ECHO IT
2729 003104' 260 17 0 00 003314' TXTL.3: PUSHJ P,CBRK ;CHECK FOR A BREAK
2730 003105' 322 00 0 00 003042' JUMPF TXTL ;IF NOT, GET NEXT CHARACTER
2731 003106' 205 01 0 00 000040 MOVX S1,RD%BTM ;FLAG THAT BREAK ENDED INPUT
2732 003107' 254 00 0 00 003023' JRST FINTXT ;AND RETURN
2733
2734 003110' 260 17 0 00 000153' TXTL.4: PUSHJ P,F%IBYT ;GET NEXT CHARACTER FROM FILE
2735 JUMPF [CAXE S1,EREOF$
2736 JRST TXTL.6
2737 003111' 322 00 0 00 005022' $RETF]
2738 003112' 336 16 0 00 000002 SKIPN C,S2 ;NULL?
2739 003113' 254 00 0 00 003110' JRST TXTL.4 ;YES
2740 003114' 550 01 0 00 000046' HRRZ S1,RD+.RDIOJ
2741 003115' 306 01 0 00 000101 CAIN S1,.PRIOU ;OUTPUT TO TERMINAL ?
2742 003116' 260 17 0 00 003273' PUSHJ P,ECHO ;YES
2743 003117' 260 17 0 00 003171' PUSHJ P,CONVRT ;CONVERT CASING
2744 003120' 260 17 0 00 003146' PUSHJ P,STOC ;STORE
2745 003121' 254 00 0 00 003104' JRST TXTL.3 ;LOOP
2746
2747 003122' 134 16 0 00 002650' TXTL.5: ILDB C,CURESC ;GET THE CHARACTER
2748 003123' 336 00 0 00 000016 SKIPN C ;FINALLY HIT A NULL?
2749 003124' 402 00 0 00 002650' SETZM CURESC ;YES, CLEAR THE POINTER
2750 003125' 305 16 0 00 000200 CAIGE C,200 ;SPECIAL CHARACTER?
2751 003126' 254 00 0 00 003073' JRST TXTL.2 ;NO, HANDLE NORMALLY
2752 003127' 275 16 0 00 000200 SUBI C,200 ;MAKE SOMETHING OF IT
2753 003130' 051 01 0 00 000016 OUTCHR C ;OUTPUT IT
2754 003131' 254 00 0 00 003122' JRST TXTL.5 ;AND LOOP
2755
2756 003132' 260 17 0 00 003773' TXTL.6: $STOP(FSE,File System Error)
2757
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 17
GKBD MAC 22-May-78 10:54 TTYCHR -- Here to receive 1 character from the TTY SEQ 0381
2758 SUBTTL TTYCHR -- Here to receive 1 character from the TTY
2759
2760 ;TTYCHR is written to be interruptable until a character is typed.
2761 ; When a character is available, TTYCHR goes IOFF and returns
2762 ; the character in C WITH INTERRUPTS OFF so that input is not
2763 ; lost.
2764
2765 003134' 051 13 0 00 000000 TTYCHR: SKPINC ;SKIP IF A CHARACTER IS THERE
2766 003135' 334 00 0 00 000000 SKIPA ;NONE THERE YET, SLEEP
2767 003136' 254 00 0 00 003143' JRST TTYC.1 ;READY!!
2768 003137' 205 01 0 00 000010 MOVX S1,HB.RTC ;LOAD SOME HIBER BITS
2769 003140' 047 01 0 00 000072 HIBER S1, ;SLEEP
2770 003141' 255 00 0 00 000000 JFCL ;IGNORE IT
2771 003142' 254 00 0 00 003134' JRST TTYCHR ;AND LOOP FOR A CHARACTER
2772
2773 003143' 260 17 0 00 002655' TTYC.1: PUSHJ P,I%IOFF ;NEED NOT TO BE INTERRUPTED HERE
2774 003144' 051 00 0 00 000016 INCHRW C ;ASK FOR A CHARACTER
2775 003145' 254 00 0 00 003747' $RETT ;AND RETURN """IOFF"""
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 18
GKBD MAC 22-May-78 10:54 Utilities for text handling SEQ 0382
2776 SUBTTL Utilities for text handling
2777
2778 ; STOC - Store an input character
2779
2780 003146' 302 16 0 00 000015 STOC: CAIE C,.CHCRT ;IS THIS A CARRIAGE-RETURN?
2781 003147' 254 00 0 00 003152' JRST STOC.1 ;NO
2782 003150' 135 01 0 00 005033' LOAD S1,RD+.RDFLG,RD%CRF ;DO WE WANT TO SUPRESS IT?
2783 003151' 326 01 0 00 003747' JUMPN S1,.RETT ;YES,GIVE UP NOW
2784 003152' 136 16 0 00 000047' STOC.1: IDPB C,RD+.RDDBP ;STORE FOR POINTER
2785 003153' 370 00 0 00 000050' SOS RD+.RDDBC ;AND DECREMENT COUNT
2786 003154' 254 00 0 00 003747' $RETT ;THEN RETURN
2787
2788 ; USTOC - Unstore a character
2789
2790 003155' 336 01 0 00 000054' USTOC: SKIPN S1,RD+.RDBKL ;IS BACKUP LIMIT GIVEN?
2791 003156' 254 00 0 00 003161' JRST USTO.1 ;NO
2792 003157' 316 01 0 00 000047' CAMN S1,RD+.RDDBP ;AND ARE WE AT THE LIMIT?
2793 003160' 476 00 0 00 002646' SETOM BCKFLG ;REMEMBER THIS FOR LATER
2794 003161' 370 01 0 00 000047' USTO.1: SOS S1,RD+.RDDBP ;BACK OFF 5 BYTES
2795 003162' 201 02 0 00 000004 MOVEI S2,4 ;AND THEN GO FORWARD
2796 003163' 133 00 0 00 000001 IBP S1 ;BY INCREMENTING
2797 003164' 367 02 0 00 003163' SOJG S2,.-1 ;FOUR TIMES
2798 003165' 260 17 0 00 003241' PUSHJ P,MAKBP ;CONVERT IT
2799 003166' 202 01 0 00 000047' MOVEM S1,RD+.RDDBP ;AND RE-STORE IT
2800 003167' 350 00 0 00 000050' AOS RD+.RDDBC ;ONE MORE BYTE AVAILABLE
2801 003170' 254 00 0 00 003747' $RETT ;THEN RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 19
GKBD MAC 22-May-78 10:54 Utilities for text handling SEQ 0383
2802 ; CONVRT - Do case conversion as necessary
2803
2804 003171' 135 01 0 00 005034' CONVRT: LOAD S1,RD+.RDFLG,RD%RAI ;DOES CALLER WANT INPUT RAISED?
2805 003172' 302 16 0 00 000010 CAXE C,$C(H) ;OR IS THIS ^H?
2806 003173' 322 01 0 00 003747' JUMPE S1,.RETT ;IF NOT, RETURN NOW
2807 003174' 301 16 0 00 000141 CAIL C,"a" ;IS IT IN RANGE OF LC A
2808 003175' 303 16 0 00 000172 CAILE C,"z" ; TO LC Z?
2809 003176' 334 00 0 00 000000 SKIPA ;NO, DON'T CONVERT IT
2810 003177' 275 16 0 00 000040 SUBI C,"a"-"A" ;ELSE DO THE CONVERSION
2811 003200' 302 16 0 00 000010 CAXE C,$C(H) ;IF NOT ^H, THEN
2812 003201' 254 00 0 00 003747' $RETT ;RETURN
2813 003202' 260 17 0 00 003264' PUSHJ P,GETCOC ;GET CONTROL CODE
2814 003203' 306 01 0 00 000003 CAXN S1,3 ;IS "SIMULATE" ON?
2815 003204' 201 16 0 00 000177 MOVEI C,.CHDEL ;YES, CONVERT TO RUBOUT
2816 003205' 254 00 0 00 003747' $RETT ;THEN RETURN
2817
2818
2819 ; CONVBP - Convert default byte pointers
2820
2821 003206' 336 01 0 00 000047' CONVBP: SKIPN S1,RD+.RDDBP ;GET REQUIRED POINTER
2822 003207' 260 17 0 00 003773' $STOP(IBP,Illegal byte pointer in K%TXTI)
2823 003211' 260 17 0 00 003241' PUSHJ P,MAKBP ;CONVERT TO NORMAL
2824 003212' 202 01 0 00 000047' MOVEM S1,RD+.RDDBP ;STORE IT BACK
2825 003213' 336 01 0 00 000051' SKIPN S1,RD+.RDBFP ;GET INITIAL POINTER IF GIVEN
2826 003214' 200 01 0 00 000047' MOVE S1,RD+.RDDBP ;IF NOT, SET TO DESTINATION
2827 003215' 260 17 0 00 003241' PUSHJ P,MAKBP ;CONVERT
2828 003216' 202 01 0 00 002652' MOVEM S1,BGLINE ;STORE AS BEGINNING OF LINE
2829 003217' 202 01 0 00 002653' MOVEM S1,BGBUFR ;STORE AS BEGINNING OF BUFFER
2830 003220' 336 01 0 00 000054' SKIPN S1,RD+.RDBKL ;GET BACKUP LIMIT IF GIVEN
2831 003221' 254 00 0 00 003224' JRST COBP.1 ;NOT GIVEN, SKIP THIS
2832 003222' 260 17 0 00 003241' PUSHJ P,MAKBP ;CONVERT IT
2833 003223' 202 01 0 00 000054' MOVEM S1,RD+.RDBKL ;AND STORE IT BACK
2834 003224' 336 01 0 00 000052' COBP.1: SKIPN S1,RD+.RDRTY ;IS RE-TYPE PROMPT GIVEN?
2835 003225' 254 00 0 00 003747' $RETT ;NO
2836 003226' 260 17 0 00 003241' PUSHJ P,MAKBP ;CONVERT IT
2837 003227' 202 01 0 00 000052' MOVEM S1,RD+.RDRTY ;STORE IT BACK
2838 003230' 205 01 0 00 004000 MOVX S1,RD%JFN ;GET THE "JFN PRESENT" BIT
2839 003231' 612 01 0 00 000045' TDNE S1,RD+.RDFLG ;SKIP IF NOT SET
2840 003232' 254 00 0 00 003747' $RETT ;SET...NO BYTE-POINTER
2841 003233' 336 01 0 00 000046' SKIPN S1,RD+.RDIOJ ;GET THE BYTE POINTER
2842 003234' 260 17 0 00 003773' $STOP(IIP,Illegal Input Pointer)
2843 003236' 260 17 0 00 003241' PUSHJ P,MAKBP ;CONVERT THE BYTE POINTER
2844 003237' 202 01 0 00 000046' MOVEM S1,RD+.RDIOJ ;AND RE-STORE IT
2845 003240' 254 00 0 00 003747' $RETT ;RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 20
GKBD MAC 22-May-78 10:54 Utilities for text handling SEQ 0384
2846 ; MAKBP - Un-default a byte pointer
2847
2848 003241' 641 01 0 00 777777 MAKBP: TLC S1,-1 ;COMPLEMENT LH (BYTE POINTER PART)
2849 003242' 647 01 0 00 777777 TLCN S1,-1 ;CHANGE BACK , TEST FOR -1
2850 003243' 505 01 0 00 440700 HRLI S1,(POINT 7) ;IF DEFAULTED,CONVERT TO ASCII
2851 003244' 135 02 0 00 005055' LOAD S2,S1,BP.POS ;GET POSITION (BITS TO RIGHT)
2852 003245' 305 02 0 00 000007 CAIGE S2,7 ;ENOUGH FOR ANOTHER BYTE?
2853 JRST [ MOVEI S2,^D36 ;NO, MAKE IT ^D36 BITS TO
2854 STORE S2,S1,BP.POS ;THE RIGHT IN NEXT WORD
2855 003246' 254 00 0 00 005056' AOJA S1,.RETT] ;AND RETURN
2856 003247' 254 00 0 00 003747' $RETT ;THEN RETURN
2857
2858
2859
2860
2861 ; IMGSTR - Output a string as it was echoed
2862
2863 003250' 260 17 0 00 003733' IMGSTR: SAVE C ;SAVE CHARACTER REGISTER
2864 003251' 260 17 0 00 003617' PUSHJ P,.SAVE1 ;SAVE P1
2865 003252' 260 17 0 00 003241' PUSHJ P,MAKBP ;MAKE A BYTE POINTER
2866 003253' 200 07 0 00 000001 MOVE P1,S1 ;GET THE POINTER IN P1
2867 003254' 134 16 0 00 000007 IMGS.1: ILDB C,P1 ;GET A CHARACTER
2868 003255' 322 16 0 00 003750' JUMPE C,.POPJ ;RETURN ON NULL
2869 003256' 260 17 0 00 003273' PUSHJ P,ECHO ;RE-ECHO IT
2870 003257' 254 00 0 00 003254' JRST IMGS.1 ;LOOP FOR MORE
2871
2872
2873
2874 ; CLINE - Clear current video line
2875
2876 003260' 051 01 0 00 005061' CLINE: OUTCHR [.CHCRT] ;OUTPUT A CARRAIGE RETURN
2877 003261' 550 01 1 00 002643' HRRZ S1,@TRMPTR ;GET CONTROL CODE FOR ERASE
2878 003262' 051 03 1 01 000000 OUTSTR @.TCEOL(S1) ;TO END OF LINE
2879 003263' 254 00 0 00 003747' $RETT ;AND RETURN
2880
2881
2882 ; GETCOC - Fetch COC for a given character
2883
2884 003264' 200 01 0 00 000016 GETCOC: MOVE S1,C ;GET CHARACTER
2885 003265' 231 01 0 00 000022 IDIVI S1,^D18 ;2 BITS PER CHAR = 18 CHARS PER WORD
2886 003266' 200 01 0 01 002641' MOVE S1,COCTAB(S1) ;GET RIGHT WORD OF COC
2887 003267' 240 02 0 00 000001 ASH S2,1 ;TWO BITS NEEDED FOR ONE CHARACTER
2888 003270' 245 01 0 02 000002 ROTC S1,2(S2) ;POSITION COC AS BITS 34&5 OF S2
2889 003271' 135 01 0 00 005062' LDB S1,[POINT 2,S2,35] ;GET INTO S1 FOR RETURN
2890 003272' 254 00 0 00 003747' $RETT ;AND RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 21
GKBD MAC 22-May-78 10:54 Utilities for text handling SEQ 0385
2891 ; ECHO - HANDLE CHARACTER ECHOING
2892
2893 003273' 201 01 0 00 000001 ECHO: MOVX S1,RD%NEC ;GET NO ECHO BIT
2894 003274' 612 01 0 00 000045' TDNE S1,RD+.RDFLG ;TEST IT
2895 003275' 254 00 0 00 003747' $RETT ;RETURN IF SET
2896 003276' 301 16 0 00 000040 CAIL C," " ;IS THIS A PRINTABLE CHARACTER?
2897 003277' 254 00 0 00 003306' JRST ECHO.2 ;YES, JUST OUTPUT IT
2898 003300' 260 17 0 00 003264' PUSHJ P,GETCOC ;GET COC CODE FOR CHARACTER
2899 003301' 254 00 1 01 005063' JRST @[EXP .RETT,ECHO.1,ECHO.2,ECHO.3](S1) ;DISPATCH FOR HANDLING
2900
2901 ; SEND ^ (UP-ARROW) FOLLOWED BY PRINTABLE FORM OF CHARACTER
2902
2903 003302' 201 01 0 16 000100 ECHO.1: MOVEI S1,100(C) ;GET PRINTABLE FORM OF CHARACTER
2904 003303' 051 01 0 00 005067' OUTCHR ["^"] ;PRINT UP-ARROW
2905 003304' 051 01 0 00 000001 OUTCHR S1 ;AND THE CHARACTER
2906 003305' 254 00 0 00 003747' $RETT ;AND RETURN
2907
2908 ; SEND ACTUAL CODE FOR THIS CHARACTER (TRUE ECHO)
2909
2910 003306' 051 01 0 00 000016 ECHO.2: OUTCHR C ;PRINT IT
2911 003307' 254 00 0 00 003747' $RETT ;AND RETURN
2912
2913 ; SIMULATE ACTION FOR CHARACTER
2914
2915 003310' 302 16 0 00 000033 ECHO.3: CAXE C,.CHESC ;ONLY KNOW HOW TO SIMULATE ESCAPE (33)
2916 003311' 254 00 0 00 003306' JRST ECHO.2 ;SO IF NOT THAT, SEND ACTUAL CODE
2917 003312' 051 01 0 00 005070' OUTCHR ["$"] ;SIMULATE ESC WITH "$" (DOLLAR SIGN)
2918 003313' 254 00 0 00 003747' $RETT ;AND RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 22
GKBD MAC 22-May-78 10:54 Utilities for text handling SEQ 0386
2919 ; CBRK - Check to see if character is a break
2920
2921 003314' 336 00 0 00 000053' CBRK: SKIPN RD+.RDBRK ;IS A USER SUPPLIED BREAK TABLE PRESENT?
2922 003315' 254 00 0 00 003324' JRST CBRK.1 ;NO, GO TO NEXT SECTION
2923 003316' 200 01 0 00 000016 MOVE S1,C ;GET CODE FOR CHARACTER
2924 003317' 231 01 0 00 000040 IDIVI S1,^D32 ;32 CODES PER WORD
2925 003320' 270 01 0 00 000053' ADD S1,RD+.RDBRK ;GET RIGHT WORD OF TABLE
2926 003321' 200 01 0 01 000000 MOVE S1,0(S1) ;IE WORD 0-3
2927 003322' 242 01 0 02 000000 LSH S1,0(S2) ;POSITION RIGHT BIT TO SIGN BIT
2928 003323' 321 01 0 00 003747' JUMPL S1,.RETT ;TAKE THIS BREAK IF WANTED
2929
2930 003324' 205 01 0 00 777774 CBRK.1: MOVSI S1,-BTBLL ;GET BREAK TABLE LENGTH
2931
2932 003325' 510 02 0 01 003341' CBRK.2: HLLZ S2,BTBL(S1) ;GET ONLY FLAG PORTION
2933 003326' 616 02 0 00 000045' TDNN S2,RD+.RDFLG ;IS THIS BREAK SET FLAG ON?
2934 003327' 254 00 0 00 003337' JRST CBRK.4 ;NO, SKIP THIS TEST
2935 003330' 550 02 0 01 003341' HRRZ S2,BTBL(S1) ;NOW GET ADDRESS PORTION
2936 003331' 505 02 0 00 440700 HRLI S2,(POINT 7) ;FORM A BYTE POINTER
2937
2938 003332' 134 03 0 00 000002 CBRK.3: ILDB T1,S2 ;GET BYTE
2939 003333' 322 03 0 00 003337' JUMPE T1,CBRK.4 ;IF NULL, WE HAVE A NO MATCH
2940 003334' 316 03 0 00 000016 CAMN T1,C ;DOES THIS MATCH A BREAK CHARACTER?
2941 003335' 254 00 0 00 003747' $RETT ;YES, TAKE TRUE RETURN
2942 003336' 254 00 0 00 003332' JRST CBRK.3 ;LOOP FOR ALL
2943
2944 003337' 253 01 0 00 003325' CBRK.4: AOBJN S1,CBRK.2 ;STEP THROUGH ENTIRE TABLE
2945 003340' 254 00 0 00 003746' $RETF ;FINALLY, ITS NOT A BREAK
2946
2947
2948 ; FORMAT OF TABLE IS: FLGS,,[BYTE (7) CHR,CHR, WHICH ARE BREAK IF FLG IS SET]
2949
2950 003341' 400000 005071' BTBL: RD%BRK+[BYTE(7) $C(Z),.CHESC] ;^Z,$
2951 003342' 200000 005072' RD%TOP+[BYTE(7) $C(G),$C(L),$C(Z),.CHESC,.CHLFD,.CHCRT,0]
2952 003343' 100000 003345' RD%PUN+PUNTAB
2953 003344' 040000 005074' RD%BEL+[BYTE(7) .CHLFD,0]
2954
2955 000004 BTBLL==.-BTBL
2956
2957
2958 003345' PUNTAB: ;TABLE OF PUNCTUATION CHARACTERS
2959 003345' 040 041 042 043 044 0 BYTE (7) 40,41,42,43,44,45,46,47,50,51,52,53,54,55,56,57,34,35,36,37
2960 003346' 045 046 047 050 051 0
2961 003347' 052 053 054 055 056 0
2962 003350' 057 034 035 036 037 0
2963 003351' 072 073 074 075 076 0 BYTE (7) 72,73,74,75,76,77,100,133,134,135,136,137,140,173,174
2964 003352' 077 100 133 134 135 0
2965 003353' 136 137 140 173 174 0
2966 003354' 001 002 003 004 005 0 BYTE(7) $C(A),$C(B),$C(C),$C(D),$C(E),$C(F),$C(H),$C(I),$C(K),$C(N)
2967 003355' 006 010 011 013 016 0
2968 003356' 017 020 021 023 024 0 BYTE(7) $C(O),$C(P),$C(Q),$C(S),$C(T),175,176,$C(X),$C(Y),0
2969 003357' 175 176 030 031 000 0
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 23
GKBD MAC 22-May-78 10:54 SPCHK -- Check for special characters SEQ 0387
2970 SUBTTL SPCHK -- Check for special characters
2971
2972 ;SPCHK is called to detect special formatting and edit characters as they
2973 ; come in.
2974 ;
2975 ;CALL IS: C/ Character
2976 ;
2977 ;TRUE RETURN: S1/ Address of routine to call
2978 ;FALSE RETURN: Character was not special
2979
2980 003360' 205 01 0 00 777774 SPCHK: MOVSI S1,-SCTBLL ;GET LENGTH OF TABLE
2981
2982 003361' 554 02 0 01 003372' SPCH.1: HLRZ S2,SCTBL(S1) ;GET CHARACTER
2983 003362' 312 02 0 00 000016 CAME S2,C ;A MATCH?
2984 003363' 253 01 0 00 003361' AOBJN S1,SPCH.1 ;LOOP LOOKING FOR MATCH
2985 003364' 325 01 0 00 003746' JUMPGE S1,.RETF ;IF NO MATCH, RETURN FALSE
2986
2987 003365' 550 01 0 01 003372' HRRZ S1,SCTBL(S1) ;GET PROCESSOR ADDRESS
2988 003366' 135 02 0 00 005075' LOAD S2,RD+.RDFLG,RD%SUI ;GET ^U SUPRESS BIT
2989 003367' 306 01 0 00 000025 CAIN S1,$C(U) ;IF NOT CONTROL-U,
2990 003370' 326 02 0 00 003746' PJUMPN S2,.RETF ;IF A SUPPRESS ^U, RETURN FALSE
2991 003371' 254 00 0 00 003747' $RETT ;RETURN TRUE
2992
2993
2994 003372' 000177 003441' SCTBL: .CHDEL,,CCDEL ;DELETE (177)
2995 003373' 000025 003376' $C(U),,CCU ;^U
2996 003374' 000022 003421' $C(R),,CCR ;^R
2997 003375' 000027 003470' $C(W),,CCW ;^W
2998
2999 000004 SCTBLL==.-SCTBL
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 24
GKBD MAC 22-May-78 10:54 CCU -- Handle ^U (Rubout entire line) SEQ 0388
3000 SUBTTL CCU -- Handle ^U (Rubout entire line)
3001
3002 ;HERE TO PROCESS ^U (RESTART INPUT)
3003
3004 003376' 402 00 0 00 002644' CCU: SETZM RUBFLG ;CLEAR RUBOUT FLAG
3005 003377' 200 01 0 00 002652' MOVE S1,BGLINE ;GET BEGINNING POINTER
3006 003400' 316 01 0 00 000047' CAMN S1,RD+.RDDBP ;DOES CURRENT MATCH FIRST?
3007 003401' 254 00 0 00 003404' JRST CCU.1 ;YES, SO WE ARE AT FRONT
3008 003402' 260 17 0 00 003155' PUSHJ P,USTOC ;UNSTORE 1 CHARACTER
3009 003403' 254 00 0 00 003376' JRST CCU ;TRY AGAIN
3010
3011 003404' 550 01 1 00 002643' CCU.1: HRRZ S1,@TRMPTR ;GET CONTROL CODE PART
3012 003405' 326 01 0 00 003410' JUMPN S1,CCU.2 ;IF VIDEO, HANDLE IT THAT WAY
3013
3014 OUTSTR [ASCIZ/
3015 003406' 051 03 0 00 004030' /] ;GIVE A NEW LINE
3016 003407' 254 00 0 00 003411' JRST CCU.3 ;AND CONTINUE
3017
3018 003410' 260 17 0 00 003260' CCU.2: PUSHJ P,CLINE ;CLEAR THE LINE
3019
3020 003411' 261 17 0 00 000003 CCU.3: PUSH P,T1 ;SAVE T1
3021 003412' 332 03 0 00 000052' SKIPE T1,RD+.RDRTY ;IF A PROMPT WAS GIVEN,
3022 003413' 260 17 0 00 003516' PUSHJ P,TYPEBP ;RESEND THE PROMPT
3023 003414' 262 17 0 00 000003 POP P,T1 ;RESTORE T1
3024 003415' 135 01 0 00 005076' LOAD S1,RD+.RDFLG,RD%RND ;DOES USER WANT RETURN ON EMPTY?
3025 003416' 322 01 0 00 003042' JUMPE S1,TXTL ;NO, GO FOR MORE INPUT
3026 003417' 205 01 0 00 000020 MOVX S1,RD%BFE ;INDICATE BUFFER EMPTY
3027 003420' 254 00 0 00 003023' JRST FINTXT ;AND FINISH UP
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 25
GKBD MAC 22-May-78 10:54 CCR -- Handle ^R (Re-type the line) SEQ 0389
3028 SUBTTL CCR -- Handle ^R (Re-type the line)
3029
3030
3031 003421' 402 00 0 00 002644' CCR: SETZM RUBFLG ;CLEAR RUBOUT FLAG
3032 003422' 550 01 1 00 002643' HRRZ S1,@TRMPTR ;GET TERMINAL POINTER
3033 003423' 322 01 0 00 003426' JUMPE S1,CCR.1 ;IF NULL, ITS HARD COPY
3034 003424' 260 17 0 00 003260' PUSHJ P,CLINE ;CLEAR THE LINE
3035 003425' 334 00 0 00 000000 SKIPA ;AND DON'T GO TO NEXT ONE
3036 003426' CCR.1: OUTSTR [ASCIZ/
3037 003426' 051 03 0 00 004030' /] ;GET TO NEXT LINE
3038 003427' 261 17 0 00 000003 PUSH P,T1 ;SAVE T1
3039 003430' 332 03 0 00 000052' SKIPE T1,RD+.RDRTY ;IS RE-PROMPT GIVEN?
3040 003431' 260 17 0 00 003516' PUSHJ P,TYPEBP ;YES, OUTPUT IT
3041 003432' 200 01 0 00 000047' MOVE S1,RD+.RDDBP ;GET CURRENT BYTE POINTER
3042 003433' 201 02 0 00 000000 MOVEI S2,0 ;AND A NULL TO DEPOSIT
3043 003434' 136 02 0 00 000001 IDPB S2,S1 ;STORE AS ASCIZ TERMINATOR
3044 003435' 200 01 0 00 002652' MOVE S1,BGLINE ;GET POINTER TO LINE
3045 003436' 260 17 0 00 003250' PUSHJ P,IMGSTR ;OUTPUT AN STRING AS ECHOED
3046 003437' 262 17 0 00 000003 POP P,T1 ;RESTORE T1
3047 003440' 254 00 0 00 003042' JRST TXTL ;WHEN DONE, GET NEXT CHARACTER
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 26
GKBD MAC 22-May-78 10:54 CCDEL -- Handle Rubout (Delete one character) SEQ 0390
3048 SUBTTL CCDEL -- Handle Rubout (Delete one character)
3049
3050
3051 003441' 200 01 0 00 000047' CCDEL: MOVE S1,RD+.RDDBP ;GET CURRENT POINTER
3052 003442' 316 01 0 00 002653' CAMN S1,BGBUFR ;ARE WE BACK UP TO BEGINNING?
3053 003443' 254 00 0 00 003512' JRST BEGBUF ;YES, AT BEGINNING OF BUFFER
3054
3055 003444' 260 17 0 00 003155' PUSHJ P,USTOC ;UN-STORE A CHARACTER
3056 003445' 200 01 0 00 000047' MOVE S1,RD+.RDDBP ;GET CORRECTED POINTER
3057 003446' 134 16 0 00 000001 ILDB C,S1 ;THEN GET DELETED CHARACTER
3058
3059 003447' 550 01 1 00 002643' HRRZ S1,@TRMPTR ;GET POINTER TO CONTROL CODE
3060 003450' 326 01 0 00 003456' JUMPN S1,CCDL.1 ;IF THERE IS CODE,DO IT
3061
3062 003451' 331 00 0 00 002644' SKIPL RUBFLG ;WAS PREVIOUS CHAR A RUBOUT?
3063 003452' 051 01 0 00 005021' OUTCHR [.CHBSL] ;START RUBOUT SET WITH BACKSLASH
3064 003453' 476 00 0 00 002644' SETOM RUBFLG ;AND SET FLAG TO REMEMBER IT
3065 003454' 260 17 0 00 003273' PUSHJ P,ECHO ;ECHO THE CHARACTER
3066 003455' 254 00 0 00 003042' JRST TXTL ;THEN RETURN FOR NEXT CHARACTER
3067
3068 003456' 305 16 0 00 000040 CCDL.1: CAIGE C," " ;WAS DELETED CHARACTER PRINTING?
3069 003457' 254 00 0 00 003462' JRST CCDL.2 ;NO, NEED FURTHER ANALYSIS
3070 003460' 051 03 0 00 005077' OUTSTR [BYTE (7)10,40,10] ;OUTPUT BACKSPACE,SPACE,BACKSPACE
3071 003461' 254 00 0 00 003042' JRST TXTL ;THEN CONTINUE
3072
3073 003462' 260 17 0 00 003264' CCDL.2: PUSHJ P,GETCOC ;GET COC FOR THIS CHARACTER
3074 003463' 322 01 0 00 003042' JUMPE S1,TXTL ;IF CODE 0 , NOTHING THERE AT ALL
3075 003464' 302 01 0 00 000001 CAXE S1,1 ;IF ITS A ONE, JUST RUBOUT 2 CHARACTERS
3076 003465' 254 00 0 00 003421' JRST CCR ;ELSE FORCE A RETYPE OF THE LINE
3077 003466' 051 03 0 00 005100' OUTSTR [BYTE (7)10,10,40,40,10,10] ;OUTPUT BACK,BACK,SPACE,SPACE,BACK,BACK
3078 003467' 254 00 0 00 003042' JRST TXTL ;THEN GET NEXT INPUT
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 27
GKBD MAC 22-May-78 10:54 CCW -- Handle ^W (Delete back to punctuation character) SEQ 0391
3079 SUBTTL CCW -- Handle ^W (Delete back to punctuation character)
3080
3081
3082 003470' 402 00 0 00 002644' CCW: SETZM RUBFLG ;CLEAR RUBOUT FLAG
3083 003471' 200 01 0 00 000047' MOVE S1,RD+.RDDBP ;GET BYTE POINTER
3084 003472' 316 01 0 00 002652' CAMN S1,BGLINE ;IF AT THE BEGINNING, GO HANDLE IT
3085 003473' 254 00 0 00 003512' JRST BEGBUF ;BY RINGING OR RETURNING
3086
3087 003474' 260 17 0 00 003155' CCW.1: PUSHJ P,USTOC ;UN-STORE ONE CHARACTER
3088 003475' 200 01 0 00 000047' MOVE S1,RD+.RDDBP ;GET CORRECTED POINTER
3089 003476' 316 01 0 00 002652' CAMN S1,BGLINE ;ARE WE AT BEGINNING NOW?
3090 003477' 254 00 0 00 003511' JRST CCW.3 ;YES, THATS A PUNCTUATION ALL RIGHT
3091 003500' 275 01 0 00 000001 SUBI S1,1 ;GET CHAR PRECEDING THIS ONE
3092 003501' 201 02 0 00 000005 MOVEI S2,5 ;BY BACKING OFF AND INCREMENTING
3093 003502' 134 16 0 00 000001 ILDB C,S1 ;THE RIGHT NUMBER OF TIMES
3094 003503' 367 02 0 00 003502' SOJG S2,.-1 ;
3095 003504' 200 01 0 00 005102' MOVE S1,[POINT 7,PUNTAB] ;POINT TO PUNCTUATION TABLE
3096
3097 003505' 134 02 0 00 000001 CCW.2: ILDB S2,S1 ;GET A PUNCTUATION CHARACTER
3098 003506' 322 02 0 00 003474' JUMPE S2,CCW.1 ;IF AT END, DELETE ANOTHER CHARACTER
3099 003507' 312 02 0 00 000016 CAME S2,C ;IS NEXT CHAR A PUNCTUATION CHAR?
3100 003510' 254 00 0 00 003505' JRST CCW.2 ;NO, TRY NEXT IN LIST
3101
3102 003511' 254 00 0 00 003421' CCW.3: JRST CCR ;HAVE DELETED FAR ENOUGH, RETYPE LINE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 28
GKBD MAC 22-May-78 10:54 BEGBUF -- Handle rubouts to beginning of buffer SEQ 0392
3103 SUBTTL BEGBUF -- Handle rubouts to beginning of buffer
3104
3105 ;Here to handle deletion of characters till beginning of buffer.
3106 ; Either ring bell and wait, or return to caller.
3107
3108 003512' 135 01 0 00 005076' BEGBUF: LOAD S1,RD+.RDFLG,RD%RND ;GET FLAG FOR RETURN HERE
3109 JUMPN S1,[ MOVX S1,RD%BFE ;FLAG IS LIT, RETURN BUFFER EMPTRY NOW
3110 003513' 326 01 0 00 005103' JRST FINTXT ] ;TO CALLER
3111 003514' 051 01 0 00 004046' OUTCHR [.CHBEL] ;SEND "BELL" AND
3112 003515' 254 00 0 00 003042' JRST TXTL ;THEN RETURN FOR NEXT CHARACTER
3113
3114
3115
3116 SUBTTL TYPEBP -- Type a string according to a byte-pointer
3117
3118 ;Call with a byte-pointer in T1
3119
3120 003516' 554 01 0 00 000003 TYPEBP: HLRZ S1,T1 ;GET LEFT HALF OF POINTER
3121 003517' 306 01 0 00 777777 CAIN S1,-1 ;IS IT -1
3122 003520' 201 01 0 00 440700 MOVEI S1,(POINT 7,0) ;YES, MAKE IT STANDARD
3123 003521' 306 01 0 00 440700 CAIN S1,(POINT 7,0) ;WORD ALIGNED?
3124 003522' 254 00 0 00 003527' JRST TYPE.2 ;YES, DO AN OUTSTR
3125
3126 003523' 134 01 0 00 000003 TYPE.1: ILDB S1,T1 ;GET A CHARACTER
3127 003524' 322 01 0 00 003747' JUMPE S1,.RETT ;DONE ON A NULL
3128 003525' 051 01 0 00 000001 OUTCHR S1 ;TYPE IT
3129 003526' 254 00 0 00 003523' JRST TYPE.1 ;AND LOOP
3130
3131 003527' 051 03 0 03 000000 TYPE.2: OUTSTR 0(T1) ;TYPE THE STRING
3132 003530' 254 00 0 00 003747' $RETT ;AND RETURN
3133
3134 > ;END IFN FTUUOS FROM K%TXTI
3135
3136 003531' KBD%L: ;LABEL THE LITERAL POOL
3137
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 1
GCOM MAC 22-May-78 10:54 GLXCOM -- Common module for Sub-Systems Components SEQ 0393
3138 SUBTTL GLXCOM -- Common module for Sub-Systems Components
3139
3140 ; Entry points found in GLXCOM
3141
3142 ENTRY .INIT ;Initialize the common module
3143 ENTRY .ZPAGA ;Zero a page given its address in S1
3144 ENTRY .ZPAGN ;Zero a page given its page number in S1
3145 ENTRY .ZCHNK ;Zero an arbitrary area of memory
3146
3147 ENTRY .SAVE1 ;Co-routine to save P1
3148 ENTRY .SAVE2 ;Co-routine to save P1,P2
3149 ENTRY .SAVE3 ;Co-routine to save P1,P2,P3
3150 ENTRY .SAVE4 ;Co-routine to save P1,P2,P3,P4
3151 ENTRY .SAVET ;Co-routine to save T1,T2,T3,T4
3152 ENTRY .SV13 ;Co-routine to save 13 (use SAVE Macro)
3153 ENTRY .SV14 ;Co-routine to save 14 (use SAVE Macro)
3154 ENTRY .SV15 ;Co-routine to save 15 (use SAVE Macro)
3155 ENTRY .SV16 ;Co-routine to save 16 (use SAVE Macro)
3156
3157 ENTRY .RETT ;Set TF= TRUE and return
3158 ENTRY .RETF ;Set TF= FALSE and return
3159 ENTRY .RETE ;Set TF= FALSE, set S1=GLXLIB error code and return
3160
3161 ENTRY .AOS, .SOS , .ZERO ;Support for INCR, DECR AND ZERO
3162
3163 ENTRY .POPJ
3164
3165 ENTRY .STOP ;GLXLIB Central STOP CODE processor
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 2
GCOM MAC 22-May-78 10:54 Table of contents SEQ 0394
3166 SUBTTL Table of contents
3167
3168 ; TABLE OF CONTENTS FOR GLXCOM
3169 ;
3170 ;
3171 ; SECTION PAGE
3172 ; 1. Table of contents......................................... 2
3173 ; 2. Revision History.......................................... 3
3174 ; 3. Global Storage............................................ 4
3175 ; 4. .INIT - Initialize the common code....................... 5
3176 ; 5. .ZPAGA - .ZPAGN - .ZCHNK -- Zero out memory............. 6
3177 ; 6. .SAVEx Routines -- Save permanent ACS..................... 7
3178 ; 7. .SAVET -- Routine to save the temporary ACS............... 8
3179 ; 8. .SVxx -- Routines for saving random ACS................. 9
3180 ; 9. .POPJ, .RETE,.RETT & .RETF -- Common return routines...... 10
3181 ; 10. .AOS, .SOS and .ZERO - Support for INCR,DECR, ZERO........ 11
3182 ; 11. STOP CODE Processor....................................... 12
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 3
GCOM MAC 22-May-78 10:54 Revision History SEQ 0395
3183 SUBTTL Revision History
3184
3185 COMMENT \
3186
3187 Edit SPR/QAR Explanation
3188 ---- ------- -----------------------------------------------
3189 0001 First model
3190 0002 Create from SBSCOM
3191 0003 Convert to new OTS format
3192 0004 TOTALLY HACKED UP FOR DIAGNOSTICS
3193
3194
3195 End of Revision History
3196 \
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 4
GCOM MAC 22-May-78 10:54 Global Storage SEQ 0396
3197 SUBTTL Global Storage
3198
3199
3200 ; GLOBAL CRASH INFORMATION
3201
3202 003531' $$GDATA .SPC ;PC OF STOP
3203 003532' $$GDATA .SCODE ;SIXBIT CODE OF STOP CODE
3204 003533' $$GDATA .SERR ;LAST OPERATING SYSTEM ERROR (TOPS-20)
3205 003534' $$GDATA .SACS,20 ;ACS AT TIME OF STOP
3206 003554' $$GDATA .SPTBL ;BASE OF PAGE TABLE
3207 003555' $$GDATA .SPRGM ;NAME OF PROGRAM
3208 003556' $$GDATA .SPVER ;VERSION OF PROGRAM
3209 003557' $$GDATA .SPLIB ;VERSION OF THE OTS
3210
3211 003560' $$GDATA .LGERR ;LAST GALAXY ERROR PROCESSED VIA .RETE
3212 003561' $$GDATA .LGEPC ;PC (USUALLY) OF LAST $RETE
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 5
GCOM MAC 22-May-78 10:54 .INIT - Initialize the common code SEQ 0397
3213 SUBTTL .INIT - Initialize the common code
3214
3215 ;This code is set up for the stop code processor.
3216 ; Information is copied to the crash block from parameters
3217 ; not known at load time.
3218
3219 ;CALL IS: S1/ Length of the IB (Initialization Block)
3220 ; S2/ Address of the IB
3221
3222 003562' 200 01 0 02 000000 .INIT: MOVE S1,IB.PRG(S2) ;GET PROGRAM NAME
3223 003563' 202 01 0 00 003555' MOVEM S1,.SPRGM ;STORE FOR LATER
3224 003564' 200 01 0 02 000005 MOVE S1,IB.VER(S2) ;GET PROGRAM VERSION
3225 003565' 202 01 0 00 003556' MOVEM S1,.SPVER ;SAVE IT
3226 ; MOVEI S1,PAGTBL## ;GET ADDRESS OF PAGE TABLE
3227 ; MOVEM S1,.SPTBL ;STORE FOR LATER
3228 003566' 200 01 0 00 005105' MOVX S1,GLXVRS ;GET LIBRARY VERSION NUMBER
3229 003567' 202 01 0 00 003557' MOVEM S1,.SPLIB ;SAVE IT AWAY
3230 003570' 201 01 0 00 000005 MOVX S1,%%.GLX ;GET GLXLIB MAJOR CHANGE NUMBER
3231 003571' 312 01 0 02 000004 CAME S1,IB.PID(S2) ;DO WE MATCH CALLING PROGRAM?
3232 003572' 260 17 0 00 003773' $STOP(WVG,Wrong version of GLXLIB) ;APPARENTLY NOT
3233 003574' 254 00 0 00 003747' $RETT ;RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 6
GCOM MAC 22-May-78 10:54 .ZPAGA - .ZPAGN - .ZCHNK -- Zero out memory SEQ 0398
3234 SUBTTL .ZPAGA - .ZPAGN - .ZCHNK -- Zero out memory
3235
3236 ;ROUTINES TO COMPLETELY ZERO A PAGE OF MEMORY. .ZPAGA IS
3237 ; CALLED WITH THE ADDRESS OF THE FIRST WORD OF THE PAGE
3238 ; IN S1 AND .ZPAGN IS CALLED WITH THE PAGE NUMBER IN S1.
3239 ; .ZCHNK IS USED TO ZERO A CHUNK OF MEMORY
3240 ; SIZE IN S1 AND LOCATION S2
3241 ; ALL ACS ARE PRESERVED
3242
3243 003575' 261 17 0 00 000001 .ZPAGN: PUSH P,S1 ;SAVE PAGE NUMBER
3244 003576' 242 01 0 00 000011 PG2ADR S1 ;CONVERT PAGE NUMBER TO ADR
3245 003577' 334 00 0 00 000000 SKIPA ;DON'T SAVE S1 TWICE
3246
3247 003600' 261 17 0 00 000001 .ZPAGA: PUSH P,S1 ;SAVE S1
3248 003601' 261 17 0 00 000002 PUSH P,S2 ;AND S2
3249 003602' 200 02 0 00 000001 MOVE S2,S1 ;GET ADDRESS INTO S2
3250 003603' 201 01 0 00 001000 MOVX S1,PAGSIZ ;AND ONE PAGE SIZE INTO S1
3251 003604' 254 00 0 00 003607' PJRST ZCHN.1 ;JOIN COMMON CODE
3252
3253 003605' 261 17 0 00 000001 .ZCHNK: PUSH P,S1 ;SAVE CALLER'S SIZE
3254 003606' 261 17 0 00 000002 PUSH P,S2 ;AND ADDRESS
3255 003607' 271 01 0 02 000000 ZCHN.1: ADDI S1,0(S2) ;COMPUTE END ADDRESS
3256 003610' 402 00 0 02 000000 ZERO 0(S2) ;CLEAR FIRST WORD
3257 003611' 507 00 0 00 000002 HRLS S2 ;GET ADDR,,ADDR OF CHUNK
3258 003612' 350 00 0 00 000002 AOS S2 ;AND NOW ADDR,,ADDR+1
3259 003613' 251 02 0 01 777777 BLT S2,-1(S1) ;NOW CLEAR THE CHUNK
3260 003614' 262 17 0 00 000002 POP P,S2 ;RESTORE CALLER'S CHUNK ADDR
3261 003615' 262 17 0 00 000001 POP P,S1 ;AND HIS SIZE
3262 003616' 254 00 0 00 003747' $RETT ;AND RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 7
GCOM MAC 22-May-78 10:54 .SAVEx Routines -- Save permanent ACS SEQ 0399
3263 SUBTTL .SAVEx Routines -- Save permanent ACS
3264
3265 ;THESE ROUTINES ACT AS CO-ROUTINES WITH THE ROUTINES WHICH CALL THEM,
3266 ; THEREFORE NO CORRESPONDING "RESTORE" ROUTINES ARE NEEDED. WHEN
3267 ; THE CALLING ROUTINE RETURNS TO ITS CALLER, IT ACTUALLY RETURNS
3268 ; VIA THE RESTORE ROUTINES AUTOMATICALLY.
3269
3270 003617' 250 07 0 17 000000 .SAVE1: EXCH P1,(P) ;SAVE P1 GET CALLERS ADDRESS
3271 003620' 261 17 0 00 003623' PUSH P,.+3 ;SAVE RETURN ADDRESS FOR CALLER
3272 003621' 505 07 0 17 777777 HRLI P1,-1(P) ;MAKE IT LOOK LIKE RESULT OF JSA
3273 003622' 267 07 0 07 000000 JRA P1,(P1) ;CALL THE CALLER
3274 003623' 304 00 0 00 003623' CAIA . ;NON-SKIP RETURN
3275 003624' 350 00 0 17 777777 AOS -1(P) ;SKIP RETURN
3276 003625' 254 00 0 00 003663' JRST RES1 ;RESTORE P1
3277
3278 003626' 250 07 0 17 000000 .SAVE2: EXCH P1,(P) ;SAVE P1 GET CALLERS ADDRESS
3279 003627' 261 17 0 00 000010 PUSH P,P2 ;SAVE P2
3280 003630' 261 17 0 00 003633' PUSH P,.+3 ;SAVE RETURN ADDRESS
3281 003631' 505 07 0 17 777776 HRLI P1,-2(P) ;SETUP FOR THE JRA
3282 003632' 267 07 0 07 000000 JRA P1,(P1) ;CALL THE CALLER
3283 003633' 304 00 0 00 003633' CAIA . ;NON-SKIP RETURN
3284 003634' 350 00 0 17 777776 AOS -2(P) ;SKIP RETURN
3285 003635' 254 00 0 00 003662' JRST RES2 ;RESTORE P2,P1
3286
3287 003636' 250 07 0 17 000000 .SAVE3: EXCH P1,(P) ;SAVE P1 GET RETURN ADDRESS
3288 003637' 261 17 0 00 000010 PUSH P,P2 ;SAVE P2
3289 003640' 261 17 0 00 000011 PUSH P,P3 ;SAVE P3
3290 003641' 261 17 0 00 003644' PUSH P,.+3 ;SAVE RETURN ADDRESS
3291 003642' 505 07 0 17 777775 HRLI P1,-3(P) ;SETUP FOR JRA
3292 003643' 267 07 0 07 000000 JRA P1,(P1) ;AND CALL THE CALLER
3293 003644' 304 00 0 00 003644' CAIA . ;NON-SKIP
3294 003645' 350 00 0 17 777775 AOS -3(P) ;SKIP RETURN
3295 003646' 254 00 0 00 003661' JRST RES3 ;AND RESTORE P3,P2,P1
3296
3297 003647' 250 07 0 17 000000 .SAVE4: EXCH P1,(P) ;SAVE P1 GET RETURN ADDRESS
3298 003650' 261 17 0 00 000010 PUSH P,P2 ;SAVE P2
3299 003651' 261 17 0 00 000011 PUSH P,P3 ;SAVE P3
3300 003652' 261 17 0 00 000012 PUSH P,P4 ;SAVE P4
3301 003653' 261 17 0 00 003656' PUSH P,.+3 ;SAVE RETURN ADDRESS
3302 003654' 505 07 0 17 777774 HRLI P1,-4(P) ;SETUP FOR RETURN
3303 003655' 267 07 0 07 000000 JRA P1,(P1) ;AND RETURN
3304 003656' 304 00 0 00 003656' CAIA . ;NON-SKIP RETURN
3305 003657' 350 00 0 17 777774 AOS -4(P) ;SKIP RETURN
3306 003660' 262 17 0 00 000012 RES4: POP P,P4 ;RESTORE P4
3307 003661' 262 17 0 00 000011 RES3: POP P,P3 ;RESTORE P3
3308 003662' 262 17 0 00 000010 RES2: POP P,P2 ;RESTORE P2
3309 003663' 262 17 0 00 000007 RES1: POP P,P1 ;RESTORE P1
3310 003664' 263 17 0 00 000000 POPJ P, ;AND RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 8
GCOM MAC 22-May-78 10:54 .SAVET -- Routine to save the temporary ACS SEQ 0400
3311 SUBTTL .SAVET -- Routine to save the temporary ACS
3312
3313 003665' 250 03 0 17 000000 .SAVET: EXCH T1,(P) ;SAVE T1 AND GET RETURN ADDRESS
3314 003666' 261 17 0 00 000004 PUSH P,T2 ;SAVE T2
3315 003667' 261 17 0 00 000005 PUSH P,T3 ;SAVE T3
3316 003670' 261 17 0 00 000006 PUSH P,T4 ;SAVE T4
3317 003671' 261 17 0 00 003674' PUSH P,.+3 ;SAVE RETURN ADDRESS
3318 003672' 505 03 0 17 777774 HRLI T1,-4(P) ;SETUP FOR JRA
3319 003673' 267 03 0 03 000000 JRA T1,(T1) ;AND CALL THE CALLER
3320 003674' 304 00 0 00 003674' CAIA . ;RETURN HERE ON NON-SKIP
3321 003675' 350 00 0 17 777774 AOS -4(P) ;RETURN HERE ON SKIP
3322 003676' 262 17 0 00 000006 POP P,T4 ;RESTORE T4
3323 003677' 262 17 0 00 000005 POP P,T3 ;RESTORE T3
3324 003700' 262 17 0 00 000004 POP P,T2 ;RESTORE T2
3325 003701' 262 17 0 00 000003 POP P,T1 ;RESTORE T1
3326 003702' 263 17 0 00 000000 POPJ P, ;RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 9
GCOM MAC 22-May-78 10:54 .SVxx -- Routines for saving random ACS SEQ 0401
3327 SUBTTL .SVxx -- Routines for saving random ACS
3328
3329
3330 ; THESE ROUTINES ARE CALLED BY THE SAVE MACRO FOR ABSOLUTE AC'S
3331 ; 13,14,15, & 16. THE MACRO FIGURES OUT WHICH ONE
3332
3333 003703' 250 13 0 17 000000 .SV13: EXCH 13,(P) ;SAVE 13 GET CALLERS ADDRESS
3334 003704' 261 17 0 00 003707' PUSH P,.+3 ;SAVE RETURN ADDRESS FOR CALLER
3335 003705' 505 13 0 17 777777 HRLI 13,-1(P) ;MAKE IT LOOK LIKE RESULT OF JSA
3336 003706' 267 13 0 13 000000 JRA 13,(13) ;CALL THE CALLER
3337 003707' 304 00 0 00 003707' CAIA . ;NON-SKIP RETURN
3338 003710' 350 00 0 17 777777 AOS -1(P) ;SKIP RETURN
3339 003711' 262 17 0 00 000013 POP P,13 ;RESTORE 13
3340 003712' 263 17 0 00 000000 POPJ P, ;AND RETURN
3341
3342 003713' 250 14 0 17 000000 .SV14: EXCH 14,(P) ;SAVE 14 GET CALLERS ADDRESS
3343 003714' 261 17 0 00 003717' PUSH P,.+3 ;SAVE RETURN ADDRESS FOR CALLER
3344 003715' 505 14 0 17 777777 HRLI 14,-1(P) ;MAKE IT LOOK LIKE RESULT OF JSA
3345 003716' 267 14 0 14 000000 JRA 14,(14) ;CALL THE CALLER
3346 003717' 304 00 0 00 003717' CAIA . ;NON-SKIP RETURN
3347 003720' 350 00 0 17 777777 AOS -1(P) ;SKIP RETURN
3348 003721' 262 17 0 00 000014 POP P,14 ;RESTORE 14
3349 003722' 263 17 0 00 000000 POPJ P, ;AND RETURN
3350
3351 003723' 250 15 0 17 000000 .SV15: EXCH 15,(P) ;SAVE 15 GET CALLERS ADDRESS
3352 003724' 261 17 0 00 003727' PUSH P,.+3 ;SAVE RETURN ADDRESS FOR CALLER
3353 003725' 505 15 0 17 777777 HRLI 15,-1(P) ;MAKE IT LOOK LIKE RESULT OF JSA
3354 003726' 267 15 0 15 000000 JRA 15,(15) ;CALL THE CALLER
3355 003727' 304 00 0 00 003727' CAIA . ;NON-SKIP RETURN
3356 003730' 350 00 0 17 777777 AOS -1(P) ;SKIP RETURN
3357 003731' 262 17 0 00 000015 POP P,15 ;RESTORE 15
3358 003732' 263 17 0 00 000000 POPJ P, ;AND RETURN
3359
3360 003733' 250 16 0 17 000000 .SV16: EXCH 16,(P) ;SAVE 16 GET CALLERS ADDRESS
3361 003734' 261 17 0 00 003737' PUSH P,.+3 ;SAVE RETURN ADDRESS FOR CALLER
3362 003735' 505 16 0 17 777777 HRLI 16,-1(P) ;MAKE IT LOOK LIKE RESULT OF JSA
3363 003736' 267 16 0 16 000000 JRA 16,(16) ;CALL THE CALLER
3364 003737' 304 00 0 00 003737' CAIA . ;NON-SKIP RETURN
3365 003740' 350 00 0 17 777777 AOS -1(P) ;SKIP RETURN
3366 003741' 262 17 0 00 000016 POP P,16 ;RESTORE 16
3367 003742' 263 17 0 00 000000 POPJ P, ;AND RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 10
GCOM MAC 22-May-78 10:54 .POPJ, .RETE,.RETT & .RETF -- Common return routines SEQ 0402
3368 SUBTTL .POPJ, .RETE,.RETT & .RETF -- Common return routines
3369
3370
3371 ; $RETE calls .RETE to set up the last GALAXY error and location
3372 ; then set TF = FALSE and return.
3373
3374 003743' 552 00 0 00 003561' .RETE: HRRZM TF,.LGEPC ;CALLED VIA JSP TF, SO SET UP PC OF LAST ERROR
3375 003744' 550 01 1 00 003561' HRRZ S1,@.LGEPC ;NOW FETCH ERROR CODE
3376 003745' 202 01 0 00 003560' MOVEM S1,.LGERR ;AND REMEMBER IT
3377 ;FALL INTO .RETF
3378
3379 ; .RETT AND .RETF are called via the $RETT and $RETF macros and can also
3380 ; be called directly. They both set the value of TF, one to TRUE and the other
3381 ; to FALSE. After doing this, they return via a POPJ P,
3382
3383 ;The .POPJ routine can be jumped
3384 ; to get a return, without changing the value in the TF register
3385
3386 003746' 634 00 0 00 000000 .RETF: TDZA TF,TF ;CLEAR VALUE MEANS FALSE
3387 003747' 474 00 0 00 000000 .RETT: SETO TF, ;ALL ONES MEANS TRUE
3388 003750' 263 17 0 00 000000 .POPJ: POPJ P, ;RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 11
GCOM MAC 22-May-78 10:54 .AOS, .SOS and .ZERO - Support for INCR,DECR, ZERO SEQ 0403
3389 SUBTTL .AOS, .SOS and .ZERO - Support for INCR,DECR, ZERO
3390
3391 ; These routines are never used directly, but are available for the
3392 ; INCR, DECR and ZERO macros to use when the field is neither a fullword
3393 ; or either half word.
3394
3395 003751' 261 17 0 00 000000 .AOS: PUSH P,TF ;SAVE REGISTER WE WILL USE
3396 003752' 550 00 0 17 777777 HRRZ TF,-1(P) ;GET LOCATION OF JUMP [POINTR()]
3397 003753' 261 17 1 00 000000 PUSH P,@TF ;STORE IN ON THE STACK
3398 003754' 135 00 1 17 000000 LDB TF,@0(P) ;GET THE BYTE TO BE INCREASED
3399 003755' 344 00 0 00 003767' AOJA TF,ZERO.1 ;INCREASE IT AND RETURN
3400
3401 003756' 261 17 0 00 000000 .SOS: PUSH P,TF ;SAVE TF
3402 003757' 550 00 0 17 777777 HRRZ TF,-1(P) ;PICK UP LOCATION OF CALL
3403 003760' 261 17 1 00 000000 PUSH P,@TF ;SAVE ADDR OF POINTER ON STACK
3404 003761' 135 00 1 17 000000 LDB TF,@0(P) ;GET THE BYTE
3405 003762' 364 00 0 00 003767' SOJA TF,ZERO.1 ;DECREASE BY ONE AND RETURN
3406
3407
3408 003763' 261 17 0 00 000000 .ZERO: PUSH P,TF ;SAVE TF
3409 003764' 550 00 0 17 777777 HRRZ TF,-1(P) ;GET ADDR OF CALL
3410 003765' 261 17 1 00 000000 PUSH P,@TF ;SAVE ADDR OF POINTER ON THE STACK
3411 003766' 400 00 0 00 000000 SETZ TF, ;GET A ZERO BYTE
3412 003767' 137 00 1 17 000000 ZERO.1: DPB TF,@0(P) ;STORE IT BACK
3413 003770' 262 17 0 00 000000 POP P,TF ;CLEAR POINTER OF STACK
3414 003771' 262 17 0 00 000000 POP P,TF ;RESTORE TF
3415 003772' 263 17 0 00 000000 POPJ P, ;THEN RETURN
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 12
GCOM MAC 22-May-78 10:54 STOP CODE Processor SEQ 0404
3416 SUBTTL STOP CODE Processor
3417
3418 ; This routine handles the call caused by the $STOP Macro
3419
3420 003773' 202 00 0 00 003534' .STOP: MOVEM 0,.SACS ;STORE FIRST AC
3421 003774' 200 00 0 00 005115' MOVE 0,[XWD 1,.SACS+1] ;SET FOR THE REST
3422 003775' 251 00 0 00 003553' BLT 0,.SACS+17 ;STORE THEM ALL
3423 003776' 200 03 0 17 000000 MOVE T1,0(P) ;GET LOCATION CALLED FROM
3424 003777' 200 04 1 03 000000 MOVE T2,@0(T1) ;THEN GET POINTER WORD TO CODE
3425 004000' 512 04 0 00 003532' HLLZM T2,.SCODE ;STORE SIXBIT CODE
3426 004001' 201 05 1 03 000000 MOVEI T3,@0(T1) ;GET LOCATION THAT XWD FETCHED FROM
3427 004002' 271 05 0 00 000001 ADDI T3,1 ;THEN INCREMENT TO MODULE NAME
3428 004003' 201 03 0 03 777777 MOVEI T1,-1(T1) ;GET ACTUAL LOCATION OF 'PUSHJ P,.STOP'
3429 004004' 202 03 0 00 003531' MOVEM T1,.SPC ;REMEMBER IT
3430
3431 037740 000001 OPDEF PNTALF [37B8!17B12!1]
3432 037040 000002 OPDEF PNTSXF [37B8!1B12!2]
3433 037300 000001 OPDEF PNT6F [37B8!6B12!1]
3434 037040 004023' OPDEF PCRLF [37B8!1B12!CRLF]
3435 037040 000000 OPDEF PNTCIF [37B8!1B12!0]
3436
3437 MOVEI [ASCIZ/
3438 004005' 201 00 0 00 005116' ?STOP CODE - /]
3439 004006' 037 17 0 00 000001 PNTALF
3440 004007' 554 00 0 00 000004 HLRZ 0,T2
3441 004010' 037 01 0 00 000002 PNTSXF
3442 MOVEI [ASCIZ/
3443 004011' 201 00 0 00 005122' REASON: /]
3444 004012' 037 17 0 00 000001 PNTALF
3445 004013' 550 00 0 00 000004 HRRZ 0,T2
3446 004014' 037 17 0 00 000001 PNTALF
3447 MOVEI [ASCIZ/
3448 004015' 201 00 0 00 005125' ERROR PC = /]
3449 004016' 037 17 0 00 000001 PNTALF
3450 004017' 200 00 0 00 003531' MOVE .SPC
3451 004020' 037 06 0 00 000001 PNT6F
3452 004021' 037 01 0 00 004023' PCRLF
3453 004022' 047 00 0 00 000012 EXIT
3454 004023' CRLF: ASCIZ/
3455 004023' 015 012 000 000 000 /
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 13
GCOM MAC 22-May-78 10:54 STOP CODE Processor SEQ 0405
3456
3457 REPEAT 0,<
3458 SETOM TXTLVL## ;MAKE SURE TEXT WON'T STOP US
3459 $TEXT(T%TTY,<?Stop code - ^W/T2,LHMASK/ - in module ^W/0(T3)/ on ^H9/[-1]/ at ^C/[-
3460 1]/>)
3461 $TEXT(T%TTY,< Reason: ^T/0(T2)/>)
3462 $TEXT(T%TTY,< Program is ^W/.SPRGM/ Version ^V/.SPVER/ using GLXLIB Version ^V/.SP
3463 LIB/>)
3464 $TEXT(T%TTY,< Last GLXLIB error: ^O/.LGERR,RHMASK/ (^E/.LGERR/)>)
3465 IFN FTJSYS,<
3466 MOVX S1,.FHSLF ;FOR SELF,
3467 GETER ;LOOK UP MOST RECENT ERROR
3468 ERJMP .+1 ;IGNORE ANY ERRORS
3469 MOVEM S2,.SERR ;SAVE THE ERROR
3470 $TEXT(T%TTY,< Last TOPS-20 error: ^O/.SERR,RHMASK/ (^A>)
3471 MOVX S1,.PRIOU ;TO PRIMARY OUTPUT
3472 HRLI S2,.FHSLF ;SET FOR SELF
3473 SETZ T1, ;INFINITE BYTES
3474 ERSTR ;PRINT ERROR STRING
3475 JFCL ;
3476 JFCL ;TWO POSSIBLE ERROR RETURNS
3477 $TEXT(T%TTY,<) >)
3478 >
3479 HRRZ P1,DDTADR ;GET DDT'S ADDRESS
3480 JUMPE P1,STOP.1 ;IF NOT THERE, TYPE OUT ACS AND EXIT
3481 PUSH P,P1 ;SAVE IT ON THE STACK
3482 $TEXT(T%TTY,<^M^J Entering DDT (Crash block starts at loc ^O/[.SPC]/)>)
3483 MOVSI 16,.SACS ;RESTORE THE ACS
3484 BLT 16,16 ;TO THE USER
3485 POPJ P, ;GO ENTER DDT
3486
3487 STOP.1: $TEXT(T%TTY,<^M^JContents of the ACs (Crash block starts at location ^O/[.SPC]/)^M
3488 ^J>)
3489 MOVEI S1,0 ;START WITH AC 0
3490 STOP.2:$TEXT(T%TTY,< ^O2/S1//^O15/.SACS(S1)/^O15/.SACS+1(S1)/^O15/.SACS+2(S1)/^O15/.SACS+3(
3491 S1)/>)
3492 ADDI S1,4 ;STEP TO NEXT FOUR
3493 CAIE S1,20 ;LOOP FOR ALL ACS
3494 JRST STOP.2 ;
3495 $TEXT(T%TTY,<^M^JLast 9 Stack Locations:^M^J>)
3496 $TEXT(T%TTY,< -1(P)/^O15/-1(P)/ -2(P)/^O15/-2(P)/ -3(P)/^O15/-3(P)/>)
3497 $TEXT(T%TTY,< -4(P)/^O15/-4(P)/ -5(P)/^O15/-5(P)/ -6(P)/^O15/-6(P)/>)
3498 $TEXT(T%TTY,< -7(P)/^O15/-7(P)/ -8(P)/^O15/-8(P)/ -9(P)/^O15/-9(P)/>)
3499 PJRST I%EXIT ;EXIT FROM THE PROGRAM
3500 >
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page 14
GCOM MAC 22-May-78 10:54 STOP CODE Processor SEQ 0406
3501 004024' COM%L:
3502 END
NO ERRORS DETECTED
PROGRAM BREAK IS 005131
CPU TIME USED 00:31.191
52P CORE USED
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page S-1
GCOM MAC 22-May-78 10:54 SYMBOL TABLE SEQ 0407
ARGLOC 002645' CM%NOP 200000 000000 sin CMINI1 001265' CMSWF 200000 spd
ATBPTR 000056' CM%NOR 000002 sin CMINI2 001266' CMSWTM 000072 spd
ATBSIZ 000057' CM%PFE 010000 000000 sin CMINI3 001272' CMTAB 004405'
BCKFLG 002646' CM%RAI 004000 000000 sin CMINI4 001313' CMTAB1 001452'
BEGBUF 003512' CM%RPT 040000 000000 sin CMINI5 001322' CMTAB2 001460'
BGBUFR 002653' CM%SDH 000001 000000 sin CMKEY0 001346' CMTF1 002000 spd
BGLINE 002652' CM%SWT 020000 000000 sin CMNH 001772' CMTOK1 002341'
BIGSIZ 000111' CM%VRQ 400000 000000 sin CMNH10 001771' CMTOK2 002343'
BITS 000000' CM%XIF 002000 000000 sin CMNH8 001767' CMUQS1 002041'
BP.POS 770000 000000 spd CMAMB 001165' CMNOD 400000 000000 spd CMUSOU 001175'
BTBL 003341' CMAPC 001144' CMNOI1 001614' CMUSRF 100000 spd
BTBLL 000004 spd CMATFI 002062' CMNOI2 001617' COBP.1 003224'
C 000016 spd CMBOL 004000 spd CMNOI3 001624' COCTAB 002641'
C7TO6 002315' CMCBLF 000076' CMNOI4 001630' COM%L 004024'
CBRK 003314' CMCCM 000062' CMNUM1 001702' COMN1 000175'
CBRK.1 003324' CMCFF 020000 spd CMNUMH 001741' CONVBP 003206'
CBRK.2 003325' CMCFM0 001646' CMNUMR 001675' CONVRT 003171'
CBRK.3 003332' CMCHR 002437' CMNXT1 001510' CR.FLG 000000 spd
CBRK.4 003337' CMCIN 000765' CMNXTE 001472' CR.FNB 000002 spd
CCDEL 003441' CMCIN1 000777' CMQ1 001431' CR.RES 000001 spd
CCDL.1 003456' CMCIN2 001032' CMQ2 001434' CR.SIZ 000003 spd
CCDL.2 003462' CMCIN3 001056' CMQ3 001465' CRBLK 000103'
CCR 003421' CMCIN4 001067' CMQTCH 000042 spd CRLF 004023'
CCR.1 003426' CMCMT1 000310' CMQUE2 010000 spd CURESC 002650'
CCU 003376' CMCMT2 000307' CMQUES 400000 spd CURPOS 000114'
CCU.1 003404' CMCOM 000311' CMRAT1 000620' DBP 001136'
CCU.2 003410' CMCOM1 000041 spd CMRAT2 000621' DEVSP1 002237'
CCU.3 003411' CMCOM2 000073 spd CMRAT3 000641' DEVSUP 004024'
CCW 003470' CMCONC 000055 spd CMRATM 000571' DOHLP 001152'
CCW.1 003474' CMCOUT 001173' CMRATR 000643' ECHO 003273'
CCW.2 003505' CMCSAC 000066' CMRATT 000644' ECHO.1 003302'
CCW.3 003511' CMCSC 000075' CMRBRK 000064' ECHO.2 003306'
CFNTAB 000324' CMCSF 000065' CMRDOC 000010 spd ECHO.3 003310'
CFRAT1 000650' CMDCH 001110' CMRFIL 000577' EOLBRK 000611'
CFRAT2 000651' CMDEFC 000043 spd CMRFLD 000615' EREOF$ 000001 spd
CFRAT3 000671' CMDEFF 040000 spd CMRQS1 000725' EXIT 047000 000012
CFRATR 000673' CMDEV1 002011' CMRQS2 000740' EXTSP1 002223'
CFRATT 000674' CMDEVH 002026' CMRQST 000716' EXTSUP 002215'
CFRFLD 000645' CMDIB 001130' CMRSET 000357' F 000014 spd
CHKAB1 001243' CMDIBQ 001131' CMRSP1 000701' F%IBYT 000153'
CHKABP 001240' CMDIP 001116' CMRSPC 000676' F%IOPN 000155'
CHKBP 001252' CMDIRH 002376' CMRSTR 000675' F%REL 000157'
CHKLCH 000754' CMFH1 002336' CMRTY1 000470' FB.BSZ 000077 spd
CHKTBS 002455' CMFHLP 002322' CMRTY2 000472' FB.LSN 000200 spd
CLINE 003260' CMFLD1 002052' CMRTY3 000473' FD.LEN 777777 spd
CM%DPP 000002 000000 sin CMFREC 000006 spd CMRTY4 000477' FDXSIZ 000012 spd
CM%EOC 100000 000000 sin CMGT.1 001573' CMRTY5 000500' FILBRK 000601'
CM%ESC 400000 000000 sin CMGTLN 001572' CMRTY6 000505' FILI.1 002121'
CM%FFL 000777 000000 sin CMHLPC 000077 spd CMRTY7 000506' FILI.2 002137'
CM%FNC 777000 000000 sin CMIND 000512' CMRTYP 000450' FILI.3 002154'
CM%GJB 777777 sin CMIND1 000541' CMSKSP 001072' FILI.4 002170'
CM%HPP 000004 000000 sin CMIND2 000555' CMSO.1 001203' FILIN 002101'
CM%INV 000001 sin CMINDC 000100 spd CMSO.2 001207' FINT.1 003033'
CM%LST 777777 sin CMINDE 000562' CMSOUT 001175' FINTXT 003023'
CM%NJF 000020 000000 sin CMINDF 001000 spd CMSWCH 000057 spd FLDBRK 000573'
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page S-2
GCOM MAC 22-May-78 10:54 SYMBOL TABLE SEQ 0408
FNARG 000061' NPXAMB 000011 spd RD%NEC 000001 spd STRG 000100'
FOB.CW 000001 spd NPXCMA 000013 spd RD%PUN 100000 000000 spd STYP.2 002720'
FOB.FD 000000 spd NPXICN 000006 spd RD%RAI 000200 000000 spd SUBBP 001077'
FTJSYS 000000 sin NPXIDT 000007 spd RD%RND 010000 000000 spd T1 000003 spd
FTOK.1 002301' NPXINW 000004 spd RD%SUI 000100 000000 spd T2 000004 spd
FTOKEN 002277' NPXNC 000005 spd RD%TOP 200000 000000 spd T3 000005 spd
FTUUOS 777777 777777 sin NPXNMT 000012 spd REMSTR 000101' T4 000006 spd
GETCOC 003264' NPXNNC 000014 spd RES1 003663' TABDON 000106'
GETIT 262740 000000 NPXNNI 000015 spd RES2 003662' TABLK0 002541'
GJ%OLD 100000 000000 NPXNOM 000002 spd RES3 003661' TABLK1 002561'
GLXVRS 000100 000027 spd NPXNQS 000010 spd RES4 003660' TABLK2 002600'
GO 260740 000000 NPXNSN 000016 spd RTN 263740 000000 TABLK3 002564'
HB.RTC 000010 000000 spd NPXNSW 000001 spd RUBFLG 002644' TABLKA 002557'
HIBER 047000 000072 NPXNUL 000003 spd S%CMND 000146' ent TABLKF 002546'
I%IOFF 002655' NUMBRK 001704' S%ERR 000140' ent TABLKM 002555'
I%ION 002654' NUMI.1 001732' S%INIT 000133' ent TABLKN 002623'
IB.PID 000004 spd NUMIN 001714' S%SCMP 002463' ent TABLKX 002556'
IB.PRG 000000 spd NUXBRK 001710' S%TBLK 002516' ent TABSIZ 000107'
IB.VER 000005 spd OPEN 050000 000000 S..ABS 000750' int TBA 000077'
IFOB 000116' OUTCHR 051040 000000 S..BDS 004116' int TBLK2A 002613'
IIFN 000117' OUTSTR 051140 000000 S..BFC 000241' int TBLKN1 002633'
IMGS.1 003254' P 000017 spd S..BTF 004752' int TF 000000 spd
IMGSTR 003250' P1 000007 spd S..COT 002657' int TI 000120'
INCHRW 051000 000000 P2 000010 spd S..DPP 002271' int TIELCH 000757'
INILCH 000742' P3 000011 spd S..FSE 003132' int TL%ABR 100000 000000 spd
IO.LEM 000100 spd P4 000012 spd S..FSO 000155' int TL%AMB 200000 000000 spd
IO.SUP 000200 spd P5 000013 spd S..FSR 000157' int TL%EXM 040000 000000 spd
IO.TEC 000400 spd PAGSIZ 001000 spd S..IBN 001750' int TL%NOM 400000 000000 spd
IONDX. 047000 000127 PCALL 000055' S..IBP 003207' int TRMOP. 047000 000116
JUMPF 322000 000000 PCRLF 037040 004023' S..IIP 003234' int TRMPTR 002643'
JUMPT 321000 000000 PJRST 254000 000000 spd S..NNS 002200' int TRMTYP 002651'
K%INIT 002656' ent PJUMPN 326000 000000 spd S..NOD 002060' int TRMUDX 000131'
K%RCOC 002674' ent PNT6F 037300 000001 S..SDT 001774' int TTSET 002753'
K%STYP 002715' ent PNTALF 037740 000001 S..SFP 001662' int TTTAB 002741'
K%SUET 002700' ent PNTCIF 037040 000000 S..TMT 001033' int TTTABL 000012 spd
K%TXTI 003001' ent PNTSXF 037040 000002 S..TNO 003002' int TTYC.1 003143'
K%WCOC 002676' ent PPNBRK 002355' S..TRI 001311' int TTYCHR 003134'
KBD%L 003531' PPNIN 002405' S..WVG 003572' int TTYFLG 002640'
KEY1 001531' PPNSP1 002256' S1 000001 spd TXTL 003042'
KEY2 001533' PPNSUP 004025' S2 000002 spd TXTL.1 003063'
KEY3 001544' PUNTAB 003345' SC%GTR 100000 000000 spd TXTL.2 003073'
KEY4 001545' PUT 261740 000000 SC%LSS 400000 000000 spd TXTL.3 003104'
KEYSIZ 000112' PWIDTH 000113' SC%SUB 200000 000000 spd TXTL.4 003110'
KEYTAB 001514' Q1 000015 spd SCN%L 002640' TXTL.5 003122'
KEYW1 001346' Q2 000016 spd SCTBL 003372' TXTL.6 003132'
KEYW2 001371' Q3SAVE 000115' SCTBLL 000004 spd TYPE.1 003523'
KEYW3 001377' RD 000044' SETVT5 002765' TYPE.2 003527'
KEYW4 001412' RD%BBG 001000 000000 spd SKPINC 051540 000000 TYPEBP 003516'
LSTERR 000110' RD%BEL 040000 000000 spd SPCH.1 003361' TYPTAB 001551'
MAKBP 003241' RD%BFE 000020 000000 spd SPCHK 003360' TYPTB1 001554'
MAXCFN 000027 spd RD%BLR 000010 000000 spd STKFEN 000060' TYPTB2 001564'
NAMSP1 002176' RD%BRK 400000 000000 spd STOC 003146' UESCTB 002647'
NODSIX 000132' RD%BTM 000040 000000 spd STOC.1 003152' USRBRK 000605'
NOIBCH 000050 spd RD%CRF 020000 000000 spd STOLCH 000747' USTCMP 002476' int
NOIECH 000051 spd RD%JFN 004000 000000 spd STRC2 002511' USTO.1 003161'
GSCN -- Command Scanner Interface for DIAGNOSTICS MACRO %53(1020) 10:54 19-Feb-79 Page S-3
GCOM MAC 22-May-78 10:54 SYMBOL TABLE SEQ 0409
USTOC 003155' %%.GLX 000005 spd .LGERR 003560'
XCMACT 002055' ..T 000000 spd .POPJ 003750' ent
XCMCFM 001643' .AOS 003751' ent .PRIIN 000100
XCMCMA 002435' .CHBEL 000007 spd .PRIOU 000101
XCMDEV 001777' .CHBSL 000134 spd .RDBFP 000005 spd
XCMDIR 002361' .CHCRT 000015 spd .RDBKL 000010 spd
XCMFIL 002064' .CHDEL 000177 spd .RDBRK 000007 spd
XCMFLD 002051' .CHESC 000033 spd .RDCWB 000000 spd
XCMFLT 001662' .CHLFD 000012 spd .RDDBC 000004 spd
XCMIFI 002064' .CHTAB 000011 spd .RDDBP 000003 spd
XCMINI 001260' .CMABC 000010 sin .RDFLG 000001 spd
XCMKEY 001345' .CMABP 000007 sin .RDIOJ 000002 spd
XCMNOD 002060' .CMACT 000025 sin .RDRTY 000006 spd
XCMNOI 001607' .CMBFP 000003 sin .RDSIZ 000011 spd
XCMNUM 001665' .CMCFM 000010 spd .RETE 003743' ent
XCMNUX 001664' .CMCMA 000013 sin .RETF 003746' ent
XCMOFI 002064' .CMCNT 000005 sin .RETT 003747' ent
XCMQST 002033' .CMDAT 000001 sin .S%CMN 000161'
XCMSWI 001331' .CMDEF 000003 sin .SACS 003534'
XCMTAD 001774' .CMDEV 000016 sin .SAVE1 003617' ent
XCMTOK 002340' .CMDIR 000011 sin .SAVE2 003626' ent
XCMTXT 001602' .CMFIL 000006 sin .SAVE3 003636' ent
XCMUQS 002041' .CMFLD 000007 sin .SAVE4 003647' ent
XCMUSR 002361' .CMFLG 000000 sin .SAVET 003665' ent
XCOM1 000226' .CMFLT 000015 sin .SCODE 003532'
XCOM2 000266' .CMFNP 000000 sin .SERR 003533'
XCOM3 000267' .CMGJB 000011 sin .SOS 003756' ent
XCOM4 000271' .CMHLP 000002 sin .SPC 003531'
XCOM5 000274' .CMIFI 000004 sin .SPLIB 003557'
XCOM6 000301' .CMINC 000006 sin .SPRGM 003555'
XCOMEO 000464' .CMINI 000014 sin .SPTBL 003554'
XCOMN0 000222' .CMIOJ 000001 sin .SPVER 003556'
XCOMND 000176' int .CMKEY 000000 sin .STOP 003773' ent
XCOMNE 000435' .CMNOD 000026 sin .SV13 003703' ent
XCOMNP 000436' .CMNOI 000002 sin .SV14 003713' ent
XCOMRF 000353' .CMNUM 000001 sin .SV15 003723' ent
XCOMRP 000375' .CMNUX 000024 sin .SV16 003733' ent
XCOMX1 000417' .CMOFI 000005 sin .TCEOL 000000 spd
XCOMX2 000422' .CMPTR 000004 sin .TOLCT 001003 spd
XCOMXI 000410' .CMQST 000021 sin .TOSET 001000 spd
XCOMXL 000364' .CMRTY 000002 sin .TOTYP 000021 spd
XCOMXR 000406' .CMSWI 000003 sin .TOWID 001012 spd
XMCOUT 001211' .CMTAD 000020 sin .TT33 000000 spd
XMCS.1 001230' .CMTOK 000023 sin .TT35 000001 spd
XMCS.2 001236' .CMTXT 000017 sin .TT37 000002 spd
XMCSPC 001225' .CMUQS 000022 sin .TTEXE 000003 spd
XMSO.1 001220' .CMUSR 000012 sin .TTL30 000012 spd
XMSOUT 001215' .FDEXT 000005 .TTL36 000014 spd
XTLOK0 002525' .FDLEN 000000 spd .TTV05 000010 spd
XTLOOK 002523' int .FDNAM 000004 .TTV50 000011 spd
XX 000044 spd .FDPPN 000003 .TTV52 000015 spd
XXXPTR 000102' .FDSTR 000002 .ZCHNK 003605' ent
ZCHN.1 003607' .INIT 003562' ent .ZERO 003763' ent
ZERO.1 003767' .IOASC 000000 spd .ZPAGA 003600' ent
$CCLIN 000153' ext .LGEPC 003561' .ZPAGN 003575' ent
ARGLOC 2378# 2632 2638 2639 2662
ATBPTR 139# 822 831 845 1181 1503 1793 2038 SEQ 0410
ATBSIZ 140# 824 829 837 842
BCKFLG 2379# 2645 2654 2683 2793
BEGBUF 3053 3085 3108#
BGBUFR 2385# 2829 3052
BGLINE 2384# 2828 3005 3044 3084 3089
BIGSIZ 157# 1285 1344
BITS 131# 720 754 1691
BP.POS 1961 2851 2854
BTBL 2932 2935 2950# 2955
BTBLL 2930 2955#
C 88# 2360# 2633 2688 2689 2699 2705 2706 2718 2738 2747 2748 2750 2752
2753 2774 2780 2784 2805 2807 2808 2810 2811 2815 2863 2867 2868 2884
2896 2903 2910 2915 2923 2940 2983 3057 3068 3093 3099
C7TO6 1953 1965#
CBRK 2729 2921#
CBRK.1 2922 2930#
CBRK.2 2932# 2944
CBRK.3 2938# 2942
CBRK.4 2934 2939 2944#
CCDEL 2994 3051#
CCDL.1 3060 3068#
CCDL.2 3069 3073#
CCR 2996 3031# 3076 3102
CCR.1 3033 3036#
CCU 2995 3004# 3009
CCU.1 3007 3011#
CCU.2 3012 3018#
CCU.3 3016 3020#
CCW 2997 3082#
CCW.1 3087# 3098
CCW.2 3097# 3100
CCW.3 3090 3102#
CFNTAB 348 388 440# 465
CFRAT1 738# 746 759
CFRAT2 739#
CFRAT3 758#
CFRATR 748 757 761#
CFRATT 737 741 745 751 762#
CFRFLD 672 735#
CHKAB1 1102# 1108
CHKABP 314 1099#
CHKBP 397 1106 1113# 1407
CHKLCH 401 704 710 744 786 836# 1237
CHKTBS 1303 1315 2112# 2217 2222 2243 2259 2267
CLINE 2876# 3018 3034
CM%DPP 340 373 392
CM%EOC 333 866
CM%ESC 320 333 407 413 511 513 517 860 863 973 1026 1209 1218 1411
1644 1657 1868 1885 1891 1913 1933 2031
CM%FFL 336 337 527
CM%FNC 344 370 387
CM%GJB 611 612 1805 1806 1983 1984
CM%HPP 1015 SEQ 0411
CM%INV 1304
CM%LST 543 544 552 553
CM%NJF 874
CM%NOP 333 546 564 609 650
CM%NOR 1304 2223 2268
CM%PFE 319 321 1409
CM%RAI 876
CM%RPT 301 333 486 499
CM%SDH 1265 1401 1454 1555 1666 1683 1978 2007 2045 2095
CM%SWT 333 1219 1234 1245
CM%VRQ 1229 1249
CM%XIF 365
CMAMB 429 706 781 1026# 1177 1206 1459 1646 2003 2032 2091
CMAPC 1002#
CMATFI 602 1778#
CMBOL 224# 333 335 375
CMCBLF 148# 870 905
CMCCM 143# 323 524
CMCFF 222# 333 405 515 860 973
CMCFM0 604 1443 1447# 1450 1460
CMCHR 2082# 2085 2092
CMCIN 353 355 358 421 423 701 738 775 798 804 809 854# 856 937
1174 1243 1424 1428 1447 1647 1689 1997 2082
CMCIN1 470 855 869#
CMCIN2 896# 915
CMCIN3 911 914 917#
CMCIN4 904 918 931#
CMCMT1 363 420#
CMCMT2 361 419#
CMCOM 421# 425 430 436
CMCOM1 237# 362
CMCOM2 238# 360
CMCONC 244# 354 422
CMCOUT 557 581 587 595 983 1018 1030 1037# 1135 2009 2013 2097 2099 2101
CMCSAC 146# 871 872 921 931
CMCSC 147# 887 919
CMCSF 145# 869 924 932
CMDCH 394 512 961# 1028 1213 1431
CMDEFC 239#
CMDEFF 221# 333 399 699 736 773 796 1172
CMDEV1 1650#
CMDEVH 1642 1664#
CMDIB 414 519 983# 1216 1233 1413 1415 1418 1661
CMDIBQ 409 637 642 984#
CMDIP 369 386 432 727 761 806 812 941 970# 1187 1221 1247 1426 1695
CMDIRH 2030 2044#
CMFH1 1976 1988#
CMFHLP 1788 1973#
CMFLD1 1701# 1709
CMFREC 240# 324 382 427 702 739 780 859 913 971 1175 1429 1457 2001
2089
CMGT.1 1384# 1386
CMGTLN 1280 1324 1383# SEQ 0412
CMHLPC 236# 715 749 776 799 912 1179 1451 2005 2093
CMIND 366 599#
CMIND1 627# 632 638
CMIND2 629 639#
CMINDC 241# 364
CMINDE 603 624 645#
CMINDF 226# 333 1779 1797 1974 1975
CMINI1 1131#
CMINI2 1132# 1136
CMINI3 1133 1137#
CMINI4 1128 1138 1141 1153#
CMINI5 1144 1161#
CMKEY0 1173 1189 1193#
CMNH 1577 1580#
CMNH10 1563 1579#
CMNH8 1565 1576#
CMNOD 230# 349 443 453 459
CMNOI1 1411#
CMNOI2 1414# 1416 1432
CMNOI3 1410 1423#
CMNOI4 1428# 1435
CMNUM1 1501 1508#
CMNUMH 1497 1554#
CMNUMR 1502#
CMNXT1 1309 1314#
CMNXTE 1278 1290 1299# 1306
CMQ1 1199 1256#
CMQ2 1185 1263#
CMQ3 1290# 1294
CMQTCH 243# 802 807 810
CMQUE2 223# 554 560 599 600 1013 1262
CMQUES 218# 538 554 560 716 750 777 800 1198 1399 1496 1640 1681 1701
1786 2029
CMRAT1 701# 707 712 725
CMRAT2 702#
CMRAT3 724#
CMRATM 660# 1194 1639 1700
CMRATR 714 723 727# 790
CMRATT 700 705 711 717 728# 788
CMRBRK 144# 698 721 735 755
CMRDOC 242# 325 630 1143
CMRFIL 671# 1785
CMRFLD 661 698# 1495 1708 2028
CMRQS1 804# 817
CMRQS2 808 811 816#
CMRQST 796# 1675
CMRSET 357 377 410 469 476# 541 551 626
CMRSP1 775# 782 787 792
CMRSPC 772#
CMRSTR 767# 1394
CMRTY1 379 493 561 571# 1166
CMRTY2 577#
CMRTY3 578# 582 SEQ 0413
CMRTY4 579 583#
CMRTY5 584# 588
CMRTY6 585 590#
CMRTY7 591# 596
CMRTYP 540 551# 1262 1266 1291 1401 1456 1557 1574 1581 1635 1668 1683 1703
1980 1989 2007 2014 2047 2050 2095 2102
CMSKSP 825 937# 940 1242 1423
CMSO.1 1052# 1055
CMSO.2 1050 1057#
CMSOUT 576 608 1014 1046# 1130 1165 1262 1272 1401 1455 1567 1580 1667 1683
1988 2049
CMSWCH 234# 1186 1353
CMSWF 219# 1171 1192 1220 1225 1239 1354 1387
CMSWTM 235# 1217 1232 1244
CMTAB 1340# 1343 1362
CMTAB1 1278# 1283
CMTAB2 1279 1284#
CMTF1 225# 767 772 785
CMTOK1 1994# 2000
CMTOK2 1997# 2004
CMUQS1 1689# 1694
CMUSOU 1021 1045# 2011
CMUSRF 220#
COBP.1 2831 2834#
COCTAB 2375# 2448 2472 2886
COM%L 3501#
COMN1 300 303#
CONVBP 2643 2821#
CONVRT 2720 2743 2804#
CR.FLG 277 529 530
CR.FNB 279 526
CR.RES 278 1208 1502 1506 1656 1806 2037
CR.SIZ 153 531
CRBLK 153# 277 278 279 526 529 530 532 565 1208 1502 1506 1656 1806
2037
CRLF 3434 3454#
CURESC 2381# 2425 2497 2696 2702 2705 2707 2747 2749
CURPOS 160# 1087 1091 1093 1273 1339 1350 1361 1364 1372
DBP 962 975 992# 1118 1824 1850
DEVSP1 1833 1906#
DEVSUP 1802# 1802 1816 1832
DOHLP 1011# 1264 1401 1452 1554 1664 1683 1702 1977 2006 2044 2094
ECHO 2728 2742 2869 2893# 3065
ECHO.1 2899 2903#
ECHO.2 2897 2899 2910# 2916
ECHO.3 2899 2915#
EOLBRK 688#
EREOF$ 900 2735
EXTSP1 1843 1887 1890#
EXTSUP 1840 1883#
F 90# 297 301 318 319 320 321 333 335 337 339 340 341 365
373 375 392 399 405 407 413 486 499 511 513 515 517 527
528 530 538 546 554 560 564 599 600 609 650 699 716 736 SEQ 0414
750 767 772 773 777 785 796 800 860 863 866 869 874 876
902 903 905 917 924 932 973 1013 1015 1026 1171 1172 1192 1198
1209 1218 1219 1220 1225 1234 1239 1245 1262 1265 1354 1387 1399 1401
1409 1411 1454 1496 1555 1640 1644 1657 1666 1681 1683 1701 1779 1786
1797 1868 1885 1891 1913 1933 1974 1975 1978 2007 2029 2031 2045 2095
F%IBYT 282# 628 2734
F%IOPN 285# 623
F%REL 286# 640
FB.BSZ 619
FB.LSN 619
FD.LEN 1809 1810
FDXSIZ 1808
FILBRK 671 674#
FILI.1 1814 1818#
FILI.2 1818 1822 1832#
FILI.3 1845# 1884 1888
FILI.4 1848 1857#
FILIN 1791 1802#
FINT.1 2658 2662#
FINTXT 2654# 2685 2691 2732 3027 3110
FLDBRK 660 663#
FNARG 142# 343 1183 1195 1228 1248 1267 1406 1499 1558 1569 1692 1993 2010
2081 2086 2098
FOB.CW 620
FOB.FD 618
FTJSYS 177 193 263 2401 2453 2476 2512 2526 2623
FTOK.1 1952# 1963
FTOKEN 1652 1812 1817 1831 1841 1877 1900 1919 1949#
FTUUOS 169 182 288 2407 2447 2471 2495 2534 2629
GETCOC 2813 2884# 2898 3073
GJ%OLD 21# 1985
GLXVRS 3228
HB.RTC 2768
I%IOFF 645 2388# 2773
I%ION 649 2387# 2667 2682 2725
IB.PID 3231
IB.PRG 3222
IB.VER 3224
IFOB 162# 618 620 622
IIFN 163# 625 627 639
IMGS.1 2867# 2870
IMGSTR 2863# 3045
INILCH 352 821#
IO.LEM 2413
IO.SUP 2413
IO.TEC 2413
K%INIT 2350 2400#
K%RCOC 322 2352 2448#
K%STYP 2354 2428 2535#
K%SUET 2355 2496#
K%TXTI 899 2351 2630#
K%WCOC 328 525 2353 2419 2472#
KBD%L 3136# SEQ 0415
KEY1 1337#
KEY2 1328 1339#
KEY3 1348 1352#
KEY4 1338 1353#
KEYSIZ 158# 1325
KEYTAB 1292 1323#
KEYW1 1194# 1206
KEYW2 1214# 1223
KEYW3 1215 1225#
KEYW4 1211 1237#
LSTERR 156# 183 537
MAKBP 2798 2823 2827 2832 2836 2843 2848# 2865
MAXCFN 346 465#
NAMSP1 1837 1865#
NODSIX 166#
NOIBCH 232# 1412 1425
NOIECH 233# 1417 1436
NPXAMB 255# 1027
NPXCMA 257# 2103
NPXICN 252# 1508
NPXIDT 253# 1649
NPXINW 250# 1438
NPXNC 251# 1444
NPXNMT 256# 2015
NPXNNC 258#
NPXNNI 259#
NPXNOM 248# 1202
NPXNQS 254# 1676
NPXNSN 260#
NPXNSW 247# 1188
NPXNUL 249# 1238
NUMBRK 1494 1513#
NUMI.1 1544# 1552
NUMIN 1500 1530# 1533 2063 2069
NUXBRK 1493 1518#
P 23 24 25 26 184 190 276 280 285 286 291 292 293 294
295 296 297 298 303 308 314 322 328 332 347 352 353 355
357 358 369 377 379 386 394 397 401 403 404 409 410 412
414 421 423 429 432 469 470 480 490 493 503 512 519 523
525 541 551 557 561 566 576 581 587 593 595 602 604 608
623 626 628 637 640 642 645 649 701 704 706 710 724 727
738 744 758 761 774 775 778 781 786 791 797 798 801 803
804 809 812 813 814 816 830 832 838 843 847 855 861 864
867 897 899 925 937 957 962 966 975 979 983 986 988 1007
1014 1016 1018 1021 1022 1028 1030 1038 1058 1080 1082 1094 1099 1100
1106 1130 1135 1152 1156 1165 1166 1174 1177 1187 1194 1197 1206 1213
1216 1221 1233 1237 1242 1243 1247 1262 1264 1272 1278 1280 1290 1292
1293 1301 1303 1308 1315 1317 1323 1324 1340 1343 1349 1352 1355 1356
1362 1370 1374 1376 1390 1394 1401 1407 1413 1415 1418 1423 1424 1426
1428 1431 1443 1447 1452 1455 1459 1462 1463 1467 1495 1500 1542 1551
1554 1561 1567 1580 1585 1639 1646 1647 1652 1661 1664 1667 1675 1683
1689 1695 1700 1702 1708 1712 1785 1791 1798 1804 1812 1817 1824 1826
1827 1831 1841 1850 1852 1853 1861 1862 1867 1941 1953 1956 1960 1969 SEQ 0416
1977 1988 1995 1997 1999 2003 2006 2009 2011 2013 2028 2032 2035 2044
2049 2053 2060 2063 2064 2067 2069 2070 2075 2076 2082 2091 2094 2097
2099 2101 2117 2130 2138 2161 2165 2169 2184 2186 2202 2203 2217 2219
2222 2232 2243 2245 2259 2261 2262 2267 2387 2388 2416 2419 2535 2631
2633 2634 2637 2643 2667 2682 2698 2704 2720 2721 2724 2725 2728 2729
2734 2742 2743 2744 2756 2773 2798 2813 2822 2823 2827 2832 2836 2842
2843 2863 2864 2865 2869 2898 3008 3018 3020 3022 3023 3034 3038 3040
3045 3046 3055 3065 3073 3087 3232 3243 3247 3248 3253 3254 3260 3261
3270 3271 3272 3275 3278 3279 3280 3281 3284 3287 3288 3289 3290 3291
3294 3297 3298 3299 3300 3301 3302 3305 3306 3307 3308 3309 3310 3313
3314 3315 3316 3317 3318 3321 3322 3323 3324 3325 3326 3333 3334 3335
3338 3339 3340 3342 3343 3344 3347 3348 3349 3351 3352 3353 3356 3357
3358 3360 3361 3362 3365 3366 3367 3388 3395 3396 3397 3398 3401 3402
3403 3404 3408 3409 3410 3412 3413 3414 3415 3423
P1 306 307 336 338 342 344 370 387 395 471 526 543 544 552
553 558 871 922 931 1019 1807 1815 1829 1838 1844 1855 1857 1859
1860 1865 1873 1883 1890 1896 1906 1912 1916 1920 1926 1932 1936 1943
2068 2071 2210 2213 2214 2240 2246 2250 2256 2279 2283 2285 2286 2289
2536 2540 2547 2550 2551 2606 2607 2866 2867 3270 3272 3273 3278 3281
3282 3287 3291 3292 3297 3302 3303 3309
P2 299 305 315 316 317 318 334 477 478 479 488 501 520 521
522 528 529 542 577 578 583 611 821 823 836 881 883 894
1104 1126 1131 1132 1137 1154 1161 1162 1196 1307 1326 1498 1568 1650
1805 1810 1983 2034 2209 2210 2216 2221 2231 2241 2255 2266 2552 2608
3279 3288 3298 3308
P3 315 476 478 491 505 520 858 887 888 889 896 908 920 964
978 985 1157 1161 2212 2277 2280 2281 2283 2285 2553 2609 3289 3299
3307
P4 89 316 334 479 487 489 500 502 521 584 857 886 891 893
907 923 961 963 970 974 976 987 1004 1137 1139 1153 1155 1162
2211 2212 2213 2215 2256 2286 3300 3306
P5 89# 293 317 378 476 477 492 504 522 542 559 590 854 888
890 892 919 920 965 977 984 1003 1006 1158 1163 2203
PAGSIZ 3250
PCALL 138# 291 302
PPNBRK 2020# 2027
PPNIN 1826 1852 1940 2035 2053# 2056
PPNSP1 1835 1926#
PPNSUP 1803# 1803 1830 1834
PUNTAB 2952 2958# 3095
PWIDTH 159# 1277 1327 1330 1337 1347
Q1 91# 295 338 339 341 395 396 398 400 577 578 580 583 584
586 592 594 1099 1101 1102 1108 1131 1132 1134 1212 1214 1228 1229
1248 1249 1268 1269 1300 1993 1994
Q2 92# 296 420 434 590 591 1100 1102 1103 1104 1105 1107 1263 1274
1275 1289 1299 1300 1302 1314 1994 1995 1998
Q3SAVE 161# 1275 1289
RD 136# 2636 2656 2657 2660 2665 2684 2687 2688 2692 2740 2782 2784 2785
2790 2792 2794 2799 2800 2804 2821 2824 2825 2826 2830 2833 2834 2837
2839 2841 2844 2894 2921 2925 2933 2988 3006 3021 3024 3039 3041 3051
3056 3083 3088 3108
RD%BBG 873
RD%BEL 873 2953 SEQ 0417
RD%BFE 903 3026 3109
RD%BLR 917 2655
RD%BRK 873 2950
RD%BTM 2690 2731
RD%CRF 873 2782
RD%JFN 873 875 2686 2838
RD%NEC 2893
RD%PUN 873 2952
RD%RAI 877 2804
RD%RND 3024 3108
RD%SUI 2988
RD%TOP 2951
REMSTR 151# 2239 2272
RES1 3276 3309#
RES2 3285 3308#
RES3 3295 3307#
RES4 3306#
RUBFLG 2377# 2644 2726 3004 3031 3062 3064 3082
S%CMND 70 276#
S%ERR 73 183#
S%INIT 69 170#
S%SCMP 71 2130#
S%TBLK 72 2184#
S..ABS 830# 843 986
S..BDS 403# 411
S..BFC 347#
S..BTF 2262# 2262
S..COT 2416#
S..DPP 1941#
S..FSE 2756#
S..FSO 285#
S..FSR 286#
S..IBN 1561#
S..IBP 2822#
S..IIP 2842#
S..NNS 1867#
S..NOD 1712#
S..SDT 1585#
S..SFP 1467#
S..TMT 897#
S..TNO 2631#
S..TRI 1152#
S..WVG 3232#
S1 170 171 173 183 184 187 305 323 324 325 326 524 531 611
612 614 615 617 618 619 620 621 625 627 639 894 895 898
900 1046 1047 1048 1049 1051 1052 1053 1054 1075 1076 1078 1079 1084
1085 1087 1088 1089 1090 1091 1150 1151 1531 1532 1534 1536 1539 1540
1541 1545 1546 1547 1548 1808 1809 1857 1858 1859 2054 2055 2057 2058
2065 2066 2072 2073 2074 2131 2139 2185 2187 2417 2420 2421 2423 2426
2448 2472 2496 2498 2499 2500 2505 2507 2508 2536 2537 2539 2541 2542
2544 2545 2546 2550 2554 2602 2604 2605 2606 2610 2632 2635 2639 2640
2641 2642 2655 2656 2659 2661 2662 2663 2664 2665 2666 2684 2686 2687
2690 2692 2693 2700 2702 2706 2707 2708 2710 2722 2731 2735 2740 2741 SEQ 0418
2768 2769 2782 2783 2790 2792 2794 2796 2799 2804 2806 2814 2821 2824
2825 2826 2828 2829 2830 2833 2834 2837 2838 2839 2841 2844 2848 2849
2850 2851 2854 2855 2866 2877 2878 2884 2885 2886 2888 2889 2893 2894
2899 2903 2905 2923 2924 2925 2926 2927 2928 2930 2932 2935 2944 2980
2982 2984 2985 2987 2989 3005 3006 3011 3012 3024 3025 3026 3032 3033
3041 3043 3044 3051 3052 3056 3057 3059 3060 3074 3075 3083 3084 3088
3089 3091 3093 3095 3097 3108 3109 3120 3121 3122 3123 3126 3127 3128
3222 3223 3224 3225 3228 3229 3230 3231 3243 3244 3247 3249 3250 3253
3255 3259 3261 3375 3376
S2 306 327 532 565 612 613 614 615 616 617 622 630 631 633
634 635 636 1530 1535 1537 1538 1549 1550 1805 1806 1807 1809 2539
2540 2544 2548 2549 2553 2556 2636 2638 2641 2642 2660 2661 2663 2664
2666 2738 2795 2797 2851 2852 2853 2854 2887 2888 2889 2927 2932 2933
2935 2936 2938 2982 2983 2988 2990 3042 3043 3092 3094 3097 3098 3099
3222 3224 3231 3248 3249 3254 3255 3256 3257 3258 3259 3260
SC%GTR 2168 2247 2282 2290
SC%LSS 2167 2278 2284 2287
SC%SUB 1310 2163 2236 2263
SCN%L 2293#
SCTBL 2982 2987 2994# 2999
SCTBLL 2980 2999#
SETVT5 2593 2596 2597 2601#
SPCH.1 2982# 2984
SPCHK 2721 2980#
STKFEN 141# 308 332 523 566
STOC 2724 2744 2780#
STOC.1 2781 2784#
STOLCH 412 724 758 791 816 829# 1999
STRC2 2158 2163#
STRG 150# 2208 2218 2244 2260
STYP.2 2539# 2541
SUBBP 490 503 949# 1156
T1 309 336 337 342 343 344 345 346 348 349 354 356 360 362
364 368 370 371 381 382 387 388 396 398 400 401 402 408
419 420 422 424 427 428 431 434 487 491 500 504 505 506
518 537 543 544 545 552 553 555 556 575 580 581 586 591
592 594 605 636 641 660 671 698 702 703 705 708 709 711
713 715 718 735 739 740 742 743 745 747 749 752 776 779
780 783 784 787 789 799 802 805 807 810 821 822 823 824
831 836 837 844 846 857 859 862 865 871 872 873 875 877
878 879 880 881 882 883 884 906 909 910 912 913 921 922
923 938 939 949 952 954 955 956 961 963 970 971 972 974
976 987 992 993 994 995 996 1002 1011 1017 1019 1020 1027 1029
1037 1046 1051 1052 1057 1065 1066 1075 1077 1078 1101 1105 1107 1113
1115 1116 1117 1126 1127 1129 1134 1135 1139 1140 1142 1143 1146 1148
1150 1153 1157 1164 1175 1176 1179 1180 1182 1183 1184 1186 1188 1195
1202 1207 1208 1214 1215 1217 1232 1238 1244 1262 1263 1267 1268 1269
1270 1281 1282 1284 1285 1286 1288 1304 1307 1309 1310 1316 1325 1326
1345 1353 1364 1365 1366 1367 1369 1372 1373 1375 1384 1389 1401 1406
1408 1412 1414 1415 1417 1425 1429 1430 1434 1436 1438 1444 1448 1449
1451 1453 1457 1458 1461 1493 1494 1498 1505 1508 1531 1539 1546 1566
1568 1576 1579 1648 1649 1650 1651 1653 1656 1660 1665 1676 1683 1690
1692 1693 1707 1810 1811 1815 1818 1823 1825 1828 1836 1838 1842 1844 SEQ 0419
1849 1851 1854 1920 1929 1946 1949 1950 1976 1986 1987 1998 2001 2002
2005 2008 2010 2012 2015 2027 2038 2048 2061 2065 2072 2080 2081 2083
2084 2087 2089 2090 2093 2096 2098 2100 2103 2113 2114 2115 2131 2132
2134 2139 2147 2160 2163 2167 2168 2185 2187 2209 2211 2218 2220 2223
2231 2236 2241 2242 2244 2246 2247 2255 2258 2260 2262 2263 2268 2278
2282 2284 2287 2290 2938 2939 2940 3020 3021 3023 3038 3039 3046 3120
3126 3131 3313 3318 3319 3325 3423 3424 3426 3428 3429
T2 488 489 501 502 718 719 721 722 752 753 755 756 950 953
954 1003 1004 1005 1113 1114 1116 1145 1154 1155 1181 1182 1196 1200
1204 1207 1260 1302 1314 1316 1329 1330 1333 1334 1336 1337 1339 1340
1341 1342 1344 1347 1361 1363 1384 1385 1433 1434 1437 1502 1503 1504
1505 1506 1543 1544 1545 1550 1558 1559 1560 1562 1564 1569 1571 1572
1573 1654 1691 1693 1793 1794 1795 1813 1819 1820 1825 1829 1839 1845
1846 1851 1855 1871 1880 1894 1903 1909 1923 1930 1938 1943 1945 1952
1954 1955 1957 1958 1962 1965 1966 1967 1968 1983 1984 1985 2034 2037
2054 2061 2068 2071 2086 2087 2112 2113 2116 2135 2137 2152 2164 2204
2207 2208 2216 2221 2226 2229 2230 2239 2242 2258 2266 2271 3314 3324
3424 3425 3440 3445
T3 720 722 754 756 845 846 949 950 951 956 1149 1212 1332 1333
1499 1540 1544 1547 1570 1950 1961 1962 2062 2132 2133 2135 2136 2147
2148 2149 2150 2157 2159 2163 2166 2204 2205 2206 2272 3315 3323 3426
3427
T4 299 300 302 1002 1005 1146 1147 1149 1331 1383 1386 1388 1389 2152
2153 2154 2155 2157 2166 3316 3322
TABDON 154# 1363 1367 1373
TABLK0 2216# 2289
TABLK1 2220 2236#
TABLK2 2240 2249 2255#
TABLK3 2239# 2250
TABLKA 2227 2231# 2273
TABLKF 2221# 2246
TABLKM 2225 2229# 2265 2270
TABLKN 2238 2277# 2288 2291
TABLKX 2215 2230# 2278 2279
TABSIZ 155# 1276 1281 1282 1284 1288 1340 1341 1342
TBA 149#
TBLK2A 2257 2266#
TBLKN1 2286#
TEMP%% 334 365# 365 373# 373 375# 375 405# 405 407# 407 609# 609 716#
716 750# 750 777# 777 785# 785 800# 800 860# 860 863# 863 974
1218# 1218 1219# 1219 1220# 1220 1245# 1245 1262# 1262 1401# 1401 1454# 1454
1683# 1683 2007# 2007 2095# 2095 2278# 2278
TEST%% 2163# 2163 2287# 2287 2690# 2690 3109# 3109 3229
TF 3374 3386 3387 3395 3396 3397 3398 3399 3401 3402 3403 3404 3405 3408
3409 3410 3411 3412 3413 3414
TI 164# 878 880 882 884 885 886 889 893 895 898 902 906 907
908
TIELCH 404 728 762 813 842# 1995
TL%ABR 2271
TL%AMB 1204 2229
TL%EXM 2226
TL%NOM 1200 1260 2230
TRMPTR 2376# 2546 2877 3011 3032 3059 SEQ 0420
TRMTYP 2382# 2498 2547
TRMUDX 165# 173 1145 1331 2423 2552 2608
TTSET 2544 2588#
TTTAB 2539 2545 2571# 2581
TTTABL 2537 2581#
TTYC.1 2767 2773#
TTYCHR 2698 2704 2765# 2771
TTYFLG 2373# 2427 2630
TXTL 2646 2682# 2709 2712 2718 2730 3025 3047 3066 3071 3074 3078 3112
TXTL.1 2704# 2711
TXTL.2 2689 2701 2718# 2751
TXTL.3 2729# 2745
TXTL.4 2694 2734# 2739
TXTL.5 2697 2747# 2754
TXTL.6 2736 2756#
TYPE.1 3126# 3129
TYPE.2 3124 3131#
TYPEBP 3022 3040 3120#
TYPTAB 1352 1361#
TYPTB1 1364# 1371
TYPTB2 1368 1372# 1377
UESCTB 2380# 2424 2496 2506 2603 2700
USRBRK 681# 1707
USTCMP 1308 2138 2147# 2159 2219 2245 2261
USTO.1 2791 2794#
USTOC 2790# 3008 3055 3087
XCMACT 462 1707#
XCMCFM 449 1443#
XCMCMA 452 2080#
XCMDEV 455 1639# 1646
XCMDIR 450 2025#
XCMFIL 447 1785#
XCMFLD 448 1700#
XCMFLT 454 1467#
XCMIFI 445 1780 1783#
XCMINI 453 1126#
XCMKEY 441 1192#
XCMNOD 463 1712#
XCMNOI 443 1406#
XCMNUM 442 1494#
XCMNUX 461 1493#
XCMOFI 446 1782#
XCMQST 458 1675#
XCMSWI 444 1171# 1178
XCMTAD 457 1585#
XCMTOK 460 1993#
XCMTXT 456 1394#
XCMUQS 459 1688#
XCMUSR 451 2026# 2033
XCOM1 336# 433 435
XCOM2 386# 393
XCOM3 351 372 376 387# 407
XCOM4 383 392# SEQ 0421
XCOM5 374 395#
XCOM6 400# 415
XCOMEO 564# 901
XCOMN0 332# 380 411 472 545 555 562
XCOMND 298 305#
XCOMNE 537# 1027 1188 1202 1238 1439 1444 1509 1649 1676 2016 2104
XCOMNP 538# 601 1251 1653 1655 1792 1796 2036 2039
XCOMRF 406 469# 516 1031
XCOMRP 499# 643 933 1167
XCOMX1 507 514 520# 1235
XCOMX2 523# 547 610 651
XCOMXI 494 513# 1159 1222 1227 1231 1241 1246 1252 1402 1419 1427 1437 1445
1662 1684 1696 1799 1996 2040 2088
XCOMXL 486# 506
XCOMXR 511# 1507 1659 1704
XMCOUT 1065# 1355 1370 1376
XMCS.1 1067 1087#
XMCS.2 1068 1086 1093#
XMCSPC 1080 1084#
XMSO.1 1078# 1081
XMSOUT 1075# 1293 1349
XTLOK0 2186 2204#
XTLOOK 1197 2202#
XX 130# 132 132#
XXXPTR 152# 1408 1414 1433 1651 1795 1811 1823 1828 1849 1854 1856 1872 1875
1879 1895 1898 1902 1910 1918 1922 1952
ZCHN.1 3251 3255#
ZERO.1 3399 3405 3412#
$CCLIN 28# 282
%%.GLX 3230
%%.MOD 286 287 348 403 831 898 1153 1468 1562 1586 1713 1868 1942 2262
2417 2632 2757 2823 2843 3233
..T 336# 336 337# 337 344# 344 370# 370 387# 387 543# 544 552# 553
611# 612 1805# 1806 1809# 1810 1983# 1984 2782# 2782 2804# 2804 2851# 2851
2854# 2854 2988# 2988 3024# 3024 3108# 3108
.AOS 3161 3395#
.CHBEL 1029 2708 3111
.CHBSL 96# 2364# 2727 3063
.CHCRT 575 631 1129 1164 2780 2876 2951
.CHDEL 2815 2994
.CHESC 327 381 408 428 634 703 740 779 862 910 972 1176 1430 1458
2002 2090 2504 2576 2579 2580 2601 2699 2915 2950 2951
.CHLFD 326 356 368 424 431 556 575 633 641 688 713 747 789 805
865 909 1129 1140 1164 1461 2951 2953
.CHTAB 709 743 783 939 1369 1448 2083
.CMABC 823 836
.CMABP 312 821 1196 1307 1498 1650 1810 2034
.CMACT 462#
.CMBFP 310 334 488 501 578 583 883 1132 1137 1154
.CMCFM 371 449#
.CMCMA 452#
.CMCNT 315 477 478 520 1161
.CMDAT 342 SEQ 0422
.CMDEF 396
.CMDEV 455#
.CMDIR 450#
.CMFIL 447#
.CMFLD 448#
.CMFLG 299 318 528
.CMFLT 454#
.CMFNP 336 339 341 344 370 387 543 552
.CMGJB 611 1805 1983
.CMHLP 1020
.CMIFI 445#
.CMINC 317 522 542
.CMINI 453#
.CMIOJ 894 1126 1326 1568
.CMKEY 441#
.CMNOD 463#
.CMNOI 443#
.CMNUM 442#
.CMNUX 461#
.CMOFI 446#
.CMPTR 311 316 479 521 1162
.CMQST 458#
.CMRTY 309 577 881 1131
.CMSWI 444#
.CMTAD 457#
.CMTOK 460#
.CMTXT 456#
.CMUQS 459#
.CMUSR 451#
.FDEXT 19# 615 617 1844 1883 1890 1896
.FDLEN 1809
.FDNAM 18# 1838 1860 1865 1873
.FDPPN 17# 1829 1855 1926 1932 1936 1943
.FDSTR 16# 612 614 1815 1857 1859 1906 1912 1916 1920
.INIT 3142 3222#
.IOASC 2413
.LGEPC 3212# 3374 3375
.LGERR 3211# 3376
.POPJ 1053 1079 1312 2868 3163 3388#
.PRIIN 13# 2693
.PRIOU 14# 1127 2741
.RDBFP 884 2825
.RDBKL 879 886 2790 2830 2833
.RDBRK 885 2921 2925
.RDCWB 880 2640 2663
.RDDBC 889 908 2657 2684 2785 2800
.RDDBP 893 906 907 2660 2784 2792 2794 2799 2821 2824 2826 3006 3041 3051
3056 3083 3088
.RDFLG 878 902 2656 2687 2688 2782 2804 2839 2894 2933 2988 3024 3108
.RDIOJ 895 2692 2740 2841 2844
.RDRTY 882 2834 2837 3021 3039
.RDSIZ 136 164 2635
.RETE 3159 3374# SEQ 0423
.RETF 567 2542 2737 2945 2985 2990 3158 3386#
.RETT 174 283 533 997 1103 2140 2188 2449 2473 2502 2509 2588 2589 2590
2591 2592 2594 2595 2612 2668 2775 2783 2786 2801 2806 2812 2816 2835
2840 2845 2855 2856 2879 2890 2895 2899 2906 2911 2918 2928 2941 2991
3127 3132 3157 3233 3262 3387#
.S%CMN 276 291#
.SACS 3205# 3420 3421 3422
.SAVE1 1804 2053 2864 3147 3270#
.SAVE2 3148 3278#
.SAVE3 3149 3287#
.SAVE4 292 2202 2535 3150 3297#
.SAVET 294 1323 2130 2184 2634 3151 3313#
.SCODE 3203# 3425
.SERR 3204#
.SOS 3161 3401#
.SPC 3202# 3429 3450
.SPLIB 3209# 3229
.SPRGM 3207# 3223
.SPTBL 3206#
.SPVER 3208# 3225
.STOP 285 286 347 403 830 897 1152 1467 1561 1585 1712 1867 1941 2262
2416 2631 2756 2822 2842 3165 3232 3420#
.SV13 293 2203 3152 3333#
.SV14 297 3153 3342#
.SV15 295 1099 3154 3351#
.SV16 296 1100 2633 2863 3155 3360#
.TCEOL 2569# 2878
.TOLCT 2607
.TOSET 2551 2607
.TOTYP 1148
.TOWID 1332 2551
.TT33 2426 2571
.TT35 2572
.TT37 2573
.TTEXE 2574
.TTL30 2577
.TTL36 2578
.TTV05 2575
.TTV50 2499 2576
.TTV52 2500 2579 2580
.ZCHNK 2637 3145 3253#
.ZERO 3161 3408#
.ZPAGA 3143 3247#
.ZPAGN 3144 3243#
CAXE 1127 2499 2693 2735 2805 2811 2915 3075
CAXN 2500 2814 SEQ 0424
EXIT 3453
GETIT 26# 1879 1880 1902 1903 1922 1923 1945 1946
GO 23# 282 1833 1835 1837 1843 1877 1887 1900 1919 1940
HIBER 2769
INCHRW 1142 2774
INSVL. 619 1961
IONDX. 171 2421
IORX 2655
JUMPF 624 629 900 2730 2735
JUMPT 2722
JXE 115# 407 785 1209 1225 1229 1239 1310 1657 2236
JXN 110# 349 538 1200 1203 1249 1256 1262 1304 1395 1555 1640 1643 1677
1786 1978 2007 2045 2095 2223 2247 2263 2268 2278
JXO 120# 599 1973
LOAD 336 344 370 387 543 552 611 1805 1983 2782 2804 2851 2988 3024
3108
MOVX 619 873 879 1148 1332 1353 1535 1537 1808 2163 2168 2226 2230 2271
2287 2290 2426 2551 2607 2686 2690 2731 2768 2838 2893 3026 3109 3228
3230 3250
NOPARS 104# 1027 1188 1202 1238 1438 1444 1508 1649 1676 2015 2103
OP%%CA 1127 2499 2500 2693 2735 2805 2811 2814 2915 3075
OP%%TX 365 373 375 405 407 609 716 750 777 785 800 860 863 1218
1219 1220 1245 1262 1401 1454 1683 2007 2095 2278
OPEN 2413
OUTCHR 1037 1054 1065 1084 1572 2504 2508 2601 2605 2708 2727 2753 2876 2904
2905 2910 2917 3063 3111 3128
OUTSTR 185 187 188 1057 2878 3014 3036 3070 3077 3131
PCRLF 646 3434# 3452
PG2ADR 3244
PJRST 661 672 728 762 806 825 941 1118 2428 2549 2556 3251
PJUMPN 2990
PNT6F 3433# 3451
PNTALF 648 1869 1892 1914 1934 3431# 3439 3444 3446 3449
PNTCIF 1886 3435#
PNTSXF 3432# 3441
POINTR 336 337 344 370 387 2782 2804 2851 2854 2988 3024 3108
POS 336 337 344 370 387 619 1961 2782 2804 2851 2854 2988 3024 3108
PUT 25# 1871 1872 1894 1895 1909 1910 1929 1930
RETSKP 125# 797 801 814 1317 1463 1551 1798 1862 2075
RTN 24# 1881 1904 1907 1924 1927 1947
SAVE 293 295 296 297 1099 1100 2203 2633 2863
SKPINC 2765
STORE 337 618 620 1809 1829 1838 1844 1855 1859 1920 1943 2854
TRMOP. 1151 1334 2554 2610
TXC 599 1974
TXCN 600 1975
TXNE 301 373 405 407 413 511 515 699 736 773 785 796 874 876
903 917 1013 1172 1198 1209 1225 1229 1239 1265 1310 1354 1387 1496
1657 1701 1961 2029 2031 2114 2236 2282 2284
TXNN 349 365 375 392 538 1015 1200 1204 1220 1249 1260 1262 1304 1399
1401 1409 1454 1555 1640 1644 1666 1681 1683 1786 1978 2007 2045 2095
2223 2247 2263 2268 2278
TXO 321 326 335 399 486 499 517 546 554 564 609 650 716 750 SEQ 0425
772 777 800 860 863 866 877 1171 1219 1234 1245 1411 1779 2655
TXZ 319 324 325 327 333 340 527 560 875 973 1192 1218
TXZA 767
TXZE 320 1797
TXZN 513 1026
WID 336 337 344 370 387 2782 2804 2851 2854 2988 3024 3108
ZERO 3256
$$DATA 77# 136 138 139 140 141 142 143 144 145 146 147 148 149
150 151 152 153 154 155 156 157 158 159 160 161 162 163
164 165 166 2373 2375 2376 2377 2378 2379 2380 2381 2382 2384 2385
$$GDAT 81# 3202 3203 3204 3205 3206 3207 3208 3209 3211 3212
$C 100# 2368# 2805 2811 2950 2951 2966 2968 2989 2995 2996 2997
$RETF 567 2737 2945
$RETT 174 283 533 997 2140 2188 2449 2473 2502 2509 2612 2668 2775 2786
2801 2812 2816 2835 2840 2845 2856 2879 2890 2895 2906 2911 2918 2941
2991 3132 3233 3262
$STOP 285 286 347 403 830 897 1152 1467 1561 1585 1712 1867 1941 2262
2416 2631 2756 2822 2842 3232
.LDST. 336 337 344 370 387 543 552 611 618 620 1805 1809 1829 1838
1844 1855 1859 1920 1943 1983 2782 2804 2851 2854 2988 3024 3108
.SAVE. 293 295 296 297 1099 1100 2203 2633 2863