PRODUCT CODE:
PRODUCT NAME:
DATE CREATED:
MAINTAINER:
AUTHOR:
IDENTIFICATION
MAINDEC-15-DAKAA-A-D
REPLACES: MAINDEC-15-DOFB-D JMS Y - INTERRUPT TEST
NOVEMBER 7, 1972 DIAGNOSTIC GROUP
ED STEINBERGE~/EARL L. BOUSE
COPYRIGHT
0
1971, 1972 DIGITAL EQUIPMENT CORPORATION1. ABSTRACT
The JMS Y - Interrupt Test determine if the PDP-IS will complete a JMS Y (where Y is some random value) instruction before i t goes into program interrupt. This is done by setting an I/O flag and then transferring control to an ION/JMS Y instruction group (which is located at some random place in memory). The computer should complete the JMS Y plus the next instruction before the computer goes into program interrupt. If no error occurs, the ION/JMS Y
instruction group is moved to other random memory locations and the test is repeated. Errors are indicated to the operator via the Teletype or error halts.
2. REQUIREMENTS 2.1 Equipment
Standard PDP-IS Computer.
2.2 Storage
\ 2.3
The program uses all of 4K memory for the program or as a test area. The program occupies memory from location 07300 to 07711 wld tests all locations below 07277.
Preliminary Programs Basic Instruction Tests
3. LOADING PROCEDURE 3.1 Method
a. Put HRI tape of program in reader (high speed if available) b . S e t ADDRESS SWITCHES to 07300; the BANK MODE switch on a 1.
c. Depress and release READ IN key 4. STARTING PROCEDURE
4.1 Control Switch Settings
The following is a table of ACCUMULATOR SWITCH settings and their action in the program.
AC Switch
o
I 2 3 4
Set As I
o
o
I 1 oo
1 Io
Action Halt on error.
Don't halt on error.
Don't print error.
Print errors.
Ring bell on error
Ring bell after N passes.
Loop on current Y.
Don't loop on current Y.
Loop on current location.
Don't loop on current location.
N is an arbitrary number (initially 100
a)
which is controlled by the LAW-N instruction in location 07300 and may be changed at the operator's discretion.4.2 Starting Address
The starting address of the program is 07300.
4.3 Program and/or Operator Action a. Set ADDRESS SWITCHES to 07300.
b. Set ACCUMULATOR SWITCHES to desired positions (see section ,4.1) Normal setting is 500000.
c. Depress I/O RESET.
d. Depress START.
5. OPERATING PROCEDURE See Section 4.1.
5.1 Subroutine Abstracts None.
5.2 Program and/or Operator Action
To put the program in the scope mode, the ACCUMULATOR SWITCH RE- GISTER should be set to 260000 (don't halt, don't print, bell after N passes, loop on current Y, loop on current location).
6. ERRORS
Unless AC switch 1 is a 1, errors will be printed on Teletype.
6.1 Error Halts and Description
There is one error halt inside the program at location 07507. Any program diagnosed errors will cause a halt at this location if AC switch 0 is a 1. The program stores HALT in all locations of the test area of memory. If the computer does not go into program interrupt immediately after executing the next instruction (a NOP) after the JMS Y, the computer will halt at location Y + 2.
6.2 Error Recovery
6.2.1 Program Diagnosed Error
If AC switch 0 is a 1, the computer will halt on a diagnosed error.
To recover from this type of error, reset AC switches 0 to 4 as necessary, (see section 4.1) and then depress CONTINUE.
6.2.2 Interrupt Failures
Interrupt failures will cause a halt at location Y + 1. To recover, reset AC switches 0 to 4 as necessary (see section 4.1) and then start the computer at location 07300 (BEGIN) after depressing I/O
~~T.
6.2.3 Test for ION, JMS Y, and Y
To test particular memory locations for the ION, JMS Y, and/or Y, store the address of the ION in location ~7672 (POINTl), that address +1 in locatiori ~7673(POINT2), the address Y in location g7674 (POINT3). Then set AC switches 3 and 4 to 1, depress I/O
~SET, and start the computer at location 07300 (BEGIN). Y and location of ION must be less than 07277 and not 00000 or 00001.
6.3 Error SWitch Hierarchy
6.4 Error Typeout EXample
ION-JMS Y JMS AT 001234
My"
007654
C CO) 001235
C(Y) 740040
The above example shows that a JMS 7654 instruction was s~~r~~
in location 1234 (it is implied that the Ia~: is in 1233). ";':.1'.: l:t;S stored in location 00000 as well as the 740040 (HLT) in Y indicates the JMS was not completed before the computer went into program interrupt.
7. MISCELLANEOUS 7.1 Execution Time
Approximately 96 ms per ION/JMS Y instruction group.
8. PROGRAM DESCRIPTION
a. The first function that is performed is that of initialization.
A register to count loops and a location to assure typeout of the error message header are initialized, and the bell on the Teletype is rung to raise the teleprinter flag to assure a flag for program interrupt.
b. Then a check i"s made to see if the locations of the ION and JMS Y instructions should be changed (switch 4). If they are not
changed, the program proceeds to c. If they are, a number is obtained from a random number generator, made into an address and checked that i t is below the program, not equal to Y or Y + 1, not equal to 00000 or 00001, and stored in Point 1 and incre- mented and stored in POINT2.
c. Then a check is made to see if the number Y should be changed (switch 3). If i t is not, the program proceeds to d. If i t is, a number is obtained from a different random number genera- tor than was used in b, made into an address, checked to see that i t was at least 2 below the program, not equal to the location of ION or JMSY instructions, not equal to 00000 or 000001, and stored in POINT3.
d. Then HALT is stored in all memory locations in the test area of memory. The ION instruction is stored, as well as the JMS Y instruction after i t has been formed from Y and JMS. The AC and Link are then cleared and control is transferred to the ION/JMS Y instruction group.
e. Upon return from the program interrupt, the contents of location Yare checked as well as the contents of location 00000 to make sure the proper numbers were stored in these locations. If not, the error subroutine is called.
f. A check is then made to see if the SCOPE mode CAC switches 3 and 4 a 1) has been requested and if so, control is immediately transferred back to the instruction group.
g. If the instruction group is not being SCOPED, a check is made on ringing the bell (switch 2) after which control goes back to b.
"QHII2~"
~i~e" "4"e~4
"iI~e1
"'602
"'~2QJ~ ~4'6Q!3
"'0'''3
'lIf}e~1"028'
~"6~'~e!l!5 ~"'6C!J2
"1186 '4'603 elfl'
~111f1""'2 6"'''''
01'.2,
QJ1',fJ ""'60'
""'i 1!I",64
~''''2
'6'20'
""13 'II"~'
""1'
~"I',,'.11 &,'.8.
23i36 IDAG£ 1
,TITL.E 10NJMS
ICOPVRIG~T
1
96'.
OIG!TA~ EOUrp~E~T C~RP" MAVN1R~. MASS~IREVlSEO
NOVrM~ER'. 1"2
~y EAR~b.
BOU~EIUPOATEO
PRO~RA~Te
ACeO~onA'EECO
M50~I IJ~$ V.I~TERRU'T
TeST
I
',ABS
I~DC "~il0 IC~ECK
AOS AGAINST C(0t
e~ECIo( LAS
ANO I<ON$T OAC
eT~M"!-At
!OAe SAVI AN" IifONST SAO eTrM' JM' ItOl
llJM'
!~lIto..L.Oe ""f.!
8EGIN L.AC C1,,011 OAC eOUNT L.AW I'"
,.' TLI JM' t • • ,
IStT U' TO COUNT
Leo~sIR!N~ e[l~
TO !t' OP 1'0 'LAG
~'416
1",11
I ~£A,S.JMI !!tANgOM
ANO MAIK IGENERATE AANc OM AecRESS
"'ONE
l~"ION" 'OfN,t- I.'O-E
l~ "JM$Y" 'O!N'EI lAND
I~C"tME~T~"." 'I""
""121 !4"'1
'7'11
fl1'~2.4'". 2""'.
11,413 "Ia"'.
117'1' .,'.86
~"1' !l4"'1
~,.s.'
6".'.
""1' 3""6
""2l1 '4'lJ,
,,·as. •• , •••
01421 1""4
81'13 34'".
""24 "'11,
"'7'1' ""26 ."4"6 21""
11'2' 11."'3
""llI 6"4eo
""11 """
""'J! 61'.06
"'7':13 34""
1l9"3'
~"":S""3' 61'.2'6
OAC 'IOIN'1 OAC 'OIN'2
III.OINT2 INA
JMiI Mt"'S.
lAO ONe JMII WElt,S.
TAO UPl.;lM IMA JM" MER"
I.AO 'OtNT2 'AD UPl.;lM SMA
JMfII HEIIt"
L1C IIOIN'3 lAO 'OINTl JM'
w£"f;S,lAO IIOIN'2 JM" WEIIt"
TAO eNf lAO 'OINTS, JM' WE"'"
" EJteT
II' "ION""t IV!S IHOW AIOUT lo'
IV!S
III THC "ION" 'O!N"- IINStD! 'HIS '.CCRIM,
IYEI. GEN'.A" AAg'H!R INC. NOW HOW AIOV'
ITNE "JMS '"
,el~'lftliS JT 01<'
INO.
TillYAIIA!N
IO~
SO 'AR. NOW. tS
IV",elNT!R
IE~U'L
TO "ION" 'OtNTE.' IYIS
INO,
EQUA~TO "JMS Y" 'OfN't-, IYES
IAOO 1
'~D C~tCKIT~AT
THER! 1$ AT eEAS'
lONE LOCATION
eE'WE£~My" • "ION"
ICN-JMS \o4AC1~
V,5
9.JA"'."~a3iJ6 "AOE 2
".,436 10"4,,
~ERE:2JMS RANOUM IVES, GENERATE
R.N~OM AO~R~SC:Ql74J1 ""'5~' AN"
~A!!(""44~ ~4'5'5 ~Ae "O!~'J I A~JO S'fO~E pI
POfN'
~~1441 '412~" ~N4 115
"Y"."?
"'7'42
"01436 JMP ~ERE2IVES
"7
44'3 1114'5'0
SA!:) ~N~IjoojOW
A~OUTl'
",444
6"'4~6JMP
~E"E2 IV~S~1'4'5 '4'6~"
TAD
UPL,1~2 lIS"Y"
t~SIDE P~O~RAMo.
t"74 46 '4~1e10 SM~ Ir!RST ~nClTtQN ~E'O.E
011
441
~0'436JMP
~E"E;2IVES
~1"0 ~"'5'5
l-AC 'O!NTJ
10K50 FAR NOW
15"V"
~O!N'E~~1'51
"4"'3
SAOI'O!N'l ItOUAL TO "ION"
~OfN'E~~1"~ ~0'.36
JMP WE"E2 lyeS
~14':5
'14"'4
SAOPOINT2
INO, EQU'~TO "JMS V"
~O!N'£.~1"4
&"'436 JMP WEMEZ IVES
""'5~
34,,'10 TAO ONE: IAOO 1 ANO CWECK
~1"6
"4"'3 5AO fIIOINT1 ITwA' THtR! IS AT
~[AS'~7'"
&"'436 JMII 101[.[2 lONE ,-oCAT!ON 8t'WEEN "V" • "ION"
I
~1460
1""1~
~EAE~JM9 wAL.T IS'OR[ "JMF'
!:Rf'tO"" I~ ~EMORV~1'61
21"" L.AC !ONCON
IT~ENTHE. ION ViA
"'1462
~6"'~OAO- POINT! 1"10""
P~INTfR~1'6~
2""" I.AC 'O!NT3 IGET "¥n
~1'64
24"66 XOR JMSCON
"~RMJMS "V"
""'65 016,,'14 OAO, POINT2
15'0"£VIA "JMS ¥" P01NTtR
~1'66
".,et"
eLr~leLI.lel-EAR Ae & L.
~1'6'
62"'3 JMPt POINT!
IEXE~UTEION-JMS y
~141~
20'514 "E'URN L.AC 'OINT2
IG~TLOCATION 0' JMS
07"1 34'"" TAO ONE
I'~RM.00RfSS S'OR!O
UI "V"C!l1'12
~4'62'1OAe VAR1
~1"3
22'", L.AC. POINT3
~1'"
.. ",,61 AND MASK
"".,~
'4'6etl SAO VA"l
~'416
'4{0"" II<" lyrS,
A~L.01(
fll1'77
~0"('}\4JMP tRRCON
IT~E,PC' !AVtO ON
'~EIJMI' ,8 WRONG.
fll1'~~
~"2'''''''' l-AC
~ I~!T ,~~"C' !AVEe ON
'~EIN
!R.UPT~"'7501 ,,,,,61 ANO MASK
IMAS~OU' 'HE
'O~RtSS~""'"2
~4'606SAO fE"ROR
1&~OUL.OI:QUAL.
'E~Rf)R'luAReU'1 N[ AOO-·,
~7"3
'14!IIII SKP ,yrs
~1'1.
&1,,12
E:R~CONJMP
rR~QR IT~E,'C'
IAVE~ON tME IN,rM-U" IS
WRONC~1!I"15
21'684 I.AC SAve
~1!il'
'4t1""
SPA~1'"'
""'" JMP OONE
~1'1~
44,,64 til COUNT ICONf
!NeUII~'~1!J11
"'.\?!6 JMP 101[-1:1 INO
~1'12