Trailing-Edge
-
PDP-10 Archives
-
BB-4157D-BM
-
documentation/fdt5a.pco
There is 1 other file named fdt5a.pco in the archive. Click here to see a list.
Digital Equipment Corporation 27-OCT-77 Page 1
PCO Log Report
*********************
*PCO #:10-FORDDT-019*
*********************
[Program Data] System: FOROTS
Component:FORDDT
[Validity] 5(70)
[Date Entered] 08-DEC-76
[Programmer] JIM TOTTON
[Routines] FRMSET ERR41
[Key Words] F8 ERROR TYPE FORMA STATEMENT
[Source Before Edit] %5 (000070)
[Source After Edit] %5 (000071)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-20553
Critical: A
************************************************************************
[Notes]
Digital Equipment Corporation 27-OCT-77 Page 2
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
FORDDT types "?FDTIER F8 error" when attempting to type
a format statement, and the program has not been compiled
with the debug switch.
**********
[DIAGNOSIS]
The routine FRMSET attempts to find the label 10F,
where 10 is the statement number of the format statement,
which will only exist if the DEBUG switch was specified at
compile time.
**********
[CURE]
Change error message to instruct user to compile the
program with the DEBUG switch, if an attempt is made to type
a format statement.
Digital Equipment Corporation 27-OCT-77 Page 3
PCO Log Report
[FILCOM]
File 1) DSK:FORDDT.70 created: 1617 01-DEC-1976
File 2) DSK:FORDDT.MAC created: 1653 06-DEC-1976
1)1 SUBTTL 7-AUG-74 /P.E.T. HARDING/DBT/FLD/MD
READING . . UK.
1) ;*** COPYRIGHT 1973,1974,1975,1976 DIGITAL EQUIPMENT CORP. MAYNA
RD, MA. ***
1) EDITNO==70 ;EDIT NO
1) VERSION==5 ;MAJOR VERSION NO
****
2)1 SUBTTL 1-Dec-74 /P.E.T. HARDING/DBT/FLD/MD/JMT
READING . . UK.
2) ;*** COPYRIGHT 1973,1974,1975,1976 DIGITAL EQUIPMENT CORP. MAYNA
RD, MA. ***
2) EDITNO==71 ;EDIT NO
2) VERSION==5 ;MAJOR VERSION NO
**************
1)2 ;*** END REVISION HISTORY
****
2)2 ;71 20553 TYPING A FORMAT STATEMENT CAUSES AN E8 INTERNAL
2) ; ERROR IF THE PROGRAM WAS NOT COMPILED WITH THE
2) ; /DEBUG SWITCH. ADD MORE INFORMATIVE ERROR MESSAG
E
2) ; AREAS AFFECTED: FRMSET, ERR41
2) ;*** END REVISION HISTORY
**************
1)37 JRST E8 ;CANT FIND FORMAT END
1) POP P,T3 ;RESTORE
****
2)37 ; [71] Change @FRMSET+11 lines, JMT, 6-Dec-76
2) ; [71] Delete JRST E8 ;CANT FIND FORMAT END
2) JRST ERR41 ;[71] CANT FIND FORMAT END
2) POP P,T3 ;RESTORE
**************
1)119 ; THIS PAGE HOLDS ERROR MESSAGES FOR INTERNAL ERRORS OF FORDDT.
KEEP
****
2)118 ; [71] Add new error message @ERR40+2 1/2 lines, JMT, 6-Dec-76
2) ERR41: LINE ;[71]
2) TYPE (?FDTMCD Compile program with the DEBUG switch t
o type a format statement)
2) JRST RET ;[71]
2)119 ; THIS PAGE HOLDS ERROR MESSAGES FOR INTERNAL ERRORS OF FORDDT.
KEEP
**************
[End PCO Write-up]
Digital Equipment Corporation 27-OCT-77 Page 4
PCO Log Report
*********************
*PCO #:10-FORDDT-020*
*********************
[Program Data] System: FOROTS
Component:FORDDT
[Validity] 5
[Date Entered] 13-JAN-77
[Programmer] JIM TOTTON
[Routines] LOKSYM
[Key Words] ARRAY INDEX WRONG
[Source Before Edit] %5 (000071)
[Source After Edit] %5 (000072)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-10088
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 27-OCT-77 Page 5
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When typing an array with FORDDT, the array indexes are
not correctly typed out if there exists a high segment that
is loaded with symbols (i.e., if forots is loaded with
symbols).
**********
[DIAGNOSIS]
In the routine LOKSYM, a call is made to LOK2 to find
the symbol whose address most closely matches that in
accumulator T. If an exact match is not found, the offset
is returned which is what FORDDT uses and types out as the
array index. However, if an offset is returned by LOK2,
indicating there was not an exact match, LOKSYM then checks
to see if there is a high segment with a symbol table, and
if there is, it looks there to find a match for the address
in accumulator T before returning. Unfortunately, the
original contents of T has been crunched by the offset
returned from the first call to LOK2, and thus the second
call returns garbage.
**********
[CURE]
Preserve the contents of T across the first call to
LOK2, and restore it before the second call to LOK2 if one
is to be made.
Digital Equipment Corporation 27-OCT-77 Page 6
PCO Log Report
[FILCOM]
File 1) DSKC:FORDDT.71[35,4520,FORDDT] created: 1250 13-JAN-1977
File 2) DSKC:FORDDT.MAC[35,4520,FORDDT] created: 1251 13-JAN-1977
1)1 SUBTTL 1-Dec-74 /P.E.T. HARDING/DBT/FLD/MD/JMT
READING . . UK.
1) ;*** COPYRIGHT 1973,1974,1975,1976 DIGITAL EQUIPMENT CORP. MAYNA
RD, MA. ***
1) EDITNO==72 ;EDIT NO
****
2)1 SUBTTL 13-Jan-77 /P.E.T. HARDING/DBT/FLD/MD/JMT
READING . . UK.
2) ;*** COPYRIGHT 1973,1974,1975,1976,1977 DIGITAL EQUIPMENT CORP.
MAYNARD, MA. ***
2) EDITNO==72 ;EDIT NO
**************
1)2 ;*** END REVISION HISTORY
****
2)2 ;72 10088 WHEN TYPING AN ARRAY, THE INDEXES ARE NOT CORREC
TLY
2) ; TYPED IF AND ONLY IF THE IS A HIGH SEGMENT SYMBO
L
2) ; TABLE (FOR EXAMPLE FOROTS IS LOADED WITH SYMBOLS
).
2) ;*** END REVISION HISTORY
**************
1)83 MOVE R,.JBSYM ;USE LOSEG TBL
****
2)83 ; [72] Insert @ LOKSYM+1/2, JMT, 13-Jan-77
2) MOVEM T,TEM8 ;[72] STORE VALUE
2) MOVE R,.JBSYM ;USE LOSEG TBL
**************
1)83 MOVEI R,(TT) ;
****
2)83 ; [72] Insert @ LOK1+3 1/2 lines, JMT, 13-Jan-77
2) MOVE T,TEM8 ;[72] RESTORE VALUE
2) MOVEI R,(TT) ;
**************
1)123 STPVAL: BLOCK 1 ;HOLDS THE DEFAULT TRACE COUNT
****
2)123 ; [72] Insert @TEM7+1/2, JMT, 13-Jan-77
2) TEM8: BLOCK 1 ;[72] TEMP STORAGE FOR VALUE IN
LOKSYM
2) STPVAL: BLOCK 1 ;HOLDS THE DEFAULT TRACE COUNT
**************
[End PCO Write-up]
Digital Equipment Corporation 27-OCT-77 Page 7
PCO Log Report
*********************
*PCO #:10-FORDDT-021*
*********************
[Program Data] System: FOROTS
Component:FORDDT
[Validity] 5
[Date Entered] 12-APR-77
[Programmer] JIM TOTTON
[Routines] DISP0 DDT11 OFF2 SYM3
[Key Words] COMPLEX ARRAYS TYPE ACCEPT
[Source Before Edit] %5 (000072)
[Source After Edit] %5 (000073)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-21818
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 27-OCT-77 Page 8
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Typing complex arrays, or accepting values for complex
arrays using the TYPE and ACCEPT commands respectively,
calculate incorrect array subscripts.
**********
[DIAGNOSIS]
No check was being made for complex arrays as is done
for double precision arrays, and thus all complex array
references were being done assuming one word per entry.
This caused a variety of problems such as arrays incorrectly
typed out or values stored into the array at incorrect
locations.
**********
[CURE]
Make analogous checks for complex arrays as is done for
double precision arrays.
Digital Equipment Corporation 27-OCT-77 Page 9
PCO Log Report
[FILCOM]
File 1) LIB:FORDDT.MAC[31,4650] created: 1550 13-JAN-1977
File 2) DSKC:FORDDT.MAC[35,4520,FORDDT] created: 2030 12-APR-1977
1)1 SUBTTL 13-Jan-77 /P.E.T. HARDING/DBT/FLD/MD/JMT
READING . . UK.
1) ;*** COPYRIGHT 1973,1974,1975,1976,1977 DIGITAL EQUIPMENT CORP.
MAYNARD, MA. ***
1) EDITNO==72 ;EDIT NO
1) VERSION==5 ;MAJOR VERSION NO
****
2)1 SUBTTL 12-Apr-77 /P.E.T. HARDING/DBT/FLD/MD/JMT
READING . . UK.
2) ;*** COPYRIGHT 1973,1974,1975,1976,1977 DIGITAL EQUIPMENT CORP.
MAYNARD, MA. ***
2) EDITNO==73 ;EDIT NO
2) VERSION==5 ;MAJOR VERSION NO
**************
1)2 ;*** END REVISION HISTORY
****
2)2 ;73 21818 WHEN TYPING A COMPLEX ITEM OR ARRAY, OR ACCEPTIN
G A
2) ; VALUE FOR A COMPLEX ARRAY, FORDDT DOESN'T NOTICE
THAT
2) ; EACH ENTRY IS TWO WORDS AND MESSES UP SUBSCRIPTS
ETC.
2) ;*** END REVISION HISTORY
**************
1)37 DISP0: MOVS TMOD,TMOD ;UNFUDDLES THE MODIFIERS FOR A R
ANGE
1) ; ONE-SHOT TYPE REQUEST
****
2)37 ;**; [73] Change @ DISP0, JMT, 12-Apr-77
2) DISP0: HRL TMOD,TMOD ;[73] UNFUDDLES THE MODIFIERS FO
R A RANGE
2) ; ONE-SHOT TYPE REQUEST
**************
1)56 TRNE F,DOUBLE ;IS THIS ARRAY REAL*8
****
2)56 ;**; [73] Insert @ DIM11 + 10 1/2 source lines, JMT, 12-Apr-77
2) TRNN TMOD,C.!L.!D. ;[73] IS THIS ARRAY TWO WORDS /
ENTRY ?
2) TRNE F,DOUBLE ;IS THIS ARRAY REAL*8
**************
1)86 TRZE F,DOUBLE ;ARRAY REAL*8?
****
2)86 ;**; [73] Insert @ OFF2 + 8 1/2 source lines, JMT, 12-Apr-77
2) TRNN TMOD,C.!L.!D. ;[73] ARRAY HAVE TWO WORD ENTRIE
S ?
2) TRZE F,DOUBLE ;ARRAY REAL*8?
**************
Digital Equipment Corporation 27-OCT-77 Page 10
PCO Log Report
1)110 TRZE F,DOUBLE ;IS THIS A DOUBLE PRECISION ARRA
Y
****
2)110 ;**; [73] Insert @ SYM3 + 8 1/2 source lines, JMT, 12-Apr-77
2) TRNN TMOD,C.!L.!D. ;[73] IS THIS A TWO WORD / ENTRY
ARRAY ?
2) TRZE F,DOUBLE ;IS THIS A DOUBLE PRECISION ARRA
Y
**************
[End PCO Write-up]
Digital Equipment Corporation 27-OCT-77 Page 11
PCO Log Report
*********************
*PCO #:10-FORDDT-022*
*********************
[Program Data] System: FOROTS
Component:FORDDT
[Validity] 5
[Date Entered] 12-APR-77
[Programmer] JIM TOTTON
[Routines] CHKADR
[Key Words] PAUSE HIGH SEGMENT
[Source Before Edit] %5 (000073)
[Source After Edit] %5 (000074)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-21988
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 27-OCT-77 Page 12
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
FORDDT CAN'T SET BREAK POINTS (PAUSES) IN THE HIGH
SEGMENT OF A FORTRAN PROGRAM.
**********
[DIAGNOSIS]
THE ROUTINE CHKADR CLOBBERS THE ACCUMULATOR T WHICH
CAUSES THE VARIOUS ROUTINES WHICH CALL IT TO NOT WORK
CORRECTLY. ONE SUCH ROUTINE IS BPS1 WHICH SETS PAUSES.
**********
[CURE]
MAKE ROUTINE CHKADR PRESERVE ACCUMULATOR T.
Digital Equipment Corporation 27-OCT-77 Page 13
PCO Log Report
[FILCOM]
File 1) DSKC:FORDDT.73[35,4520,FORDDT] created: 2155 12-APR-1977
File 2) DSKC:FORDDT.MAC[35,4520,FORDDT] created: 2220 12-APR-1977
1)1 EDITNO==73 ;EDIT NO
1) VERSION==5 ;MAJOR VERSION NO
****
2)1 EDITNO==74 ;EDIT NO
2) VERSION==5 ;MAJOR VERSION NO
**************
1)2 ;*** END REVISION HISTORY
****
2)2 ;74 21988 FORDDT CANT SET BREAK POINTS (PAUSE) IN HIGH SEG
MENT
2) ; OF A FORTRAN PROGRAM. ROUTINE CHKADR CLOBBERS (T
)
2) ;*** END REVISION HISTORY
**************
1)100 CHKADR: MOVEI TT,(T)
1) CAIGE TT,.JBDA ;ABOVE .JBDA
1) POPJ P, ;FAIL - ILLEGAL
1) CAMG TT,.JBREL ;BELOW HERE IS OK TOO
1) JRST CPOPJ2
1) MOVE T4,R ;SAVE (R)
****
2)100 ;**; [74] Insert @ CHKADR, JMT, 12-Apr-77
2) CHKADR: PUSH P,T ;[74] SAVE T FOLKS !
2) MOVEI TT,(T)
2) CAIGE TT,.JBDA ;ABOVE .JBDA
2) JRST TPOPJ ;[74] FAIL - ILLEGAL
2) CAMG TT,.JBREL ;BELOW HERE IS OK TOO
2) JRST TPOPJ2 ;[74]
2) MOVE T4,R ;SAVE (R)
**************
1)100 POPJ P,
1) HRRZ T4,.JBHRL ;GET TOP OF HISEG
1) CAILE TT,(T4) ;
1) POPJ P,
1) JRST CPOPJ1 ;DONE
1)101 ;REINOP - REINSTATE OPENED PROGRAM - THIS ROUTINE IS CALLED AFTE
R
****
2)100 ;**; [74] Change @ CHKADR + 9 1/2 lines, JMT, 12-Apr-77
2) JRST TPOPJ ;[74]
2) HRRZ T4,.JBHRL ;GET TOP OF HISEG
2) CAILE TT,(T4) ;
2) JRST TPOPJ ;[74]
2) JRST TPOPJ1 ;[74] DONE
2) TPOPJ: POP P,T ;[74] RESTORE T
2) POPJ P, ;[74] AND RETURN
2) TPOPJ1: POP P,T ;[74] RESTORE T
Digital Equipment Corporation 27-OCT-77 Page 14
PCO Log Report
2) JRST CPOPJ1 ;[74] AND GIVE SKIP RETURN
2) TPOPJ2: POP P,T ;[74] RESTORE T
2) JRST CPOPJ2 ;[74] AND GIVE DOUBLE SKIP RETUR
N
2)101 ;REINOP - REINSTATE OPENED PROGRAM - THIS ROUTINE IS CALLED AFTE
R
**************
[End PCO Write-up]
Digital Equipment Corporation 27-OCT-77 Page 15
PCO Log Report
*********************
*PCO #:10-FORDDT-023*
*********************
[Program Data] System: FOROTS
Component:FORDDT
[Validity] 5
[Date Entered] 13-JUL-77
[Programmer] MIKE ATWOOD
[Routines] START
[Key Words] PARSE START BUFFER
[Source Before Edit] %5A (000074)
[Source After Edit] %5A (000075)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-21910
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 27-OCT-77 Page 16
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If the user types the START command with an argument, FORDDT
fails to warn the user of the extra input. Instead, it leaves the
argument in the terminal buffer.
**********
[DIAGNOSIS]
FORDDT fails to parse any input after the word START.
**********
[CURE]
Cause FORDDT to finish parsing the command line before
transfering control to the user program.
Digital Equipment Corporation 27-OCT-77 Page 17
PCO Log Report
[FILCOM]
File 1) DSKC:FORDDT.RLS[31,5130,FORDDT] created: 1009 14-JULY-1977
File 2) DSKC:FORDDT.075[31,5130,FORDDT] created: 2347 21-AUG-1977
1)1 EDITNO==74 ;EDIT NO
1) VERSION==5 ;MAJOR VERSION NO
****
2)1 EDITNO==75 ;EDIT NO
2) VERSION==5 ;MAJOR VERSION NO
**************
1)2 ;*** END REVISION HISTORY
****
2)1 ;75 21910 WHEN DOING A START, PROGRAM SHOULD CLEAR
2) ; ANY SUPPLIED ARGUMENTS FROM THE TTY BUFFER.
2) ;*** END REVISION HISTORY
**************
1)17 START2: MOVE T,PRGNAM ;GET THE MAIN PROGRAM NAME
****
2)1 ;**;[75] insert @ start2-1 ma 22-aug-77
2) PUSHJ P,CLRLIN ;[75]FLUSH OUT LINE BUFFER
2) START2: MOVE T,PRGNAM ;GET THE MAIN PROGRAM NAME
**************
[End PCO Write-up]
Digital Equipment Corporation 27-OCT-77 Page 18
PCO Log Report
*********************
*PCO #:10-FORDDT-024*
*********************
[Program Data] System: FOROTS
Component:FORDDT
[Validity] 5
[Date Entered] 13-JUL-77
[Programmer] MIKE ATWOOD
[Routines] CLRLIN ACCEPT
[Key Words] ACCEPT ASCII PARSE
[Source Before Edit] %5A (000075)
[Source After Edit] %5A (000076)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-21910
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 27-OCT-77 Page 19
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
FORDDT gives the user a warning message during some ASCII input.
**********
[DIAGNOSIS]
FORDDT fails to parse the trailing delimiter of an input ASCII
string if the string exactly fills the target variable, i.e. 5
characters for an INTEGER variable or 10 characters for a DOUBLE
PRECISION variable.
**********
[CURE]
Save the delimiter for the CLRLIN routine, and modify that
routine so that it passes over the delimiter before continuing its
scan of the input line.
Digital Equipment Corporation 27-OCT-77 Page 20
PCO Log Report
[FILCOM]
File 1) DSKC:FORDDT.075[31,5130,FORDDT] created: 2347 21-AUG-1977
File 2) DSKC:FORDDT.076[31,5130,FORDDT] created: 0009 22-AUG-1977
1)1 EDITNO==75 ;EDIT NO
1) VERSION==5 ;MAJOR VERSION NO
****
2)1 EDITNO==76 ;EDIT NO
2) VERSION==5 ;MAJOR VERSION NO
**************
1)1 ;*** END REVISION HISTORY
****
2)1 ;76 21910 FIX ERROR IN ACCEPT ROUTINE WHICH CAUSES UNNECES
SARY
2) ; WARNING MESSAGE WHEN EXACTLY 5 (OR EXACTLY 10 IF
IN
2) ; LONG MODE) CHARACTERS ARE ACCEPTED
2) ;*** END REVISION HISTORY
**************
1)1 ACC25: PUSHJ P,CLRLIN ;CLEAR REST OF LINE
1) TLNN TMOD,R. ;ARE WE ACCEPTING RIGHT JUSTIFIE
D TEXT
****
2)1 ;**;[76] insert @ acc25 ma 22-aug-77
2) ACC25: HRRZM T5,DELCHR ;[76]SAVE DELIMITER FOR CLRLIN
2) PUSHJ P,CLRLIN ;CLEAR REST OF LINE
2) TLNN TMOD,R. ;ARE WE ACCEPTING RIGHT JUSTIFIE
D TEXT
**************
1)1 ACC20: SKIPN RANGE ;IF NOT IN A RANGE SETTING -
1) PUSHJ P,CLRLIN ;THEN CLEAR THE REST OF THE USER
INPUT
****
2)1 ;**;[76] insert @ acc20 ma 22-aug-77
2) ACC20: HRRZM T5,DELCHR ;[76]SAVE DELIMITER FOR CLRLIN
2) SKIPN RANGE ;IF NOT IN A RANGE SETTING -
2) PUSHJ P,CLRLIN ;THEN CLEAR THE REST OF THE USER
INPUT
**************
1)1 SKPINL ;SKIP IF ANY CHARS THERE
1) POPJ P, ;LINE CLEAR
****
2)1 ;**;[76] add label @ clrlin+1 ma 22-aug-77
2) CLRLI2: SKPINL ;[76]SKIP IF ANY CHARS THERE
2) POPJ P, ;LINE CLEAR
**************
1)1 LINE
****
2)1 ;**;[76] insert @clrlin+5 ma 22-aug-77
2) CAIN T1," " ;[76]SPACE OR TAB?
2) JRST CLRLI2 ;[76]IGNORE IT
Digital Equipment Corporation 27-OCT-77 Page 21
PCO Log Report
2) SKIPE DELCHR ;[76]DELIMITER SAVED FROM ASCII
ACCEPT?
2) CAME T1,DELCHR ;[76]OR DELIMITER FOUND?
2) JRST CLRLI1 ;[76]NO, PROCEED AS USUAL
2) SETZM DELCHR ;[76]CLEAR SAVED DELIMITER
2) JRST CLRLI2 ;[76]AND TRY AGAIN
2) CLRLI1: SETZM DELCHR ;[76]MAKE SURE IT'S ZERO
2) LINE
**************
1)1 XLIST ;LITERALS
****
2)1 ;**;[76] insert @termk+1 ma 22-aug-77
2) DELCHR: 0 ;[76]SAVED DELIMITER FOR ASCII A
CCEPT AND CLRLIN
2) XLIST ;LITERALS
**************
[End PCO Write-up]
Digital Equipment Corporation 27-OCT-77 Page 22
PCO Log Report
*********************
*PCO #:10-FORDDT-025*
*********************
[Program Data] System: FOROTS
Component:FORDDT
[Validity] 5
[Date Entered] 13-JUL-77
[Programmer] MIKE ATWOOD
[Routines] PAUSE WHAT
[Key Words] PAUSE
[Source Before Edit] %5A (000076)
[Source After Edit] %5A (000077)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: N
SER/SPR Number:10-21910
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 27-OCT-77 Page 23
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The PAUSE command with no arguments does not list all the pauses.
**********
[DIAGNOSIS]
The PAUSE command with no arguments was not implemented.
**********
[CURE]
Make the PAUSE command list all the pauses.
Digital Equipment Corporation 27-OCT-77 Page 24
PCO Log Report
[FILCOM]
File 1) DSKC:FORDDT.076[31,5130,FORDDT] created: 0009 22-AUG-1977
File 2) DSKC:FORDDT.077[31,5130,FORDDT] created: 0036 22-AUG-1977
1)1 EDITNO==76 ;EDIT NO
1) VERSION==5 ;MAJOR VERSION NO
****
2)1 EDITNO==77 ;EDIT NO
2) VERSION==5 ;MAJOR VERSION NO
**************
1)1 ;*** END REVISION HISTORY
****
2)1 ;77 21910 MAKE THE PAUSE COMMAND WITH NO ARGUMENTS DISPLAY
2) ; THE PAUSES.
2) ;*** END REVISION HISTORY
**************
1)1 PAUSE: JUMPL F,BADSYN ;JUST PAUSE IS AMBIGUOUS!
1) TRO TF,FGLONL ;FIND GLOBAL SYMBOL ONLY
****
2)1 ;**;[77] modify @pause ma 22-aug-77
2) PAUSE: JUMPL F,PSEALL ;[77]DISPLAY ALL PAUSES IF NO AR
GUMENTS
2) TRO TF,FGLONL ;FIND GLOBAL SYMBOL ONLY
**************
1)1 MOVEI T,^D10
****
2)1 ;**;insert @what+5 ma 22-aug-77
2) SKIPA T,[0] ;[77]FLAG DISPLAY OF EVERYTHING
2) PSEALL: SETO T, ;[77]FLAG DISPLAY OF PAUSES ONLY
2) PUSH P,T ;[77]SAVE FLAG
2) MOVEI T,^D10
**************
1)1 PUSHJ P,GROUPS ;DISPLAY THE USERS GROUP SETTING
S
****
2)1 ;**;[77]insert @wt11+1 ma 22-aug-77
2) POP P,T ;[77]GET DISPLAY FLAG BACK
2) JUMPL T,RET ;[77]DONE IF FLAG IS SET
2) PUSHJ P,GROUPS ;DISPLAY THE USERS GROUP SETTING
S
**************
[End PCO Write-up]
Digital Equipment Corporation 27-OCT-77 Page 25
PCO Log Report
*********************
*PCO #:10-FORDDT-026*
*********************
[Program Data] System: FOROTS
Component:FORDDT
[Validity] 5A
[Date Entered] 30-AUG-77
[Programmer] MIKE ATWOOD
[Routines] ALL
[Key Words] TOPS20 NATIVE COMND
[Source Before Edit] %5A (000077)
[Source After Edit] %5A (000100)
[Test File Data] : [ ]
[Miscellaneous] DOC changes: Y
SER/SPR Number:10-
Critical: N
************************************************************************
[Notes]
Digital Equipment Corporation 27-OCT-77 Page 26
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
FORDDT calls the compatibility package when run under TOPS20.
**********
[DIAGNOSIS]
FORDDT was designed to run under TOPS10.
**********
[CURE]
Modify FORDDT to run in native mode under TOPS20. Add code so
that FORDDT uses the COMND JSYS. Implement monitor functions wherever
possible to minimize clutter. Add the tops20 conditional switch. If
the switch is zero or undefined, FORDDT assembles in TOPS10 mode.
Otherwise, FORDDT assembles in native mode.
Digital Equipment Corporation 27-OCT-77 Page 27
PCO Log Report
[FILCOM]
File 1) DSKC:FORDDT.77[31,5130,FORDDT] created: 1116 24-AUG-1977
File 2) DSKC:FORDDT.100[31,5130,FORDDT] created: 0853 31-AUG-1977
1)1 EDITNO==77 ;EDIT NO
1) VERSION==5 ;MAJOR VERSION NO
****
2)1 ;**;[100] add universal search ma 26-aug-77
2) search monsym
2) EDITNO==100 ;EDIT NO
2) VERSION==5 ;MAJOR VERSION NO
**************
1)1 ;*** END REVISION HISTORY
****
2)1 ;100 Add TOPS20 conditional, make FORDDT run in nativ
e
2) ; mode under TOPS-20.
2) ;*** END REVISION HISTORY
**************
1)1 PAGE
****
2)1 ;**;[100] add conditional ma 25-aug-77
2) ifndef tops20,<tops20==0> ;[100]set tops20==1 to run in na
tive mode
2) PAGE
**************
1)1 DEFINE TYPE(X)
****
2)1 ;**;[100] conditionalize TOPS10 macros ma 28-aug-77
2) ife tops20,<
2) DEFINE TYPE(X)
**************
1)1 DEFINE TAB
1) < MOVEI T,11
1) PUSHJ P,TOUT >
1) DEFINE SKIPIF(STRING) ;IS STRING LOADED? - SKI
P IF IT IS
****
2)1 define atype(x)
2) < outstr x >
2) define stype(x)
2) < outstr [asciz x]>
2) define tab
2) < outstr [byte(7)11,0] >
2) define openp
2) < outstr [byte(7)"(",0] >
2) define closep
2) < outstr [byte(7)")",0] >
2) define openb
2) < outstr [byte(7)74,0] >
2) define closeb
Digital Equipment Corporation 27-OCT-77 Page 28
PCO Log Report
2) < outstr [byte(7)76,0] >
2) define putchr(x)
2) < outchr x>
2) > ;[100] end of conditional
2) ;**;[100] add native macros ma 28-aug-77
2) ifn tops20,<
2) define type(x)
2) < push p,tf
2) hrroi tf,[asciz/x/]
2) psout
2) pop p,tf >
2) define atype(x)
2) < push p,tf
2) hrroi tf,x
2) psout
2) pop p,tf >
2) define stype(x)
2) < push p,tf
2) hrroi tf,[asciz x]
2) psout
2) pop p,tf >
2) define line
2) < push p,tf
2) hrroi tf,[byte(7)15,12,0]
2) psout
2) pop p,tf >
2) define openp
2) < push p,tf
2) hrrzi tf,"("
2) pbout
2) pop p,tf >
2) define closep
2) < push p,tf
2) hrrzi tf,")"
2) pbout
2) pop p,tf >
2) define openb
2) < push p,tf
2) hrrzi tf,74
2) pbout
2) pop p,tf >
2) define closeb
2) < push p,tf
2) hrrzi tf,76
2) pbout
2) pop p,tf >
2) define tab
2) < push p,tf
2) hrrzi tf,11
Digital Equipment Corporation 27-OCT-77 Page 29
PCO Log Report
2) pbout
2) pop p,tf >
2) define putchr(x)
2) < push p,tf
2) move tf,x
2) pbout
2) pop p,tf >
2) > ;[100] end of conditional
2) DEFINE SKIPIF(STRING) ;IS STRING LOADED? - SKI
P IF IT IS
**************
1)1 SALL ;SUPPRESS ALL MACRO EXPANSIONS
1) PAGE
****
2)1 ;**;hack by ma!!1
2) ;SALL ;SUPPRESS ALL MACRO EXPANSIONS
2) PAGE
**************
1)1 MOVE T,[XWD -1,3] ;GET THE CURRENT JOB
****
2)1 ;**;[100] conditionalize TOPS10 code @ forddt+20 ma 29-aug-77
2) ife tops20,< ;[100]this hack doesn't work und
er TOPS20
2) MOVE T,[XWD -1,3] ;GET THE CURRENT JOB
**************
1)1 MOVEM T,JOBNAM ;AND SAVE
1) ;THIS WILL SERVE TO DETECT OVERL
AYS
****
2)1 MOVEM T,JOBNAM> ;AND SAVE, end of conditional
2) ;THIS WILL SERVE TO DETECT OVERL
AYS
**************
1)1 SKPINL ;CLEARS THE EFFECT -
1) JFCL ; OF ^O
1) LINE
1) PUSHJ P,OVRLAY ;HAS AN OVERLAY OCCURED
1) TYPE(>> ) ;PROMPT
1) PUSHJ P,TTYIN ;GET USER INPUT COMMAND
1) JUMPE T2,RET ;NO SIGNIFICANT INFORMATION
****
2)1 ;**;[100] conditionalize TOPS10 code @ ret+17 ma 28-aug-77
2) ife tops20,<
2) SKPINL ;CLEARS THE EFFECT -
2) JFCL> ; OF ^O, end of conditional
2) ;**;[100] add native code @ ret+17 ma 28-aug-77
2) ifn tops20,<
2) push p,tf ;[100]save tf
2) push p,r ;[100]save r
Digital Equipment Corporation 27-OCT-77 Page 30
PCO Log Report
2) hrrzi tf,.priou ;[100]get terminal output design
ator
2) rfmod ;[100]get terminal JFN word
2) tlz r,(tt%osp) ;[100]clear ^o effects
2) hrrzi tf,.priou ;[100]get terminal output design
ator
2) sfmod ;[100]set new JFN word
2) pop p,r ;[100]restore r
2) pop p,tf> ;[100]restore tf, end of conditi
onal
2) LINE
2) PUSHJ P,OVRLAY ;HAS AN OVERLAY OCCURED
2) ;**;[100] delete/modify @ comcon-10 ma 29-aug-77
2) pushj p,readcm ;prompt and read user command
2) JUMPE T2,RET ;NO SIGNIFICANT INFORMATION
**************
1)1 CALLI 12 ;JUST A NORMAL EXIT
1) MOVE T,STARTU ;REMOVE START ADDRESS SO-
****
2)1 ;**;[100] modify @ ex.+3 ma 28-aug-77
2) jrst ex.a ;JUST A NORMAL EXIT
2) MOVE T,STARTU ;REMOVE START ADDRESS SO-
**************
1)1 CALLI 12 ;MUST BE THERE????
1) SETZM TEM ;SET UP ARG BLOCK
****
2)1 ;**;[100] modify @ ex.+7 ma 28-aug-77
2) jrst ex.a ;MUST BE THERE????
2) SETZM TEM ;SET UP ARG BLOCK
**************
1)1 CALLI 1,12 ;DO A MONRET
1) JRST RET ;CONTINUE'S ALLOWED
1) PAGE
****
2)1 ;**;[100] add TOPS10 conditional and native code @ ex.r+13
2) ife tops20,<
2) CALLI 1,12> ;DO A MONRET
2) ifn tops20,<
2) haltf> ;do a monret
2) JRST RET ;CONTINUE'S ALLOWED
2) ;**;[100] add routine ex.a @ ovrlay-1 ma 28-aug-77
2) ife tops20,<
2) ex.a: exit> ;do a non-returnable return
2) ifn tops20,<
2) ex.a: reset ;close files, etc.
2) haltf ;stop
2) jrst ex.a> ;and don't permit continues
2) PAGE
**************
Digital Equipment Corporation 27-OCT-77 Page 31
PCO Log Report
1)1 MOVE T,[XWD -1,3] ;SET FOR PROGRAM NAME
1) GETTAB T, ;FIND THE CURRENT OVERLAYED NAME
1) JRST OVRL3 ;SECRETIVE TYPE??
****
2)1 ;**;[100] conditionalize TOPS10 code @ ovrl2+2 ma 29-aug-77
2) ife tops20,< ;[100]this doesn't work under TO
PS20
2) MOVE T,[XWD -1,3] ;SET FOR PROGRAM NAME
2) GETTAB T,> ;FIND THE CURRENT NAME,end of co
nditional
2) JRST OVRL3 ;SECRETIVE TYPE??
**************
1)1 RE.LOC: CLRBFO ;CLEAR THE OUTPUT BUFFER
1) TYPE([ PROGRAM SUSPENDED )
****
2)1 ;**;[100] insert/modify @ re.loc ma 28-aug-77
2) RE.LOC: ;CLEAR THE OUTPUT BUFFER
2) ife tops20,<
2) clrbfo >
2) ifn tops20,<
2) push p,tf
2) hrrzi tf,.priou
2) cfobf
2) pop p,tf >
2) TYPE([ PROGRAM SUSPENDED )
**************
1)1 JRST [OUTSTR [ASCIZ/IN HIGH SEGMENT/]
1) JRST RE.L2]
1) OUTSTR [ASCIZ/IN LOW SEGMENT/]
1) RE.L2: TYPE( AT )
****
2)1 ;**;[100] modify @ where+3 ma 27-aug-77
2) JRST [type(IN HIGH SEGMENT)
2) JRST RE.L2]
2) type(IN LOW SEGMENT)
2) RE.L2: TYPE( AT )
**************
1)1 HELP: OUTSTR HLPTXT ;TYPE AN ABREVIATED HELP TEXT
1) JRST RET ;FOR MORE HELP TRY HELP FORDDT?!
!
****
2)1 ;**;[100] modify @ help ma 27-aug-77
2) HELP: atype(HLPTXT) ;TYPE AN ABREVIATED HELP TEXT
2) JRST RET ;FOR MORE HELP TRY HELP FORDDT?!
!
**************
1)1 ACC15: TTCALL 4,T1 ;NEXT ASCII CHARACTER
1) CAIN T1,(T5) ;TEXT DELIMITER FOUND?
****
Digital Equipment Corporation 27-OCT-77 Page 32
PCO Log Report
2)1 ;**;[100] modify @ acc15 ma 29-aug-77
2) ACC15: pushj p,loadch ;NEXT ASCII CHARACTER
2) CAIN T1,(T5) ;TEXT DELIMITER FOUND?
**************
1)1 JRST [PUSH P,T1 ;[065] YES
1) MOVE T1,[TTCALL 4,T1] ;[065] FOR GETSKB
1) MOVEM T1,GETCHR ;[065]
****
2)1 ;**;[100] modify @ acc15+4 ma 29-aug-77
2) JRST [PUSH P,T1 ;[065] YES
2) MOVE T1,[pushj p,loadch];[065] FOR GETSKB
2) MOVEM T1,GETCHR ;[065]
**************
1)1 TTCALL 4,T1 ;GET A USER CHARACTER
1) CAIE T1," " ;BLANKS
****
2)1 ;**;[100] modify @ acc3+1 ma 29-aug-77
2) pushj p,loadch ;GET A USER CHARACTER
2) CAIE T1," " ;BLANKS
**************
1)1 MOVE T2,[TTCALL 4,T1]
1) MOVEM T2,GETCHR ;SET TO READ FROM USER
****
2)1 ;**;[100] modify @ acc3+5 ma 29-aug-77
2) MOVE T2,[pushj p,loadch]
2) MOVEM T2,GETCHR ;SET TO READ FROM USER
**************
1)1 ACC6: TTCALL 4,T1 ;GET ANOTHER USER FORMAT CHARACT
ER
1) CAIE T1," " ;NOW ALLOW
****
2)1 ;**;[100] modify @ acc6 ma 29-aug-77
2) ACC6: pushj p,loadch ;GET ANOTHER USER FORMAT CHARACT
ER
2) CAIE T1," " ;NOW ALLOW
**************
1)1 ACC5: TTCALL 4,T1 ;ACCEPT ANOTHER USER CHARACTER
1) CAIN T1,12 ;UNTIL END OF LAST LINE
****
2)1 ;**;[100] modify @ acc5 ma 29-aug-77
2) ACC5: pushj p,loadch ;ACCEPT ANOTHER USER CHARACTER
2) CAIN T1,12 ;UNTIL END OF LAST LINE
**************
1)1 OUTCHR T ;TYPE IT
1) JRST DISP6 ;MORE TO DO - BACK FOR MORE
****
2)1 ;**;[100] modify @ disp6+4 ma 28-aug-77
2) putchr (T) ;[100]TYPE IT
2) JRST DISP6 ;MORE TO DO - BACK FOR MORE
**************
1)1 LINE
Digital Equipment Corporation 27-OCT-77 Page 33
PCO Log Report
1) TYPE( = )
****
2)1 ;**;[100] modify @ justify+1 ma 27-aug-77
2) jrst [LINE
2) jrst .+1]
2) TYPE( = )
**************
1)1 SKPINL ;INTERCEPT A USER CONTROL O
1) JFCL
1) LINE
1) SKIPN T3,DIMNAM ;START AT HEAD OF ARRAY NAMES
1) TYPE(NO )
1) TYPE(ARRAY SPECIFICATIONS)
****
2)1 ;**;[100] conditionalize TOPS10 code @ dimout+1 ma 28-aug-77
2) ife tops20,<
2) SKPINL ;INTERCEPT A USER CONTROL O
2) JFCL> ;end of conditional
2) ;**;[100] add native code @ dimout+1 ma 28-aug-77
2) ifn tops20,<
2) push p,tf ;[100]save tf
2) push p,r ;[100]save r
2) hrrzi tf,.priou ;[100]get terminal output design
ator
2) rfmod ;[100]get terminal JFN word
2) tlz r,(tt%osp) ;[100]clear ^o effects
2) hrrzi tf,.priou ;[100]get terminal output design
ator
2) sfmod ;[100]set new JFN word
2) pop p,r ;[100]restore r
2) pop p,tf> ;[100]restore tf, end of conditi
onal
2) LINE
2) SKIPN T3,DIMNAM ;START AT HEAD OF ARRAY NAMES
2) ;**;[100] modify @ dimout+5 ma 27-aug-77
2) jrst [TYPE(NO )
2) jrst .+1]
2) TYPE(ARRAY SPECIFICATIONS)
**************
1)1 OUTSTR [BYTE(7)"]",11]
1) SETZM PUTTER ;RESET FOR RESCAN OF ARRAY'S DIM
ENSIONS
****
2)1 ;**;[100] modify/insert @ typdim+20 ma 27-aug-77
2) type(])
2) tab
2) SETZM PUTTER ;RESET FOR RESCAN OF ARRAY'S DIM
ENSIONS
**************
Digital Equipment Corporation 27-OCT-77 Page 34
PCO Log Report
1)1 OUTSTR [ASCIZ\/\]
1) MOVE T,TEM1 ;GET TUE UPPER SUBSCRIPT
****
2)1 ;**;[100] modify @ dim10+3 ma 27-aug-77
2) stype("/")
2) MOVE T,TEM1 ;GET TUE UPPER SUBSCRIPT
**************
1)1 OUTSTR [ASCIZ/,/]
1) JRST DIM10 ;PROCESS NEXT DIMENSION
****
2)1 ;**;[100] modify @ dim10+11 ma 27-aug-77
2) stype(</,/>)
2) JRST DIM10 ;PROCESS NEXT DIMENSION
**************
1)1 TRNE F,F10RAY ;F10 ORIGINATED?
1) TYPE( - F10 ORIGINATED)
1) TRNE F,DOUBLE ;REAL*8
1) TYPE( DP)
1) TRNN F,DOUBLE ;REAL*4
1) TYPE( SP)
1) TRNE F,FORMAL ;ARRAY IS A FORMAL ?
1) TYPE( FORMAL)
1) POPJ P,
****
2)1 ;**;[100] recode routine @ dim20+2 ma 27-aug-77
2) TRNE F,F10RAY ;F10 ORIGINATED?
2) jrst [TYPE( - F10 ORIGINATED)
2) jrst .+1]
2) TRNE F,DOUBLE ;REAL*8
2) jrst [TYPE( DP)
2) jrst .+1]
2) TRNN F,DOUBLE ;REAL*4
2) jrst [TYPE( SP)
2) jrst .+1]
2) TRNE F,FORMAL ;ARRAY IS A FORMAL ?
2) jrst [TYPE( FORMAL)
2) jrst .+1]
2) POPJ P,
**************
1)1 TTCALL 1,T1 ;SHOW CHARACTER
1) HRRZM T,T3
****
2)1 ;**;[100] modify @ grpnxt+7 ma 28-aug-77
2) putchr (T1) ;SHOW CHARACTER
2) HRRZM T,T3
**************
1)1 OUTSTR [ASCIZ\N/A\] ;NOT APLICABLE DUE TO CONDITIONA
L
1) JRST WT13 ;DISPLAY GROUP
Digital Equipment Corporation 27-OCT-77 Page 35
PCO Log Report
****
2)1 ;**;[100] modify @ wt12+3 ma 27-aug-77
2) stype("N/A") ;NOT APLICABLE DUE TO CONDITIONA
L
2) JRST WT13 ;DISPLAY GROUP
**************
1)1 LINE
1) ADDI AR,3 ;MOVE ON TO NEXT PAUSE
****
2)1 ;**;[100] modify @ wt5+1 ma 27-aug-77
2) jrst [LINE
2) jrst .+1]
2) ADDI AR,3 ;MOVE ON TO NEXT PAUSE
**************
1)1 OUTSTR TYPTST(T) ;TYPE THE CONDITION
1) MOVE T,TESTAB+2(T1) ;GET SECOND ARG ADDRESS
****
2)1 ;**;[100] modify @ wt15+3 ma 27-aug-77
2) atype(TYPTST(T)) ;TYPE THE CONDITION
2) MOVE T,TESTAB+2(T1) ;GET SECOND ARG ADDRESS
**************
1)1 OUTSTR [BYTE(7)":",11]
1) MOVEI T,(AR) ;GET GROUP # BACK
****
2)1 ;**;[100] insert/modify @ wt7+10 ma 27-aug-77
2) type(:)
2) tab
2) MOVEI T,(AR) ;GET GROUP # BACK
**************
1)1 JRST [OUTSTR [BYTE(7)15,12]
1) MOVEI T,10 ;SET FOR 8 LABELS/LINE
****
2)1 ;**;[100] modify @ step5+1 ma 27-aug-77
2) JRST [line
2) MOVEI T,10 ;SET FOR 8 LABELS/LINE
**************
1)1 OUTSTR [ASCIZ/[/]
1) PUSHJ P,SPT1 ;DISPLAY THE SECTION NAME
1) OUTSTR [BYTE(7)"]",11] ;] AND TAB
1) TRNN F,TRLINE!TRLABL ;ARE WE TRACING ENTRIES?
****
2)1 ;**;[100] modify @ step11+10 ma 27-aug-77
2) type([)
2) PUSHJ P,SPT1 ;DISPLAY THE SECTION NAME
2) ;**;[100] insert/modify @ step11+12 ma 27-aug-77
2) type(])
2) tab
2) TRNN F,TRLINE!TRLABL ;ARE WE TRACING ENTRIES?
**************
Digital Equipment Corporation 27-OCT-77 Page 36
PCO Log Report
1)1 QLIST8: OUTSTR [ASCIZ/ (/]
1) MOVE T,SYM ;PREPARE TO -
1) PUSHJ P,SPT1 ; PRINT THE SYMBOL
1) OUTSTR [ASCIZ/ IS GLOBAL)/]
1) JRST QLIST7 ;LOOK FOR MORE - SHOULD BE NONE
****
2)1 ;**;[100] insert/modify @ qlist8 ma 27-aug-77
2) QLIST8: type( )
2) openp
2) MOVE T,SYM ;PREPARE TO -
2) PUSHJ P,SPT1 ; PRINT THE SYMBOL
2) ;**;[100] insert/modify @ qlist8+4 ma 27-aug-77
2) type( IS GLOBAL)
2) closep
2) JRST QLIST7 ;LOOK FOR MORE - SHOULD BE NONE
**************
1)1 GSTAH: MOVE R,[XWD -1,.GTSGN]
****
2)1 ;**;[100] conditionalize TOPS10 code @ gstah ma 25-aug-77
2) ife tops20,<
2) GSTAH: MOVE R,[XWD -1,.GTSGN]
**************
1)1 POPJ P,
1) PAGE
****
2)1 POPJ P,> ;[100]end of conditional
2) ;**;[100] add native code @ gstah ma 25-aug-77
2) ifn tops20,<
2) gstah: move r,.jbhso ;[100]get page of high segment
2) lsh r,11 ;[100]get address of high segmen
t
2) popj p,> ;[100]return,end of conditional
2) PAGE
**************
1)1 DEP4: EXCH R,T
****
2)1 ;**;[100] conditionalize TOPS10 code @ dep4 ma 25-aug-77
2) ife tops20,<
2) DEP4: EXCH R,T
**************
1)1 JRST CPOPJ1 ;SKIP RETURN
1) DMEMER: PUSHJ P,DEPMEM ;DEPOSIT AND GO TO ERR IF IT FAI
LS
****
2)1 JRST CPOPJ1> ;[100]skip return, end of condit
ional
2) ;**;[100] add native code @ dep4 ma 25-aug-77
2) ifn tops20,<
2) dep4: exch r,t ;[100]restore r and t
Digital Equipment Corporation 27-OCT-77 Page 37
PCO Log Report
2) push p,tf ;[100]save regs for JSYS
2) push p,r
2) lsh r,-11 ;[100]form page number from addr
ess
2) hrrzi tf,(r) ;[100]put into AC1
2) hrli tf,400000 ;[100]get process handle into le
ft half
2) push p,tf ;[100]save this argument, just i
n case!
2) rpacs ;[100]get access bits into AC2
2) tlne tf,(pa%wt) ;[100]can we write to this page?
2) jrst dep5 ;[100]yes, go do it
2) move tf,(p) ;[100]no, get saved argument
2) and r,[pa%wt!pa%rd!pa%cpy!pa%ex]
2) ;[100]clear unneeded bits
2) tlo r,(pa%cpy) ;[100]get cw access for page
2) spacs ;[100]
2) hrroi tf,[asciz/
2) %FDTWSP Writing to shared page
2) /] ;[100]prepare to warn him once
2) aosn pagwrn ;[100]skip if he has already bee
n warned
2) psout ;[100]send warning
2) dep5: pop p,r ;[100]flush extra stack level
2) pop p,r ;[100]restore r
2) pop p,tf ;[100]restore flags
2) movem t,(r) ;[100]save away t
2) jrst cpopj1> ;[100]skip return,end of conditi
onal
2) DMEMER: PUSHJ P,DEPMEM ;DEPOSIT AND GO TO ERR IF IT FAI
LS
**************
1)1 OUTSTR [ASCIZ .(.] ;SUBSCRIPT
1) PUSH P,SAVLOC ;SAVE SAVLOC AROUND OFFSET PRINT
****
2)1 ;**;[100] modify @ off2+2 ma 27-aug-77
2) openp
2) PUSH P,SAVLOC ;SAVE SAVLOC AROUND OFFSET PRINT
**************
1)1 OFF5: OUTSTR [ASCIZ .,.]
1) HRRE T,1(T3) ;FIRST ELEMENT
****
2)1 ;**;[100] modify @ off5 ma 27-aug-77
2) OFF5: jrst [stype(</,/>)
2) jrst .+1]
2) HRRE T,1(T3) ;FIRST ELEMENT
**************
1)1 OUTSTR [ASCIZ .).]
1) MOVE P,DIMTOT ;RESET PD LIST
Digital Equipment Corporation 27-OCT-77 Page 38
PCO Log Report
****
2)1 ;**;[100] modify @ off5+5 ma 27-aug-77
2) closep
2) MOVE P,DIMTOT ;RESET PD LIST
**************
1)1 TYPE(L#)
1) JRST SPT6 ;DISPLAY THE SOURCE LINE TAG
****
2)1 jrst [TYPE(L#)
2) jrst .+1]
2) JRST SPT6 ;DISPLAY THE SOURCE LINE TAG
**************
1)1 TYPE(") ;SHOW CURRENT OUTPUT AS OCTAL
1) HRRZ W1,ODF ;IS OUTPUT RADIX DECIMAL?
****
2)1 jrst [TYPE(") ;SHOW CURRENT OUTPUT AS
OCTAL
2) jrst .+1]
2) HRRZ W1,ODF ;IS OUTPUT RADIX DECIMAL?
**************
1)1 TOUT: OUTCHR T ;OUTPUT A CHARACTER
1) POPJ P,
1) LISTEN: INCHRS T ;GET NEXT CHAR, NO IO WAIT
****
2)1 ;**;[100] modify @ tout ma 28-aug-77
2) TOUT: putchr (T) ;[100]OUTPUT A CHARACTER
2) POPJ P,
2) ;**;[100] conditionalize TOPS10 code @ listen ma 28-aug-77
2) ife tops20,<
2) LISTEN: INCHRS T ;GET NEXT CHAR, NO IO WAIT
**************
1)1 JRST CPOPJ1 ;CHARACTER WAS THERE, SKIP RETUR
N
1) TTYCLR: SKPINC ;CLEAR ^O, SKIP ON INPUT CHARS
****
2)1 JRST CPOPJ1> ;CHAR WAS THERE, SKIP RETURN,end
of conditional
2) ;**;[100] add native code @ listen ma 28-aug-77
2) ifn tops20,<
2) listen: push p,tf ;[100]save tf
2) push p,r ;[100]save r
2) hrrzi tf,.priou ;[100]get terminal output design
ator
2) rfmod ;[100]get terminal JFN word
2) tlz r,(tt%osp) ;[100]clear ^o
2) hrrzi tf,.priou ;[100]get terminal output design
ator
2) sfmod ;[100]set new terminal JFN word
2) hrrzi tf,.priin ;[100]get terminal input designa
tor
2) sibe ;[100]check for pending input
Digital Equipment Corporation 27-OCT-77 Page 39
PCO Log Report
2) caia
2) jrst rpopj ;[100]no pending input
2) hrrzi tf,.priin ;[100]get terminal input designa
tor
2) cfibf ;[100]clear input buffer
2) aos (p) ;[100]set up for skip return
2) rpopj: pop p,r ;[100]restore r
2) tfpopj: pop p,tf ;[100]restore tf
2) popj p,> ;[100]return, end of conditional
2) ;**;[100] conditionalize TOPS10 code @ ttyclr ma 28-aug-77
2) ife tops20,<
2) TTYCLR: SKPINC ;CLEAR ^O, SKIP ON INPUT CHARS
**************
1)1 POPJ P, ;WAITING INPUT CHARACTERS
1) OUT6: MOVE T,T1 ;PRINT (T1) AS A SIXBIT WORD
****
2)1 POPJ P,> ;WAITING INPUT CHARACTERS, end o
f conditional
2) ;**;[100] add native code @ ttyclr ma 28-aug-77
2) ifn tops20,<
2) ttyclr: pushj p,listen ;[100]let listen do the work
2) popj p, ;[100]no characters were pending
2) popj p,> ;[100]pending chars flushed, end
of conditional
2) OUT6: MOVE T,T1 ;PRINT (T1) AS A SIXBIT WORD
**************
1)1 CLRLI2: SKPINL ;[76]SKIP IF ANY CHARS THERE
1) POPJ P, ;LINE CLEAR
1) PUSHJ P,GCHR ;GET THE NEXT CHAR
****
2)1 ;**;[100] insert TOPS10 conditional and native code @ clrli2 ma
29-aug-77
2) CLRLI2:
2) ife tops20,<
2) SKPINL ;[76]SKIP IF ANY CHARS THERE
2) POPJ P,> ;LINE CLEAR, end of conditional
2) ifn tops20,<
2) push p,tf ;[100]save tf
2) sibe ;[100]more to come?
2) caia ;[100]yes
2) jrst tfpopj ;[100]no
2) pop p,tf> ;[100]restore tf, end of conditi
onal
2) PUSHJ P,GCHR ;GET THE NEXT CHAR
**************
1)1 OUTCHR LSTCHR ;DISPLAY USERS LAST CHAR IN ERRO
R
1) PJRST OUTLIN ;AND TYPE THE REST OF THE LINE
****
Digital Equipment Corporation 27-OCT-77 Page 40
PCO Log Report
2)1 ;**;[100] modify @ endlin+2 ma 28-aug-77
2) putchr (LSTCHR) ;[100]DISPLAY USERS LAST CHAR IN
ERROR
2) PJRST OUTLIN ;AND TYPE THE REST OF THE LINE
**************
1)1 OUTL1: OUTCHR T1 ;TYPE IT
1) JRST OUTLIN ;NEXT
****
2)1 ;**;[100] modify @ outl1 ma 28-aug-77
2) OUTL1: putchr (T1) ;[100]TYPE IT
2) JRST OUTLIN ;NEXT
**************
1)1 OUTSTR [ASCIZ .[IMPLICIT OPEN .]
1) MOVE T,SYM ;GET SYMBOL
1) PUSHJ P,SPT1 ;TYPE PROGRAM NAME
1) OUTSTR [ASCIZ .].]
1) LINE
****
2)1 ;**;[100] modify @ impopn+1 ma 27-aug-77
2) stype(.[IMPLICIT OPEN .)
2) MOVE T,SYM ;GET SYMBOL
2) PUSHJ P,SPT1 ;TYPE PROGRAM NAME
2) ;**;[100] modify @ impopn+4 ma 27-aug-77
2) type(])
2) LINE
**************
1)1 TTCALL 4,T1 ;GET USERS CHARACTER
1) IDPB T1,CFLPTR ;STORE IT IN CORE FILE FOR FUTUR
E ACCESS
****
2)1 ;**;[100] modify @ i2cfil+4 ma 29-aug-77
2) pushj p,loadch ;GET USERS CHARACTER
2) IDPB T1,CFLPTR ;STORE IT IN CORE FILE FOR FUTUR
E ACCESS
**************
1)1 TTYIN: MOVE T,[TTCALL 4,T1]
1) TLNN F,CFLIU ;DO WE WISH TO USE A CORE FILE?
****
2)1 TTYIN: MOVE T,[pushj p,loadch]
2) TLNN F,CFLIU ;DO WE WISH TO USE A CORE FILE?
**************
1)1 PAGE
****
2)1 ;**;[100] insert routines loadch and readcm @ sixin-1 ma 29-aug-
77
2) ife tops20,<
2) loadch: inchwl t1
2) popj p,>
2) ifn tops20,<
Digital Equipment Corporation 27-OCT-77 Page 41
PCO Log Report
2) loadch: push p,tf ;[100]save tf
2) pbin ;[100]read byte from terminal
2) move t1,tf ;[100]put it where it belongs
2) pop p,tf ;[100]restore tf
2) popj p,> ;[100]return, end of conditional
2) ife tops20,<
2) readcm: closeb
2) closeb
2) type( )
2) pjrst ttyin>
2) ifn tops20,<
2) readcm: push p,tf
2) push p,r
2) kparse: move t,[percsb,,temcsb]
2) blt t,temcsb+.cmgjb
2) hrrzi tf,temcsb
2) hrrzi r,funini
2) comnd
2) lparse: hrrzi tf,temcsb
2) hrrzi r,funkey
2) comnd
2) tlne tf,(cm%nop)
2) haltf
2) tlne tf,(cm%eoc)
2) jrst cgo
2) hrrzi tf,lparse
2) hrrzm tf,temcsb
2) cloop: hrrzi tf,temcsb
2) hrrzi r,fungar
2) comnd
2) tlnn tf,(cm%eoc)
2) jrst cloop
2) cgo: