30140 90045 Series 64 68 70 Microcode Manual Oct86

30140-90045_Series_64_68_70_Microcode_Manual_Oct86 30140-90045_Series_64_68_70_Microcode_Manual_Oct86

30140-90045_Series_64_68_70_Microcode_Manual_Oct86 30140-90045_Series_64_68_70_Microcode_Manual_Oct86

User Manual: manual pdf -FilePursuit

Open the PDF directly: View PDF PDF.
Page Count: 552

Download30140-90045 Series 64 68 70 Microcode Manual Oct86
Open PDF In BrowserView PDF
HP 3000 Computer Systems

HP 3000 SERIES 64/68/70
COMPUTER SYSTEMS
MICROCODE MANUAL
FOR HP REPAIR USE ONL Y

Fh;;tl
.de.

HEWLETT
PACKARD

1944 i PRUNERIDGE AVENUE, CLTPERTINO, CA 95014

Part No. 30140-90045
EI086

Printed

In

l". S. A 10/ St>

NOTICE
The information contained in this document is subject to change without notice
HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THJ5
MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHAl'oo'TABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Hewlett-Packard shall net
be liable for errors contained herein or for incidental or consequential damages in connection with the
furnishing. performance or use of this material.
Hewlett-Packard assumes no responsibility for the use or reliability of its software on equipment that
is not furnished by Hewlett-Packard.
This document contains proprietary information which is protected by copyright. All rights are
reserved. No part of this document may be photocopied, reproduced or translated to another language
without the prior written consent of Hewlett-Packard Company.
Copyright © 1984, 1986 by HEWLETI-PACKARD COMPANY

LIST OF EFFECTIVE PAGES

The List of Effective Pages gives the date of the most recent version of each page in the manual. To
verify that your manual contains the most current information, check the dates printed at the bottom of
each page with those listed below. The date on the bottom of each page reflects the edition or subsequent
update in which that page was printed.

Second Edition . . . . . . . . . . . . . October 1986

Effective Pages

Date

all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Oct 1986

OCT 86
III

PRINTING HISTORY

New editions are complete revisions of the manual. Update packages, which are issued between editions,
contain additional and replacement pages to be merged into the manual by the customer. The dates on
the title page change only when a new edition or a new update is published. No information is
incorporated into a reprinting unless it appears as a prior update; the edition does not change when an
update is incorporated.

First Edition . . . . . . . . . . . . . . . . . Jan 1984
Second Edition. . . . . . . . . . . . . . .. Oct 1986

OCT 86
iv

CONTENTS
Physical
Page
vi

Hexadecimal
Address

11

OOIF

51

0200

Section III
RUN MODE INTERRUPT
HANDLER

70

0324

Section IV
FLOA TING POINT AND WORD
SHIFT INSTRUCTIONS

167

0800

Section V
CHANNEL PROGRAM AND
DMA INSTRUCTIONS

182

08D3

Section VI
MICROPROGRAM LOAD INSTRUCTIONS

222

OBOO

Section VII
1MB MESSAGE ROUTINE INSTRUCTIONS

223

OB20

Section VIII
EXTENDED FLOATING POINT INSTRUCTIONS

224

OB2F

Section IX
I/O INSTRUCTIONS

239

OCOO

Section X
SERIES 70 ENHANCEMENTS
(ERON, ERXT, XGDB, TIMR, TMRQ, MSTA)

263

OD80

Section XI
COBOL II FIRMWARE INSTRUCTIONS

298

1000

Section XII
DECIMAL INSTRUCTIONS

400

1400

Appendix A
ICF ISS MICROASSEMBLER SYMBOL
TABLE CROSS REFERENCE

465

Appendix B
CONTROL STORE OBJECT CODE

509

PREFACE
Section I
INTERRUPT HANDLER AND
UTILITY SUBROUTINES
Section II
COLD LOAD AND DUMP MODULE

OCT 86
v

PREFACE
This manual contains a complete listing of MPE V UB Delta-l (Version G. 02. Ot) microcode for the HP
3000 Series 64/68/70 computers. It is intended to be used by Hewlett-Packard TSEs, SEs, CEs, and other
support personnel for troubleshooting purposes. The manual listing is divided into fourteen major parts
which are listed in the table of contents. Miscellaneous commands and smaller code groups will be found
between sections as a result of the page-segmented microcode architecture.

OCT 86
vi

PAGE 1
RECORD
NO
2
3

C.S.

ADDR

HP 3000 Series 64/68/70 Microcode
**.*******~ ALU A ****.******
********~**** AlU B **************
LABL RREG SREG rUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
SLI.UT
III !Ii: ill ...... III III III III " III III III

* 111 III III III 111 III .. III III III III

III: III III III .. III • III III III III III III

'* * III "

III 11 JIll III III III III III III III III III III III

* * .. III III " * III III III III III

4

5
6
7
8
9

ICF/55 Microprogram
Version with CST extension 8k

10

11

12
13
14
15
16
17
18
19
20
21

See locatiDn !11 for embedded version number
• IlEV 0709A

7/9/82

CHANGED DIMS (DEFERRED INTERRUPT SUBROUTINE) •
THAT THE CPU WILL GO BUSY WHEN ENTERING; AND·
CHECK FOR MSG INTERRUPT BEFORE EXITING.

• IlEV 0831A

8/31/82

CHANGED IN CLDI TO READ 2ND BYTE OF COLD LOAD •
DEVICE 10 AND DO UNLISTEN/UNTALK TO HPIB.
FIX FOR IOWA CITY PROBLEM WITH BFD COLDLOAD

• !lEV 0903A

9/3/82

CHANGED CMPS/CMPT COBOL INSTRUCTION TO FIX
COMPARE OF LONG TO SHORT (SR 33445, BOEING).

22

23
24
25
26
27
28
29
30
3i
32
33

34
35
:16

••• CHANGES FOR CST EXTENSION MADE TO MICROCODE •••
AFFECTED INSTRUCTIONS: PCAL,EXIT,IXIT,SCAL
LLBL,XBR,PARC,LST,SST,LAP,LAIP.
ALSO AFFECTS: INT8,INT9,CLFN,STTV,CSTV.
• !lEV PR0118A 1/18/83

CHANGED IN STOREBYTE SBS&SBD (SR 4700-15545)
FIX I~ MPYD(SRD1) SR 9999-201353,4700-021048

• !lEV PR2305A 2/4/83

CHANGED IN MWOL TO FIX MVBW BOUNDS CHECKING
BUG. SR 4700-15461 LONGS DRUGS. ALSO CHANGED •
BNDV AND NRM TO REPORT PARM IN SPOA CORRECTLY·
SR 21287 FOUND BY RON JONAS. ALSO CHANGED
•
MICROCOOE REV CODE TO BE STANDARD HP DATECOOE:

37
38

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

56
57

REV PR2306A 2/8/83
• !lEV 2307A

3/9/83

• REV PR2310A 3/29/83

".
:" ftEV PR2311A 4/5/83

CHANGED IN DUMP TO WRITE SPIB (HALT CODE) TO
MEM LOC %1514 FOR DPAN. SR 32447
CHANGED IN ALGN AND VMLD TO HANDLE CASE IN
WHICH THE LAST BYTE OF THE SOURCE FIELD
SHARES THE WORD WITH THE FIRST BYTE OF THE
FIELD. ALSO FIXED BUG IN SETTING O'PUNCH/
NOT O'PUNCH XR2 FLAG. SR4700-034223(EBI CORP)·
ALSO FIXED MDWO SO THAT THE SIGNIFICANCE
•
TRIGGER IS SET CORRECTLY. SR 4700-24075
•
CHANGED IN ALGN TO BACK OUT 2307 CHANGE TO
OVERPUNCH-XRB2 LOGIC. FIXED. IN 'FILL' TO
CORRECTLY HANDLE OVERPUNCH CONDITIONS
CHANGED IN MWOL TO LEAVE THE TOS REGS WITH
CORRECT VALUES IF TRAP TAKEN AND NO BNDV

10/ 2/86
COMMENT

9:26 AM

PAGE 2
RECORD
NO
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
13

74
75
76
77

78
79
80
81
82
83
84
85

c. S

ADDR

HP 3000 Series 64/68/70 Microcode
1It • • • *.**_*.
ALU A * ••• IIt******
_*IIt***** __ .** ALU B ****III***JII*****
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
• REV PR2312A 4/19/83

CHANGED CRTW TO CLEAR XRB101 ON COLD LOAD TO
DISABLE DCU LOGGING INTS UNTIL ENABLE BY MPE •

• REV CX2314A 5/23/83

INIT IAL RELEASE OF CST EXTENSION MICROCODE
INCLUDES FIX TO ENDP IN WHICH THE WRONG ALU
WAS CALLED OUT--RESULTING IN ALWAYS LOGICAL
MAP MODE FOR THIS INSTRUCTION.

• REV CX2317A 7/11/83

FIXED lAP & LAIP FOR STACK HANDLING PROBLEM.
SR 9999-201395 WAS THE REPORTED PROBLEM IN
IN NON CSTX CODE. THIS VERSION REWRITES
LRA-PCALO LOGIC FOR CST X TO INCLUDE THIS FIX.'
WHEN PUSHING TO Z+l. FORMERLY ALLOWED THIS.

• REV CX2318A 7/12/83

FIXED IN PSHM AND PSM2 TO STACK OVERFLOW
ALSO FIXED IN PCl7 TO FIX MAPFLAG PROBLEM.

• REV CX2319A 8/9/83

FIXED IN MMAP TO REWRITE XRA12 WITH 4000H
ON POWERFAIL RESTART. ALSO CHANGED IN SI01
AND CCPP TO REMOVE ALL USE OF RWX6 SPECIAl-A
(WHICH DOES NOT WORK DUE TO HARDWARE PROBLEM)'
REPLACED W/ ROX3. KANSAS CITY /3M/DMD PROBLEM •
WITH lOB CACHING. ALSO REARRANGED PARC TO DO •
AUDIT TRAIL FOR DEBUG OF POSSIBLE HDWE PROB.

• REV CX2320A 8/10/83

REMOVED AUDIT TRAIL IN PARC INSTRUCTION
LEFT PARC REARRANGED AS IN PR2319A. THIS IS •
TO GET AROUND A HDWE PROBLEM WHICH SEEMS TO
CAUSE FAILURE BASED ON WHERE IN WCS THE CODE •
RESIDES. EXACT CAUSE OF FAILURE IS UNKNOWN
MODIFIED MMAP TO DELETE CHANGE OF CX2319A
WHICH CAUSED PFAIL TO DIE CHANGED PON TO
WRITE 4000 INTO XR12. CHANGED ENDP TO GET
AROUND POSSIBLE HOWE PROBLEM WITH LITERALS.
ALSO FIXED XEQ TO BACK UP P ON STACK O'FLOW
ALSO FIXED BUG IN ABSD FOUND IN DESK CHECK

86
87

88
89

90
91
~) ~

91
'II!
:J

1
:)

96

97
98
99
100
101
102
103
104
105
106
107
108
109
110
111

112
113

• REV CX2324A 9/29/83

• REV CX2326A 10/17/83 FIXED IN LAIP TO ADD A NOP LINE SO THAT SF1
WILL NOT BE KILLED BY FAKE NEXT.
• REV CX2328A 11/16/83 FIXED PCL3 CHECK FOR SEG ) tENTS
• REV CX2330A 11/29/83 FIXED READ STATUS COMMAND IN CS80 DISC CHANL •
PROGRAM USED FOR LOADS, STARTS, AND DUMPS.
WAS 00, SHOULD HAVE BEEN 00 ALSO FIXED MVBW •
TEST FOR SPLIT STACK SHOULD HAVE USED "SUB",'
NOT "CAD"
ALSO FIXED BUG IN ENDP WHERE WE •
GOT A BOUNDS VIOLATION WHEN WE SHOULDN'T
HAVE AFTER A NON-MATCHING PARAGRAPH NUMBER
• REV CX2332A 12/10/83 Added two NOP Ilnes after ABSD to stop
WCS PARITY ERRORS from ABSD during microinst ructlon pre-fetch cycles

10/ 2/86
COMMENT

9:26 AM

PAGE 3
RECORD
NO
114
115
116

C.S
ADDR

HP 3000 Series 64/68/70 Microcode
---- ••••••• ALU A ••• ******** ************* ALU B **************
lABl RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
" REV CX2334A 1/14/84

FiMed DUMP failure after "Invalid Address -- "
Module 5" errors (Note: NIR will be invalid'
in DUMPs made after this kind of sytem error)"
Added DSJ to channel program for mag tape
•
after read of t rans1er count to keep Antelope"
and Buckhorn happy during Loads and Starts
•
Also, fiMed CSEG problem with NRPGMSEGS.

122

" REV CX2336A 2/24/84

FiMed CSEG problem with LSTT address

124

" REV CX2420A 6/1/84

FiMed CVDB in response to SR.'s 4700-099259, •
4700-069906, and 9999-201617. Also f iKed
the SlD instruction (SR' 4700-105114)

• REV CX2428A 7/30/84

Fixed Bounds Violation problem in response
to SR. 4700-13326 (Anderson College).

• REV CX2511A 3/19/85

t~:~~el g~;8~ i~a~~~!/~~~~a~e~~~:dI~~n~l~;t,:
instead of ~elected Device Clear This is in •

117
118

119

120
121
123

125

126

127
128

129

110
1~ 1
132

133
134

response to the 7933/5 HPIB   •
disc spindown problem due to the 793X MR 5.0 "
microcode changes that make a  do a
recalibrate.

135
136

137
138
140

REV CX2518A 5/16/85
CJS/EBD

FIXED 'BNDE RSB' INTERACTION PROBLEM IN lDWC "
(BNDE WAS NOT BEING PROCESSED PROPERLY)

143

" REV TX2526A 7/29/85
EBD/BEl

Fixed generalized BNDE/RSB problem with TICB "
construct to slow the RSB down, some places
drop the RSB down one line if not slower.

139
141
142

144

145
146
147

148
149

150
151
152

153

154

155

156
157

158
159
160

161

162

163
164
165

166

157
1 fj 8
169

REV CX2527A 8/6/85
CJS

Re-wrote FlSH (the FLUSH instruction) to
flush the new 128Kb cache or the old cache.

" REV CX2545A 11/4/85 Second release to U-MIT. Fixes the MM-3000
JLT /EBD CSD COBOlII hang, and SUPRTEST ABORT problems"
SR'S 4700189167, 4700190629, AND 4700191379.
Suspected cause: pipeline interaction with
•
TICB (skip) construct on RSB/BNDE (STATE FARM):
" REV TX2553A 12/30/85 Added XP performance enhancement microcode.
MRG/BEl This includes: new lST/SST,ISTR,ERON,ERXT,
JLT /EBD XGDB,TIMR,TMRQ,MSTA,and ENPF. These changes"
don't appear until the "Enable Performance"
(ENPF) instruction has been executed. Also
added a feature to DUMP which puts the ucode "
datecode into the word at memory location
SYSGlOB Extension %20 so it can be' printed.
Commentary is at header of each inst ruction
• REV CX2603A

1/16/86 Documentation update. Also added NOPs to
BEL
each code break so never causes freezes.

• REV CX2604A 1/23/86 Fixed a bug in ERXT in the section of code
JLT
that deals With aborting processes.

10/ 2/86
COMMENT

9:26 AM

PAGE 4
RECORD
NO
170
171

172
173
174
175

176
177
178
179

180
181
182
1. ~3
If:4
If:',

1'1)
1B l

lR;;
1 R'l

190
191
192

193
194
1'15
196

196
196
196
197

HP 3000 Series 64/68/70 Microcode
C.S

ADDR

111:.* •• *.**** ALU A

-*-**.*-._.

LABL RREG SREG FUNC SFNC STaR SPSK

************* ALU B .111-******-**.*

RREG SREG FUNC SFNC STaR SPEC SKIP

• REV CX2605A 1/30/86 Fixed the vers10n save code in dump, turning
BEL
off WCS parity checking when we grab the
version number from location 11 as it enters
the pipeline
Parity checking turned back on •
immediately following this by the JSB/RSB.
• REV CX2606A 2/10/86 Fixed ERXT so that it passes the correct
JLT
parameters to Abort.
• REV CXA606A 8/18/86 Fixed CVBD to call LEN with correct
CYL
parameters.
• REV CX2625A 6/17/86 Fixed the routine TCLK in order to be able to •
JLT
keep track of time correctly even when the
systems are flushing constantly.
• REV CX2635A 8/26/86 Second release to UB-MIT. Contains f1xes to
CYL/JLT
SR's concerning the following routines.
PCAl, PCl3, DCMO, lOMS, EBND, EFOV, XBR,
ASEG, AlGN, SETR, AND CVBD. Also contains
the Prarle Project changes that allow the
HP9144 to be used .s a coldload device, the
fl. to TClK that fixes the problem of time
loss in S70 A systems, and the fix to the
7MB hang problem
• REV CX2638A 9/26/86 Documentation update for 2635.

JLT

10/ 2/86
COMMENT

9:26 AM

PAGE 'i
RECORD
NO
199
200
201
202
203
204
205
207
208
209
210
211
212
213
214

216
217
218
219
220
221
222
223

225
226
227
229

C S

ADDR

235

111111 • •

•• *.*** ••• *.* ALU B *************~
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

Unimplemented Instruction Entry Point
JSZ

0000

TRP

UNC

ADD

.

Unimplemented instructton entry point

**JII._*********IIr*****I111.****JIr******JII**JII*******III**.*** ••• *** ••• ****IIi:**JII*

Power On Entry Point
0001

~O~IE

C60e

RA

ADDL

JSL

PON

UNC

Power on entry potnt; RA

@ZI

Cold load entry point
•• ******** •• ** •••• ******111* ••••• **** ••••• ****** •• *****1\****** ••• ******
0002

CLOE'

INC

XR15

ADD

0003

230
231
232
233
234

236
238

Absolute Ent ry Point s
••••••• *.** ALU A
*** ••• *
LAEIL RREG SREG FUNC SFNC STOR SPSK

.

JSL

CKSM BNKD

NFl

JSL

LOAD BKX3

UNC

Dump entry point

***.*** •• ** ••• I11.******* •• ** •••• ** ••• * •••••• ***.* ••• **tt •••••••••••••••

0004
0005

DMPE

INC
JSZ

LSL XRlS
DMPX
UNC

JSZ
ADD

PStiA BKX3

SF4B

SRNZ

Set LOAD bit in XRAlS; BNKD :~ 0 (for .CKSM)
checksum WCS & LUT and initialize module
map if not coming from the STRT instr'n
:= 0; BKX3 := 0, go to cold load routine

PAGE 6
RECORD
NO

NOP Instruction

***._._ .•• *

C S
AODR

ALU A

**.**--*_..

***.***.*.*** ALU B -*.*****.**.*.
RREG SREG FUNC SFNC STOR SPEC SKIP

LABL RREG SREG FUNC SFNC STOR SPSK

JI'.

* It * * It It It III It It *. It • •

*. *_ * ••• ,.

* It III III .*.* •••••• ** •• III III

._*. *****_Jlli . .

2~1

* III

2,13

:***~~~*!~~*~~~!:!!~~l*!~~!!~~!!~~******.**********.** * •••

::'.12
21\4

245
246
247
249

\II.

III: It

It

$LUT INSTR·NOp·O 000 000 000

0006
0007

NOP
NEXT

ADD
ADD

Jill

It"

III

It • •

10/ 2/86

9:26 AM

COMMENT

* •• **.*.

xxx xxx, ENTRY-NOP, DSPL-6
ADD
ADD

STH NEXT

NOP instruction
STFF in case of BCCNM;

NEXT

PAGE 7
RECORD
NO
252
253
254
255
256
257
258
259
261
263
264
265
267
268
269
270
271
272
273
274
275
277
278
279
280
282

283

285
286
288

289
291

C.S.

ADDR

Code to flu 11 TOS

111111****_.,,·*. ALU A ***l1li***** ••

***111111111.111**111 •• AlU B **III.III*IIII1rIllJII*ftlll_

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SI(IP
I' • * III '" lie 11 III III III III III * ,. III III l1li III • III III III III * III III III III l1li l1li • * * III III: * " III III III III III III * III III 111 III 'III * III lit lit III til .. * III: 'It III * * * !II III III 11 *

10/ 2/86

9:26 AM

COMMENT

111:

~~~Mb~~t~~ !~et~~pst~c~h~nS~:~~st~r~emop~L~n~h~~:~e;o~tst~Ck
:: III III" III

0008
0009

I'ULM

underflow and therefore should be called before changing
III ~! III ~~~ #I ~ ~! !~~
III ~ ~~':~ IIII! ~~ ~ ~! ~ ! ~ *III III III III III III l1li III III l1li III * III III III * III III III 1111!:

UBA

OOOA
11 III II III III

"
:
:: III

OOOB
OOOC

r:

!~~ * ~! ~~ ~
SM
Q

ADD
JSZC STUI

OPA

ADD

* III III " * III III * ,.. l1li l1li III *

ROS
NCRY
REGN

111:

III til • III III III III III III

* III * III III

PUL2 pulls two locations
* III III

FFFF SM
SR

]II

ADDL
ADD

SM
CTR

ADD
SP3B
* III III * * * III III III III III III * " l1li III III * III II! III III 111111 III III III III
the top of stack in memory

III III

fro~

INSR
RSB
l1li:

:G!~e}:~eT~=0~t3i~!e~:ile:Uk~f~~:c~~a~:rn:t:g: :r:~~f~~Wa~;d
~ ~! !':: !: ~ ~ ~':'~ !:~! ~ ! ~ ! ~ ~
* __ *
*
111

SM

"UL2
UBA

111111 III

III

ADD
CAD

RH

0000

OPA

ADD

REGN

OOOE

OPA

ADD

REGN

OOOF

UBA

JSZ

STUN

)Ie

III III III III III l1li III #I III III III III III • l1li III

III

l1li III III III III III III

III III II: III

III III III III

•
:
*" :

ROS

FFFF SM

ADDL

SM

ROS

SR

ADD

CTR

INSR

CAD

SM

ICTR NEG
INSR RS,B

INC

SM

DCSR

UBA
RH
UNC

Q
SM

CAD

Read TOS in memory; SM :- SM - 1
STUN i f not (SM ) QI, JSB to ent ry which
increments SM and decrements SR;
CTR := SR for REGN store, inc SR
REGN := TOS in memory; UBB := SP3B, RSB

Read TOS in memo ry; SM := SM - 1
Read (TOS - II in memory;
CTR '= SR for REGN store, inc SR
REGN := TOS in memory; Inc CTR for next REGN
Skip i f not ((SM - II ) QI
REGN
(TOS - II in memory; SM '= SM - 2,
i ncSR , ret u rn
UBA :. QDWN, s t ae k underflow;
Restore SM and SR
3

PAGE 8
RECORD
NO

CS
ADOR

293
294

Overhead line Target for Interrupts
******It**** AlU A ********IIt**

LABL RREG SREG FUNC SFNC STaR SPSK

._ ••• _*.111._.- ALU B **********111**.

RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

;0010

295
296

297
298

299
300
301

303

0010

IR

306
307

308

0011

ADD

UNC

Jump to interrupt handler

.

6!expecting
~~rU~~d~~;efh~: !~~;~1~~ :~fh~~}l:~o!~~; !~;tPt~:16~~'iS
to find here. The FUNC & SFNC flelds contain a

date code in the formMMDOVb. i.e., 0929M
•
***************.******.111*********.***********************************
4D4A 4020 2638 5820
CON

ASCII data for the DCU

********** ••• *****III**iII •• IfI._.*_***._************_*.IIIi:*** •• 111.**_*_ •• _._.

The following 11ne 15 for interrupts detected before any
instruction other than a paired stackop. P is decremented

:*****~r*~::*~:!:!:*l~~e!:!*!:*!~:*!~!:!!~~!*~~:~!:!~* •• 111*. __ ** •• * •• :

318
319
320

321

IRH

This location is used to communicate information to the DCU.

305

309
310
311
312
314
315
316
317

JSZ

***_**_*********JIt***********_.****._******************_._***********_

304

0012

IRD

JSZ

IRH

UNC

FFFF P

AOOl

JSB for interrupt; P :- P - 1

PAGE 9
RECORD
NO
324
325
326
327
328
329
330
331
332
333
334
335
336
338
339
340
341
343
344
345
347
349
350
351

C S.

ADDR

~~. ~!:~~1 ~~ t A~~ul i~:! ••••••••
LABL RREG SREG FUNC SFNC STOR SPSK

~.~~ •• ****.** ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

There are two identical copies of the SR preadjust routine.
If the instruction in NIR is not a paired stackop then the
jump· target of the overhead line is incremented by two.
The second copy of the routine handles thiS case. The
preceeding overhead line is:
SM
0013

JSZ

SRPA

ROBS

JSZ

STNU

UNC

Q

JSZC SRPU

NEG

Q

ADD
JSZC SRPU

NEXT
NEG

ADD

NEXT

SRPU

.

FFFF SM

ADDL

SM

INC

SM

DCSR

Jump; SM .• SM + J., dec rement SR

ADD

eTR

INSR

OPB

ADD
ADD

REGN STFF
CTR INSR

OPB

ADD

REGN STFF

JSB if ISM (= QJ for
I P, SM and SR need
eTR ·K SR for REGN
NEXT; REGN :. TOS in
JSB if ISM (- 0) for
I P, SM and SR need
eTR : = SR for REGN
NEXT; REGN
TOS in

SM

%0014
0014
0015
0016
0017

S;RPA UBA
UBA

SR
SR

s t ac k underflow
to be adj usted J ;
store. inc SR
memory, STFF for BCCnm
s t ac k underflow
to be adjusted)
store, inc SR
memory. STFF for BCCnm

PAGE 10
RECORD
NO

C.S.

ADDR

354
355
356
357
358

366

368

*:

0018

380
382

PSHM

*:

SM

INC

QDWN ADD
RH
ADD

0019
DOIA

369

370
371
372
373
374
375
376
378

*._ ••

*.*********** ALU B ****.*****.**.
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

PSHM pushes the bottom of the stack in the TOS registers
onto the top of the stack in memory
PSHM checks for stack
overflow and should therefore be called before changing
.... * * .. !~: l ~~ ~ . ~ ! .. :~~ ~!!:: * ~ ~~:~ * ~! ~ !: ~ *.... * ............ 'ill * * .. * 'ill" * 'ill" .. * *

359

360
361
363
364

Routines to Push TOS
_.**** ALU A **********.
LABL RREG SREG FUNC SFNC STOR SPSK

.,. II>

r:

r;

WRS
DATA

r

SM

INC

SM

DCSR FSB

SREG JSlC STOI
NEG
SPJB
ADD
RSB
* ...... 'III'" I I /II. III" III"" 1Ii"" _ ... III" ** .... III * . . * III" **_* III * III III * **** 'ill'" •••• * *.* *.*** ••
* ***
PSM2 pushes the bottom two TOS registers onto the top of the
slack in memory
PSHM checks for stack overflow and should
therefore be called before changing the stack or any software
known registe rs
l

JIll

*.

************************_***********111:**********.*****111:.*.***.***._.*.

OOlB
OOle
OOlD
ODIE

PSM2

SM
QDWN
QDWN
RH

INC
ADD
ADD
ADD

WRS
DATA
DATA

ADD
USA INC
SM
SREG JSlC STOI
SPJB
ADD
l

DCSR
DeSR

NEG
RSB

Write at (SM + 1); Decrement SR
Write QDWN; SM := SM + 2. decrement SR again
Write QDWN; STOV i f not (Z >= new (SM))
USA :- RH; USB :- SP3B. RSB

PAGE 11
RECORD
NO

Int e r rupt Handle r

lIt***lItllll*IIrIll!/ll* ALU A 111111111111111******

C S.

ADDR

LABl RREG SREG FUNG SFNG STOR SPSK

385
386

"'******111****111 ALU B ••••

JII ....

10/ 2/86

****IIIII*JII:

RREG SREG FUNG SFNG STaR SPEC SKIP

9:26 AM

COMMENT

Interrupt Handler

387
3RB

389

Entered if a hardware interrupt was pending at the end of the
creceding clock or an overflow interrupt is pending at the
p:~:~~~~~
:~:i~u~r;n:e~}~~:~ i!h~p~~I!~:ig~x~~lerruPts are

390

=:

391
3'l2

393

394

CPXl bit set

396

1

Integer Overflow
Bounds Violation
Run/Halt Swi t c h

9

Message Interrupt
Memory Breakpoint Interrupt
Power Fail Interrupt

395

397

Interrupt pending

2
H 4
6
H 8

39B
399

400
401
402
401
404

~gbKc~~~:~~U~~terruPt

11
H 12
CPX2 bi t set

405

406

Condit ion existing
RUN FF

407

408

409

410
411
412
413
414
415

416

418

420
421
423

424
426
427

429
430
432
433

435
436

418
440

441

443

~I III III !/II ,. III

* .. " III * JIll III 1ft * * * III III * III * * * III #I III: III III #I III III II III III * III III III JII III III III: * * III III JIll III III ,. :II: ,.. III III

001F
0020

IRON 0500

0021

IRH

MEDJ

OAOO

SP4A

ADDl

UBA

RH

1120 UBA

SP4A JSB

IRO

NEG

0025

CPXI JSB

IMS

MSGI

0028

PFWM 0008 CPXI ANDl
UBA ADD
JSB

SP4A
UEXI

UBA

l1li:

III III III III

ADDl
ADD
JSl

CTR

STH

HMIT

ZERO
NZRO

ANDl

UBB

JSl

I~MIT

UBA

JSB

BNDV

0400 SP4A ANDl
JSl TClK BKX3
UNC

* * III III * III JII it III
CCPX

ADD

CPXl CSl

0024
0026
0027

FFH P
UBA

0200 CPX2 ANDl

0022
0023

ADDl
JSB IRH

SP4A JSB

PFW

NEG
ZERO
UNC
NZRO

UBA :. mas k for FAKENEXT; P
P - 1
Wai t one clock so that FAKENE T does not
allzes flags
uBkn~!b~~N~~~FtT~A~~N6~TS*F~t n case CIR is
a BCC
SP4A
UBA .• CPXl & csl(l);
Jump if a hal t mode interrupt
RH := mask to clear TClK interrupt;
UBB :. run mode inte rrupt s
Jump if run mode interrupt else
jump if integer overflow
Else jump if bounds violation else
sp!~mp=i~F~~~¥~g~kt~t!fr~~: TClK interrupt
UBA := PFWINT (for 'IMS);
BKX3 := O. ~um~ if TClK interrupt
Jume if ~ower ai interrupt else
S SHAL if any other interrupt

PAGE 12
RECORD
NO

ADDR

10/ 2/86

SR to Recover Stack

111:111**.**_*** AlU A ***111.* •••••• *.****.*.*Jtlll ALU B **************

LASL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

.

9:26 AM

COMMENT

**_********Ift •••• ****_****_**************** •••• ** •• ****_*****.******111l1li

445
446
447
448

449
450
451
453

Set

C.S

l1li:

0029
002A

III:

* III * III

STSR

*. *

Set
lit

l1li:

*

l1li: l1li: l1li:

SR to Recover Stack Module
111 III III"'''

ADO
ADD

l1li:

* * *" * * III III" * * * *
l1li:

l1li:

III III III

SR
UBB

*

l1li: l1li:

III III:

* III: III III" III * * .... III""
REPC

CAD

l1li:

111*

l1li: l1li:

III III

l1li:

lilt III III III

ClSR ZERO
INSR ZERO

USB :- SR, REPC if c> 0,
Increment SR & ESR

SR

:- ESR

PAGE 13
RECORD
NO

CS.
ADDR

L,~BL

456
457
458
459

Non-ICS Type Interrupts
*********11-* ALU A ._**tII******
RREG SREG FUNC SFNC STaR SPSK

***\11********* ALU B 111111**********.,.

RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

Non-ICS Type Interrupt entry

460

Enh,red if a non-ICS type hardware or firmware
int~rrupt is detected.
This module will:
INT8 -) 1 ) Empty TOS registers
2 ) Write a four word stack marker
IR1 -) 3 ) Place parameter on top of user's stack
4 ) Set STATUS to privileged mode and code
segmentl 1 (ININ)
5 ) If from IBNDV then clear interrupt bit in
CPXl
Place CIR into X register
6I
7 ) Go set up code segment II (IPCL31

461

462
463
464
465
466
467

468
469

470
471

472
413

474

489

002B
002G
002D
002E
002F
0010
0031
0032

492

0033

4')7

0034
0015

475
477

479
481

483
485

4R7
491

494
4'15

IlH8
UBB
Illl

UBB
SPOA

SM
INC
QDWN ADD
ADD
ADD
ADD
STA ADD
Q
SUB
SM
INC

WRS
DATA
DATA
RD

ADD
SP2B ADD
CIR ADD

DATA
DATA
DATA
WRS
DATA

STA
X

SR
UBB
UBB

SM
P
PB
XR12

0004 SM
UBB
8001
UBA

REPC
ADD
SUB
lOR
ADD
ADDL
ADD
ADDL

SM

SM
Q
INCN
SP2B

ADD

XR14 ADD
JSL

DCSR SRZ
DCSR SRL2
CLSR

SM
PCL3

CF2
CCPX

NF:l
UNC

YRGA : - SM + 1 for write; SM
SM + SR
Empty TOS
UBB=P· REG
Write (X I *~g!;!~kSm!~k~~~UB~ P-PB ,SR=O
; UBB=P-PB lOR MAPF AG
(CSTX)
Write (delta PI WTH L/P BIT
(CSTX)
Write ISTATUS~, RD
STATUS; SM .= SM + 4
Write delt a I; Q : .. SM, set NAMER
YRGA :. SM + 1 for parameter; SP2B := priv
mode &. segmentl 1 for STATUS
Write ( par ame t e r I ; SM
SM + I, clear F2,
Ski~ if not from IBNDV thru STSR
Set S ATUS; Clear internal interrupt in CPXl
X :- CII!; Go set up segmentl 1

PAGE 14
RECORD
NO

C.S.
AODR

500
501
502
503
504
505
506
507
508
509
510

532

.

10/ 2/86

9:26 AM

CCMtENT

111: ..

Interrupt Control Stack Set Up Module
Called when Iwitching from the user', stack to the
Interrupt Control Stack (ICS). The ICS let up
module will:

Read 01 and set 0
Read ZI and set Z
Set DL to 01
Set the contents of 01-6 to S-relat1Ye
address (S - user DB)
5) Set ICSFLAG bit 1n CPX2 to I
6) Set SM to 0+2 for parameter
•
III 111* "lilt * III: * * * * .. III *_ III * *111 * * * •• * .. III III .. * III .. III" * * .. " III ... *** lit" III lit * •••• 111 .... " .. III III ** ..
1)

2)

3)
4)

511

512
513
514
515
516
517
518
520
522
524
526
528
530

Interrupt Control Stack Set Up Routine
• •••••••••• ALU A··········· ••••••••••••• ALU B ••••••••••••• LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III ...... ** lit JIlt. ** lit
** III" lit * * .. * 111* III III .. III *** .. It * III ****._ ** lit * l1li III III .. III .. * *** .. III III * * * **** iII_.

0036
0037
0038
0039
003A
003B
003C
0030

ICS

0005

UBA
UBA

FFFC
UBA UBB
FFFE UBA
UBA
RC
OPA

ADDL
ADD
INC
AOOL
ADD
ADOL
ADO
SUB

ROB3
ROB3
ROX3
WRX3
DATA

7000

SM
OPB
OPB
0
0002 0
XRll

ADD
ADDL
ADD
ADD
ADD
ADD
ADDL
ADD

BKX3
XRll
RC
0
Z
DL
SM

•

*_. *** *
Address absolute 5 for OI; BKX3 . s 0
Read @OI XRBll :. mask to set ICSFLAG
~~~d:~ :4~ ~C:~·O~ user's stack

t

~~~d: lQ~i~~ ~ ~L: 7. Z~I
CCPX RSB

Set up write at 01-6; S :- 0+2
(QI-6) :- S - (01-4); Set ICSFLAG, return

PAGE 15
RECORD
NO
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
565
567
569
571
573
575

577

579
581

583

585
587
589
591
593
595

596
598

600
601
603
605
607
609
610
612
614

C.S.
ADDR

.

Firmware Interrupt Entry Points
~~.~******* ALU A ** •• ***.***
******.*.**.* ALU B *.* •• ***.* ••• LAEIL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
* III II: III III III III * " * " JIll III " " III * * ,. III " III: III III III * III * * III * III: * III: • " " It III " " III III ill III III III III III III " * III III ... III III III * III III: III: III: III III III III #I III

.

101 2186

9:26 AM

COMMENT

Firmware Interrupt Entry Points
Called by the flrmware when varlOUS conditions
are detected
These interrupts include:
Interrupt Entry Point
TRP
STTV

unimplemented instruction
Segment Transfer Table
Violat ion
Code Segment Table Violation
Dat a Segment Table Violat ion
STack UNderflow
privileged mode violation
STack OVerflow
STl entry UNCaLlable
BouNDs Violation
Power ON (enters from @ll
Power Fail Warnin9
ABsent Data Segment
ABsent Code Segment
TRaCE segment
Non-Responding Module

CSTV
DSTV
STUN
TRP6
STCtV
UNCL
BNDV
PON
PFw'

ABDS
ABCS
TRCE
NRMI
003E
003F
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
004A
004B
004C
0040

ADD
ADD
SPIB ADD
STl"V
ADD
OOFE STA ANDL
JSB
csrv
ADD
OOFE STA ANDl
JSB
DSrV
.ISB
STU 1
ADO
STUN
JSB
JSB
TR"6
ST01 1000 STA ANDl
UBA STA XOR
UBB ADD

004E
004F

003F
RREG OPA

0050
0051
0052
0053
0054
0055

TR"
PStlL

1000 STA
ST()2
STOV 1000 CPX2
UBB
UNGL

SPOA

CF1

PSHl

UNC

PSHl
PSHl

UNC
UNC

PSHl
PSHl

SP4A
STA

ADDl
AND

UNC
UNC
ROP
ZERO

IORl
ADD
ANDl
ADD

.ISB
SPIB ADD

Description

STA
SPOA CFl
INT9

SF2
SPOA CFl

9001

ADDL
ADD
JSB
9101
ADDL
XR12 ADD
UBA JSB
9201
ADDl
XR12 ADD
UBA JSB
9301
ADDl
SM
INC
9401
ADDl
ADDl
9501
FFFF P
ADDl
UBB ADD
SP4A JSB

SP1B
INT8
STTH
CSTH

STOV
FOOO OPB ANDl
SP1B JSB STOV

FFFF
9801
AI0l

UBA

CRF

SPIB

ZERO
ZERO

SP1B
SPIB
SM
DCSR
SPIB
SP1B
SPIB
ROP

ZERO
ZERO

NZRCI
ZERO
UNC

ADD
ADDl
P
ADDl
SP1B
JSB STOH
ADD
ADDl

UNC

SPlB

NZRCI
CF4B

SPIB :- external label (%1100011)
Clear F1; Clear RFLAG
SPOA :- external label as parameter;
SP1B :"' ext label (%1104011 f~~hl
SEG 1 AND NOT PHYS MAPPED'
(CSTX)
SYSHAlT if segmenU 1 else trap
; SP1B :"' ext label (%111001) (CSTX)
SEG 1 AND NOT PHYS MAPPED?
(CSTX)
SYSHAlT if segmentl 1 else trap
1{~~;e=~~B ~: !~:e::a!n~a::~ ,:111401)
Trap; SPl~ :- external label (%112001)
Trap; SPIB :- external label (%112401)

~~:~r:;i~~?h!t:~:~~oCi~~t~e;:!~ i~s~r~c}ion
Reread instruction into OPA also;

RRi~m~_i~i~~?h!t:~:~~o~a~~~ ;~~p's!; stackop
Skip if no right stackop;
se~ ~;:g~t - sHc~~~Pbt~ ~~ts~A~MckOP
; P := P - 1 to restart instruction
On ICS?; SP1B :- external1abel (%114001 )
SPOA := external label, clear Fl;
SYSHALT if on ICS
Jump to ICS interrupt, set F2; Clear F4
SPOA .= parameter (P - lABEL), clear Fl;
SPlB : = external label (%1204011

PAGE 16
RECORD
NO
615
617
619
620
622
623
625
627
629
631
633
634
636
638
639
641
643
644
645
647

C.S.
ADDR
0056
0057

Fi,mwlre Interrupt Ent,y Points
111 ••••• 111**** ALU A ** •• * •••• _.
*** •• ** ••• *** ALU B *111 __ - •••• ' . _ - .
LABL RREG SREG FUNC SFNC STOR SPSK RUG SREG FUNC SFNC STOR SPEC SKIP
ADD
JSB IRI
UNC
SF 1
AOOO
ADDL
XR14
ADO
BNDV
ADO

0058
0059
005A
005B
005C
0050
DOSE
005F
0060
0061
0062
0063

PFW
ABDS
ABC5
TRCE

RD

SPOA
ADD
AOD
ADDL
CFl
J5B INT8
STA CFl
ADO

RD

JSB
ADO

IRI

JSB
ADO

IRI

UBB
OC02

NRM
UBB

ADD
ADD

STA

UNC
CFl

8101

ADDL

A201
9FOl

UNC
JSB STSR
ADD
SF4B
JSL PFWO BKXJ
UNC
ADDL
SP1B
ADDL
SPIB

AOOI

JSB INT8
ADDL
SPIB

UNC
CFl
SPOA

JSB
INC
8301

SPIB

INTS

ADDL
5P1B
JSB INTS

F2
RONP

F2

UNC

10/ 2/86

9:26 AM

COMMENT
~

Jump tQ .et up segmentl 1

e~R~t4(~~rm:~:ll~ elea, BNDVINT in CPXl
~u~~1~o:~n:~t~~~:~Sl:b:IEri~~~4~linter(~~~J~

SPOA·SPIO·PARM;JMP TO UNDO

&

INT8

(2305)

~B~et/~o~:~l~~PFo&BM~S~KXJ :" 0, ·ump
Tra~, clear F1; SPYB :- ext label (%121001)

STA US :" TSTA, clear F1;
SPIB ;. external label (%117401)
Absent seg in EXIT; Absent seg in PCAL
STATUS :- TSTA, clear Fl
SPIB ;. external libel (%120001)
Trace in EXIT; Trace in PCAL
Non-responding module (actually non-existing
lOA module), clear F1; Inc rement P & read
instr after 2nd word (I/O opcode)
(2305 )
;SPIB" EXT LABEL-%101401
Set up trap to segl I, 5TTI J(non-ICS)(2305)

PAGE 17
RECORD
NO

Arithmetic and User Traps

C.S

ADDR

:ta1ll1lr1ll*"'!III*'lt.JllIIIII

650
651
652
653
654
655
656

Interrupt Entry Point

658

663

664
665
666

667

668

669

670

671

III:

689
691
693
695
697
699

0064
0065
0066
0067
0068
0069
006A
006B
006C
006D
006E
006F
0070
0071

702

0072

677
679
681
683
685
687

701

704

ALU B

10/ 2/86

****111*111*111111111111111*

9:26 AM

COMMENT

Description

TRPI
TRP2
TRP3
TRP4
TRP5
TRPO
TRPA
TRPD
TRPS
TRPR
TRPZ

660
661
662

675

'JItJII"'III"***III*1II1III1II

RREG SREG FUNC SFNC STOR SPEC SKIP

Arithmetic and User Trap Handler

659

673

"**111111111*111111

Called by arithmetic firmware modules when the
following conditions are detected"

657

672

AI.U A ••

LABL RREG SREG FUNC SFNC STOR SPSK

* III III III III * * III * III III 111 "

IRO
TRPI
TRP2
TRP3
TRP4
TRP5
TRPO
TRPA
TRPD
TRPS
TRPR
TRPZ
UTRP

}l!:~~~gO~~r~to:verflow

floating point underflow •

~l~i~~~gd~~i~r ~iVObY

decimal overflow
invalid ascii digit
invalid decimal digit
invalid source count
result count overflow
decimal divide by 0
* III: III III * * III * III * III .. III * * III III III III * III III III III III III III III III III III III II " III III III III II * III • III III " III * * III .. * III III III III

F7FF STA

,~NOL

0002
0003
0004
0005
OOOB
OOOC
0000
OOOE
OOOF
0010
2000 STA
UBA

,~DOL

INC

,I\DOL
,I\DDL
,I\DDL
II\DDL
II\DDL
II\DDL
II\DOL
AODL
II\DDL
II\NOL
,JSB STSR
11\00

STA
SPOA
SPOA
SPOA
SPOA
SPOA
SPOA
SPOA
SPOA
SPOA
SPOA
SPOA
NZRO

9901

ADO
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
AOOL
ADD
ADD

UTRP
UTRP
UTRP
UTRP
UTRP
UTRP
UTRP
UTRP
UTRP
UTRP
UTRP

SP1B

UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
CF1
SOV

NEXT

Clear overflow bit in stat us registe r
:l!:?~~gO~~r~to:Ye~~r~:,·p!ram • 2
Floating point underflow, param • 3
:l~:?~~gd~~!~~ ~iv~deP~;a~,·p:ram •
Decimal overflow, param • %13

I~~:H~ ~:~!~a1i3git~a~:~a; ;1~15

Invalid source count, param • %16
Result word count overflow, param • %17

~~~~~a!n~~l!~; bSP~B ~~r:~t·l;~~l

(%114401)
JSB to set SR and enter IINT8 if process
trap enabled; Clear F1
Ifi~r~~~TG~ta~~I~~e~E~~e1n:~~u~r~~~lOw bit

PAGE 18
RECORD
NO

C.S.
ADDR

External Interrupt/Channel Service Request Module
._.**.****. ALU A * •• -*****.* *** ••• **_ •• *. AlU B **************
LASt RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

106

707
708
709
710
711
712

EMternal Interrupt/Channel Service Request Module
Entered by interrupt handler if message interrupt flag
in CPXl is set.

5)

Read message in incoming buffer
Clear message interrupt flag
If CSRQ then set F2
If external interrupt then .INT9 to set up IeS
and process
Else if channel service request flag is set

6)

~;~~:~\!rt

1)

713

714
715
716

2)

3)
4)

717

718
719
720
721
722

723
724
726
727

729
730

732

733
735

.

OC02

ADDL

UBA

JSZ

0074

0402

ADDL

UBA

ADD

0075

0090

AODL

UBA

ADD

BUSC

OPB

ADD

SP3B SF5B

ANDl

SPIB

0073

IMS

0076

JSZ

736

0077

0038 UBB

739

0078
0079

UBB

738
741

743
744

746
747
749

750
751
753
755
756
758

007A

ADD

LSL

POS

8000

ADOL

SP3B

JSB

INT9

UNC

FFF8

ADDL

SP2B

ZERO
ZERO

SP3B

REPC
ADD lSR

UBB

0083

767

SP4A ADD
JSL

STA

DOlE

RSRT

OOCO OPB

XR9
HBF2
ZERO

UBB XR9
RREG UBA

768

763

ANDL

SR7

NZRO
RH

SWAB
NOSX

007C
0070

765

761

SP4A
PSHM

PFWM

UBB ADD
SPIB JSZ

007B

007F
0080
0081
0082

759

(110) if neither is set

****** •••• **** •• *** ••••• -._******_ •• ******.*.***********-- •••• *****.-

ADD
ADD

XRlS lOR

0000
1000 STA
P

JSZ

SP2B CAD

XR 15

ADD
AODl
ANDL
ADD

1000

RG
RONP
NOP

UBB

UNC

RH
UBA

TCSQ BKXS

BUSC

CCPX

Em~!{ ~~

F2

t!

~~hibIi ~~ge ~he~:ettnc~~SHM

XRA9 :- modulel;
SPIB := CSRQ and IRQ bits
F2 ;- CSRQ bit; Clear MSGINT
If CSRQ then handle it else if neither IRQ
nor CSRQ then SYSHALT; BKX5
0
Sk~~3~ f : !n~%SKu~~~ ~~6~~1~~mmand

se~p~G I~SU~~ ~~Q_!nl t~li3)u~~~ ~~~~t:g;and

CCPX

ADDL
SP3B
JSL IOMS
UNC
ADD LLZ
BUSC
ADD
ZERO
ADD

UBA :- mask to read FROM code and 90 BUSY;
UBlf:~F~~~~ ~~~a~3n¥~er~~~Iu~~~/~~;~~s PF
RH :- IOC02, read FROM code, go busy
SP4A :- mask to clear MSGINT;
Read upper word

RNSP

mask to set DINTFF
Skip if nlodulel '" 1; UBB .= 18000, repeat
Shift mask in AlUB right until module' is
decremented to 0 in ALUA
XR:!~ ~iN;~~tT~Bgf_i91erruPting modules;
, SP3B :- write to IMBI REGO command
Re-enable CSRQ2, leave IRQ disabled
UBA :" right stackop mask; Go unBUSY
Read next instruction;
Skip if not right stackop
NEXT in two clocks; Read right stackop

PAGE 19
RECORD
NO

Deferred Interrupts

C.S

ADDR

-_ •••••••••

ALU A···········

LAEIL RREG SREG FUNC SFNC STaR SPSK

_ ••••••••

*.*.

ALU B

10/ 2/86

*************~

RREG SREG FUNC SFNC STaR SPEC SKIP

.

9:26 AM

COMMENT

.*.*********** ••••• *******.*****JIr******.*****.******* .. ****111*****_****
Deferred Interrupt Handler

771
772
773

774

Entered whenever interrupts are turned ON and DINTFF,
(deferred interrupts flipflop,) is SET. SINCBIT = 1
i f it was a deferred external interrupt.

775
776

777

778

1)
2)
3)

779

780
781
782
783
784
785
786

4)

5)

If SINC and TON· 1 then IICSNC
XRA9 gets module number
Send message to clear IRQ on module, thereby
enabling interrupt to be ret ransmitted
Repeat untll vector after clear!n!l
equals ze ro
Clear DINTFF iff SINC = a

787

788
789
791
792
794
796
797
799
801
803
804
805
807
808
810
811

812
814
815
817

0084

OIr-IS OC02

AODL

0085
0086

XRlS ADD
XRlS JSB

0087
0088
0089

UBA

AIOD
XR1S AIDD
UBA JSB

008A

2E5C

RH

JSZ

ADDl

UBA

ADD
ADD

UBA

ZERO

OPB

SR7

UBA

SP4A
PSHM

XR1S AI)D

008C

OOOF

RH

llZ
DIM2

AlDOL

008B

pas
BIT8

LLZ
CSNC

SP2B

SP2B

modules, set Fl if SINCBIT is set
GO BUSY

BUSC

ADD
ADD

lRZ

XFRR

SPOA CF2

CTR

:u

~:~~i~~P~lo~~tint~~~u~~ ~~ ~~~~b!~d

CTFl

ADD
ADD
ADD

to read upper words:
mask to clear DINTFF

I~H:acommand

SFSB

BKXS DCTR

(0709)
(0709)
TON = 1:

(0709)
(0709)
Jump if no deferred interrupt
(0709)
1:~:ejMV~Ci:oa~~m:t!teset for interrupt
SP4A.(0:8) :- REGN code for 14000,
(0709)
SP4A.(8:8) := mask to enable IRQ & CSRQ;
Emg}~ ~~ ~~G~Rc~d~; for !4000 mask, set F5 to
inhibit STOV check in IIPSHM
Save XRA15 in SPOA, clear F2; BKX5= 0,(0709)
dec CTR,
XRA9 := modulell 1; SP2B. bit 1 of inter-

0080

0008

AI)Dl

XR9

UBA

818

008E

0008 UBA

AI)Dl

XR9

RREG REGN AND

SP2B DCTR NZRO

xn~~~~!~~ ~:~ul:C~O~ntriPg~: ~fo~'i~r;r~TR

821

008F

1000

SP3B

824

0090

SP4A ADD

JU~5s~~ ~~~~ ~! :~~f:Tt:a~~~~e=Eggf~~:m~~~ng

0091

SPOA SP2B XIJR

820
823

826
827
829
830
832
834

0092
0093
0094

JSZ

DIM2

J'SZ
AI)D
JSZ

NEXT
RlZ

MSGI

REGN RPCA

SP2B DCTR NZRO

ADDl

RG

JSL

laMS

UNC

XR1S

JSB

DH!S

ZERO

NEXT

MSGI

Nap

ZERO

ADD
RH
ADD
SP2B ADD

LLl

BUSC F 1
CCPX

rupting module vector is set

RG := mask to enable IRQ and CSRQ;
Send command
Turn off bit for module to be serviced;
Check for another deferred interrupt
(0709)
(0709)
, Go UNBUSY; skip if SINCBIT
1
Kill some time for INT; clear DINTFF

PArol: 20

REr.ORD
NO

C S

ADDR

**.-.*-

Deferred Clock Interrupt
**-****._.* ALU A * •••
LABL RREG SREG FUNC SFNC STOR SPSK

**t*.**.t**t_ ALU B ***** •••• *****
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9,26 AM

COMMENT

837

838
839
840
841
842
843
844

Deferred Clock Interrupts
Entered from .DIMS if SINC Ind TON" 1
on ent ry:

DINTFF "1
interrupts ON
SINCBIT z 1
TON
z I

on exit:

DINTFF "0
SINCBIT'· 0
TON
:. 0

84~

846
847
848
849

850
851

852
853

(iff DINT vectors· 0 1

beg1n
SINC :. TON '. 0;

854

~~ gt~~¥AT ~)t~e~h~~NTFF<~"I~+

855

PARM ;. 0
else

856

857
858

~:a~n;" (TR I;
(TR) '. 0;
end'
PLABEL';- %106001;
INT9;
end.

859

860
861
862

863
864

865

«

«

clused by SINC instr »
PARM is zero for SINC int »
INT caused by CLK rollover »

«
«

PARM is t 1me stnce last tnt »
time Since lISt INT ;" 0 »

•

866

867

868

0095

CSNC

871

0096

OOOF
ADDL
RH
XR15 AND
XR 15
0016
ADDL
ADDL
0013
ADO
SPOA CF I
OPA JSB CSN2
NZRO
OPA ADD
SPOA
CSN2
JSZ INT9
SF2

870
873
875
877

879

0097

0098

0099

OO'lA

881

0098

883
885

0090

887

Ooge

XR15 ADD

LSL

7F7F

ADDL

FOOO UBA
UBA

ANDL
ADO
ADO
ADD
ADD
ADO
ADD
ADDL

UBA
UBA
8COl

RH
BKX3

SPIB

CCPX
ROA3
ROA3
DATA

NZRO

UBA ;" XRAl5 & 1sl(1);
Mlsk to clear SINC & TON bits

~r:~rt~I~~e:rTg~~T~i~l~k6~N~;FD~¥'~I~~SO=
Addr of STAT for SINC insl r; BKX3 ;. 0
Addr of TR; Read (STAT)
Clear parameter, clear Fl; Read (TRI
Jump if (STAT) () 0
SPOA(param) ' s (TR), (TR)
0 if (STAT)
Service interrupt, set F2;
SP1B := external label (%1060011
'S

=

0

PAGE 21
RECORD
NO

c

S,

ADDR

889
890
891

ICS-type Interrupt Handler
~-*-.*****~
ALU A .111*.*****.* ***********~* ALU B 111111* •• *.*******
lABl RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
III III III III III III III III III III * III " lit III I'
III * " * III III * III III III * III III III III .. III III * III .. III III III III III " It: III
If! III III III " III .. * III * III III III III • * * III III III * III

.

JIll

l1li

ICS-type Interrupt Entry

892

893
894
895
896
897

101 2186

9:26 AM

COMMENT

~:~:~~~/f :~N~~S~lH~ hardware or firmware inhrrupt is

~!

898

3)
4)
5)
6)

899
900
901
902
903
904
905
906
907
908

Empty lOS registers
Write a four word stack marker
Write stack DB-bank and DB-address to user's stack
Se t S-bank to ze ro
If not on ICS then set up ICS
Proces!! external interrupt i f F2 is nol set

Jump to IIRI which will:
7)
8)

9)
10)

909

Clear internal hardware interrupt in CPXl
Place parameter on ICS
Place eIR in X register
Set up code segmentll 1 (ININ)

910
911

912
914
916
918

920
922

924
925
927

929
931
933
934

936
937

939
940

009E
009F
OOAO
OOAI
OOA2
001.3
OOA4
OQA5
OOA6
OOAl
00A9

944
947

OOAD

946

uaB

SM
INC
QDWN IIDD
IIDD
liDO
liDO
STA liDO

DATA
DATA

UBB
UBB
0006
0004

SM
P
PB
XR12
SM
SM

REPC
ADD
SUB
lOR
ADDl
ADDl

Q

CPX2 IIDD

ICS
SWAB

NZRO
UNC
EVEN

UBB Q
RREG SREG
BNKD
DB

XFRR
SUB
ADD
ADD

WRS
SP2B DATA
RH
DATA
DATA NF4!B

~ISB

IN9D

UNC

IR 1
IRl

NZRO
UNC

UBA INC
UBS SP4A lOR
8000 SP2B IORl

DATA

UBA

1000
RREG CPX2

OOA8
OOAA
OOAB
OOAC

942

INT9

3FFF

~IDDl
~INO
~IS8

WRS
DATA
DATA
RD
SP4A

SR

IIDDl
RH

IN9D OFOO

~ISB
~ISB

ADDl
UBB

~\DD

SM
SM

JSL

IXT4 BNKS

JSB

IRX

ADD

DCSR SRZ
DCSR SRL2
CLSR

UNC

BNKS

NF2
CCPX
CCPX
CCPX RSB

Set up write

@SM+!; SM

:=

SR + SM

~7~:~ i~T; r5B~st:r~ ~op~e~oCrRu~~=P REG
;UBBKP-PB lOR MAPFlAG
(CSTX)
Write (delta PI; UBB := SM '= SM + 6 (CSTX)
Write (STATUS), RD
STATUS (for IIIXT3),
Q '. UBB,
old SM + 4
SP4A,
11000; SREG :. old Q, write @ SM+4
Skip if ICSFlAG; SP2B :- delta Q, wnte 11
Set up ICS i f not ICSFLAG; RH
BNKD, write

Sk~ei~fi~o~oins~!~~~~~h~I~p~r~~:r(DB),

Jump if starting Dispatcher else
uBAs~.i~a!~ ~~~p:!~~!~~ ~~~~ BNKg :- 0,
process external interrupts i.f not F2
Jump if BNKD () 0' Set FSS (UBB
!4000)
~~~P:!Om~;~i~~ ~~~a~lg~sp~~lG~UBB ~ !5000)
UBB, delta Q with bit a set
Write delta Q; Clear Dispatcher flag, RSB

PAGE 22
RECORD
NO
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
976
977
'179

980
982
'184

985
')87

989

C.S.

ADDR

I)

2)
3)
4)

5)
6)
7)
8)

OOAE
OOAF

0082
0083

00B6
00B7

1008
1010
1012
1013
1014

1016
1017
1019
1020
1022
1024

IRX

0050
RG

OOBO
OOBI

997

1007

10/ 2/86

9:26 AM

COMMENT

EXTERNAL INTERRUPT HANDLER

0084

999
1000
1002
1003
1005

t************ ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

Entered after savlng user's environment on his
stack and interrupt handler has set up the ICS.

990
992

994
995

External Interrupt Handler
111_***.".*_. AlU A ****JII******
LABL RREG SREG FUNC SFNC STOR SPSK

UBB

Issue IPOLL command to determine the chlnnel which
had the interrupt
Note the system halt if no
channel respondlng
Issue OBII command to highest chlnnel responding
to IPOLL command to determlne devlce WhlCh had the

~~:e~~UC~nk to zero and DB register from Device
~::es~:~~sT~~;~5~~~r\01privileged mode and enable

inte r rupt s.
Push Module/Channel/Device number on top of ICS
g!~a;xT:~~:yep~~~~~~U~~b:7df~~~eD~~Re~~r~ 2egister.
Go set up code segment for external interrupt.
ADDL

SP4A

JSL

RG

JSB

NCHL

ZERO

RG
UBA

ADD
ADD

lSL

CF2
HBF2

UBB
RG

ADD
JSB

LSL
CHLO

NEG

00B5

SM
RH

SF3A

RG

JSL
JSL

INC
ADD

WRD
DATA

UBB
UBB

ADD
INC

INC

ROBS

SP4A ADD

CAD
ADD

ROBS
SFI

UBB

00B9
OOBA

UBA

OOBB
OOBC

OCOO
0007 RG

ADDl
ANDl

RH
RG

OOBD

lEOO

ADDL

SP4A

CIR

OOBE

SP4A ADD

OOBr
OOCO

SM

INC
INC

lSL

1000

OPB

OCOO RG

RG

CF3A

STA

FIHB

SP3B
BKX5 SF5B
UNC
UNC

IOMS BNKD
GDRT BKXS

SWAB
SP3B
SPIB

ADD
IORL

BNKS CFSB

UB~B~7.~~iV:~rwr~~~D~~~~~sa!/B~~~~~igr~dr)

RGR~1~15)3)':~1~:;i~~t:rruPt,

BKX5

OPB

JSl

IOMS DB

JSL

IOMS BKXS

RH
UBA

ADD
JSL

PCL3 SM

UNC
Fl
BUSC

Find the highest channel #
Shift until highest channel bit in bit 0;
UBB :- chlnnel number; CTR:=CTR + 1
UBA:=channell &151(l); SP3B:=OBII command
JSB if channell. 0; BKXS,-channel# &lsI(3)
FS:-l 10 inhibit DRTO read in IGDRT
BNKD : = 0; send OBII command
F3
1 for IGDRT rtn; BKXS ;s CDEVI, goto
IGDRT 10 get DRTO adr and MCDEVI
write adr := SM+l (BNKD-O); UBB := DRTO adr

Read external program label (DRTl);
UBB :- 15000 to clr split bank flag (FSS)
read OBI (DRTl); SP3B :. write command
X :- CIR; Fl :- 1 to set priv;
RHS~!BGOeu~~Mvn~~~~~3~a~N~~b~~ 0 (for rCS)

CCPX

ADDL
ADD

SP4A :- code to clear FSS (to be swapped);
CTRS.(8:8):=0, send IPOLL command

~~p~~~n~1In~~S~~:~~~Y;o~IC~R:~6~R ~K~3;

ICTR F2

ADDL
ADD LSL

ADD
ADD

00B8

BKX3 CCTX

REPC
CTRS ADD
2000
UBA

UNC

IOMS CTR

ADD

UNC

BKXS := register IC for chan
in RG
UBA .= mask shifted right; DB· OBI,
clear interrupt on channel/device
RG.
ISCOO for mask to enable IRQ and CSRQ,

UBAle~rs~3~ ~~XSO ~n~~s~I(UB~o~nlb~~g)
STA .= %100001 ?Prlvlleged. ~"'Jment 11):
SM

= SM + I, set up se9ment 11

PAGE 23
RECORD
NO
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1063
1065
1067
1069
1071
1073
1075
1077
1079
1081
1083
1085
1087
1089
1091
1093
1095
1097
1099
1101

CS
ADDR

System

H~lt

Conditions

IIIJllJII*fclll**JI** ALU A 111*111""*******

**111'111*111 ••• "*111111: ALU B JII*****III****I_JllIII

I_ABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SI(IP
,t Ie
Ie '" III III JII III 111:111 * '" " * '" * .. * '" III • "JIll III: * .. JII: III #I: III .. III III: III * III III JII III III III: • lit III 11: III 111 III III Ie * JII III Ilr: IIIr lit I't It III III III 111 III III '" III )'( ..

.

JI[

SYSHM HAL T CONDITIONS
Code
(oc tal )

Err~'r

"

_I Ie •

00C1
00C2
00C3
00C4
00C5
00C6
00C7
00C8
00C9
OOCA
OOCB
OOCC
OOCD
OOCE
OOCF
0000
0001
00D2
0003
00D4
ODDS

SPIB
(hex)

000000
000001
000002
000003
000004
000005
000006
000007
000010
000011
000012
000013
000014
000015
000016
0(JI0017
0010020

0000
0001
0002
0003
0004
0005
0006
0007
0008
0009
OOOA
OOOB
OOOC
OOOD
OOOE
OOOF
0010

0010021

0011

'~STO

](NVM
I4SYC
CSTH
IICHL
CHLO
NOSX
NCON
~~flTO

WEF
~ICCI:

JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
J~;H

JSH

SHLT
SHLT
SHLT
SHLT
SHLT
SHLT
SHLT
SHLT
SHL T
SHLT
SHLT
SHLT
SHLT
SHLT
SHLT
SHL T
SHL T
SHL T
SHLT
SHLT
SHLT

9:26 AM

Description
Unexpected (unknown) interrupt

~~!e~to;:~;~~ti~ns~~~ent .1

Absent or TRACE on segment #1
Stack overflow on ICS
CST length = 0

~~~~~f~a~r~~!~~s~~m:~~~r
~~~~sl~:~r~~~~~~lw~I~~rQT_r~o~to

Module send message timeout

~~~~~!!C~o~O~~;~e~e~~~~~~~Yer

Code segment violation in seg .1
Non-responding channel
Channel zero responding
No service request or external
interrupt on message interrupt
Channel controller cannot be
made controller-in-charge

0010022
0012
~/~U!~r~~~e~~~i~~Sia~!m!~~~out
000023
0013
000024
0014
WCS checksum error
000025
0015
LUT checksum error
0016
00'0026
Bad DCU command code
III lit III * III III: III: 111111 III " .. lit III * III III III III It * III III .. III * .. III '" 11 III III III III III * III III .. * III * III III 111 III: III !III :11 III III Ie lie III 111 III .. III III III JIll 11: * III "

LJEXI
STTH
][CSH
I\BTH
!iTOH
GTLV
GPTO
CPCS
GPAB
PSEH

10/ 2/86
COMMENT

UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC

0003
0004
0005
0006
0007
0008
0009
OOOA
OOOB
OOOC
0000
OOOE
OOOF
0010
0011
0012
0013
0014

ADO
INC
INC LSL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL
ADDL

SPIB
SP1B
SPIB
SPIB
SPIB
SP IB
SPIB
SPIB
SPIB
SPIB
SPIB
SPIB
SPIB
SPIB
SPIB
SPIB
SPIB
SPIB
SPIB
SPIB
SP IB

III

Unexpected (unknown) interrupt
STT violat Ion in segment #1
Absent code segment while on ICS
Absent segment or trace in segment.
Stack overflow on ICS
CST length violation

~~~~~~~a~r~g~~~eli~~~~~am checksum
Bootstrap channel program abort
Pseudo-Enable violation (QI-18) < 0
Module send message timeout
~~~~~!!C~o~O~~~~e~e~~~r~~~Yer

Code segment violation in segment U
No channel responding
Channel 0 responding
Message interrupt w/o IRQ or CSRQ
Not able to put it to cant roller-in-charge

~,gU!~r~~~e~:~i~~s,ar!m!~~:out

WCS checksum error

PAGE 24
RECORD
NO
1103
1105
1107
1109
1111
1113

CS
A[>DR
0006
0007
0008
0009
OODA

System Halt Condit ions
*111**"*.*.** ALU A ...... *******
LABL RREG SREG FUNC SFNC STaR SPSK
LTCE
BDee
SHU
XR9

JSB SHLT
JSB SHLT
ADD
ADD
DIAG

UNC
UNC

•• **_ •• * ••• *. ALU B t**.** •• *.***.
RREG SREG FUNC SFNC STaR SPEC SKIP
0015
0016
0060
UBB

ADDL
ADDL
ADDL
ADD
ADD

SPIB
SP1B
CCPX

10/ 2/86

9:26 AM

COMMENT
LUT checksum error
Bad DCU command code
; UBB ." mask to set SYSHALT bit in CPX2
; Set system halt bit in CPX2
DIAG for DCU to take control. XRA9 for I/O
error analysis

PAGE 25
RECORD
NO

C. S.

ADDR

1115
1116
1117
1 L1S
1119
1120

1128

1130
1131
1133
1134

1136

1137
1138
1139
1140
1141
1143
1144
1146
1147
1149
1150
1152
1153
1154
1155
1156
1157
1159
1161
1163
1164
1165
1166
1167
1168
1170
1171

Utility

.

****** ••• **** ALU B *******~.*****
RREG SREG FUNC SFNC STOR SPEC SKIP

101 2186

9:26 AM

COMMENT

S~broutines

III III " III: III: III III: III III: III III JII III: 111:111 III III III III III III:

* III '" III III: III III III III III "

III iii: III:

* lit III

)II: '"

!If III It It

* " Ie III: * III: III: 11: III: .. III III III: III: * 11 * III III III * III III: '* III

* III: III III '" 111 III III: III 111:11 III 11: * * .. III w111 III ,. '" lilt * til: * III: * III * III * III: III if: * III * III: * • III ...... III '" III: III III: III: III III: It lit III: III " III III * III '"
: •••• ~r?~.;. ~~!~!!::. !?~. !:Y!:!: =. ~ ~! ! ~ . ~ ~! l. ~ *:!:.! !! !:~ •..•••.•••• :

1121

1122
1123
1124
1125
1127

Utility Subroutines
~********** ALU A ***~*******
LABL RREG SREG FUNC SFNC STOR SPSK

" III: III III

111:

111:

111:

r

OODB

ET02 FFFD

OODC
DODD
OODE

ADDL
SM

WRS

INC

Z

SM

SUB

SP2B SF2

SR

UBA

REPC

RH

DCSR NCRY

ODWN ADD

DATA UBB
CAD
DCSR NEG
POS
SP2B JSZS ST02
RH
INC
SM
INSR RSB
SM
'" It III: III III: III III III lit * III: III III III " III III III .... * III III III: III III III: iii III: III '" III: III * * . . III: * l1li III III * '" . . JIll *
* III III: III III III * III III: III '" III III III II '" III: * .. III III III:
RH

UBA :- -3; SP2B :- Z - SM, set F2 to
setn~~c!~!t~O~ ~~l!tl~anks (for _SCU, _SCWI
RH := SR - 3. repeat if SR >- 3, dec SR
Wr i te ODWN;
End when SR counts down to 2, dec SR
STOV if (( SR - 31 - (Z - SM II > = 0;
SM :- (SR - 31 + SM + 1. inc SR, return

l1li: '"

:****~!~~*;*~~~!!::*r~!*!:¥!:!:!:*~~!!~*~~!r*~*:!:*!!!!:~***********:
OODF

ET03 FFFC

ODED
OOE1
OOE2

RH
• III

**

:.- til tit

OOE3
OOE4
OOES

00[6

OOE7

PSHA

111:

III III III: III

I I ~~~e

ADDL

Z

SM

SUB

SP2B SF2

SR

UBA

REPC

RH

SM
INC
QDWN ADD

WRS
DATA

UBB

SP2B JSZS ST02

POS

RH

* III III III III ft " * III lit *" * * III III III III III !If lilt .. III: * III III III "
tit; tit ~-:~~!
* :~~ 1II!?~ tit ~:¥!:!:

r:

!==

SM
INC
QDWN ADD
ADD

WRS
DATA
RSB

CAD

DCSR NEr3

SM
INC
SM
INSR RSI!I
III: III III: Ie III * II III III: Ie • III III * * III III: III: III lit * l1li III III '" III III: * III III III "
tit 111 III III III III k . * III III tit III III III tit III III * * III lit" 1I!!If,rr II! !If III III II!:

SR

SM

REPC
ADD
ADD

SM

* * III III III III III III III * III III III III III JII JIr III JI '1/ III III .. III III •

DCSR SR,Z
DCSR SRt2
CLSR

JII

III: II!' '/(

*

:

* III ~~~ 1II;,rr ~~~~~~:JII~~:~~!~~JII !~!*;~~~~ *':~!!: ~III:~:! !~~! !~~:**** . ,. '/(

II!' III:

III: 'III !If II!' III III III III III .HI III III " III III III JIr •

RA

INC

ADD

* III * III * III III "

DCSR NCn

RA

'" III III

JIr

UBA : - -4;
SP2B := Z - SM, set F2 (for aMVBLI
se~Hu~.ws~t~ ~,S7e~e!i if SR >= 4. dec SR
Write QDWN;
End when SR counts down to 3, dec SR
STOV if (( SR - 41 - (Z - SM II > = 0;
SM
(SR - 41 + SM + 1. inc SR, return

Set up write to SM + 1; SM
Empty TOS registers; Dec SR
Return; Clear SR

SR

+

SM

lit' ir • III .... tilt :11

***.::

JSL

MBWX

NWIL

JSZ

BNDV

UNC

RA- DESTINATION POINTER;
JMP IF NOT WHILE CONDITION (DONEI
; JUMP IF REALLY A TRAP CONDITION..

(23111
(23111

PAGE 26
RECORD
NO

C S

ADDR

1174
1175
11 76
11 17
1178
1179
1180
1181
1182

1183
1185
1186
1188
1190
1192
1194
1196
1198
1200
1201
1203
1204
1205
1206
1207
1208
1210
1212
1213
1214
1215
1216
1217
1219
1220
1222

l1li:

l1li

delta t :. countsave - tclk
countsave • tclk
desired accumulator :" desired accumulator
+ delta t
•
** ••• *******1II***.1II*****.".1II********.*********1t******** ••••••••• *_._ ..
00E8

TIME

UBA

ADD

00E9
ODE A
OOEB
OOEC
ODED
OOEE
OOEF

ADD
ADD
ADD
ADD
ADD
ADD
REGN ADD

OOFO

ADD

SP4A

0030

ADDL

CTR

saC~Rri~h~c~~a~~g~ ~~~i~~ SP4A for RSRT;

OOA1

CTR
SP3B
SP3B
REGN
CTR

SP3B REGN

ADDL
ADD
RSUB
ADD
ADD
ADD
LINK

EOOO

ADDL

CTR
XR33 REGN code (countsave)
SP3B :" current value of TCLK
SP3B
countsave - TCLK (delta t)
Countsave := current timer val ue
: CTR .: REGN code of desired ac c umu I a tor
Not much to do except wait a round fo r CTR
Add delta t to proper accumulator. inc CTR
to nex t REGN code
Return; UBB : ~ mask to clear PAUSEFF

REGN
UBB REGN
SP3B
SP2B

REGN
RSB

REGN ICTR

IOER - Error routine used by 1/0 reads & writes
*****************-************ ••• _*******************-***************
OOFI
OOF2

IOER

ADD
JSZ

IOEE

SF2
UNC

FFOO BKX4 ANDL
RG
JSL SUSB SP3B

NZRO
ODD

********_**IIIJt***_****1II:1II:1II:1II:.*.*.*_****************JII •• ******* •• ***IIIt****JII

:**********r~~r*;*~~~~~r~~~~l*~!~r~~~~!.~~!rl*!~.~~~~!*!~~~_!~~;~.*.*

00F3

TSRT

00F4

UBA

JSZ

TIME

UNC

SP4A JSZ

RSRT

UNC

OOA2

ADDL

Ad~t~~~~~e~i~r(?~~~ ~~~EX)UBA := ri9 ht
UBA .= right stackop bit. restart instr

SP2B

ADD

**I11.****_JII**JllIII*III*III*****JlllII:*III*.:kIlltJII'lllIt*******_**JllJII***JII.JII:********JlrJll1ll:****_.
DTS1 - Sets condition code and status carry bit for IDTST
•
: * * * • * III: JIll * JIll lilt JIll III ~ ~ ~ .. !~~r ~ JIll ~: ! ~; ! ~ ~ ~ JIll " * • " •• JIll * _* JIll • * III • • JIll • * * * * III III * * •• III JIll JIll :

! !

OOF5

DTS1

00F6
00F7

UBA

!

111:

ADD

NZRO

RB

ADD

CCA

ADD
ADD

NEXT
NEXT

RA

ADD
ADD

DCC
SCRY

Skip i f ms 17 bits are not the same;
CCA on msw
NEXT if ms 17 bits are the same; DCC on lsw
NEXT; Set carry bit in status

* * !II********** *111**********_***._** •• III III III * * * _. _* _ * _ * * III *111111 *111 * * *.111.* ** * 111111 *
DMPX - Path to DUMP routines

•

*** •• ***11111:*******_**_** __ .***111111111**.***111111 ••• ***_* •• _**_ •• *********111**111

1238
1240

9:26 AM

1.
2.

1236
1237
U.19

.*_ ...•. _*. __

111:

101 2/86

COMMENT

3.

1223

1224
1225
1226
1227
1228
1230
1231
1233
1235

UtIlity Subroutines
111111:111:'111 • • *** ..... ALU A ••• - •• __ •••
*** •• 111111:****** AlU B **********JIr*1Ir1ll:
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
.. III * ........
** *.111: Iir* __ • • • *111_ • • • _ . III: 111:"
* •••••• 111 • • * .. III • • JII****_.
TIME - Measurement mic rocode rout ine

OOF 8

DMPX

ADD

JSL

WMST RF

UNC

RF

0 to start with IOA1. jump

PAGE 27
RECORD
NO
1243
1244
1245
1246
1247
1248
1249
1251
1253
1255

CS
ADDR

!~.~!~~~l~~tA~~a~k.~Z~~!!!~~.PO!~!~r •••••••• ALU B ••••••••••••••
LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

STNU - SR Preadjust Stack Underflow Pointer
00F9

OOFA
oaFB
OOFC

STNU 2000 CPXl ANDL
ADD
JSZ BNDV
ADD

UNC

UBA
Q

ADD
JSL
ADD
ADD

STNX

SM

CLSR

ZE RO

CHECK TO SEE IF BNDV HAS OCCURRED (2428A)
IF NOT THEN CONTINUE STOV PROCESS (2428A)
ELSE PROCESS BNDV;RESTORE SM; SR=O (2428A)
NOP to keep system happy
(2555)

PAGE 28
RECORD
NO

PCAl Inst ruction

***111**.111.111* ALU A 111********..

C. S.

ADDR

1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281

lABl RREG SREG FUNC SFNC STOR SPSK

.

%0100

.
It;

III III"" III III III III

* III * III III III III: III * l1li III III III III III,. III III" III III III JIlt III III .. III III III III III *,. * * III III III III * III *_ III III III ** * .. III III III l1li III III III III III III
PCAl INSTRUCTION
This module will perform the internal label processing
of the PCAl instruction:
DSPl • 0

12fi2

1:'94
1.'95
1:: :17
J,,:J'l
llO)

1302
1304
1305
1307
1309

1311

1313
1315

1311

1319

1321
1322
1324
1326
1328

1330
1332

1333
1334

progrlm libel on TOS
program label in STT

> 0

11
21

31
41
5)
6)
7)

1282

1283
1284
1285
1286
1287
1288
1289
1290

-***.**.*_ ••• ALU B *** ••••• * ••• *.
RREG SREG FUNC SFNC STOR SPEC SKIP

81

1f DSPl • 0 then libel on TOS else label is
in Segment Trlnsfer Table (DSPL • STT II.
~~p;~ !O~ ~e,in:~sSTACK OVERFLOW.
write out four word stack marker.
if DSPl ) total' of libels in STT then STT
VIOLATION.
if PCAl 0 Ind segment number on TOS • 0 then
CST VIOLATION.
if program label is external then set up
code segment else set up address.
if address outSide PB - PL then BOUNDS
VIOLATION

•• ****************************l1li._***********_.******111*.111 •••••••••••••

SLUT INSTRzpCAl:O 011 001 Oxx xxx xxx, DSPl-8, ENTRY-PCAl
0100
0101

PCAL
PCLl

0102
0103
0104

DSPL ADD
UBA JSB

ODWN ADD
PSTK X
ADD
SPOA PB
SUB
UBA UBB lOR
STA ADD
RF
0
SUB
UBB PB
ADD
SPlB ADD

alOE
010F
0110
0111

0112

UBA
RG

DSPL JSZ
SP2B JSZC
JSZ
SP4A JSZ
JSZ

PL
PL

WRS
CTFl

ADD
ADD

PTOS

Ot06
0107
0109
010A
010B
OlOC
0100

SP4A CFl
ZERO

SM
INC
SP4A SUB

UBB

0105
0108

PCLO

PL
SR

SPOA
DATA
DATA
DATA
DATA
DATA
SP4A RONP
F1

RD
RRZ
CSTV
BNDV
NEXT
ST02
ST02

ZERO
CRRY
UNC
NlRO
UNC

PB

ADD
SUB

OPB
OPB

ADD
ADD

SP4A SUB
SM
REPC

UBB
0004 UBB
XR12
REGN
RF
Z
3FFF SPIB
RF
SP3B SP4A

ROP
SP2B TICB
lRZ
RRZ

RH
SP3B
SM

Rap
DCSR SRZ

ADD
DCSR SRL2
ADDL
RF
ADD
ADD
SPIB
JSBS PCSO
NEG
ANDL
RG
SM
ADD
CLSR
SUB
CRRY

JSZ STTV
UNC
RF
JSB PCL3 0
NFl
SP4A ADD
P
PCSO
ADD
CLSR
REGN ADD
RA
INSR
*111 III .. *. **
III .. !II III Ill. *111: .. * III Ill .. *:It" III .alll *._.*_ 111 • • • • III * * * .. * lit. III III * III 111" ******. III .. '" III *** *
PCAL INSTRUCTION - LABEL ON TOP OF STACK
•
l1li

10/ 2/86
COMMENT

9:26 AM

PAGE 29
RECORD
NO

CS.
ADDR

PCAl Ins true t ion
IIrJIIIIIIIIJIIIllIIrIII ***
AlU A .. III iii III JIr III III III III '" JIr
lABl RREG SREG FUNC SFNC STaR SPSK

0113

PClO

1339
1340
1342
1343
1345

10/ 2/86

9:26 AM

COMMENT

_*III*_.* •• **III •••• ************IItIlfJIIIlrIllIllIllIllIll**III;.JltJltIll:*III:***IItIltRJII*"'***JII**Jt*JllJII"'*"*

1335
1336

1137

*IIrIllIlllJII**III:***** ALU B III III !II * '" III III 111111 111111: III III III
RREG SREG FUNC SFNC STaR SPEC SKIP

ADD

0114
0115
0116

RG

SPOA SRZ

SM

SM

JSBI PTOS

WRS

0007

Q

JSZC STUN
PSTK
JSB

NEG
ROBS

USB

SM

SM

ADD

RH

ADDl

CTR

ADD
CAD

SM

POP

ClSR

SRZ

SPOA:'P, SKIP IF SR-O;
RH: 'SM (RG: .SM AFTER POP) , POP, SKIP IF SR=O
JSB, WRITE TOS REGISTERS AT SM + 1 ;
CTR:=REGN CODE FOR RH (lABEL NOW IN RH)
STUN IF SM ( = Q: UBB:=SM, SR. =0
JUMP BACK, READ lABEL INTO OPB; SM: ~SM -

PAGE 30
RECORD
NO

c.s
ADDR

CODE SEGMENT SET UP MODULE
*1II:**It**III*** ALU A .**IlI*tII ••••• ******.* ••• _. AlU B .***111*********
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
SNOWARN
.. * III lit III * III * III * .. III * III .. * * * * * * III III * III .. * III * * III * * .. *. * 111 * *"_ III III 1fI. III III III * III * * *** * * III

1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365

* * * .. * *

This module i l called by PCAL and the interrupt
handlers to set up execution on a particular code
segment with:
SPlB a external program label
RH. number of internals
OSPL and STA set
I)

2)
3)

Read LSTT bank. addr pointer from 1221.1222 (8)
Read ILSTT ents (first word of LSTT)

!~ ~~~~c~~*f ~~~~:~'o~h:~tries (first word)
b) STT violation if LSTT bank=LSTT addr =0
~l ¥rTI~i~!~~i~n(~~o;eYa:e~)I=L~Trh:~tries

1367

1368
1369
1370

5)
6)
7)

1371
1372
1373
1374
1375
1376
1377

8)

9)

1378

10)

1379
1380
1381
1382
1383
1385

~iAi~~CEiX~~~~; }~a~e~lt~ere~h:~gment

if STU· 0 then

1387
1388
1389
1390
1391

1392

1393
1394

1396
1397

16)

1398
1399
1400
1401

17)

0117

PCL3 0292

~I f~~!~atr:om~~T!n~it~Bt:~~L~~~~l~~I~~j(~~y~h:~d:

use eSTX(I) for eST base
Else use eSTB(O) for CST base
set PB BANK. PB and PL from eST entry
set reference bit in CST ent ry II

13)
14)
15 )

1386

1395

1) In~ex into LSTT with N-linternals
2) Read new label
If LABEL(8:8)=0 then CST violation
Phys Seg (RH).LABEL{8:~)
If logically mapped. then
a) If LABEL{8:8»ILSTT entries then STT violation"

12)

11)

1384

1403

III III

9:26 AM

CODE SEGMENT SET UP MODULE

1366

1402

111: ..

10/ 2/86

COMMENT

AODL

"

I~A~i~:B~E~iTtrr~en

STT VIOLATION tra
if external label in STT then STT VIO~ATION TRAP •

if called from priviledged then
P:" PB
else
STT UNCALLABLE
else
if called from priviledged then
P:= PB + label address
else
If called segment is priviledged then
STT UNCALLABLE;
if PB <= P <- PL is not true then BOUNDS
VIOLATION
next instruction, start execution of code
segment
RE

ADD

BKX3 SF2

RE=LSTT ADDR;BKX3=0.SET F2 FOR MED JMP{CSTX)

PAGE 31
RECORD
1'<0
HO'i

1401
1409

1411
1413
1415
1417
1418
1420
1421
1423
1424
1426
1428
1429
1431
1433
1435
1437
1438
1440
1441
1443
1444
1446
1448
1450
1452
1453
1455
1457
1459
1461
1463
1464
1466
1467
1469
1470
1472
1473
1475
1477
1478
1479
1480
1482
1483
1485
1486
1488
1419
1491
1492
1493
1494

C S

ADDR
011f,
o ~ 19
01111
011B
OllC
011D

CODE SEOMENT SET UP MODULE
*IIILSTT ENTS
(CSTX)
;READ lABEL
(CSTX)
;INDIC SEG I =0
(CSTX)
;RH-NEW lABEl(8:8) (SEG I) (CSTX)
CSTV IF NEW SEG-O ;SPIB-NEW SEG,JP IF PHY LB
(CSTX)
(CSTX)
CSTV IF SEG>IENTS;UBB-lABEL(8:8)*2
(CX2328A)
SKIP IF Fl SET;READ lSTT ENT (lSTTB+lABEL*2)
(CSTX)
IF SEGI WAS 0, PUT IN SEG I FROM lSTT (CSTX)
GO READ CSTB(O);RH-NEW 16 BIT PHY SEG (CSTX)
(CSTX)
READ CSTX(ll; JMP AROUND
READ CSTB(O FOR PHY MAPPED;RE=RH FOR PHYS
(CSTX)
CSTV IF SEG-O; UBB-MAPPING (lOG/PHY) (CSTX)
(2318 )
RC·NEWMAPFLG ; XRB12: -NEWMAPF lAG
SP4A.(0.8) -STA (0 8), UBB -STTI
(CSTX)
READ CSTl, SP2B.-STTI, SKP IF= 0, SF4B(CSTX)
(CSTX)
RD: -TSTA;
UBB:-SEG. • 4 + 2, SF4B IF STTI <) 0
READ BANK;

~::~~;~g~T~/~~T=~I~ j~G~E~14<: ~'

~~~Dv~~~IT~6:GI~/~E~1c~Tg/csTX) + SEGI * 4);
CST OR CTl VIOLATION IF SEGI ) CSTl;
SP3B:=MASK FOR ABSCENCE AND TRACE BITS
UBA:-AMRT-lENGTH/4 & CSl(I); BNKP:-NEW BNKP
SP4A:-UBA:-lENGTH & lSl(l), (M AND R BITS
SHIFTED OUT, A AND T BITS WIll BE ZERO),
F1: =MODE BIT;
READ PB ((CSTB/CSTX) + SEG. * 4 + 3)
RG:-UBA:=lENGTH - I;
UBB:=ABSCENCE AND TRACE BITS, SKIP IF () 0
JSB IF TRACE OR ABSENT;
Pl:-lENGTH - 1 + PB, READ STH
UBA: -AMRT-lENGTIi/4 WITH REFERNECE BIT SET;
READ lABEL AT PL - STTI, SKIP IF NPRV
WRITE AMRT-lENGTH/4;
UBB:=I lOCAL lABELS, SF 1 IF PR IVILEGED
(Fl WIll BE SET IF PRIVILEGED SEGMENT OR
CAll FROM PRIVILEGED)
(2635)
STT VIOLATION IF STTI ) STTl;

PAGE 32
RECORD
NO
1496
1497
1499
1501
1502
1503
1505
1506
1507
1508
1~09

1511
1512
1514
1515
1517
1518
1520
1521
1523
1525
1527
1528
1530
1532
1534
1536
1537
1539
1540
1542
1544
1546
1547
1549
1551
1553
1554
1556
1557

CS
ADDR

COOE SEGMENT SET UP MODULE

•• 111* ••• "" ••• ALU A _**l1li*111****.

LABL RREG SREG FUNC SFNC STOR SPSK

*_ •••• - •••••• ALU B *.* ••• *.* ••• _.
RREG SREG FUNC SFNC STOR SPEC SKIP

013B
013C

SP2B ADD
UBB ADD

LSL

ZERO
POS

PL

OPB
RG

0130

STA

UNCL

POS

RG

SP2B UBNE

013E

0003 XR15 ANDl

JSZ

013F

RD

0140

SP4A ADD

0141

SP4A

ADD

STA

SP3B

SP3B SP2B ADD

NZRO

XRl

JSZ NEXT
UNC
ADO
ADO
0004 XR15 ANDl
XR15
ADD
ADD
PCLS SPOA
ADO
ROB3
JSZ CSTV
UNC

0149

TABP

UBA

ADD

DATA

TABE

SP IB ADD
ADO
RO
OSPL ADO

SPOA
RD
FIHB
SPOA

0140
014E
014F
0150

TABS
TABT
SWARN

RC
JSB TABT
1000 CPX2 ANDl
UBA JSZ ICSH
JSZ

TRCE

ZERO
NZRO
UNC

UNC

RONP UNC
RONP

ADD

XR12

SP3B

ADD

PB

A690

ADDl
ADD
ADDl

CTR

00B2

UBB

XR16 ADD
ADD
JSB
OPB JSZ
UBA

ADD

XRl

ADD
JSB
ADO

OOFE RD
RE

NF4B

SP3B

ADD

FIHB

0142
0143
0144
0145
0146
0147
0148
014A
014B
014C

ADD
SUB

*+1
CTLV

CCTX
CCPX

REGN
BNKD

NEXT
F2
ZERO
NPRV

RE
TABS XR12

SF!
CF2

UNC

ADD
ANDl
JSZ ABTH

NZRO
UNC

JSZ

NEG

ABCS

10/ 2/86

9:26 AM

COMMENT
SP2B:· DELTA
(2635)
SKIP IF STTI:aO;UBB:·LABEL AT PL-STTI (2635 )
SKIP IF HOT UNCALLABLE;
SP3B:·NEW PB (PL-LENGTH-l), SKIP IF STU : 0
(2635)
UNCALLABlE TRAP IF (STTI () O,LABEl.(1:1)=l,
AND NOT PRIVILEGED) OR (STTI:20 AND NOT
Bo~~6~I2~~E~)~EGMENT lENGTH - 1 )z DELTA P
IF STU () 0, SKIP
(2635)
SP4A:' DUMP OR lOAD BIT;
P: 'PB, READ INSTRUCTION IF STTI • 0
(2635)
STA: .NEW STA, SET MODE BIT;
P:·NEW P (DELTA P + PB)
(2635)
SKIP IF DUMP OR lOAD;UPDATE MAPFlG(2318)
READ INSTRUCTION IF STTI () 0
NEXT IF NOT LOAD OR DUMP;
PB:·NEW PB, CLEAR CTX FOR IClDH
UBB .• mask
: Clear BNDVINT and MSGINT, set RUNFF
Clear SINCBIT for clock interrupt:
CTR :. SWREG REGNI
SWREG: ·XR 16 (MCDEVI)
BNKD: -0, NEXT
~~~Ee~ot~+~6NM5~~~~s~UM~ TO WAIT ONE CLOCK
CST LENGTH VIOLATION IF CSTL • 0
~~~T5:1MR!A~§~~~~~4B~l~HS~~~E~~N~~~vBIT SET;
spoA:.plRAMETER:zlABEl SFI IF PRIVILEGED
SET MODE BIT IN TSTA; J SB
(2318)
SPOA.·PARAMETER:=N;
CF2 TO DISTINGUISH EXIT FORM PCAl
BY PAS SEG 1 TEST FOR LOG MAPPED ABSENC (CSTX)
UBA:·ICSFlAGFF; SKIP IF NEW SEGI ) 1 (CSTX)
HALT IF ABSCENCE OR TRACE ON ICS:
HAL T IF ABSCENCE OR TRACE GOING TO SEGI 1
TRACE trap unless ... ,
ABSENCE trap if absence bi t
(CSTX)

PAGE 33
RECORD
NO
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1571
1573
1575
1577
1579
1581
1583
1585
1587
1589
1591
1593
1595
1597
1599
1601
1603

C S.
ADDR

Load
Label Instruction
III III .... 111*_111111
ALU A III III III 111111 .. " III" If .... .. III III III !III III III III III '" III III ALU B ••• 111.111 • • • • •
LABL RREG SREG fUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
"III
111. III 111111 III 111 lit
III III III III _ . III'" * **111 * III" * III III ** III III: III. III III III ** III III"" ** III III. n .. III III III III III" fit III III • • "'"
lit • •

*.

JIll • •

"

_.*

JIr

l1li:

10/ 2/S6

9:26 AM

COMMENT

JIll

Load Label (LLBL) Ins t ruc t ion
N - disp

.. III 111* III III III

* III_III" III ** .. * * . . III *111* ** * lit III III III III III"

l1li III" !If

* *. III"" III lit" '"

Jill 'l1li

III

'III"" III *

.*.

III III: '"

JIll"

111111 III III ....

SLUT INSTR-LLBL:O 011 011 hx xxx xxx, DSPL-S, ENTRY-LLBL
0151
0152
0153
0154
0155
0156
0157
0158
0159
015A
015B
015C
015D
015E
015F
0160
0161
0162

LLBL

UBB
UBB
UBB

LLB3

STA
DSPL
DSPL
UBA
STA
DSPL
DSPL

I~DD
RLZ RH
:SUB
CAD
SP4A
,JSZI STTV
I~DD
RRZ SPOA
.JSBS LLB3
,JSZ STTV

OPA
UBB
OPA
OPA

,~DD

SPOA
SPOA UBA
SPOA UBB
UBA OPA
SPOA
OPA

I~DD

INC

,~DD
,~DD
,~DD

[NC
I'DD
I'DD
.JSZ
I'DD

RRZ
LSL
CSTV

RH
RH
SPOA

ROP
NCRY
NCRY
BIT8
NEXT
ROX3
ROX4

RH

ROX4
ZERO

PL
OPB
OPB
XR12
RH
SP4A
0291
UBB
RH
OPB
RH
SP3B SP4A
BKX4

ADD
JSZ
ADD
ADD
ADD
ADD
ADD
CAD
ADDL
ADO
JSZ
ADD
JSZ
INC
ADD
ADD
JSB
ADD

PSHM
RRZ
LRZ
LSL
S~IAB

NEXT
Sl'TV
"+1

ROP
BKX3
SP3B
RH

EPSH
HBF2
F2HB
ROX3

BKX4

SR7

NZRO
NEG
ZERO
UNC
NEXT

RH.OS·SEG. ;READ STT LENGTH & .INTS
READ LABEL (PL-N) : SAVE RG IF SR=7
SP4A=UBA=-(N+1) ;UBB-STT LENG,PUSH RH TO TOS
STT vIOL IF N>STT LENG; BKX3=0
(CSTX)
SPOA=STA(8:S)
SP3B·UBB=.INTERNALS (CSTX)
JMP IF N>IINTS; F2=MAPFLAG
(CSTX)
STT VIOL IF N>127:
(CSTX)
NEXT>RH ON TOS;RH-INT LABL CHGD TO EXT(CSTX)
RH=LABEL(8:S);UBB=ADDR OF LSTT BANK
(CSTX)
READ LSTT BASE; READ LSTT BANK (291) (CSTX)
RH-LABEL ;NEXT IF SEG. <>0
(CSTX)
SPOA=LSTT BASE :BKX4=LSTT BANK
(CSTX)
UBA=STA.8:S"2 ; STTV IF SEG=O & PHY MAP(CSTX)
READ PTR LSTTB+STA"2+1;UBB=-(N-'INTS) (CSTX)
(CSTX)
~~~DLEX~~L(~R~ANl~{+B+PTR-(N-'INTS) (CSTX)
JSZ IF BOTH LSTT BANK=ADDRESS=O
(CSTX)
RH· LABE L FROM LSTT; NEXT
(CSTX)

101 2186

PAGE 34
RECORD
NO
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1634
1636
1638
1639
1641
1642
1644
1645
164f,
164 'j
1649
16~1

1652
1654
1655
16<,7
11''18
ltiliO
if, ,
Ibh2
16' 4

If·6 ';
161.' 7
~6h8

1"''''9
16.' 1
1672
H; 14
1676

9:26 AM

.

"'111*.************111*111.111***._*****_._**111._ •••• ****111111***111.*******.-._-***

ICF/55 EXIT instruction
This module will perform the execution of the EXIT
instruction'
1) SM :- 0; RO '. 0 - (0); RS :" 0 - 4 - N
2) If RS or RQ > Z then stack overflow
3) If RS or RQ < DB and EXIT to nonpriv then
stack underflow
4) If nonpriv EXITs to priv or external
interrupt bit changes then mode violation trap
5) Disable external interrupts, STA(l) :" 0
6) Restore X re~ister from stack marker, X,
(Q-3)
7) If EXIT to dlfferent segment or mapping mode,
8) He~BS~! ~& zeio~Hm~~tpl is not within limit
then bounds violation
9) p, PB + (0-2); STA
(Q-1); S
RS; Q
RQ
10) Next instruction
!lUT INSTR-EXIT:O 011 001 lxx xx, DSPl.8, ENTRY-EXIT
0163
0164
0165
0166

EXIT

0
ADD
UBB DSPl SUB
SPOA OPA SUB
UBA

0167
0168

DB

JSBS EXSU

STA

ADD

RH

JSZC STUN

OPA

ADD

01SA

SPlB INC
RC

016C

ADD
ADD

0160

RB

PB

016E

RD

SP4A SUB

016F

UBB

RB

0170
0171

EXI9 1000
UBA RD

ADDl
CAD
ADD

SP3B

CAD

UBA

RB

SP4A

NCRY

OPB

XOR

OPB

NZRO

NCRY
SP3B

ADDl

SP2B

ADD

RD

NEG

ADD

lSl

POS

JSB

TR6E

NPRV

RC

XR12 ADD

Pl

PB

UBA

ROAS

JSZC ST02

SP3B

RRZ

SPIB
SP3B ROS
SM
ClSR

RH

BFFF
ROS

JSZS BNDV
ADDl
AND

CRRY
RC

SP2B AND
OPA

NCRY

FFFC Q
UBA
Q

SP4A

0169
016B

RG

SPOA ROS
RH
RG
FSS

POS

lSl

UNC

JSBS HI6
JSB

RH
ADD
SP4A ADD

NZRO

EXI6

SM
P

RNSP

SPOA :- Q, read delta Q; SPIB, UBB:= Q-4
RH, RS IQ-4-N); SP3B, Q-l, read STA
RG :- RQ Q-delta Q), skip if split banks;
SM :s Q, clear SR
JSB for further checks if DB < RO and not
split banks; Read delta P at (Q-2)
SP4A :- UBA :- oldSTA; Stack overflow if
not (Z > RS) logically, (S will be at
least 4 less than Z if less than Z at all)
Stack underflow if RQ > RS;
(CSTXI
SP3B,(1:1) :s new ext interrupt bit <> old
RC=DElTA P WI lIP BIT;UBB-MSK TO ClR liP BIT
(CSTX)
~:~~wn~~~,~~I~Qi~)~OING TO PRIVILEGED (CSTXI
RB, UBA:- new delta P; Skip if the new &
old ext interrupt bit are the same (CSTX)
:0 NEW X
(CSTX)
trap if not privileged and EXIT is to priv
or attempt to change ext interrupt bit(CSTX)
SP4A=NEW P;NOP IF NEWMAPFG=OlDMAPFlAG (CSTX)
TRICK, ADD=XOR W/O CARRIES--XRI2=0,4000
UBA-NEW PGM SEG-OlD PGM SEG,
(CSTX)
UBB=Pl-PB, SET UP NEW PGM SEG IF MAPFLAGS
DIFFERENT
(CSTX)
BNDV IF DlTA P>Pl-PB;EXI6 IF PRGSEG NOT SAME
(CSTX)
UBA
left/right stackop mask; SM, RS
Sk1P i f right stackop; P - newP, read right
stackop

PAGE 35
RECORD
NO
1677
1679
1681
1683

1684

1686
1688
1690

C.S.
ADDR

EXIT Instruction
~~~~*****~~ ALU A .**********
LABL RREG SREG IFUNC SFNC STaR SPSK
SP4A ,II,OD
CPX2 ,II,DD
RD
,II,OD

·0172
0173
0174
0175
0176
0177

TR6E
EXSU

DL

JSZ
,II,DD
,II,DD

************* ALU B **************
RREG SREG FUNC SFNC STaR SPEC SKIP

RONP
STA
TRP6

UNC
UNC
RSB

Z

UBA

RG
RD
UBA

ADD
ADD
JSZ

DB
DB

ADO
SUB
JSZC STUN

LSL
DIMS

Q

pas
ODD
NEXT
NCRY
NCRY

10/ 2/86

COMMENT

9:26 AM

PAGE 36
RECORD
NO
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
17 1 7
1719
1721
17n
1725
j 127
1129
17~

1

1731
1735
1736
1738
1740
1741
1743
1745
1147

1749
1750
1752
1753
1755
1756

1758
1759

1761

1763
1764

1766

C.S
ADDR

~~~:.~:7~:~tA~~tAUe.~~~~~:.!~r ~~!r*!~:!r~~!i~LU B ••••••••••••••
LABL RREG SREG FUNC SFNC STOR SPSK
SNOWARN

*** •••• ********** ••••

RREG SREG FUNC SFNC STOR SPEC SKIP

1769

9:26 AM

* ••••• ** ••••• ***** ••••• * •• ***.***111* ••• _ ••••••• *.
*

CODE SEGMENT SET UP MODULE FOR EXIT INSTRUCTION

This module is called by EXIT to set up execution
of a particular code segment
I)

2)

3)
4)

5)
6)

7)
8)
9)

0178
0179
017A
017B
017C
0170

OIH

017F
0180
0181

EXI6 RC
XRl2 AND
RC
0292
ADDL
ADD
ROX3
RC
JSB EXI7
NZRO
INC
ROX3
OPA ADD
SPOA
RE
INC
ROX3
RF
Rf
ADD
UBA OPA XFRS
ROX4
RREG UBA ADD
ROB3

0182
0183
0184
0185
0186
0187
0188

RF

OPA
UBA

ADD RRZ
JSZC CSTV

CRRY

OPA
EXI8 SPOA
UBA UBB

ADD
ADD
ADD
ADD

ROX3
SP4A ROB3

SPOA UBB

ADD

ROX3

JSBC PCL8

CRRY

EXI7

SPOA

0189

RF

018A

OFFF OPA

ANDL

018B
018C

OPA
2000 OPA

ADD LSL
IORL

0180

UBA

018E

SREG JSB

OPA

ADD
ADD
INC
CAD
CAD
JSB
OPB ADD
UBB ADD
BKX4 ADD
UBA JSZ

RO
UBA
RREG
RF
OPB

RF
RF

RRZ
EXI7

BKX3 SF2
RF
ROX3
RE
ROX3
BKX4
BKX3

RE

CRRY
UNC
NZRO
ZERO
ZERO

OPB

ADD
JSZ

BKX3
CSTV RF

RF
RF

JSB
JSB
INC
ADD

EXIS
* +1
lSL
lSl

NZRO

JSB

PCl8

UNC

OOFF OPB

ANDl

HBF2

UBA
UBB

UBA

ADD
CAD

UNC
F2

BNKP

DATA

UBB

OPB

ADD

OPB

JSZ

ROX3
lSl

RF
Pl

lABE

NEG

TRP6

(CST)()

~~~DAg~~B~8~ ~sHAgF iN~~o~E~~~~T (~~~g~! g~~~

CSTV

SP4A INC

ADD

RC-MASKED MAPPING FLAG; CLR BK3

NF2

1767

1768

101 2186
COMMENT

NPRV

I

JMP IF PHYS MAPPD;READ LSTT BANK(0291)(CSTX)
READ CSTXll! ;SKIP IF SEGI > IPROG SEG(CST)()
SAVE CSTB 0 IN SPOA.JMP USING CSTX(l)(CSTX)
READ LSTT ADDR (292);SET LSTT BANK
(CSTX)
UBA=SEG~ *2; BKX3=BKX4=lSTT BANK
(CSTX)
READ .LSTT ENTS; UBB=LSTT BNK,SKP IF O(CSTX)
READ LSTTB+SEG*2;CST VIO IF LSTT BANK=ADDR=O
(CSTX)
UBA·ILSTT ENTRIES ;CLR BKX3 FOR FOLLWG(CSTX)
JP IF SEG>.LSTT EN;OPB-RF=PHYS SEGI,JMP IF 0
(CSTX)
;BYPASS--SPOA ALREADY SET(CSTX)
SPOA-BASE;MED JMP TO LET SPOA TO STORE(CSTX)
READ CSTL·UBB-SEG. *4+2
(CSTX)
SP4A:-(CstX/CSTB) • SEG. * 4 + 2, READ BNKP;
UBB:-SEG. • 4, SKIP IF <) 0
READ AMRT-LENGTH/4 AT (CSTX/CSTB) + SEGI*4;
CST VIOLATION IF SEG. - 0
CST OR CTl VIOLATION IF SEGI ) CSTL;
BNKP; -NEW BNKP
UBA: • lENGTH/4;
~~A~~gEA~I~7S~~'~~[~~G~HSEG' * 4 +
UBA:=AMRT-lENGTH/4 WITH R BIT SET.
RF:=UBB:=lENGTH - 1
REW~~T€)AM:~~f~~g~H~l~ FOR ITABE,
Pl =LENGTH - 1 + PB
SKIP [F SEGMENT NOT PRIVILEGED
JSB IF ABSCENT;

PAGE 37
RECORD
NO
1771
1772
1773
1775
1776
177 8
1780

C.S.
ADDR

~~~:.!:y~:~tA~5tAue.~~~~!:.!~r ~~!!.!~=!r~~!l:rU
LAIBL RREG SREG rUNC SFNC STOR SPSK

018F
0190
0191
SW.t\RN

RB

UBB

ADD

RF

RB

lIDO
UBNE

SP4A

B••••••••••••••

RREG SREG FUNC SFNC STOR SPEC SKIP

RB

JSB

TABE

NEG

OPB
RC

ADD
JSB

PB
EXI9 XR 12

UNC

101 2186

9:26

AM

COMMENT
UBB:ePB, TRAP IF EXIT TO PRIVILEGED AND NOT
PRIVILEGED
SP4A:=DELTA P + PB;
TRACE IF DELTA P.(O:ll

PAGE 38
RECORD
NO

IXIT Instruction
C.S.

ADDR

• ••

*.* ••••• ALU A ••• "' •• *.* ••

LABL RREG SREG FUNC SFNC STOR SPSK

1782
17 83
17 84
17 85
17 R6
17 87
1788

I~!: r~~1~~~ wi~b~er!O;~e~~~e~X~~~!i~~ ~~e t~~sI~~~

;1g~e:t!da~~(g)<;
1) .
2) .
2 a) .

3)
4)
4a I.
5) .

61.

1804
1805
1806
1807

br.

rffD~:~~~~~=rs!~l:~r~~!!~

~~le~~~~~~~d~;!~~!~h:~'r;~~~~P~!cgi~~~~~~!~d
Interrupted process, redispatch requested so
start Dispatcher.
Interrupted Dispatcher, redispatch requested
so restart Dispatcher.

IXIT pat hs:

1809
1810

(11
(21,
(31

(2a 1

I~!: !:~I

1811
1812
1813

1814
1815
1816
1817

..

c> O.

Dispatcher launch of a process.
Interrupted process, return to process.
Interrupted process, redispatch requested
but pseudo-disabled so return to process.
Interrupted interrupt, return to interrupt.
Interrupted Dispatcher, return to Dispatcher.

1808

IXT!
IXT!
IXT3
IXT4
IXT4

IXT2
IXT2
IXT2
rXTZ

IXT7
IXT7
IXT7
IXT3
IXT9

IXT8
IXT8
IXT8
IXT7
IXT8

IXTS

The displacement for IXIT 1s set to four so that in
the event of a TRACE or absence t rap on IXIT, zero
is placed on the stack as the parameter.

**.* •• *********** ....... **** ••• **************************"'* .. "'**"''''''''''.''' •••

1818

1830
1831

9:26 AM

can be enterel'l by the interrupt procedures or the
Dlspatcher
For interrupt procedures
If redispatch

1 '80
17!11
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803

1828

10/ 2/86
COMMENT

ICF/55 IXIT Inst ruction

17 R9

1819
1820
1822
1824
1826

*,rrlll********** ALU B *111*"' ••• **** •• RREG SREG FUNC SFNC STOR SPEC SKIP

SLUT INSTR-IXIT /PCN:

0192
0193
0194
0195
0196

IXIT

DSPL
CPX2
FHB 0
OPA
IXT2
UBA

o

010 000 011 11, DSPL-4, ENTRY-IXIT

ADD
JSB PCN
ADDL
RH
ADD
RD
JSB IXT3

ZERO
UNC
NZRO

0
0100 UBA
UBA

ADD
ROAS
JSZ TRP6 BKX3
NPRV
ANDL
ZERO
JSB
IXTI
UNC
JSB
IXT4
NEG

Skip if IXIT inst r; Read delt a Q
It's a PCN instr; BKX3 := 0, mode violation?
RH :- 0-5; Are we in Dispatcher?
RD :. dell a 0; Yes, so launch process
If 0(01 = 1 then path (4,5,6) else if
Q(O) = 0 and Q c> QI then path (3)
(Note:
Q = 01 iff delta Q = 0)

PAGE 39
RECORD
NO
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1852
1853
1855
1857
1859
1861
1863
1865

C S

ADDR

IXIT, paUl (l,2,2A)
**~******.* ALU A **111111111****..
LABL RREG SREG FUNC SFNC STOR SPSK

.

III III III: III III III: III III '"

*

'111:

III

**

'f!: III: III III: III III III III

* •••• ****.*** AlU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

* * III * III III III * III III III * * III * III: III III * III: •
I'll

III:

III .. III III: III III II: III lit

* * III * * III: III III *

111:

III III • lit

ICF/55 IXIT path (l,2,2A)

.

10/ 2/86

9: 26 AM

COMMENT

*

This module will launch the interrupted process,
1tsg~!~:;~h!~U~~hp:~u~~~~1::bt~dlaunch of process
1).
;2).
:3).

:~ I:

6).
0197
0198
0199
019A
019B
019C
0190
019E

IXTl HOO

RH
RG

S-BANK:- (01-5).
0:- (01-6) - 2 + (01-4).
DL:- (01-7) + (01-4).
~l~;r (~f;~!t~h~~I;~~. ICS flags.
Read delta O.

ADDL
RH
RH
OPA
OPA
OPA
Q

INC
ADD
ADD
CAD
ADD
ADD
ADD

RH
RG

ROX3
ROX3
CFl
ROX3

SPOA
RH
ROS

CAD
UBA

SP3B
HFE OPB
UBA UBB
RG
OPB
UBA
UBA

ADD
CAD
ADDL
ADD
ADD
ADD
ADD

SP3B ROX3
RH
0
DL
BNKS
Z

CCPX
ROX3

UBA:·MASK TO CLEAR DISP AND ICSFLAG;
SP3B: -(01-6), READ DS
READ STKDB (01-4); CLEAR DISP AND ICS FLAG
READ S-BANK (01-5); READ DOL (01-7)
RG:"STACK DB, (0) ; UBB: =DS-2
READ DZ(01-8) 0:-DS-2+(OI-4)
UBA:=S-BANK; L:=DDL+(01-4)
UBA:=DZ(QI-8) (01-4) ; BANKS:=S-BANK(QI-5)
READ(DELTA Q) Z:=DZ (QI-8 )+(QI-4)

PAGE 40
RECORD
NO

C S

ADDR

IXIT. PATH (1.2.2A.3.4.4A)
* ••• ****_ •• ALU A

1868
1869

1870

1890

1892
1894
1896
1898
1900
1902
1904
1906
1908
1910
1912
1914

**.IIIt.******.* ALU B **********111**.

RREG SREG FUNC SFNC STOR SPEC SKIP

101 2186

9:26 AM

COMMENT

ICF/5S IXIT PATH (1.2.2A.J.4.4A)

1871

1872
1873
1874
1875
1876
1877
1878
1879
1881
1883
1885
1887
1889

*._.* .. * •• *

LASL RREG SREG FUNC SFNC STOR SPSK

THIS MODULE JOINS PATHS (1.2.2A) AND (J.4.4A).
1)
2).
019F
OIAO
OlAl
01A2
OlAJ
OlM

OlAS
0lA6
0lA7
OlAS
01A9
OlAA
OlAB
OlAC
OlAD
OlAE
OlAF

IXT7 USB
RH
FFFC
IXTS
SPOA

SP4A
OPA
Q
UBA
RH

SPOA RG
OPA
OPA
UBB OPA
UBA PB
UBB STA
JFFF
1000
RE

RS -Q-4
RQ -Q-OQ(1:15) OR RA:-Q-OQ IF PATH (1.2.2A).

SUB
SUB
ADDL
INC
JSZS STOV
JSZS
ADD
ADD
AND
ADD
SUB
ADDL
ADDL
ADD
JSB
ADD
JSB

STOV

RRZ

RG
FI
RG
RH
SP4A ROS
NEG
X

NEG

RC
RB
SP4A
RE

EXI6

NZRO

EXI9

UNC

Q

UBB
OPB
Q

OPB
SP4A
UBB
BFFF
PL
PB
OPB
BNKS
UBB BNKD
UBA
UBA UBB
4000 RC
UBB XR 12
SPJB RB

INC
INC
ADD
ADD
ADD

ROS
ROS
BNKD CLSR
SM
DB
ROAS
ROS

INC
INC
ADDL
SUB
SPJB
ADD
RD
ADD
XOR
ZERO
INC
CCPX UNC
lOR
CCPX
ANDL
RC
NZRO
JSBS EXI6
UBNE

Q:-Q-DQ(I:15); READ(DB-BANK)
RQ:-Q-DQ. IF PATH (1.2.2A); READ(DB)
RS:-Q-4; DB-BANK:-(Q+I).SR:=O
~~~e:i~-~s ~E~DA~6 aIT~IN 32K;

g~OV(~F2~Q

)

Z AND WITHIN 32K; READ DELTA P
SET X REGISTER; READ STATUS
RC-DELTA P lOR LIP BIT; UBB=L/P MASK (CSTX)
~~~A~~~i~T: ~/~ ~,~ ~6~~T~~~B:=PL-PB (CSTX)
RE:=O IF SEGMENT NUMBERS SAME; UBB:-BNKS
UBA:-MASK; SKIP IF NOT SPLIT BANKS
UBA:-MASK; SET FSS IF SPLIT BANKS. SKIP
;CLR FSS
(CSTX)

3~~ ~~ ~6~HC~~~M~¥~ST~O~E~C:~LG

JSB TO FINISH;
BOUNDS CHECK (PL - PS)

)=

DELTA

!g~+~1

PAGE 41
RECORD
NO
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928

1930

c.s.
ADDR

IXIT, PATHS (3,4,4A)
111 • • #1111***111**

ALU A

JII*IIIl11icllr*lIIit1l:*

*JllJII:*III:JII*III:**"II~1II

AlU B

S~:IP

III III 'III 'III III III III lie 'III JII; .. III III "

• "

.

RREG SREG FUNC SFNC STaR SPEC
III III l1li: . . . III: III: IIIIf1 'III 111111 III III "II: .. III l1li !II til Ie III • III l1li III 'III .... III III 'III III III III III III * III: * III III III III III • * 1\ III III til III "

IeF/55 IXIT PATH (3,4.4A)

10/ 2/86

111*111111111111111111*****111

LABL RREG SREG FUNC SFNC STaR SPSK

.

COMMENT

*
III

THIS MODULE WILL CREATE THE DELTA Q ADJUSTMENT
FROM DQ.(1:15).
1).DQ:-DQ.(1:15).
JOIN PATHS (l,2,2A).

2).

01BO
01Bl

IXT3 RD

RD
UBB

ADD
ADD

LSR

SP4A SFI
SPOA

Q

ADD
JSB

IXT7

UNIC

SP4A:=DQ(1:15); UBB:-Z
SPOA:-Z; UBB:=Q. JSB

9:26 AM

PAGE 42
RECORD
NO
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1950
1952
1954
1956
1958
1960
1961
1963
1964

C.S
ADDR

!~!r •• ~~!~: AfC'~'~.~l

...... .

LABL RREG SREG FUNC SFNC STOR SPSK

ICF/55 IXIT Paths

** ••• ** .. *** .. * ALU B **111*******.***
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26

AM

COMMENT

(2A,4,5,6)

This module checks to see if the DISPATCHER was
interrupted or a re-DISPATCH was requested
1).
2)
3).
4).
5).

01B2
01B3
01B4
01B5
01B6
0187
01B8
01B9

IXT4 0005
UBA
OPA
UBB
OPA
UBB

Set DISP flag.
If 01(0) = 0 return to DISPATCHER (path 4).
If 01 <) 0 return to DISPATCHER (path 4A).
If (01-18) · 0 start DISPATCHER (path 5,6)
Return to launch process (path 2A).

ADDL
ADD
ROX3
ADD
CFl
ADD
SP4A ROX3
ADD
SPOA
JSB
IXT3
POS

SP4A JSBS IXT3
ADD

NZRO

0700

SET ADR 5; SET DISP FLAG (PATH 2A,4,5,6)
READ (01 ADDR); SET DISP FLAG
CLEAR DO FLAG; SPIB:=18
READ(OI); UBB: ·Z

Q

ADDL
ADD
ADDL
ADD
SUB
ADD

OPB

JSB

IXT9

ZERO

JSB

IXTl

UNC

UBB
0012
Z
UBA SPIB

SPIB

CCPX

~~~C~;/toRM~~OfpHA

ROX3

4)) IF 01. (0: 1 )=0;
UBB: =0
RETURN TO DISP (PATH 4A) IF o <) 01;
DISPATCH IF (01-18)-0, (NOT PSEUDO DISABLED)
; RETURN TO INT. PROC (PATH 2A)

PAGE 43
RECORD
NO
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1984
1986
1988
1990

c.s.
ADDR

U~BL

IXIT, PATH (5,6)
~~.****~*.~ ALU A ***********
RREG SREG FUNC SFNC STOR SPSK

************* ALU B **~*********»*
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

ICF/55 IXIT PATH (5,6)
THIS MODULE WILL START THE DISPATCHER AFTER A
INTERRUPTTED PROCESS HAS COMPLETED
1).
2).
3).
4).
5).

01BA
01BB
01BC
01BD
OlBE

IXT9

SP4A INC
0002 UBB ADDL
OPA
ADD
ADD
FFFC 0
ADDL

o

(01):-0.
0: =01 .
RS:=OI+2
RQ '01
JOIN ALL OTHER PATHS (IXT8).

SP4A ROS
RH
RG

SP4A ADD
ADD
SP4A INC
UBA
ADD
JSB

Q

WRX3
DATA
ROS

BNKD
IXT8

UNC

READ(DB-BANK);Q:=QI, WRITE TO QI
RS:=QI+2; 01:=0
UBA:=DB-BANK; READ(DB)
RO: -01; DB BANK·. -UBA
UBA:-Q-4; FINISH TO PATH (1,2,2A,3,4,4A,5,6)

PAGE 44
RECORD
NO

C .s.

ADDR

1993

PUSH CPU NUMBER Instruction

******111:**** ALU A 111111 •• 111****.*

•• * •••••••••• ALU B *********111**_.

l1li:

.

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III * III III III III III * III III * * * III III III III III II * *_ III * * III
III III III III
III * III III III III * "-. III III III: III III III III III III III III III III * 111 III III • • _ III *. * * III
111: • •

1994

1995

ICF/55 PCN instruction

1998

This module will push a four (4) onto the top of
stack to si9nify an ICF/SS CPU.

1996
1997

1999

2000
2001
2002
2003
2004
2005
2007
2009
2010
2012

101 2186

9:26 AM

COMMENT

Entered from .IXIT with privileged mode already
checked.
III III III III III

OlBF
01CO
OlCl
OlC2

PCN

* III" *111 III III .... ,. * III * * 111._.'" 111111 • • • • * III III III III III III
FFFC DSPL ANDL
DSPL JSZ NEXT
JSZ
JSZ

PSHM
NEXT

111:

III III

UBA

ODD

SR7
EPSH

* III,. * * III III III *. III *111 111.111111* * filii:" III • • * III III III

0004

ADD
JSZ
ADD
ADDL

NZRO

TRP
RH

Check for non-PCN instructions
NEXT if old LOCK/UNLK instruction;
JS~nt:p!:m~nt~~etf~~
~~t=P~N or LOCK/UNLK
JSZ for Nhf. EPSH; New (S) := 4 for ICF/SS

t:

PAGE 4')
REr;ORIJ
NO
2015
2016
2017
2018
2019
2020
2021
2023
2024
2025
2027
2029
2030
2032
2033
2035
2036
2037
2039
2041

2043
2044
2046

2048

20')0

SUBROUTINE CALL INSTRUCTION

C S

ADDR

1tJII:1I!.1Ir**JII.I~JII

ALU A

IIIIIIIIIJllJIi*IIIJllillJlllJII

• • 111.*111*111111111011*111

AlU B

10/ 2/86

9:26 AM

III*JlrIllJt**lII:lII:lllJi1***

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III: III * .. #I: * * * III J\ til: * * III It III * * * III !II III III: III lit III '" III III III III '" III * '" It '" III * ,. . III "" III III .. III III '" III III III III It 'It III III III III IIf III: III III: III: lit III III III: III III:

COMMENT

:***JII*.****~~~~*;.!~~~?~r!~~*~~~~JII!~~!~~~r!~~***JII*#IIJllJllIII **111:111:**#11111111:*****:
!LUT INSTR=SCAL:O 011 000 1xx xxx xxx, DSPL=S, ENTRY-SCAL
01C3

SGAL

DSPL ADD

01C4
01C5
01G6

SM
SGNZ

OlG7

PL

PB

SUB

PL

UBA

SUB
JSB

PL

REGN XFRR

JSB
JSB

SCNZ
SMEM

UNC
ROBS

JSZ

PSHM

SR7

UBB
UBB
STOS
SMEM

P
ADD
SPOA
DSPL JSZS STTV
NCRY
SP2B JSZC BNDV
CRRY

SPOA PB

SUB
ADD
ADD
ADD

SP2B TICB
STOS CTR

RH

EPSH
UNC
RSB

ope
SP3B
SP3B PB
UBe
UBA
RREG

Q

ADD
ADD
ADD

ROP

SRZ
UNG

ROP

3FFF SREG ANDL

ADD

OlCS
OlC9
OlCA
OlCB
OlCC
OlGD
OlCE

ZERO

SP3B
LRZ

JSZ NEXT
ADD
JSZC STUN
CAD
SM

RONP
POP

UNG
RSB
NEG

SKIP IF N~O
SP2B:=PL - PB, TICB CAUSES CTR:-REGN CODE
FOR OPB
JSB IF N () 0; READ (PL - N), SKIP IF SR • 0
READ (SM) AND JSB IF SR - 0;
CTR:-REGN CODE FOR RA AND JSB IF SR()O(CSTX)
RG>MEM IF SR=7;READ tINT,OPB/RA BEFORE POP
(CSTX)
;SP3B:=DELTA P
(CSTX)
SPOA-P;UBB-tINTERNALS HI ORDR STT LENG(CSTX)
STTV IF N)tINTS; UBB-DELTA P
(CSTX)
BNDV IF ADDR ) (PL - PB)
(CSTX)
UBB:-ADDR + PB, READ

~~~ !~~:Tb ps~~:p6~s~6sPIA~E~c:LoNi~h(cSTX)
, STUN IF S WOULD BE LESS THAN Q
RSB; SM:=SM-1

PAGE 46
RECORD
NO
2053
2054
2055
2056
2057
2058
2059
2061
2062
2064
2065
2067
2068
2070
2072
2073
2075

C.S.
ADDR

SUBROUTINE EXIT INSTRUCTION
••••••••••• ALU A ..... *.*-*****
LABL RREG SREG FUNC SFNC STOR SPSK

************* AlU B ***111**********
RREG SREG FUNC SFNC STaR SPEC SKIP

"******_*******111""111.111*_*******111**l1li*_.l1li*********.111.111 . . 111111 .. 111._ ••••••••

_.*.

9:26 AM

10/ 2/86
COMMENT

: . . " ............ * . . " . . ~~!! *; * ~~~~~~!!~~ . . ~~!r . . !~~!~~;!!?~ 111* .... """""""" * ................ * * ** ........ III ................. :

OICF
0100

.

SlUT INSTR'SXIT:O all 010 Oxx xxx xxx. DSPL·S. SR-l. ENTRY'SXIT
SXIT
SM
INC
SM
REPC
DCSR SRZ
WRS
SR
SM
QDWN ADD
DCSR SRL2
DATA
ADD

0101

UBB

SM

0102
0103

UBB
UBA

DSPL CAD
SP4A
Q
JSZS STUN
NEG
ADD
JSZ NOP
UNC

0104
0105

JSZS ST02

SM

ADD

PL
UBB

PB
RA

SUB
UBNE

RA

PB
ADD
SP4A ADD

NEG

CLSR

P
SM

RONP

WRITE TOS REGISTERS AT SM + I;
SM: ·SR + SM. SR: zSR
1. REPEAT IF SR ( ) 0
WRITE QOWN;
UBB;-Z, SR:-SR - 1 END WHEN SR IN RANKI ( 2
STACK OVERFLOW IF i ( SM AND WITHIN 32K;
UBB:-SM, CLSR
SP4A;-UBA:-S-DSPL-l; UBB:=PL - PB
STACK UNDERFLOW IF SM < Q AND WITHIN 32K;
BOUNDS CHECK (PL - PBJ )z (S)
; P;-IS) + PB, READ N XT INSTRUCTION
NEXT N TWO CLOCKS; SM:-S-I-DSPL

-

PAGE 47
RECORD
NO
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2094
2096
2098
2100
2101
2103
2105
2106
2108
2110
2111

C.S.
ADDR

!~.~!~~~1~~tA~~a1k.~~~~!!!~~.RO~!!~~ •••••••• ALU B ••••••••••••••
U.BL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III" . _ . III III III I 1I III III ***111111* 1ft . . . . . . . * •• III 111*111: III air III 111111 III JIIr** III .. III III .. 111*" * III *_ *111:*** lilt III III III III * III.
III *"

.
.

101 2186

9:26 AM

COMMENT

l1li:

STNU - SR PreadJust Stack Underflow Routine
The purpose of this routine is to move NIR into CIR
when a stack underflow is detected during the SR
preadjust. Note that i f a right stackop is the cause
of the STUN it will appear as an unpaired left stackop.
SM, SR and P are adjusted accordingly
I cannot
~:=~rst:; ::l'i: n tr,h:
If this routine is not broken,

.******,rcIll.**III*.*** •• III:*****.*,III*** •• ****III***.********III:~* ***IItIll •• *.*** •• *

01D6
01D7
01D8
0109

SlNX 0500

ADDL
INC
SM
QDWN ADD
ADD

aIDA
010B
01DC
0100

SP4A

WRS
DATA

SR

ADD
REPC
ADD
SP4A ADD
SM

ADD
JSZI STUN

ADD
ADD
1000 STA

ANDL
JSZ STUN

SM

UNC

UBA

ADD
JSB

• ··2

DCSR SR2
DCSR SRl2
CCPX
CLSR UNC
UNC
ZERO

SP4A :2 mask to set FAKENEXT

FO~~~e!~!nCPVh!Os~~~e ~~~i~~:~~ line by
Produce a ~AKENEXT to move NIR to CIR before
; ~Aea~i~~Rt~~ ~~ ~niS~:~t line lst time
Increment P i f no rig~t stackop pending

before jumping to process stack underflow
UBA := right stackop bit
Jump to increment P i f no right stackop
~~~~~~~o!l;'oj~~~r!~e=tt~~s~ stack

PAGE 48
RECORD
NO
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2124
2126
2128
2130
2132
2134
2136
2138
2140
2142
2144

C S.

ADDR

~~yz:!!~.r~p:L~/2 ~!~y!=~.~~!ld.~~~~!: •••••• ALU B ••••••••••••••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
111'111'111 III III IIIJ1I III .. III III .. III III III III III III * .. III III III .. III III III III III: l1li III III .. III III III III III .. " * .. III III * ... * III III ... III III • • " " " 111111 III III III III III III III III III
MAGNETIC TAPE I/O PROGRAM BUILD MODULE

.

10/ 2/86

9:26 AM

COMMENT

This module wUl build the Mag Tape I/O program to
read the bootstrap I/O program.
* •• * III" '111._ * * III III 'III III III * III III III * III .. * III III III III"""" III III III III III III III" III III III .. III II. III III * * * III * *' * III III * 111* III III *" III '" III .. III
OlOE
010F
DIED
01El
01E2
01E3
01E4
OlE5
01E6
01E7
01E8
01E9

CLOT 0401
0314
0000
0000
0000
0300
OE40
FFF2
4400
0000
0000
0180

0001
0200
0000
4400
0500
0100
0000
0407
0342
0400
0500
0000

0000
0000
0401
0341
0000
0440
0002
0001
0302
0343
0000
0008

4400
0500
0001
0200
0000
8000
0000
0000
0002
0200
0000
0013

CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON

SELECT UNIT 10 FOR MAGTAPE
ISSUE WAIT
ISSUE DSJ
ISSUE READ COMMAND
ISSUE DSJ
READ BOOTSTRAP CHANNEL PROGRAM
STARTING ADDR
DO ANOTHER BURST READ IF NOT DONE
ISSUE END COMMAND
READ XFER COUNT

~~lgER~~b~DI~~~A~S:E~~gP6~~k~D

(2334 )

(2334)
(2334)
(2334 )
(2334 )

PAGE 49
RECORD
NO
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2158
2160
2162
2163
2164
2165
2161)
2167
2168
2169
2170
2171
2172
2174
2176
2178
2179
2181
2183
2185
2187
2189
2191
2192
2194
2195
2196
2198
2200

lOAD RELATIVE ADDRESS Instruction

C.S

ADDR

~*-.**~.*~~

ALU A •• ***. __ •• -

***111*111** •••

*.

ALU B

10/ 2/86

************~*

U\Bl RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SK:tP
* n III * III * ,. III * lit .. III * III III .. '" * III * " III * lit * * .. '" ,. * * Ilk * 1ft * . . * '" III * III III III III III * * III If III III: III #I III '* III III III 111 III III III * III * III ,.
LRA; P relat ive

9:26 AM

COMMENT

JIll

l1li:

*n**III*****III**************III*********.*************************I11******n

OlEA
01EB
01EC

SLUT
SLUT
SLUT
!LUT
lAP

INSTR=lRA(P+)"1
INSTR=lRAIP+):1
INSTR=lRA P-):1
INSTR-lRA(P-):1

OXX
OXX
1XX
lXX

XX,DSPl=8.P,ENTRY·lAP
XX,DSPl=8,X,P,ENTRY=lAP
XX,DSPl=8,P,F2.ENTRY=LAP
XX,DSPl=8,X,F2,P,ENTRY=lAP

UBA DSPl ADSB
RH
3200
ADDl
UBA JSZ PSHM
SR7
UBB OPB JSBS lAPS
RH
EPSH
JSZ NEXT
UBA PB
SUB
III 1_ * '* " * 111 III III III '" lit III III III " * .. III * III * III III III ,. * III III 11 lit III III III .. III * III * III III * III III: III III * III III III III III III ill III !It III III 'It. lit III .. "

I~

III III

SLUT
SLUT
SLUT
!LUT

* ;~ ~ ~ '" ! ~ ~! ! ~ ~ ! III: ~ III ! ~! ~! ! ~: "III III III * III III III III III III III lit III III III III * III lit III 'III III III III III * III lit
INSTR-LRA(P+):l
INSTR=LRA(P+):1
INSTR=LRA(P-):l
INSTR=LRA(P-):l

OlEO
OlEE
OlEF

lAIP UBA

01FO
OlFI
01F2
01F3
01F4
01F5

UBA
U\I5" XC
UBA
U\PS SR
0004

01F7
01F8
01F9

000
100
000
100

ZEno

~API

:

01F6

111
111
111
111

XC

RH

111
111
111
111

010
110
010
110

OXX
OXX
1XX
1XX

I(

III " III •

ROP
SR7

3200
UBB OPB
RH
PB

ADDL
JSBS lAIS
BNDE

OPA
RH
OPA
SM

UNC

PL
RH
Pl
0500
Z
UBA

BNDE
BNDE
BNDE
ADDL
SP3B
SUB
JSZC ST02

JSB lAPI
ADD
ADO
RH
ADD
ADDl
JSZ PSHM

SR7

SUB

EPSH

ADO
ADO
JSB

RH
SP4A
PCL!

* * III ,. III It

RH
PB
RH
UBA
UBB

ZEIIO

CRIIY

ADO
SP3B

SFI

1111:

RH:-UBA:=PB +/- DSPl;UBB·PCAl 00PCODE(2317)
JSB IF SR=7;JSB IF lRA FOll BY PCALO ICSTX)
RH:·EFFECTIVE ADDRESS - PB,EPSH; NEXT (2317)

XX,DSPL=8,INDR,P,ENTRY=LAIP
XX,DSPl=8,X,INDR,P,ENTRY-LAIP
XX,DSPl-8,INDR,F2,P,ENTRY=LAIP
XX,DSPl-8,X,INDR,F2,P,ENTRY=LAIP

DSPl ADSB
RH
JSZ PSHM
RH
ADD

PB

III

UNG
* III * I_

ADO
ADD
INC

CCPX
RONP

RH:-UBA:·PB +/- DSPl, READ;UBB=PCAlO OPCODE
JSB IF SR=7;JSB IF lRA FOll BY PCAlO (CSTX)
UBA:=XC + INDIRECT CEll ADDR;
BOUNDS CHECK INDIRECT CEll ADDR >= PB
UBA'XC+ADDR+CELl CONT;JSB BNDS CK PL>=(2317)
UBA-XC+INDR CEll ADR;BND CK INDIR>=PB ICSTX)
RH-XC+ADR+CEll CNT;BND CK Pl>-INR
(2317)
UBA.SM+SR ;SP3B.FAKENXT CODE
(CSTX)
UBA-4 ;UBB.TOTAl AVAIL SPACE ON STACK (CSTX)
JMP IF STACK REGS FUll (MOVE OUT 1 TO MEM)
STACK OVERFLW IF NOT ENOUGH FOR PCAl 0ICSTX)
RH=EFF ADDR-PB,EPSH ;
2317)
GO 00 INTERNAL PCAlO DIRECTLY AND FAKE P
UBA=O FOR FAKE DSPlFOR PCAlO
(2317 )
NOP TO AllOW FOllOWING SF 1 Tq WORK
(2326 )
(CSTX)

PAGE 50
RECORD
NO
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2214
2216
2218
2220
2222

CSCKPB --.!~.~~~~.** ALU A···········
ADDR
LABL RREG SREG FUNC SFNC STaR SPSI(

OlFA
01FB
01FC
OIFD
OlFE
OIH

CKPB

ADD
ADD
ADD
ADD
ADD
ADD

.************ AlU B 111******111******

10/ 2/86

9:26

AM

RREG SREG FUNC SFNC STaR SPEC SKIP

COMMENT

RB

Is BNKP within installed memory?
No -- Zero BNKP if too large !
Wait for store to occur.
Read NIR.
Wait for read to occur.
RF :- NIR, return to DUMP

BNKP SUB
ADD
ADD
RF
ADD
ADD
OPB ADD

CRRY

BNKP
RONP
RF

RSB

(2334 )
(2334)
(2334)
(2334)
(2334)
(2334)

PAGE 51
RECClRD
NO

C S

ADDR

22::'5
2226
22';'7
2228
2229
2230

1/1 )II: lk

I{

III

II.""

III III III III '"

)II

111 III )I{

III ill

III

III III

10/ 2/86

9:26 AM

III

COMMENT

COLD LOAD AND DUMP MODULE
This module will perform the cold load or memory dump
oper~tions from magnetic tape or disc

2231

2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2261
2263
2265
2267
2269
2270
2272
2274
2276
2278

COLD LOAD AND MEMORY DUMP MODULE
'"
*' !II '"
ALU A
JII
!II
* JIt III: * III: III *"'* ALU B III III III III * III * III III III III: III 'II:
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG rUNC SFNC STOR SPEC SKIP

1)
2)
3)
4 )

5)
6)

and the interrupt masks to %1524-1527
I/O CLEAR all channels, initialize channel device,
identify the device (returning the IDENT byte for
the device,) initialize channel device and clear the
channel.

7)

~D~~Tt~et:pergPf~~t~i~~~n~e}0~r~~~a~a~~.%1423-1505.

Modify fhe disc I/O program seek command to sector 2.
Set up a DRT ent ry for cold load device.
Issue SlOP command to load 256 bytes from mag tape
or disc to location %7100.
~~en the channel program halts, compute and check
the bootstrap checksum.
Issue SlOP command to bootstrap the system.
When the channel program halts,check (CPVA)C>%100000.
If not, set up ICS and trap to segment 11, STT #44.

11 )
12 )

13 )

0205
0206
0207
0208
0209

~~~r6!~~2i~lth!0~ITdg:~~ea~:To~;s!;Cr~i;~~22_1523,

8)
9)

10)

0200
0201
0202
0203
0204

Entered with cold load/dump device number in RH,
(from DCU)
Find the size of main memory
Initialize all of main memory to %30370 (HALT %10).
~~~~I!~:2~0~~e::~no~e~:~yregisters to locations

%0200
LOAD 0090
0078 RH
UBA
0002

XR3

ADDL
SP4A
1000
ADDL
ANDL
RH
RH
ADD
ADD LSR
BOOO
ADDL
ADDL
SP4A
UBA ADD
JSB ECM
UNC
SP4A ADD
A6SitialiZ~Gmem~R~3to HALTx~kO'~DD
JSB *+1
TEST
ADD
ADD
DATA
RG
JSBI
ADD
RB
BKX3 SUB
JSB CLDO
SFI
BKX3 JSBI

LSL
LSR
LSR

* -1
*-4

XR6
SP2B SFI
XR7
XR4 CLSR
CCPX
SP1B
BKX5
RG
BKX4
BKX3

clear MSGINT; XR6. channel talk command
isolate chan •. SP2B := DRT offset; set Fl

~~!~~1~0~3M~h~~~~! :~i~~~d:~O;~C~h~~~~a~~::o

determine memory size; clear MSGINT
start address :-

NZRO
ZERO
UNC

a

SPIB

channell

;~1~;r~~lL~e~g~7gi o~lg:~kB~~~lfg~nkef~a?~~1
end of bank memory
continue cold load

no loopback

PAGE 52
RECORD
NO

C

s.

ADDR

MEMORY SIZE ROUTINE
*.111.*****.* ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

2281
2282
2283
2284
2285
2286

10/ 2/86

9:26 AM

COMMENT

This module is used during memory initialization to:
1.
2.

2287

2288
2289
2290
2292
2293
2295
2297
2299
2301
2303
2305
2307
2308
2309
2311

_.* •••• -.*---*

*******-***** ALU B
RREG SREG FUNC SFNC STOR SPEC SKIP

020A
020B
020C
020D
020E
020F
0210
0211
0212 '
0213

ECM

F804
0400
02B8
"30F 8
0090

UBA

UBB
UBA

Enable/Disable error correction
Determine memory size
ADDL

RB

ADDL
ADDL
ADDL
ADD
JSB *-1
ADDL
ADD

RG

ADD
CAD

LSL

XR3
RB

RB

0120

MSGI
UNC

RG
RG
RB
RB

ADDL
UBA ADD
SP4A ADD
UBA ADD
ADD
ADD LSL
OPB ADD
OPB RPCA
UBB

LINK
ADD

BNKS
CTR

PSHR
WRS
BUSC
BUSC
BUSC
POPR
DCTR CTRO
CCPX RSB

RB : - UBA . - mem size mask &. shift count;
BNKS :- read &. wrlte memory status msg
RG :- read upper word, CTR
UBB.(8 8) " 4
UBA :" command word; UBB :- disable err corr

~:~P;if'~~aiNi~o~~a~e~~p:~s!~~eo:om:~m~t~tus

Wait for MSGINT; Read lower wrd of mem stat
RB :- clear MSGINT; UBB ;- msw mem status wd
UBA ;- msw mem status;
UBB ;- lsw mem status.(O:S)
Repeat neMt line 6 times
Shift memsize into UBA
RB
• memory banks
1 ; Clear MSGINT, rt n

-

PAGE 53
RECORD
NO
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2346
2348
2350
2352
2354
2356
2358
2360
2362
2364
2366
2368
2370
2372
2374
2376
2378
2380
2382
2384
2386
2387
2389
2391
2393

CS.
ADDR

REGISTER S,WE MODULE
***** •• **111'" ALU A *III!l1I11J1t**JllJII** ***** ••••• **. ALU B **************
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III '" .. III III III III III * 111 * III III III * III til III III III III * III " III III * III III !III III III * III * * * III * III III * * III * III III III * .. III 'I * III III 111 ,. III: III * III " * * III III III III

.

10/ 2/86

9:26 AM

COMMENT

III;

CPU REGISTER SAVE MODULE

:,.\ :..

'.'")

I~i~aT~d~!~o~~lfo~~~ro~~e%r~gl~~Yk~~ers

--

.

%1401
%1402
%1403
%1404
%1405
%1406
%1407
%1410
%1411
%1412
%1413
%1414
%1415
%1416
%1417
%1420
%1421
%1422

CHANNEL/DEVICE NUMBER
X REGISTER
DL REGISTER
DB-BANK REGISTER
DB REGISTER
Q REGISTER
SM REGISTER
S-BANK REGISTER
Z REGISTER
STATUS REGISTER
PB-BANK REGISTER
PB REGISTER
P REGISTER
PL REGISTER
CIR REGISTER
I OF BANKS
CPX1 REGISTER
CPX2 REGISTER

It will alsci wri te the ucode version number at SYSGLOB EXT %20
III II III

0214
0215
0216
0217
0218
0219
021A
021B
021r.
0210
021E
021F
0220
0221
0222
0223
0224
0225
0226
0227
0228
0229
022A
022B
022e

* III * III III III ,. • III * III II III III 111 III * III III III III 111 III III ,. III III III: * III III * III III III III III Ie III III N III * #I: III 111 III III III '" III III * III * III III -. III ,. 111 * 111 III III

DIJMP 034C

UBA
UBB
UBB
RH
DL
UBB
DB

Q

SM
UBB
UBB
STA
UBB
PB
P
UBB
CIR
UBA
UBB

ADDL
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
INC

CPX1 ADD
CPX2 ADD
ADD
ADD

RF

WRX4
DATA
WRX4
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA

SP4A
RB
DATA
DATA
DATA
WRX3
REGN RAR

0301

SPIB
RH

1000
UBA UBA
BNKD
0078 RH
UBB
BNKS

PL
BOOO
7777
27
0011
003A

BNKP
SPIB
UBB

ADD
ADD
ADDL
ADD
ADDL
ADD
ADD
INC
ANDL
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADDL
JSB
ADDL
ADDL
ADDL
ADD
ADDL

II

BKX4 CF4B

l.SL

UBA :- %1514; BANK 0 ACCESSES
(2306)
WRITE TO %1514;UBB-SYS HALT NUMBER
(2306)
WRITE SYS HALT CODE TO %1514;UBB=%1401(2306)
WRITE TO %1401; XRB16-MCDEVI
~~n~ (?n~C~~~I;' ~~6DR~H:~~~; ~~~K d~~~M~~~ ice
WRITE(DL)' UBB:cDB-BANK
WRITE(DB-~ANK~; BNKD :- 1 Ifor ISAVO)
WRITE(DB); CL AR MOD,DEVIC I ONLY
WRITE(Q); SHIFT DOWN CHANNELl
WRITE(SM); UBB:-S-BANK

XR 16
XR6
SP2B
BNKD

L.SR

LSR
LSR
[CM

SPIB
BKX5

~~I~~I~i~A~~~~RU~~~;ZF~~G~~~~:GES

XR4
SP1B

~~i~~!~~)~A~~l~:~~~~~N~~~ CHANNEL

XR7
XR8
CTR
RG
CTR

WRITE(STATUS); UBB:=PB-BANK
WRITE(P);

UNC

(2334)
(2334)
XRB7 :- IOCLEAR COMMAND
SP4A :- 0; determine memory size
(2334)
Write I of banks to %1420; XRB8 :- CCPX code
RB :c I of banks for CKPB.
(2334)
Write (CPX1) Set for WCS parity off (2605 )
Wri te (CPX2) Point to ucode version (2553)
Ucode vers a d r -) YREGA;RG=O(sav ctr)(2605)
Get WCS add s. into RAR
(2553 )
UBB:~PL

~~n~(r~IR);

PAGE 54
RECORD
NO
2195

2J'I6
2398
2400
2402
2404
2405
2407
2408
2410
2412

C S
ADDR
022D
022E
022F
0230
0231
0232
0233
0234

REGISTER SAVE MODULE
**-******** ALU A *******-.**
LABL RREG SREG FUNC SFNC STOR SPSK

••••••••••••• ALU B fI****fI****** __
RREG SREG FUNC SFNC STOR SPEC SKIP

MEDJ

02FF

ADD
JSB '+2
ADD
ADDl

ADD
REGN ADD
ADD
SREG ADD

UBA

ADD

ROX3

UBB

ADD

0210
UBA OPA
UBB

ADDL
ADD
ADD

UBB
UBB

ADD
ADD
ADDl

WRX3
DATA

0340

RSB

10/ 2/86

9:26 AM

COMMENT
Point eTR at wes 2nd. quarter
let things set t Ie down
Magic incant at ion to read wes
The read line
UBA (- PTR to SYSGlOB EXT area
Hold data for a little bit
Read SYSGLOB EXT base into OPA
Hold data some more
UBA (- of fset to ucode version word
Set up to write into ucode verso wd
Write version out

(2553)
(2553)
(2553)
(2553)
(2553)
(2553)
(2553 )
(2553 )
(2553 )
(2553)
(2553)

PAGE 55
RECORD
NO
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2436
2438
2440
2442
2444
2445
2447
2449
2451
2453
2454
2456
2458
2460
2462
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2478
2480
2482

DRT and I/O MASK Save Module
JIIJft****JI!JllJllIII:III:

111**111****111111:111*111 Al.U B ••••• ****JllIIIIII ••

lABl RREG SREG FUNC SFNC STOR SPSK

JllJII*"*lIIl11l11t1r,.. ALU A

RREG SREG FUNC SFNC STOR SPEC SKIP

C.S.

ADDR

.

.

10/ 2/86

9:26 AM

COMMENT

*111111111 •• 111111***************.******* •••••• ****.**.****111:.111**.****III**JII*III**111111

Save n'ew DRT locations, DRT pointers and I/O masks
%1515
%1516
%1517
%1520
%1521
%1522
%1523
%1524
%1525
%1526
%1527

0235
0236
0237
0238
0239
02~A

023B

one

0008

001A

023D

023E
023F
0240
0241
0242

UBB
UBB
OPA

ADD
ADD
ADDl
ADD
ADD

OPA
OPA

ADD
ADDl
ADD
ADD

1111

OPA
UBB

NIR
DR TO
« This is the data (in bank 1)
DRTl
that was present at the
DRT2
locations which will be
DRT3
overlayed by DRT info »
DRT bank
abs (8)
DRT offset
abs (9)
mask for IMBO
abs(IA)
mask for IMBI
abs(lB)
mask for IMB2
abs (IC)
mask for IMB3
ab s ( 10)

RB

ADDl
INC
ADD
ADD
INC

save over~~~3Iocations
DATA
SP2B
SP4A
0003 RG
DATA
RG
save DRT pOinters
SP4A
SP4A
UBB
DATA
DATA
SP4A
save I/O masks
RB
RG
DATA RG
UBA
XR8
ZERO UBB RB

JSl CKPB
ADD
ADD
SUBl
JSBI "-2 RG

UNIC
ROAD UN!C
RNOI
ZERO

ADD
INC
ADD
ADD

ROA3
ROA3
ROA3

ADD
ADD
JSBS "-2
REPC
ADD

RNOI
RG

YREGA :- %1515; Check BNKP

(2334)

~;;ue: ~1:~/~~dD~~TgAN~~i~nc YRGB, rea~26~~~
, If RG = 3 then exit this loop

Ut.1C

Write DRTn; Inc count & loop back

U~IC

sp~:a~.D~!s~A~Ka~~~SA:!~ DRT OFFSET (abs(9))
Write (81' to %1522
Write (9) to %1523; Read mask 1

ZERO

U~IC

CCPX

RB : - CCPX mask delt a; Inc rement YRGB, read
UBA ;- 1; If RG - zero then exit this loop
Write mask n; Decrement count & loop back
tx~~P!~tcg~~a~!~~ ~fF~~~;b~l!ar CPXl, CPX2

The lOAD and DUMP paths join at this point.
1.

2.
3.

0243
0244
0245
0246

ClDO 0008

UBA

Init DRT pointers to bank 1, address O.
Save DRT address in SM, (for use later)

~~~~l:kT~~dt~t~~:nHal~ ~~x~~al IMBII to 'physical
ADDl
ADD
INC
ADD

WRX3
DATA
DATA

ADD
SP2B ADD
RH
ADD
UBA JSl

BKX3
SM
STH
RG
lTOP BNKD
UNC

~~~A :8~dSMo~ g~~ ~6~$6FB~~lD/Du~p DEVICE
ABS( ) (DRTBANK);-I; RG:- MCDEVII
ABS( ) (DRTOFFSET):-O; JSB TO MAP MOD II

PAGE 56
RECORD
NO
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2506
2508
2510
2512
2514
2516
2517
2519
2521
2523
2525
2527
2528
2530
2532
2533
2535
2537
2539
2540
2542
2544
2546
2548
2550
2552
2554
2555
2557
2558
2560

C.S
ADDR

*._.

*...

INITIALIZE AND IDENTIFY LOAD/DUMP DEVICE

111"'*_111 ••

ALU A .111 •••••

LABl RREG SREG FUNC SFNC STOR SPSK

.

.JIII •• III.* __ ••• * ALU B

*._._*.*_.*-**

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

************************IIi*******III****IIiI**_***********._***************

I/O INITIALIZATION, DEVICE IDENTICATION
This module will initialize the channel for the
cold load / dump device
1)
2)
3)

4)
5)

0247
0248
0249
024A
0248
024C

Issue I/O CLEAR of all channels.
Initialize the channel for the cold load
device

;t!~t~!re~~!n!Y!~e~~e~et~~ecOl~h!o!~ed!V~~!e

~!-~nT~Y:!l!~ :~~ec~~n~e1i;~r
load device.
Issue DEVICE CLEAR.

CLDI 007F RH

ANDl
ADD
0007
ADDL
0002 SP2B ADDL
0007 RH
ANDL
CRT!
ADDL

0240
024E
024F
0250
0251

C002

0252
0253

0200
0002

UBB
UBB

XR1
XR1

RH
SP4A SF!
SPOA
SP4A
XR1
RF

ADD
ADD
INC
ADD
ADDL

RG

1300

RG

0254
0255
0256

CRTW

0257
0258
0259
025A
025B
025C
025D
025E
025F
0260
0261
0262

JSB CRTW
ZERO
CRUW
ADD
RG
CF1
00E5
ADDL
ADD
RG
CF1
ADD
ADD
ADD
ADD
ADD
ADD
0002 SP2B ADDL
SP4A
CRT2 0341
ADDL
XRl

RG

ADD
ADD
JSB

CRUW

403E
405F

XR1
RG
RG

ADDL
ADDL

5400

NZRO

XR7
XR6
UBB
RH
XR6

403F
0338

JSl
JSB
ADDl
JSL
JSL
ADDL

IOMS SP3B
ECM SP3B
RB
IOMS RG
CINT BKX5

NZRO
NZRO

JSL
ADDL
JSL
JSl
JSL

IOMS SP3B
RG
IOMS Z
IOMS BNKS
IOMS CTR

NZRO

NZRO
NZRO

ADDL
SP3B
JSL IOMS XR7

RF
XR7

JSBI CRTW RF
NZRO
JSL IOMS SP3B
NZRO
CAD
XR8 ICTR

XR6
XR6

JSB
JSL
ADD
ADD
JSL
INC
ADDl
JSL
ADDL
JSL
JSL
ADDL

CRT2
IOMS SP3B
RRZ XR8
CTR
IOMS SP3B
REGN
RG
IOMS SP3B
RG
IOMS SP3B
CINT BKX3
BKX7

(2635 )
(2635)
(2635)
(2635)
(2635)
CMD
(2635)
(2635)
(2635)
(2635)
(2635)
(2635)
(2635)
(2635)
(2635)
(2635)
(2635)
(2635)
(2635)
(2635 )
( 2312)

UNC
UNC
UNC

UBA

RG
UBA
405E

the cold

UNC

CTRO
ZERO
ZERO
NZRO
NZRO
UNC

UNTALK COMMAND TO DEVICE
SP4A-ORT ADDR +2; REDO INITIALIZE CHANNEL
XR!:=%1501; BKX7:&%1470

PAGE 57
RECORD
NO
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2586
2588
2590
2592
2594
2596
2597
2599
2601
2603
2605
2607
2609

c.s.

ADDR

BOOTSTRAP SET UP MODULE

*l1li**"'''*111*** AlU A ********'1'11*111

"****III**lII:**_. AlU B *111111111:***111*l1li*_**

l.ABl RREG SREG FUNC SFNC STOR SPSK
II:

RREG SREG FUNC SFNC STOR SPEC

* " III III .. l1li .. III III III III * * III 111 l1li l1li III l1li III til III III III III III III III III '" III l1li III '" * l1li III * * III .... III * III l1li 'III * * III "

III III III

* * '"

II(

III " III III

S~:IP

* * 111 "

.

10/ 2/86

9:26 AM

COMMENT

II. III

BOOTSTRAP SET UP MODULE
This module will set up the bootstrap I/O program
that microcode builds,

x = 1

X • 0
1I

2I

~l

51
ill" III

for 1st bootstrap call
for 2nd bootstrap call

Builds the disc or MT I/O program
If loading rather than dumplng then modlfy
~~iddt~c%~rg8~am to seek to sector 2 and
Set up the DRT entries for load/dump device
Set interrupt system mask for channel,
Issue SlOP command for execution of I/O
program,

* III lit * III III III * * * _:" II III: III * III III * III III III III * * 111 III III '" l1li "

III IIr

*

III Ie " " " III

* * ..
l1li

III III

*

III III III III

* III iii: 'II III III III III III III l1li * " *
It

"

0263
0264
0265
0266
0267
0268

JSB DSCP
l;lDR
XRHi JSB DMPI
XRl ADD
INC lSl
I)MPl 0003
SPOA
ADDL
0313
ADDL

0269
026A
026B
026C
0260
026E
026F

0317
ADDl
SPOA SP211 ADD
3000
ADDL
UBA UBA ADD lSl
ADD
INC
0007 UBB ANDl

XR7

UNC
EVEN
WRX3
DATA

WRD
DATA

X
RG

XR8 JSl NSDV
NZRO
BKX7 ADD
WRX3
OE40
ADDl
UBB ADD
DATA
BKX5 ADD
XR20
SP2B ADD
XR31 WRD

~~H tg~g7 S~*s5pc~~nDB~~~ ~REG~~~~l~~Ot he r

DATA
UBA ADD
UBA ADD
DATA
CTR
002F SP1B SUBl
SP3B
9000
ADDl
REGN JSl 10MS RG
SP3B
5000 BKX5 IORL
JSl 10MS Dl

g~¥~3A~g~~~~~,W~~fi~~~pe~D~6~~~SSI
Ul~C
UI~C

YREGA:-%1501' UBB:E%7100
SEEK TO SECT6R 2; READ TO %7100
SPOA:=DRT INDEX; XRB20:-CDEV#
~~B~~~~E~~toD~6D~~g~ESS WRITE TO BANK

UBA:-3000; CTR;-BITMASK# FOR CHANNEL
yB~G7~g~~N~~ET~Ag~T3~E~b3~MS~MSK COMMAND
X:=1 FOR 1ST BOOTStRAP ~ SP3B:- SlOP COMMAND
RG:-DEVICE I; ISSUE SIO COMMAND

PAGE 58
RECORD
NO
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2623
2625
2627
2629
2630
2632
2633
2635
2637
2638
2640
2642
2644
2646
2648
2650
2651
2653
2654
2656
2657
2659
2661
2663
2665
2667

CS
ADDR

COLD LOAD AND DUMP SET UP
***lI*JII***** ALU A .*.**** ••••
LABL RREG SREG FUNC SFNC STOR SPSK

****** •• ***** ALU B ******111*******
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

*JII:****I111*** •••• *************************.************************ •••• *
"
COLD LOAD AND DUMP SET UP MODULE

This module will set up cold load running of the
I/O bootstrap programs.
0270
0271
0272
0213

***************************-*****************************************
CCL OCOO
ADDL
F379
ADDL
PB
ADD
UBA
ADD
BUSC
CLLP
JSB "+1
TEST
XR20 ADD
RH
JSB CLP
MSGI
DL
INC
DL
NZRO

0274
0275
0276
0277
0278
0279
027A
027B
027e

JSB
CLP

0200
0090

CLFN 0007 RH
XR7

0270
027E
027F
0280
0281
0282
0283
0284

CLLP

ADDL
ADDL

RB

ADD
ADD
JSB LD2
ADD
ANDL
ADD

SF 1
ODD
SPOA FIHB
RG
ROX3

ADD

RG

SPOA OPA

JSZS CPAB

UBB

JSZ
INC
ADD
INC
INC
ADD

Q

SM
RH

UNC
RG

ICS

STA

PB

JSZI CPTO PB

UBA

ADD
INC

UBA
0040 OPB
RG
ICOO RH
XR6

LSL

CTR

ZERO
CCTX
BUSC

ADD
CCPX
ANDL
ZERO
UNC
JSL CSRQ BKX5
ADD LSL
BUSC
rORL
SP3B
JSL rOMS BKX5
UNC
JSL

rOMS SP3B

NZRO

A401

ADDL

SF I
FIHB
WRX3
DATA
WRS
DATA

XRl6 ADD
FFF7
ADDL
4000
ADDL
ADD
SM
INC
JSL PCL3

NZRO

SPIB
RH
XR12
BNKS
SM
BNKD

UBA:=GO UNBUSY CMD; SET TIMEOUT FOR 48 SECS
; GO UNBUSY
~~~EiFC~~~I~~~tR~3~~LOAD DEVI
DO NEXT LINE ONCE IN 2""16 TIMES
LOOP BACK IF NOT MSGI
; ELSE SYSHAL T IF TIMEOUT.
RG·.UBA:o%0200· CTR·oO CTX·.O
SET CLEAR MESS: INT: FiELD;'
READ FROM CODE (UBB:-%0402)
; Clear message interrupt bit
Set Fl. Skip If it is an IRQ
IF CSRQ

~~gAT:~~o5~;Ng6 t~:3S~N~U~B~~~64gg~

RG: -DEVICEI; SP3B: - INT CLEAR MESSAGE
~t~~~ C~~~~~RUPT ON DEVICE. BKX5:-0
RG:·%5400 TO ENABLE IRQ AND CSRQ;

¥~3gHA~~~~Op~~~I~ IgO~~G~H~NC~~~~DEV 0)

SPIB; 'EXTERNAL PROGRAM LABEL
NO SET UP ICS, SFI' RH:-MCDEVI
STA:-PRIVILEGED SEal 1; -9 ON UBB
WRITE AT Q-9; SE t PHVS MAPPING
Q-9.1 (CST EXTENSN); BANKS.O
UNC

~~ii~(~~:~~~[~~tv¥~Ei~MGO ~ET

(CSTX)
(CSTX)
(CSTX)

UP SEGMENT III

PAGE 59
RECORD
NO
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2681
2683
2684
2686
2688
2690
2692
2694
2696
2698
2700
2702
2704
2706
2707
2709
2711
2713
2715
2717

C.S.

ADDR

COLD LOAD AND DUMP BOOTSTRAP
Iif*JIt****IIr'A:Jkllt ALU A .***"'**IlIJ1t*1II *.*****A:III;**** ALU B ****_*******111*
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC S,FNC STOR SPEC SKIP
* III III III III III: '" III * .. III ...... III: ... 111 * lit III III ...... III III ... * lit III 111 It III: III * III III III III " III III * Rill" III ... III " III '" * * * #I III III III III * " '" '" III: III !If lit III:

101 2186

9:26 AM

COMMENT

II( ,_

*

COLD LOAD AND DUMP BOOTSTRAP MODULE
This module will perform the bootstrapping of MPE's
INITIAL and related segments.

fI'III**IiI1It**1II*** •• n******IIII*IIII*JlI******IIIJII:****JII'JII***III111."'1II111:**JIc***#1** •• 111:111**111:***111

0285
0286

*
un

0358

XR15 JSB LC2
ADDL

0287
0288
0289
028A
028B
028C
0280
02SE
028F
0290
0291

ADDL
ADD
ADD
SPOA
INC
OPA ADD
JSB *-2
lI)NE lCOO RH
IORL
0007 RH
ANDL
XR15 ADD LSR
OE41
ADDL
ADD
RB

0292
0293
0294
0295
0296
0297

0003 SP2B ADDL
UBA ADD
ADD
UBB ADD
0007 UBB ANDL
ADD

LC2
LI)

OE40

UBA

SPOA
SPOA

ODD
ROX3

SPOA ROB3
SP4A
UNC
SP4A
RG
ODD
RH
RG
WRD
RG

DATA

0080

ADDL
JSB LD

ADD
ADDL
XR31 ADD
RG
CAD
JSB
SP3B OPB ADD
SP3B SP4A XOR
JSZ
035B
ADDL
SP4A JSL
XR6 JSL
A72E

SP2B
RH
COOO
5000 XR20

LDNE
CPCS

RG
BKX5

UNG

BKX5
SP3B
SP2B
RG

NZIW

SP3B

RH
lOMS SP3B
IOMS SP3B

UNG

ZEIW

UNC

NZIW
NllW

ADD
WRD
ADD
DATA
ADDL
IORL
SP3B
JSL roMS
UNG
JSB CCL DL
UNG

DUMP?; SET LENGTH OF CP PROGRAM
SET ADDRESS FOR READ /%1530);
LOAD BOOT, BKX5:=0
SET ADDRESS FOR READ /%7100); BKX5:=0
READ/CHECKSUM); SP3B:=%123456
;SP2B:=DRTO ADDRESS
READ/PROGRAM; DECREMENT WORD COUNT, DONE?
SP4A:-CHECKSUM; YES!
LOOP BACK; ACCUMULATE SUM IN SP3B
SP4A: • INT. CLEAR MASK; CHECKSUM CORRECT?
RG: -DEVICE.; NO, SYSTEM HALT 007
DUMP?; RH:=%1533
RH:·%7101; RESET INTERRUPT ON GIC
RG:=%5400 TO ENABLE IRQ AND CSRQ;
SP3B:=%1000 ~WRITE TO REGI 0 CHAN/DEV 0)

~~1+ED~6 ~~~ ~~~+~~I~~I~~ ~gI~~~~O)

X:·O; SET DR~ CHANNEL RUN BIT MASK
WRITE TO DRT~3); SET UP SlOP COMMAND

yB~L~~~:I~E~Fg~~ ~6g~s~~~AND

PAGE 60
RECORD
NO
2720
2121
2722
2723
2724
272S
2126
2721
2128
2729
2730
2131
2132
2133
2734
2735
2136
2131
2738
2739
2740
2141
2742
2143
2744
2145
2146
2741
2148
2150
2152
2154
2756
2758
2160
2762
2164
2166
2768
2770
2772
2774
2776
2778
2780
2782
2784

C.S.
ADDR

COLD LOAD AND DUMP CHANNEL INITIALIZATION
• •••••••••• ALU A··········· ••••••••••••• ALU B············.·
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III 111* III * III III III III * III III
III III l1li III III III" * III III III III III .... ,.. .. 111** III lit_ III III: III ** III III III III III III III 111111 III III III . . . . . . . * III 111111* *111** 111*

.

l1li:

COLD LOAD AND DUMP CHANNEL INITIALIZATION

10/ 2/86

9:26 AM

COfotIIENT

This module will perform the lnitulization and the
placing on-11ne of the HPIB channel on the GIC.
1)
2)

3)
4)
5)

8)
1)
8)

19l
11)
12)
111***. III

0298
0299
029A
029B
029C
0290
029E
029F
02AO
02Al
02A2
02A3
02A4
02AS
02AS
02A7
02A8
02A9
OZAA

111:*

gt::~ ~~~~e:nT:~:i.
R~~~ l~,llter

.1 for system controller fllg
If not system controller then controller cannot
be made to be cont roller-in-charge (system halt 14).
Enable the channel to respond to 1ndent1fy
lequences on the HPIB.
Go on-line to the HPIB and enable HPIB CRC
~:::~tll:~: REN on the HPIB.
Wait 100 ml for duration of IFC, REN.
Remove IFC, keep REN.
Clear any HPIB interface errors.
Check register .1 to verify that channel
controller is now controller-in-charge.
If not controller-in-charge take off-line and
system halt 21.

III III III. III 111*. 111.111.**._ • • III • • _ III III 111** #I III III III III III III III III III III III

CINT 0080
0100
0008
SPOA RG
0008
0030
CINR 1200
0020
0010
1700
200A
USA

UBB

ADDL
RG
ADD
ADDL
SP4A
ADDL
SPOA
AND
HZRO
JSZ NSYC
UHC
ADDL
RG
ADD
ADD
RG
ADDL
RG
ADDL
ADDL
RO
CAD
RG
ADDL
RH
ADDL
ADD
RG
ADDL
ADD LSL RG
JSB CRT2
UNC

* III III III III III III 111_. III III 111* III III * III 111* III *

3000 BKX5 IORL
JSL
CAD
UBA JSL
1600
ADDL
uee SP4A ADD
RH
JSL
8080
ADDL
XR 13 JSL
RH
JSL
XR9 JSBI
UBA JSL
XR9 JSL
SP4A JSL
RH
RG
AND
JSZ
XR6 ADD
XR8 JSL
JSB

SP3B
IOMS
LLZ XR9 CF2
IOMS SP3B
RH
XR13
IOMS SP3B
IOMS
10MS
CINR
IOMS
IOMS
10MS
NCON
rOMS
CRT!

SP3S
SP3B
XR9
XR9
SP3B
SP3B
SP3B

UNC
NZRO
NZRO
NZRO
NZRO
HZRO
UNC
NZRO
NZRO
NZRO
UNC
ZERO
Fl

RG:-80; SET INIT COMMAND

~E~i~~ ~~~tR C~A~gSERTING IFC AND REN
MASK; READ REG.I FOR SYS. CONTROLLER?
SKIP IF SYS. CONTROLLER; WRITE TO REG.6
SYSTEM HALT IF NOT SYSTEM CONTROLLER;REG'7
REGt6:-0008; PPOLL RESPONSE
.i.ASSERT CRC WHILE GOING ON-LINE
KEOI7:-4080; GO ONLINE ON HP-IB
:~g:~~-~r~~ ~~~E~~E~F~6 ~~~E~~ ~~cI~ND REN
REGI6: "0020, REMOVE IFC, KEEP REN
REG.2:.%FFFF CLEAR ANY HP-IS INTERFACE ERR.

t
~~i~t ~5A~E~.~~lSK~~RI~I~p~~BH~O~~ROLLER
~~~~S~5RB~7SH¥jT~6SI~~T~~~~B~~%~g~osvs

UBA2!4014,DEVICE CLEAR;SEND MSG IF 792X
EX IT ROUTINE

CONT

PAGE 61
RECORD
NO
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2798
2800
2802
2804
2806
2808
2810
2812
2814
2816
2818
2820
2822
2824
2826
2828
2830
2832
2834
2836
2838
2840
2842
2844
2846
2848
2850
2852
28')4
28')6
2R'>7
28')9

2860

c.s.

ADDR

DISC I/O PROGRAM BUILD

111.*._** •• _1* AlU A ****.*****111

LI~BL

RREG SREG FUNC SFNC STOR SPSK

****** •• _*"'** AlU B ***IIIII11J1r'lf*****IIl:*

RREG SREG rUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

DISC I/O PROGRAM BUI LD MODULE
This module will build the disc I/O program
at location %7100.
02AB
02AC
02AD
02AE
02AF
02BO
02B1
0282
0283
02B4
02B5
02B6
02B7
02B8
02B9
02BA
O?BB
02BC
028D
028E
02BF
02GO
02C1
02C2
OlC3
02C4
0?C5
02e6
02e7
02C8

DSCP CLOD
0313
CLOD 0200
0000
0000
0000
0000
0000
0000
0408
0342
0000
0180
0200
0300
UNPK
UNPI 0004
UNP2 SPOA

0000
0000
0408
0343
0000
0408
OJ3F
0002
0300
0358
0000
0000
0000

RG
RG
SPOA
UBA UBB
OB20

ADD

02C9
02CA

ADDL
ADDL
JSB
JSB
0408
033E
0002
0308
0344
0006
0200
0000
0100
0200
FFFF
0003
0000
ADD
ADDL
ADD
ADD
CAD
JSB
ADD
ADD
JSB
INC
SUB
ADDL
ADD

XRl

ADD

LBL

SPOA

UNPK
CLDR
0002
0200
0000
0004
0200
0000
0000
0000
0000
0000
OF05
0500
0000

• +1
UNP2

FFF3

NZRO

ADDL
ADD
ADD
ADD
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
ADD
0038
ADDL
ADDL
0027
PL
ADD
INC
PL
REGN ADD
SREG ADD
UBB SPIB ADD
RREG
ADD
OBOO
ADDL
ADD
RD
JSBI UNPI
ADD

RSB

FECO BKX5 ADDL

UNC
UNC

RG
WRX3
REGN RAR
RG
MEDJ
TEST
SPOA
SPOA

NZRO
NZRO

UBA

ADD

RD
BKX4
BKX3

PL
CTR
CTR
PL
SPIB
RD
RG

WRX4

PSHR

DATA

RSI3
NF:2
UNG

NZRO
POPR NF:2

SETUP THE MSG POINTER; 10F MSG
STARTING MEMORY ADDRESS; SET BANK.=O
GO UNPACK THE MSG & WRITE TO WCS; MEM ADDR
RETURN; SET BKXJ:=O
WAIT FOR 1st PPOLL
SET FILEMASK FOR DISC
ISSUE READ STATUS COMMAND
READ 4 STATUS BYTES
ISSUE WAIT
ISSUE SEEK COMMAND
ISSUE WAIT
ISSUE READ COMMAND
READ 256 BYTES TO ADDR 0358 (FOR DUMP)
ISSUE WAIT
DONE - INTERRUPT HALT
SEEK COMMAND; READ COMMAND
STATUS COMMAND; STATUS BUFFERS
ADJUST RAR
# OF WCSs; STARTING OF WCS OPTION
WCS POINTER; WCS ADDR INHIBIT WCS PARITY
RAR:=YREGA (WCS ADDR); STARTING OF WCS
DEC # OF WCS; INC THE WCS POINTER
VBUS:-WCS ADDR WHEN THIS LINE IS IN RANK
RESET CLK; SKIP IF FROM COLD LOAD
IF F2 THEN ADD WCS DATA TO CKSUM. SKIP
LOOPBACK IF NOT FINISHED; WRITE TO MEMORY
Inc the msg pointer; UBB := addr of MPL area
Skip if new address not start of MPL area

~~~: ~~:~ ~~~;&~~~;r~~ :9~~ns~rpn~~ 1~~~

cold load
RETURN; RG :- precomputed WCS checksum MPL area checksum

PAGE 62
RECORD
NO
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871

2873
2874
2876
2877
2879

2881

2883

2885
2887
2888

2890

C.S.
ADDR

~~Y~:!!~.r:p:LQ/~ ~~~y~~~.~~!ld.~~~~!: •••••• ALU B ••••••••••••••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
... " ...... lit ** * ** * * ... * ... III""
*_ .... JIt III * III'" * III,.,. lit ... " III" * *" .. fl. lit III" lilt III ** .. * ** 111:. _til ...... * It."''''''' ••
JIll

10/ 2/86

9:26 AM

COMMENT

l1li:

l

MAGNETIC TAPE I/O PROGRAM BUILD MODULE
This module will build the Mag Tape I/O program to
read the bootstrap I/O program.

* ...... * * ..... * . . * III III""'''' * III ... * ..... III,.. III ... """ ... JIII_ . . * It" lit" ...... lit ......
02CB

MTCP CLOT

02CC

FFF4

02CD
02CE
02CF
0200
0201

0313

0202
0203

0070
OOFO

ADDL LBL
ADDL
ADDL
JSB UNPK
ADDL
ADD
ADDL
ADD
JSB

DMPI

SPOA

111:

0001 XR8

RD

II l1li

** III"" III" _. III III III • • III lit Jill * til

SUBL
JSL

UNC

UBA
UBA

UNC

UBA

ADD
ADD
ADD
ADD
ADD
ADD
ADD

"',." ...

ZERO
CPTO

UNC
BKX4

WRX4
CCPX
ROA3

BKX3

CCPX

SETUP THE MSG POINTER
SKIP NEXT LINE IF ID VALID
NUMBER OF MSG
GO TO CPTO
MEM STARTING ADDR; SET BANK· -0
GO UNPACK THE MSG; STARTING MEM ADDR
MASK TO SET FLUSH BIT IN CPX2
SET THE BIT
MASK TO CLEAR FLUSH BIT IN CPX2
DO A READ TO START FLUSHING
CLEAR THE BIT
RETURN; BKX3:-0

(2635)
(2635)
(2635)
(SRF6)
(SRF6)
(SRF6)
(SRF6)
(SRF6)

PAGE 63
RECORO
NO
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2913
2914
2916
2918
2920
2921
2922
2924
2926
2928
2930
2931
2933
2935
2937
2939
2941

C.S
AOOR

WCS & LUT Checksum Routine
*.********" ALU A .** ••• * ••• *
LAIBL RREG SREG rUNC SFNC STOR SPSK

********R**** ALU B *"' •• *** •• *****
RREG SREG FUNC SFNC STOR SPEC SKIP
III: III: III: III: III: 'If. ."'* III It '" III III III JIll! III III ** '/( III: III III .. III: lit III III III: III III ** III III III
III.,.. * III: A * * "" III: III III: _ • ..,. III: '"
* * III III: III: III: III * III: III:

.

l1li:

CKSM:

l1li:

10/ 2/86

9:26 AM

COMMENT

111: ..

Calculates WCS and LUT checksums and compares them
against the values IML has read from the disc or tape.
A sY5tem halt occurs if an error is found. CKSM is
executed upon cold-load or power-on, after the system
microprogram has been loaded by IML
The 'ollowing data has been left for us by IML:
BKX3
number of WCS locations
BKXS = WCS checksum (+ %123456)
BKX6
LUT checksum (+ %123456)

Entered with BNKO
0204

CKSM

0205
0206
0207
0208
0209
020A
020B
020C
0200
020E
020F
02EO

lIDO
RG

SPOA SF2

lIDO
.ISB UNPK
SPIB ,ISZS WCCE

MEOJ
NZRO

A72E

X

UBB
X
UBA
UBA

LSL
1\00
:eNC
RC
LUTO 1\00
LUT 1 1\00
RG
.ISZS LTCE

WRO
DATA

AOOL

ADD
0020 BKX3 SUBL
A72E
AOOL

now do LUT checksum
RC
0300

LTeK
LCKI

0

RC

AOOL
BKX6 ADO
RC
AOO LSL
SPIB ADO
OPB

RC

NZRO

1000
RREG RC

AOO
ADO
ADOL
JSBS LCKI
ADD

SPIB

Starting WCS adr (SPOA) = 0, set F2 for
IUNPK; SPIB
%123456
; BNKP := 0 (for ILTCK), Push return address
Med jump; RO := -(I WCS locs) + 120 (I MPL)
Upon rtn RG = enp cksm, SPIB = act cksm,
Syshalt if <>; SPIB : = %123456
'R

BNKP PSHR
RO
SPIB
SPIB
RG
RONP

NZRO

LUT adr (RC)
0; SPIB := %1400
X '. %123456; RG, exp LUT cksm
Write adr = %1400; UBB := LUT adr & Isl(2)
UBA. LUT adr & 151(4), write to %1400;
Read LUT adr into NIR (write goes first)
Wait for read
Inc LUT adr; Fr~eze if NIR is not valid
Add LUTO to CkSM; UBB. last LUT adr + 1
Add LUll to CkSM; Loop if LUT adr () 11000
SYSHLT if expected cksum (> calculated cksum
pop return adr; slow down following RSB

PAGE 64
RECORD
NO
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2961
2962
2964
2966
2968
2969
2971
2972
2974
2976
2978
2980
2981

C.S.

ADDR

Module Map Rout ine

111*********. ALU A ******111*.111.

LABL RREG SREG FUNC SFNC STOR SPSK

************. AlU B 111**111 ••• 111111.****
RREG SREG FUNC SFNe STaR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

MMAP -- Initialize the MODULE MAP (see 'LTOP).
Entered from .eLDE or .PON with a bIt set in RB
!:~ ~~~r~ol?~ ~~~~ ~~~si~A2~ !~~ eSB, le., bit
If module exists then its module. is stored into the
module map (MMAPI and a message is sent to that lOA
to enable its CSRQ and IRQ masks, else a -1 is stored
at this module's positlon in MMAP.
RB should be set up by the DCU on LOAD, PON.
SP3B

02E 1

MMAP 0008

ADDL

SP4A

1000

ADDL

02E2
02E3
02E4

0020

ADDL
ADD
CAD

RF

0000

ADDL
CTR
ADD
BKXS SRF
JSB MAP2 RB

02E5
02E6
02E7
02E8
02E9
02EA

MAPl

SP4A ADD
SP4A ADD
MAP2 0008 SP4A ADDL
ADD
0180
ADDL
ADD

REGN

RB

REGN

5400

XR9
SP4A
SPOA

RF

RB

ADDL

JSL laMS
CTRS INC
eTR
SP4A JSBS MAP 1
ADD
ADD

PaS

RG
CRF

UNC

NZRO
POPR NZRO
RSB

SP4A :- starting module ':
SP3B := !1000 Iwrite 1MB! reg 0)
RF := max module'~ CTR := REGNI for XRA80
, BKXS :- 0, set "FLAG
STORE -1 INTO MMAP FOR THIS MODULE
;RB:sRB·2, JUMP IF MODULE DOES NOT EXIST
If module exists then store module' in
module map: RG .• enable masks command
XR9 . s module ': Go enable CSRQ & IRQ masks
Inc module ': Inc REGNI, clear RFLAG
, Do next module if last one not max (2324)
SPOA :" param &Isrll) (for IPON);
Pop return adr, slow down RSB
(23241
XR12-4000 eONST:RET TO paN OR CLDE 123241

PAGE 65
RECORD
NO

C.S

ADDR

BFD Bootstrap Module
IIIj1t*lItflllllJ\IIiIIII.IJII

ALU A

111**111111111111*111111*

LABL RREG SREG FUNC SFNC STaR SPSK

1II1II1II****lr!lt*'ltIll'"

ALU B

10/ 2/86

9:26 AM

111"'***111:'/1**111111.111111

RREG SREG FUNC SFNC STaR SPEC SKIP

COMMENT

CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
0334
ADDl
BKX7
OE40
ADDl
BKX7
WRXJ
BKX7 ADD
BKX7 ADD
DATA
JSL DMPI
UNC

SEND OUT DEVICE IDENTIFY; WAIT
<2511>
ISSUE DSJ
;SET MASK
ISSUE STATUS MASK; WAIT
ISSUE DSJ
. SEND WRITE
WRITE LENGTH/DISC ADDRESS; WAIT
ISSUE DATA READ
READ IN CHANNEL PROGRAM; WAIT
ISSUE DSJ
. INT/HALT (NORMAL)
FILE MASK CMD
MASK OFF INFORM. ERRORS;SECTOR ADDRESS CMD
LENGTH COMMAND; READ STATUS COMMAND
(2330)
SEND STATUS REQUEST CMD
WAIT
READ STATUS
INT/HALT (ABNORMAL)
BRANCH BACK IF DUMP; SET ADDRESS TO %1464
WRITE TO SECTOR ADDRESS OF CP; UBB. %7100
WRITE LOAD SECTOR ADDRESS; SET WRITE
LOOP BACK
.

29~4

29€5

BFD Cold Load Bootstrap Module

2"86

2987
2988
2989
2990
2992
2994
2996
2998
3000
3002
3004
3006
3008
3010
3012
3014
3016
3018
3020
3022
3024.
3026
3028
3030
3032
3034

02EB

onc

02ED
02EE
02EF
02FO
02Fl
02F2
02F3
02F4
02f5
02F6
02F7
02F8
02F9
02FA
02FB
02FC
02FD
02FE
02FF
0300
0301

CBFD 0600
0503
FFF6
0009
0000
0030
0000
0000
0000
0503
ODIC
3EOO
7411
1800
SBFD 0405
034A
0014
0180
CLCT

0000
0000
003C
8000
0502
FFEA
COOO
OJOE
OJ58
0000
001C
0000
0000
0001
0001
0200
0000
OOOJ
XR 15
XRl
XR7

0200
0000
0405
OJ3F
0000
0405
0343
0100
0200
0000
0180
0000
0000
0000
0000
0000
0400
0000
JSB
ADD
ADD
ADD
ADD

0000
003C
0009
0200
0000
0000
0200
0000
0000
ODIC
0000
0008
0003
0000
COOO
OJOE
0367
0000
DMP!

EVEN
WRX3
DATA

PAGE 66
RECORD
NO
3036
3037
3038
303,)
:1040
:l041
3042
:1043
3044
3045
3046
3047
3048
304!}
30S0
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3072
3074
3075
:1077
3078
3080
3082
3084

CS
ADDR

10/ 2/86

~~n~~!;!~;P~v/~a!.!~~.!r~Z=la!!~~.~~~H~~. AlU B ••••••••••••••
lABl RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNe SFNC STOR SPEC SKIP

.

9:26 AM

COMMENT

IIII11*I1I:* •• ***JllIII1II:**.****III: ••• *****III***** •••••• JIt • • • III.**III.**_****l1li****._._**

lTOP - logical-Io-Physical 1MB translation.
Enter with RG. (72) • logical 1MB.;
Exits with XRA9.(10·3) = physical lOA module.
Blts 7,8 of the 9-bit DRT. used in the I/O
specify which one of four ~ossible IMBs

~on~~n3~h~u?i~~~ ig~~'are ~~d~~~:e~ri ~~7~e~ed

ThIS routine wlll translate the logical 1MB. to
a physical lOA. In XRA9, ready for use with the
BUSC command
If the module does not exist then
the Non-Responding Module (NRM) trap is laken.
The translalion is accomplished by using Ihe
logical 1MB. as an index into a MODULE MAPPING
t able I hat is kept in XRA80-83.
This t able is
HI al inll ializal ion 11mp. to cont ain t he physical
module
for those IOAs that exist and a -1 for
those modules which don'l exist

'5

Logical
1MB.

Table
Contents

Phtok~ al

0

8

.

2
3

--------XRA80
XRA81
XRA82
XRA83

10
18
20

1

Extended
Register'

**** ••••• ***.****.**.**** ••• _.**** •• *******.*******.** ..... * ••

ANDl
ADD lRZ

0000

0304

ADO

UBA

0305
0306
0307

ADD
REGN ADD
UBA ADD

0302
0303

l TOP 0180 RG
L2PF UBA UBA

XR9

RSB

ADD
AODl

XR8

UBB

ADO

CTR

UBA

ADO
ADD
JSZ

*.***** ••

SRF
CRF

NRM

F4B
NEG

Mask ou~ all but logical 1MB.; XR8 := 0
UB1e~tr~0?~~~IFt~~1; UBB := XRA80 REGNI
; CTR :" index int 0 module map, set RFLAG to
read 'I rom set 1
Clear RFLAG for s tore int 0 XRA9 se I 0
UBA :s Ph~sical mod.; Skip if from .FLSH
XRA9 : ~ p y sic a I mo d.; If mo d • < 0 the n I a k e
Non-Responding Module trap, else RSB

PAGE 67
RECORD
NO
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
309S
3099
3100
3101
3102
3103
3104
3105
3106
310S
3109
3111
3112
3114
3116
3117
3119
3121
3123
3124
3125
3126
3127
3129
313L
31 J2

3114
3135
3137
3138
3140
3141
3143

c.s

ADDR

SET MASK Instruction
~~.~-~~~.-~ ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

************* ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/S6

9:26 AM

COMMENT

Multiple-1MB SET MASK Instruction (SMSK)
This insruction will take 4 words from the TOS and send
them to lOA's 1 thru 4 (1MB's 0-3) along with the set
mask [MB command, and also write them to ab~olute
locations 01A - 010 (hex). For any IOAs no~ present,
its mask is NOT sent and its word in mask locations is
ZEROED .
This algorithm utlizes the MODULE MAP in XRASO-S3, set
to determine the existance of each lOA.
(See IILTOP )
Entered from IISCLK with SR=I, BKX3=O, priv mode checked
Adj us t TOS so SR is
0308

Sto'ISK OC02

ADDL

0309

0003

ADDL

030A
030B

0090

ADDL
JSZ IRON

030C
0300
030E

SR

XRO
XRO

inner loop:
030F
0310
0311

SMKI SPOA

UBA

)24;

go BUSY.
0000

XRO
MSGI

INC
SPOA
JSZS PULM
ZERO
JSZ PSHM
SR7

OOIA

ADDL

SPlB

UBA

REPN

XR 1

OPS
UBA

ADD
ADD

UBA :- GO BUSY command; SPIB :z REGNII for
BUSC 04

DCTR CTRO
SWAB SP3B
SRG2

JSZ PUL2
ADDL
SP2B
SPlB ADD
CTR

UNC

XR~g~~l;Rm:gJb~~~~O)

;SEND CMD TO GO BUSY ,XRS1 : =BUSY CMD
UBA: =SMSK CMD (SWAPPED) ; WAIT HERE TO GO BUSY
HANDLE ANY PENDING MSGI; SKIP IF SR>2,
SP3B:=9000 (SMSK COMMAND)
SPOA: =4 {LOOPCOUNT);PULL 2 IF SR WAS 1 OR 2
PULL 1 IF SR=3; SP2B:=ABS ADR FOR MASKS
Empty RG if SR • 7; CTR :z module map REGNII

If lOA exists send mask and write to memory
else wrIte 0 to memory.
.cAD
JSZ

DIM2

REGN ADD

SPOA
XR9

XRl

NEG
HBF2

0312

ADD

0313

SP2S ADD

WRX3

0314
0315

USS

ADD
JSS

DATA
SF!

LLZ

BKX5 SRF
RH
CRF

ADD

CCA

SMKI

ADD
ADD

SP2B INC
RA

RA

XSUB

USB

JSL
ADD

ICTR
SP2B
POP
IOMS RG

NF2

DEC LPCNT;RFLAG:=l TO READ MODULE MAP
IF LPCNT-0 THEN EMPTY TOS TO 3;CTR=RE REGNI
READ MASK, SP4A: =NEXT MASK ADR; NEXT IF DONE
;DEC LOOPCOUNT, EPSH STACK
LOOP BACK; STORE MASK TO TOS; INC CTR

PAGE 69
RECORD
NO

c.s
ADDR

HALT AND PAUSE INSTRUCTIONS
.~~~******~
ALU A *.~.*.*****
LABL RREG SREG FUNC SFNC STOR SPSK

3171
3172
3173
3174
3175
3176

10/ 2/86

9:26 AM

COMMENT

HALT AND PAUSE INSTRUCTIONS
This module will perform a HALT or PAUSE of the
CPU untll an interrupt has occurred

3177

3 J 78
3179
3180
3181
3182
3183
3184
3185
3186
3187
3189
3191
3192
3193
3194
31q6
3198
3200
32·11
3203
3204
3206
3208

**********.*. ALU B *************.
RREG SREG FUNC SFNC STOR SPEC SKIP

1)

2)
3)
4)

IF PAUS THEN SET PAUSE BIT IN CPX2.
IF HALT THEN SET RUN BIT OFF IN CPX2
EMPTY TOS REGISTERS TO MEMORY
WAIT FOR INTERRUPT TO OCCUR.

SLUT INSTR=HALT:O all 000 all 11. ENTRY=HALT
031B
031C

STOP
HALT OEOO

JSB "+3
ADDL

RH

UNC

OEOO

ADDL
ADD

RH

UNC

Skip priv test: UBB. clear RUNFF
RH
clear RUNFF mask: Skip

$LUT INSTR.PAUS:O all 000 000 01. ENTRY·PAUS
"31 E
031F

JSZ
JSZ
JSZ

0320

ADD

0321
(1322
0323

ADD
JSZ
JSZ

(1310

PAUS

STA

TRP6
PSHA
TIME

TIME
IRH

POS
SRNZ
UNC
TEST
UNC
UNC

6000

ADDL
ADD
ADDL

00A4

00A3

RH

REPC

UBB

ADD
ADDL
ADD

RH

Trap if non-priv; RH := set PAUSEFF mask

}~GtroT~~a~~r~~e~~ ~~d~;

SP2B
CCPX
SP2B

CCPX

SP2B = normal
execution accumulator code
; Set PAUSEFF or clear RUNFF. repeat next
line until an interrupt occurs
Resume when an interrupt occurs
JSB to measurement code; SP2B = PAUSE code
Service interrupt; Clear PAUSEFF

PAGE 70
RECORD
NO

C S
ADDR

Run Mode Interrupt Handler
*********** ALU A •••• * ••• ***
LABL RREG SREG FUNC SFNC STaR SPSK

3211
3212
3213
3214
3215

CPXl(4)
CPXl(8)
CPX1(1l)

0324

RMIT 1000 STA

ANDL

0325

0020 SP4A ANDL

3232

0326

0800

3235

0327

3234

Run/Halt Switch Interrupt
DCU Command Interrupt
Memo ry Breakpo1nt Inte r rupt

Entered with SP4A = CPX1 &csl(l)

3222
3223
3224

3228
3229
3231

9:26 AM

This module will handle the following interrupts
i f they occur while 1n run mode:

3219
3220
3221

3226

10/ 2/86
COMMENT

Run Mode Interrupt Module

3216
3217
3218

3225

******* ••• i*. ALU B **.* ••••••••••
RREG SREG FUNC SFNC STaR SPEC SKIP

0100 SP4A ANDL

SPOA

UBB

ADDL
JSB

STOP

UNC

JSL

DCMO

UBA

JSL

BKPT

UBA

ADD

Is~~~te~r5tnti~::~~~~tb}lag
UB~ro~e~:mg~~ ~~~:~~~i~ti}nt~;~~~:;
NZRO UBA := mask to clear ~/HSWI~T; Handle
NZRO
CCPX

memo ry breakpoint interrupt i f present
Halt; Clear interrupt bi t in CPX1

PAGE 71
RECORD
NO

C S.

ADDR

3238

LOAD Ins I ruc 110n
~~**~.***** ALU A ~******.***
•••••• *** •• *. ALU B ***********~**
LABl RREG SREQ, FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC St(lP
III .. * III .. :II III .... III III III * III * III • III 111 .. III * * III: iii: III: * III '* " * III '" !III: III: * III III III 'it * * .. III .. III III III
III III l1li It III III .... * III * .. III: • * III , ...
In Ihe following memory reference inslructions, prior 10
•
•
selling the larget felch flip flop, (STFF), READs using bank
•
~:'!;l:~ :::~e~~i:lUA are switched 10 use BNKS for Q or S
:
* III III * III III 'III III III III ill * .. III III III: 111 .. ~ III !IIr lit III III: * .. III • III: * III 111 III • III * * III III: 111 ... !II * * III III " * * III III l1li * JIr * * III: 111 * 11 ..
j. . . .

3239

3;>40
3241

j{

3244
3245
3246
3247

111:

3267
3269
3271

3296

111: ,.

111: ..

.

III

$LUT
$LUT
nUT
HUT
HUT
nUT
nUT

INSTR ~lOA,D (DB+) :0
INSTR =lOA,D (DB+) :0
INSTR= LClAD(Q+) .0
INSTR= LClAD(Q+} :0
INS TR = LClAD(Q-) : 0
INSTR= lOAD(Q- ) : 0
INSTR= LOAD( S-) :0
INSTR= lClAD(S-) : 0

0328
0329

LWS
LWD

SR
UBA

032A

LWDl UBA

032B
032C

3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3285
3287
3289
3290
3292
3293
3294

*

~'LUT

3272

3284

'It III .. III III ..

'III

32~2

3266

!III:

]I[

* '" III " III 111 .. * III * III .. III '* III III III III III III "III III '" III .. III . . . '" .... III .. II! * * III . . . III III .... III .. III III .. * 11: .. III It ..
LOAD· DB:, Q and S relative
il .... 1\ ..
III lit .. " III Ie * III III '" * III III * III: Jlr III * III: iii: * III: * III lit * III * * '" * III * III * III III .. * * .. * * III ...... III: III * lit .. * II!: * III * .. * * * * ,. 'It.

3249
3250
3251

3262
3263
3265

1'1: ....

111:

:I . . . . III III

3248

3260

9:26 AM

:

3242
3243

3253
3254
3255
3256
3257
3258

10/ 2/86
COMMENT

100
100
100
100
100
100
100
100

UBA ADD
DSPl ADSB
SM

RH

CAD

OPA ADD
REGNI ADD
* III:

RH
RH
til III

* * III

Oxx
Oxx
lax
lOx
110
110
III
111

001
101
001
101
001
101
001
101

xx, DSPl=8,
xx, DSPl=8,
xx, DSPL=7,
xx, DSPL=7,
xx, DSPL=6,
xx, DSPL=6,
xx, DSPL=6,
xx, DSPL=6,

DB, ENTRY=LWD
DB, X, ENTRY=LWD
Q, ENTRY=LWD
Q, X, ENTRY=LWD
Q, F2, ENTRY=LWD
Q, F2, X, ENTRY=LWD
SM, F2, ENTRY=LWS
SM, F2, X, ENTRY=lWS

ROD

SR

SM

ADD
JSB

EPSH

UBB

UBA

BNDE

eCA
CCA

RH
RH

DL
DL

BNDE
BNDE

* " III: III til III: III: III '" 111

* 11: III: "

111111 • III III III III: III: III III III 1\

lOAD; Ind'irecl DB, Q, and S relalive
'If * III III III III: III III III: 111 III 111 III: III: * III lie
* III * • III JIll III III * III: III III: * • III: III III * 111

111:

til III:

111: ..

1ft III

111:

III III: lII: til III: III 11 !&r 111111111: III JII lie III III: III: i,

111:

111: ...

nCB
NOT
NOT

..

111:

Slt7

CTR

It 111: III til \II

.t III: .. III III: lit III .. It III III: 111 It III: til

III: III III: '"

lPSH SP3B

111:

III " lie III: III

* It •

UBA: .SR + (SM + XC);
RH:=UBA:=(BASE + XC) +/- DSPl, READ
SP3B:=UBB:=S, JSZ IF SR =6
; BOUNDS CHECK S>=ADDR, CTR : =S-ADDR ,
SKIP NEXT IF ADDR >SM AND S> =ADDR AND
NOT (FSS AND (DB REl ADDR OR TFF) )
RH:=OPERAND, CCA; BOUNDS CHECK ADDR, NEXT
RH:=WORD IN TOS, CCA; BOUNDS CHECK, NEXT

111:

•
111:

III:

111:

;1 III:

nUT INSTR=lO/l,D(DB+ :0 100 011 OXX XX,DSPl=8,DB,INDR,ENTRY=lWID
HUT INSTR =lO/l,D (DB+ :0 100 111 OXX XX,DSPl=8,DB,X,INDR,ENTRY=LWID
$LUT INSTR=lO/l,D(Q+) a 100 all lOX XX,DSPl=7,Q,INDR,ENTRY=lWID
:~lUT INSTR=lOA,D(Q+ ) o 100 111 lOX XX,DSPL=7,Q,X,INDR,ENTRY=lWID
HUT INSTRclO/l,D(Q-1 a 100 011 110 XX,DSPL=6,Q,INDR,F2,ENTRY=lWID
nUT INSTR=lOP,D(Q- a 100 111 110 XX,DSPL-6,Q,X,INDR,F2,ENTRY=lWID
nUT INSTR=LOP,D(S-) a 100 011 111 XX,DSPL=6,SM.INDR,F2,ENTRY=lWIS
nUT INSTR=LOP,D(S-} a 100 111 111 XX,DSPl=6,SM,X,INDR,F2,ENTRY=lWIS
032D
032E

LWIS SR
LWID UBA

032F

UBA

SM
ADD
DSPl. ADSB
SM

0330
0331

XC
UBA

DB
ADD
REGN ADD

RH

ROD

CAD
RH

ROD

SR

SM

ADD
JSB

UBB

USA

BNDE

RH
DL
SP3B

lPSH SP3B

BNDE
JSB lWDl

CTR

Slt7
TICB
STFF

UNC

UBA:=SR + SM;
RH:=UBA:=BASE +/- DSPL, READ;
SP3B:=UBB:=(SR + SM), JSZ IF SR=6
; BOUNDS CHECK S>=ADDR, CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPERAND
UBA:=XC + DB; BOUNDS CHECK ADDR>=DL, STFF
RH:=UBA:=TARGET ADDR, READ; USA:=S, JSB

PAGE 72
RECORD
NO

C S.

ADDR

lOAD Inst ruct ion
*Jk****JIt**** ALU

A········.··

lABl RREG SREG FUNC SFNC STOR SPSK

.**-***._ •••• ALU B ************111RREG SREG fUNC SFNC STOR SPEC SKIP

32'19

.lIf.********_****"'****_.*********_***********************************_

3103
3304

SLUT
SLUT
SLUT
SLUT

INSTR=LOAD(P+):O
INSTR=LOAD(P+):O
INSTR:LOAD(P-) 0
INSTR=LOAD(P-) ,0
UBA

3300
3301
3302

ill

3305
3306

3307
3308
3310

3311
3313

3314
3316
3J17
3318

0332

LWP

lWP 1 UBA

PB

BNDE

0334

LWP2

OPA

ADD

III lit "

3333

DSPl ADSB

000
100
000
100
RH

OXX
OXX
1XX
1XX
ROP
EPSH

RH

XX,DSPL.8,P,ENTRY.LWP
XX,DSPL=8,X,P,ENTRY-LWP
XX,DSPL=8,P,F2,ENTRY=LWP
XX,DSPL=8,X,F2,P,ENTRY=lWP
JSZ
PL

UBA

CCA

PSHM

SR7

BNDE
ADD

NEXT

RH:.UBA:·(P + XCI +/- DSPL, READ;
JSZ IF SR-6
BOUNDS CHECK ADDR ). PB, EPSH;
BOUNDS CHECK PL ). ADDR
RH:-OPf.RAND, CCA; NEXT

* * ~ ~~~ ~ * ! ~ ~ ! ~: ~ ! * ~ * ~: ~ =!! ~ : lit * * * * * * * * * III III * It * III * III lit: * " * * * * * lit: lit lit: * * * * * • III * III: III

$lUT
$lUT
SLUT
SLUT

3373

3330
3331

100
100
100
100

*-****************************************-***-****._.***************

3321
3322

3328

9:26 AM

* !It * lit ~ ~~~ " * ~ lit: ~ ~ ! ~ ! ! ~ ~ * * * lit * * lit: lit: * * * * .. * '" lit: * lit * lit: III III: * III lit: lit: lit: III: III III lit * . . III lit ... lit lit: * * " . . III " * III lit: "

0333

3319
3320

3324
3325
3326

10/ 2/86
COMMENT

0335
0336
0337

.

INSTR =LOAD (P+ I
INSTR=LOAD(P+)
INSTR=LOAD(P-)
INSTR=LOAD(P-)

lWIP UBA
XC
UBA

0
0
0
0

100
100
100
100

DSPl ADsa
UBA ADO
OPA

JSB

010
110
010
110
RH

LWPI

OXX
OXX
1XX
lXX
ROP
ROP

XX,DSPl-S,INDR,P,ENTRY=lWIP
XX,DSPL=8,X,INDR,P,ENTRY=lWIP
XX,DSPl=S,INDR,F2,P,ENTRY=LWIP
XX,DSPl-S,X,INDR,F2,P,ENTRY=lWIP
UBA

PB

JSZ PSHM
BNOE

PL

RH

BNDE

SR7

RH:-UBA:-P +/- DSPL, READ; JSZ IF SR=6
UBA::XC + INDIRECT CELL ADDR;
BOUNDS CHECK INDIRECT CELL ADDR )E PB
READ XC + CELL ADDR + CELL CONTENTS, JSB;
BOUNDS CHECK PL ): INDIRECT CELL ADDR

PAGE 73
RECORD
NO
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3350
3352
3353
3355
3356
3357
3358
3360
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3378
3380
3381
3383
3384
3385
3387

C.S
ADDR

LOAD X INSTRUCTION
*********** ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

************* ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

*******111:'111*********.*****************.* •• ***********111**.****I11.****JIt***

:****~~~~*~~~*~~*::~*!*!:!=!!::********************~** *******.*****.:

SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
~LUT

INSTR=LDX(DB+):l 011 001 OXX XX.DSPL=8.DB,ENTRY=LXD
INSTR=LDX(DB+):l 011101 OXX XX,DSPL=8,DB,X,ENTRY=LXD
INSTR=LDX(Q+):l 011 001 lOX XX.DSPL=7.Q.ENTRY=LXD
INSTR=LDX(Q+):l 011101 lOX XX.DSPL=7.Q.X,ENTRY=LXD
INSTR-LDX(Q-):l 011 001 110 XX,DSPL=6,Q,F2,ENTRY=LXD
INSTR=LDX(Q-):l 011 101 110 XX.DSPL=6.Q,F2,X,ENTRY=LXD
INSTR'LDX(S-):l 011 001111 XX,DSPL=6,SM.F2,ENTRY=LXS
INSTR=LDX(S-):l 011 101 111 XX,DSPL=6,SM,F2,X,ENTRY=LXS

0338
0339

LXS
LXD

SR
UBA

033A

LXDI UBA

033B

UBA ADD
DSPL ADSB
SM

RH

JSBC *+1

REGN ADD
ADD

onc

. . :* *

III III ."

* III * :It III III III * 'Ie III * '" lit * '" III "
111:

ROD

SR

SM

ADD
ADD

SP3B

MEDJ

UBB

UBA

BNDE

CTR

CCA

RH

DL

BNDE
ADD

III III • III III III: 'III

* III III: III

)I[ '"

III III III III

:~ * ~~~ ~ *! ~~ ~ ! ~~ l *~~ Ie '" 9*" :~~ ~ ~ !~ ~ =! !~; *
III

"III

HUT
$LlJT
HUT
HUT
HUT
HUT
HUT
HUT

III

INSTR=LDX(DB+):1011 011 oxx XX,DSP
INSTR=LDX(DB+):1011 111 OXX XX,DSP
INSTR=LDX(Q+)'l 011 011 lOX XX.DSPL
INSTR=LDX(Q+):l 011 111 lOX XX.DSPL
INSTR=LDX(Q-).l 011 011 110 XX ,DSPL
INSTR=LDX(Q-) '1 011 111 110 XX,DSPL
INSTR=LDX (S-) : 1 011 011 III XX ,DSPL
INSTR=LDX(S-) 1 011 111 111 XX,DSPL

033D
033E

LXIS SR
LXID UBA

033F

UBA

SM

0340
0341

XC
UBA

DB
ADD
REGNI ADD

SM
ADD
DSPl ADSB

RH

ROD

CAD
RH

ROD

** *

III III III III

III III III III

*

III

111:

* " * #I
III

III III III III III fl III III

111:

III lit

* III III "

TICB

NEXT
* III III III III * * III III 11 III:
III"" III

UBA: -SR + (SM + XC);
RH:=UBA:=(BASE + XC) +/- DSPL, READ
SP3B:=UBB:=S
MEDIUM JSB TO WAIT ONE CLOCK;
BOUNDS CHECK S>=ADDR, CTR:=IF ADDR>SM AND
S> =ADDR AND NOT (FSS AND (DB REL ADDR OR
TFF)) THEN (S-ADDR) ELSE CODE FOR OPERAND
X: ·OPERAND, CCA; BOUNDS CHECK ADDR
NEXT AFTER WAITING ONE CLOCK

* III III III III ~: :

=8.DB,INDR,ENTRY=LXID
=8,DB,X,INDR,ENTRY=LXID
7.Q,INDR,ENTRY=LXID
7.Q,X.INDR,ENTRY=LXID
6,Q,INDR,F2,ENTRY=LXID
6,Q.X,INDR,F2,ENTRV=LXID
6,SM,INDR.F2,ENTRY=LXIS
6,SM,X,INDR,F2,ENTRV=LXIS

SR

SM

ADD
ADD

SP3B

UBB

UBA

BNDE

CTR

RH
DL
SP3B

BNDE
JSB LXDI

TICB
STFF

UNC

UBA:-SR + SM;
RH:-UBA:-BASE +/- DSPL. READ;
SP3B:=UBB:=(SR + SM)
; BOUNDS CHECK S>-ADDR, CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPERAND
UBA:=XC + DB; BOUNDS CHECK ADDR>=DL. STFF
RH:=UBA:-TARGET ADDR, READ; UBA:=S. JSB

PAGE 74
RECORD
NO

C S

ADDR

3390
3391
3392

!It

3193

33'34

3401

3403
3405
3406
3407

0342
0343
0344

3410

3411

SLUT
SLUT
SLUT
SLUT

3412

3413
3416
3418

3420

3421

3423

* **** ****JII
l1li:

*.

_III ..

III III: III

.It. * * ••• *.

~;! :! ! ~: * * * * * * * * * * *
011
011
all
all

DSPL ADSB
PB
BNDE
OPA ADD

000
100
000
100
RH

III

III

************111: ALU B ***)11******111._.

RREG SREG FUNC SF'NC STOR SPEC SKIP
*_**** * * * III

10/ 2/86

9:26 AM

COMMENT

*. ***.* * III III * ***"* * * III III .. 111111 III
l1li:

* * III III * * * * * * * * III * * * * III * * * * .. * * * * '" * * * * * * III * III

OXX
OXX
1XX
lXX
ROP
CCA

XX,DSPL.S,P,ENTRY=LXP
XX,DSPL=8,X,P,ENTRY=LXP
XX,DSPL=8,P,F2,ENTRY=LXP
XX,DSPL-8,X,F2,P,ENTRY=LXP
PL

UBA

ADD
BNDE
JSZ NEXT

UNC

* * * III III * * * * * ** __ ._. * III III * __ 111.111 * * * *_ .111._ • • _ ** •• 111 • • • __ *_ **
l1li:

*._ .** *

RH:=UBA:=(P + XC) +/- DSPL, READ;
BOUNDS CHECK ADDR )= PB; CHECK PL
X =OPERAND, CCA;
JSB TO WAIT ONE CLOCK FOR NEXT

)=

ADDR

*****;~~~*!~~!~:;!*~*~:!:!!~:************************* **************:

3409

3414
3415

III

INSTR-LDX(P+):l
INSTR=LDX(P+):l
INSTR =LDX (P-) 1
INSTR·LDX(P- ) 1

LXP UBA
LXPI UBA
til: *.111

340S

l1li:

* .. ~~ ~ ~ * ~

$LUT
$LUT
SLUT
SLUT

3397

3399

* * ** . . III *

: III III

3395
3396

3398

LOAD X Instruction
***.*.JIr**** ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

INSTR=LDX(P+).l
INSTR=LDXIP+):l
INSTR=LDX( P-): 1
INSTR=LDX( P-) : 1

0345
0346

LXIP UBA
XC

0347

UBA

011
011
011
all

DSPL ADSB
UBA ADD
OPA

JSB

010
110
010
110
RH

LXPI

OXX
OXX
lXX
lXX
ROP
Rap

XX,DSPL-S,INDR,P,ENTRY.LXIP
XX,DSPL-S,X,INDR,P,ENTRY.LXIP
XX,DSPL=8,INDR,F2,P,ENTRY=LXIP
XX,DSPL-S,X,INDR,F2,P,ENTRY-LXIP
UBA

PB

ADD
BNDE

PL

RH

BNDE

RH:·UBA:·P +/- DSPL, READ;
UBA:=XC + INDIRECT CELL ADDR;
BOUNDS CHECK INDIRECT CELL ADDR ). PB
READ XC + CELL ADDR + CELL CONTENTS, JSB;
BOUNDS CHECK PL )= INDIRECT CELL ADDR

PAGE 75
RECORD
NO

c.s.
ADDR

3425

3426
3427

3428
3429
3430
3431
3432
3433
3434
3435
3416
3437
3438
3440
3442
3443
3445
3446
3448
3449
3451
345/
34',4
34t.J

LOAD DOUBLE INSTRUCTIONS
• •••••••••• ALU A·········· • • lIr*******_*** Al.U B ••••• ***** ••••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
... '" III * * III .. III: * .. * ..
III JIll * III 'If 'III III * III'" III III III: 'It .. * * III * *
* * '" 'Ie * * 111 JIc. III til III. '" JIII:#1 III JIll * III * lie * * * .111 • • *" lit III
•
LDD: DB, I:;), and S relative
•

*.

•

* III * III '" ..

Iff

III

]If

111: JIll

III

* JIll III: III JII III III III: •

INSTR=LDD(DB+): 1 101 001 OXX XX,DSP
INSTR=LDD(DB+):l 101 101 OXX XX,DSP
INSTR=LDD(Q+):l 101 001 lOX XX,DSPL
INSTR~LDD(Q+): 1 101 101 lOX XX,DSPL
INSTR=LDD(Q-):l 101 001 110 XX,DSPL
INSTR=LDD(Q-):I 101 101 110 XX,DSPL
INSTR-LDD(S-):1 101 001 111 XX,DSPL
INSTR=LDD(S-): 1 101 101 111 XX,DSPL

0348
0349

LDS
LDD

SR
UBA

034A

LDDI UBA

UBA ADD
DSPL ADSB
OPA

RH

ROO

INC

SPOA ROBD

ADD

RH

CCA

SR
UBA

III: lit '" III: 'I, 'If. III III III: III '" • 111 It •

* 'If. III * III III *

=S,DB,ENTRY=LDD
=8,DB,XSL,[NTRV=LDD
7,Q,ENTRY=LDD
7,Q,XSL,ENTRY=LDD
6,Q,F2,ENTRV'LDD
6,Q,F2,XSL,ENTRY=LDD
6,SM,F2,ENTRV=LDS
6,SM,F2,XSL,ENTRV=LDS
SM

ADD
JSB

UBA

ADD

SM

CAD

OPB

ADD

LDPH SP3B
RG

SRG5
EPSH
EPSH CRRY

034C

SPOA DL

BNDG

RG

DCC

034D

RG

SM

CAD

SP3B RG

BNDE

CTR

TICB

034E

RREG SM

SUB

SP3B SREG BNDG

CTR

TICB

RG

DCC

NEXT

r::,

34,)[,
14~k
311',~

341)0
34',1
J4t) 1
~J 4f. S

REGN ADD
ADD

0~;4F

03,,0

RH

CCA
NEXT

* .. *- III * * '" .. II III * * * " * III III * III '" .. * * #I * * * JIll. * " III 'Ie Ie

ADD
REGN ADD

**

* * ..

"

~:~~

~*.*.~~~£*!~~!!~~!*~~£.~~*=~~*~*!:!:!!~:**.*****.*.~** ******111:****JIII**1II:

3470

SLUT
$LUT
$LUT
$LUT
SLUT
SLUT
SLUT
!LUT
LDIS
LDID

IIr 111 III 111 lit III l1li II!

3479
1481

0151
0352

1484

0153

TNSTR=LDD(DB+):1 101011 OXX XX,DSP
INSTR=LDD(DB+) ,1 101 III OXX XX,DSP
INSTR=LDD(Q+),l 101011 lOX XX,DSPL
INSTR=LDD(Q+)'l 101 111 lOX XX,DSPL
INSTR=LDD(Q-),l 101 011110 XX,DSPL
INSTR=LDD(Q-):1 101 III 110 XX,DSPL
INSTR=LDD(S-):l 101011111 XX,DSPL
INSTR-LDD(S-)'1 101 111 111 XX,DSPL
SM
SR
ADD
UBA DSPL ADSB
RH
ROD
SR
UBA SM
CAD
UBB

14?'~

01';4
01',<;

XC
UBA

31171

3472
3473
3474
3475
3476

~:j~

14~3

,4P-1i
14~ 7
14'JO
14r~7

DB
ADD
R[GN ADD

RH

ROD

111:

III III III III 1\ }II '" JIll III III #I JIll • III JIll

III III III '/(

UBA: =SR + (SM + XC);
RH:=UBA:=(BASE + XC)
READ;
SP3B:=UBB:=S, JSZ IF ;k;lSPL,
SPOA: =ADDR OF NEXT WORD, READ INTO OPB;
RG:=ADDR OF FIRST WORD, EPSH
RH:=FIRST WORD, CCA; SKIP NEXT IF ADDR OF
SECOND WORD ) SM, EPSH
BOUNDS CHECK ADDR OF SECOND WORD ) DL;
RG: =SECOND WORD, DCC, NEXT
BOUNDS CHECK S> =ADDR , CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND (DB REL ADDR OR
TH) ) THEN (S-ADDR) ELSE CODE FOR OPERAND
BOUNDS CHECK S>ADDR, CTR:=IF ADDR>~SM AND
S>ADDR AND NOT (FSS AND (DB REL ADDR OR
TFF) ) THEN (S-ADDR-l)
ELSE CODE FOI~ OPERAND
RH:=FIRST WORD, CCA,
NEXT; RG: =SECOND WORD, DCC

*

34 () Fj
3469

9:26 AM

II!)I(

* '" lit III * .. III III III lit * III * * * * * * 'It • • '" III 'Ie 'III

SLUT
$LUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT

034B

10/ 2/86
COMMENT

=8,DB,INDR,ENTRY=LDID
=8,DB,XSL,INDR,ENTRY'LDID
7,Q,INDR,ENTRY=LDID
7,Q,XSL,INDR,ENTRY=LDID
6,Q,INDR,F2,ENTRV=LDID
6,Q,XSL,INDR,F2,ENTRV=LDID
6,SM,INDR,F2,ENTRY=LDIS
6,SM,XSL,INDR,F2,ENTRV=LDIS
SM

ADD
JSB

UBA

BNDE

RH
DL
SP3B

l.OPH SP3B

BNDE
JSB l.DDl

CTR

SRG5
TICB
STH

UNC

UBA: .SR + SM;
RH:=UBA:=BASE +/- DSPL, READ;
SP3B: =UBB. =S, ,1SZ IF SR>4
BOUNDS CHECK S> =AODR , CTR'=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPERAND
UBA =XC + DB; BOUNDS CHECK ADDR >= DL, STH
RH,=UBA'=(XC+DB) + INDIRECT CELL, READ;
UBB oS, JSB

PAGE 76
RECORD
NO
3494
3495
3496
3497
3498
3499
3500
3501
3503
3505
3506
350S
3509
3511

C.S.
ADDR

A··········· ...........

LOAD DOUBLE P-rel Instructions
• •••••••••• ALU
** ALU B··············
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
l1li l1li l1li '" III l1li l1li l1li l1li It * l1li * l1li l1li '" l1li l1li 111111 * l1li l1li"
l1li III III"" l1li III -. III" l1li l1li l1li" l1li l1li *. It * ._. l1li l1li l1li. III l1li III III III l1li l1li.111 _ . *. l1li * l1li l1li
•
LDPP and LDPN
•
-*******.**111**111.******.*************.*****111111********** ••••••• * •••• _._

10/ 2/86

9:26 AM

COMMENT

l1li:

.

SLUT INSTR·LDPP:O 011 100 OXX XX,DSPL-S,P,ENTRY-LDP
SLUT INSTR·LDPN: 0 011 100 1XX XX,DSPL-S,P,F2,ENTRY·LDP

0356
0357

LOP UBA
LDPI UBA

0358
0359

RH

DSPL ADSB
PB
BNDE

RH

ROP
EPSH

UBA

OPA

ADO

RH

CCA

PL

PB

BNDG

JSZ
INC
UBB

BNDE

OPB

ADD

PSM2

RH

ROP

SRGS

EPSH
RG

DCC

NEXT

RH:·UBA:·P +/- DSPL, READ; JSZ IF SR>5
BOUNDS CHECK ADDR >. PB, EPSH;
RH:-UBB:=SECOND WORD ADDR, READ
~~UN~~R~~E~~R~L ~:A~ECOND ADDR, EPSH
BOUNDS CHECK SECOND ADDR > PB;
RG:-SECOND WORD, DCC, NEXT

PAGE 77
RECORD
NO

LOAD BYTE INSTRUCTION

C S

ADDR

3513
3514
3515
3516
3517
3e,18
3<,19
3',20
3',21

~~******~-*

3~}?3

J l ,1'4

3'>41

3')43
3 c,4'i
3~47

•••• * •••••••• ALU B ••••••• **** •• *

SLUT
SLUT
$lUT
SLUT
SLUT
SLUT
$LUT
$lUT

INSTR=LDB(DB+!:l 101000 OXX XX,DSP
INSTR=LDB(DB+ :1 101 100 OXX XX,DSP
INSTR=LDB(Q+) ,I 101 000 lOX XX,DSPL
INSTR=LDB(Q+):l 101 100 lOX XX,DSPL
INSTR=LDB(Q-),l 101000 110 XX,DSPL
INSTR=LDB(Q-)'l 101 100 110 XX,DSPL
INSTR=LDB(S-)'l 101000 111 XX,DSPL
INSTR=LDB(S-):l 101 100 111 XX,DSPL

=8,DB,ENTRY=LBD
=8,DB,XSR,ENTRY=LBD
7,Q,ENTRY=lBQ
7,Q,XSR,ENTRY'LBQ
6,O,F2,ENTRY'LBO
6,Q,F2,XSR,ENTRY'LBQ
6,SM,F2,ENTRY=lBS
6,SM,F2,XSR,ENTRY'LBS

LBS
LBO

SR
UBA

SR

SM

ADD
JSB

UBB

UBA

SUB

.. :C)~t)

3S'j 7
3')38
3540

~**********

03'iA
035B

UBA ADD
DSPL ADSB

RH

ROBS

035C

UBA

SM

CAD

035D

RH

DL

JSBS LB32

NCRY

03SE
03SF
0360
0361

XC

ADD

ODD

LBD

UBA

ADD
ADD
DSPL ADSB

RH

DB

ADD

SPOA

SM

JSBC LBD1

3',48
3<'')0

0362

3tj~2

0363

RH

0364

SPOA DL

NEXT
NEXT
ROBD

LBPH SP3B
CTR

SR7
TICB CRRY
UNC

JSB
REGN ADD

LB32
LRZ

SR

UBB ADD
REGN ADD
SM
JSB

RH
CCB
RRZ RH
CCB
LBPH SP3B

UBA

Dl

SUB

SP3B RH

SUB

EPSH
SR7

TICB NCRY

3 c)1) 1
3554

3')'>5
3'>56
35',7
3':.58
3',60
3<,61
3',1)2

3',f,l
3<'1)')
3,)f,6
3';1, ~
1', TO
1':.72
J',14
1 c) 7r.)
1[j' ,
]',Tij

10/ 2/86

9:26 AM

COMMENT

:****~~~~*~~~*~~*:~~*!*!:!:!!::***************.******* ***.****.****.:

3')22

':',IF,
J' :' ,;
1 '"J ~ n
J 5 ~J 1
3',33
3~ '!4
3')35

AlU A

LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
* * II! * III * III III: .... '" III * .. ~II * * '" III * III III . . . . . * III !III .. * * * III: .. III: III .. " * JII' It JIf III iii III III: .. III .. III: til It III III: III: .. 'III '" III" III .. * III III lit .. * .. *

0365
0366

0367
0368
0169

016A

FSS

SUB

DB

LBD1 XC

ADD

ODD

LBDl
LRDR
LB12

NEXT
NEXT

UBB

ADD
ADD
ADD
ADD

SM

CAD

UBA

RH

ROBD

CTR

TICB CRRY

JSBS LB32

TICB

REGN
UBB
REGN
8000 RH
UBB DL

ADD LRZ
ADD
ADD RRZ
ADDL
BNDE

RH
RH

cca

EPSH

SP3B UBA

BNDE

CTR

TICB RSB

GCB

TICB

UBA:=SR + (SM + XC);
RH =UBA:=(BASE + XC) +/- DSPL, READ INTO B;
SP3B:=UBB:=SR + SM, JSB IF SR • 7
; CTR:=IF ADDR>SM AND S>=ADDR THEN
(S-ADDR) ELSE CODE FOR OPERAND,
SKIP IF S )- ADDR
JSB IF NOT (ADDR )= Dl);
JSB IF NOT (S ). ADDR)
SKIP NEXT IF RIGHT BYTE;
UBB =LEFT BYTE, EPSH
~~=~;I~E~EF~ ~!~i~H~E=Yl~~:2~~FT BYTE, CCB
RH:=UBA:z(~A~E + XC) +/- DSPL, READ INTO B;
SP3B:=UBB:zS, JSB I~ SR = 7

~~~~ i~B~OT (ADDR >. DL), TICB CAUSES CTR
TO GET %17 (CODE FOR OPERAND)
JSB IF SPLIT BANKS;
CTR:cIF ADDR)SM AND S)-ADDR AND
NOT (FSS AND (DB REL ADDR OR TFF)) THEN
(S-ADDR) ELSE CODE FOR OPERAND,
SKIP IF S >. ADDR
JSB IF NOT (I)L (= ADDR (= S) AND NOT FSS
AND (DB )- Dl) AND (Z )= DB)
(JSB IF NOT (Dl <- ADDR (= S) AND NOT
SK¥~L~~x¥T~~K&IGHT BYTE;
UBB.-LEFT BYTE, EPSH
NEXT IF LEFT BYTE; NEW (S):=LEFT BYTE, CCB
NEXT; NEW (S):~RIGHT BYTE, CCB
, UBB:=32K + ADDR
RH:=ADDR, READ; BOUNDS CHECK ADDR )= DL
TICB TO SLOW DOWN RSB (ALWAYS FALSE)
BOUNDS CHECK S>.ADDR, CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR) THEN
(S-ADDR) ELSE CODE FOR NOP, MEDIUM RSB

PAGE 78
RECORD
NO
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3595
3597
35'18
3600
3fiOl
3602
3f04
3605
3607
3608

3609
3611
3612
3614
3615
3616
3618
3619
3621
3622
3623
3625
3627
3629
3631
3632
3634
3635

C.S.
ADDR

LOAD BYTE INDIRECT INSTRUCTION
• •••••••••• ALU A··········· ••••••••••••• ALU B··············
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

* * * * * * * * * * III: III ***. * * * * * * * III III * * * * * * * * III III: III * * III III * 'l1li" * * * * ** III *11 *111 ** III II: ** l1li * •• * * * *
* * * ~~~ ~ * !~~! r:~!. ~~**~. * :~~ * ~ * r:!~! ~~: * III * II • • * * * * * * * ** * III * .. * *,. * III * .. * * *

.

1111

111:.

SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT

INSTR-LDB(DB+J:l 101 010 OXX XX.OSPL-S.OB.INOR.ENTRY-LBIO
INSTR-LOBIOB+I:l 101 110 OXX XX~OSPL.8.DB.X.INDR.ENTRYcLBID
INSTR=LDB 0+):1 101 010 lOX XX.uSPL=7.0.INDR.ENTRV-LBID
INSTR=LDB(Q+):l 101 110 lOX XX.DSPLo7.Q.X.INDR.ENTRV=LBID
INSTRoLDB(Q-):l 101 010 110 XX.DSPL-e.Q.INDR.F2.ENTRV-LBID
INSTR-LDB(Q-):l 101 110 110 XX.DSPL o6.Q.X.INDR.F2.ENTRV=LBID
INSTR-LDB(S-):l 101 010 111 XX.DSPL-6.SM.INDR.F2.ENTRV=LBIS
INSTR-LDB(S-):l 101 110 111 XX.DSPL-6.SM.X.INDR,F2,ENTRV=LBIS

036B
036C

LBIS SR
LBID UBA

0360

UBA

036E
036F

XC

SM
ADD
DSPL ADSB
SM

CAD

DB

ADD

REGN ADD

RH

ROO

SR

SM

ADD
JSB

UBB

UBA

BNDE

NFSS
LSR

CF1

SUB

STFF NCRY

DL

SUB

CTFl

DB

ADD

RG

ROO

SUB

CTR

TICB CRRY

XC

REGN CSR

HBF2

UBA

UBB

SM

JSBC LBU

Nfl

SP3B UBB

RG

DL

JSBS LI32

NCRY

LBIl RH

DL

BNDE

F2
NEXT
NEXT

UBB

ADD
ADD
ADD
ADD

SM

CAD

0378

LI32
UBA

RG

ROBD

TICB

DB

0371

0374
0375
0376
0377

CTR

SR7

UBA

0370

0372
0373

LPSH SP3B

JSB
REGN ADD

LI32
LRZ

UNC
EPSH

UBB
REGN
8000 RG
UBB DL

ADD
ADD RRZ
ADDL
BNDE

RH
RH

CCB
CCB

SP3B UBA

BNDE

CTR

TICB RSB

TICB

UBA: -SR + SM;
RH:=UBA:-(BASE + XC) +/- DSPL, READ;
SP3B:=UBB:.SR + SM. JSB IF SR.7
; BOUNDS CHECK S)=ADDR. CTR:=IF ADDR>SM AND
S)=ADDR AND NOT (FSS AND DB REL ADDRI
THEN (S-ADDR) ELSE CODE FOR OPERAND
UBA:=DB. SKIP IF NOT SPLIT BANKS;
STFF, SKIP IF NOT (Z ). OBI
UBA:c(XC + INDIRECT CELL) & LSR(ll;
Fl:-NOT SPLIT BANKS AND (Z )- OBI AND
(DB )- DL)
SET F2 IF EFFECTIVE BYTE ADDRESS IS ODD;
RG:.ABSOLUTE WORD ADDR. READ
JSB IF SPLIT STACK;
CTR:=IF ADDR)SM AND S)=ADDR AND NOT SPLIT
BANKS THEN (S-ADDRI ELSE CODE FOR OPERAND
JSB IF NOT IADDR )= DLI;
JSB IF NOT S)- ADDRI
BOUNDS CHECK INDIRECT CELL )= DL.
SKIP IF RIGHT BVTE;
UBB:-LEFT BVTE. EPSH
NEXT; NEW (Sl:-LEFT BVTE, CCB
~E~~~:~~~K(~)AD~~GHT BYTE. CCB

RGTi~gD~6 ~t~;Dgs~N~~BC~~I~A~gD~A~SE~L.

BOUNDS CHECK S)oADDR. CTR:= IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR) THEN
(S-ADDR) ELSE CODE FOR NOP, MEDIUM RSB

PAGE 79

RECOR~

NO

3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3650
3652
3653
3655
3656
3657
3658
3659
3660
3662 \
3663
3664
3665
3666
3667
3668
3669
3670
3672
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3690
3692
r~693

3695
3696
3697
3F;'19
3700
3702

LOAD RELATIVE ADDRESS INSTRUCTION

C S

ADDR

#C1ll*IIII11.".**IIIIII

A!_U A

JII

111:

:

0379
037A

*111 ........ ",1111< .. 1<*

LI\BL RREG SREG FUNC SFNC STOR SPSK
!II: ~I 111 III 111 III III III III * * II III III
It * III III:
III .. " .. Jit'
!II: II III • * III . . .
JIll

~r * ~~~ ~ ~.,: ~~ ~ ~: ~ :! !~;
"

III

:II:

III

•

$l.UT
SLUT
$l.UT
SLUT
SLUT
$l.UT

INSTR=LRA(Q+)
INSTR=LRAfQ+)
INSTR=LRA(Q-)
INSTR=LRA(Q-)
.INSTR=LRA( S-)
INSTR-LRA(S-)

U\S

SR
UBA

.

L~\Q

:1
:1
:1
:1
:1
:1

III
III
111
111
111
III

UBA ADD
DSPL ADSB

037B

JSZ

037C

ADD

III if Jill

001
101
001
101
001
101

)II:

!II ..

111:

* JII "

lOX
lOX
110
110
III
III

10/ 2/86

* III" III ill:

Jill: ....

COMMENT

111:

* III III III III '" * * III * * III .. * '/If 11
III'

XX,DSPL=7,Q,ENTRY=LAQ
XX,DSPL=7,Q,X,ENTRY=LAQ
XX,DSPL=6,Q,F2,ENTRY=LAQ
XX,DSPL=6,Q,F2,X,ENTRY=LAQ
XX,DSPL=6,SM,F2,ENTRY=LAS
XX,DSPL=6,SM,F2,X,ENTRY=LAS
ADD
JSZ

NZRO

UBA

DB

PSHM

SUB

SR7
RH

EPSH

UBA : =SR + (SM + XC I :
RH:=UBA:=(BASE + XCI +/- DSPl:
JSB I~ SR = 7
JSB for BNDV if split banks;

•• ~~~.l~l •• :.:!!:;l!~:.~~~r.;.~~ •. ~~~~ ...•.•
TEMP:

'* III
•*'111

III III

* III * III III * III III lillie #I

9:26 AM

**'ltIllJIIIllIllIllIlltJIIIII*ll*

111:

III III Jill: III Jill: III .. III lit

RH
BNDV

ALU B

111.111111111111.11111111*111111

RREG SREG FUNC SFNC STOR SPEC SKIP
III " III: III .. III III III JII * 111 * * * III: '" !II: ill: l1li III III III * III * * .. *
III: if.
III II

ADD

NE>tT

DON'T DO BOUNDS CHECK UNTIL
SOFTWARE IS FIXED - 12/11/81

; NEXT

!II III 111111 * *
III: III " III lit III III '.III JIll It III * lit " III III !III: III * III III III III * " III: III III * III III: * * III III • III III III III III III * JII .. II
lRA; DB relat
ive " * •• " •• '" III **111111 * lit III * *111 III III IIIIIIJllJII III III *Jll:tc*iI III III • • • III 1Ir __ 1II III III ** •II
* * •••
l1li: "

III 111****** 'Ie"" III 1IIJ11 III

l1li:

$LUT INSTR-lRAIDB+):1 III 001 OXX XX,DSPl=S,DB,ENTRY=lAD
!LUT INSTR-lRA DB+):I 111 101 OXX XX,DSPl-S,DB,X,ENTRY=lAD
0370
037E

lAD

XC

DSPl ADD
ADD

RH

JSZ
JSZ

EPSH

SR7'
UNe

PSHM
NEXT

RH:-XC + DSPl; JSB IF SR • 7
EPSH; NEXT

•• *** •••• *************JII******.**********IIII1t****** •• **III:*****JII**********
•
lRA; Indirect DB, Q, and S relative
•
JllIIiI.IIiI****IIiIIIiIIIIIIIJII* ••• IIII11 •• _III.*************.*.**.**IIiI*****JltR**111*****111*******
$LUT
SLUT
SLUT
SLUT
$LUT
SLUT
SLUT
!LUT

INSTR-lRA(DB+):1 III Oil OXX XX,DSPl-S,DB,INDR,ENTRY=lAID
INSTR-lRA(DB+I:I 111 111 OXX XX,DSPl=S,DB,X,INDR,ENTRY-lAID
INSTR=lRA(Q+):1 III 011 lOX XX,DSPl=7,Q,INDR,ENTRY=lAID
INSTR=lRA(Q+):l 111 111 lOX XX,DSPl-7,Q,X,INDR,ENTRY=lAID
INSTR=lRA(Q-):l 111011110 XX,DSPl=6,Q,INDR,F2,ENTRY=lAID
INSTR-lRA(Q-):l 111 III 110 XX,DSPl=6,Q,X,INDR,F2,ENTRY=lAID
INSTR=lRA(S-):1 III 011 111 XX,DSPl·6,SM,INDR,F?,ENTRY=lAIS
INSTR=lRA(S-I:l III 111 III XX,DSPl=6,SM,X,INDR,F2,ENTRY=lAIS

037F
0380

lAIS SR
LAID UBA

0381

UBA

SM

CAD

0382

XC

OPA

,ADD

0383

XC

REGN ,ADD

SM
.ADD
DSPl ADSB

ROD

SR

SM

ADD
JSB

EPSH

UBB

UBA

BNDE

RH

RH

Dl

BNDE

NEXT

RH

RH

Dl

BNDE

NEXT

RH

lPSH SP3B
CTR

SR7
TICB

•

JII***.*IIt.**.*****_*****\II.**.*.*.JII***JllIII***~.**

UBA:=SR + SM;

~~3B~~eBB~e~~ :/SMDS~§z ~~Ag~

=

7

; BOUNDS CHECK S>.ADDR, CTR:=S-ADDR
SKIP NEXT IF ADDR>=SM AND S>=ADDR AND
NOT (FSS AND (DB REl ADDR OR TFF))
RH:=XC + INDIRECT CELL
BOUNDS CHECK ADOR )- 0
NEXT
RH:=XC + INDIRECT CEll
BOUNDS'CHECK ADOR >= 0
NEXT

PAGE 80
RECORD
NO

C.S

ADDR

3704
3705
3706

111 . . . . . . . *******
AlU B ***_******.**JIt
RREG SREG FUNC SFNC STOR SPEC SKIP
_111111 ••• ***.**_*****.111******** •• *.111*********_ •• **** ... *.*111 •• 111 ••• _ •• _. __ _
•
STOR; DB, Q, and S relative
•

. . . . . . . . . . . . . 111 • •

3701

3708
3709
3710
3711
371;:
3713
3714
3715
3716
3717
3719
3721
3722
3724
3725
3726
3727
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3745
3747
3748
3750
3751
3752
3754

STORE INSTRUCTION
111 • • " . . . . . 411:**111
AlU A *.** ••••• _*
LABL RHG SREG FUNC SFNC STOR SPSK

10/ 2/86

9:26 AM

COMMENT

**.***** •• * ••• *********** •••••••• * •••••• _••• _••••••• _.

SLUT INSTR=STOR(DB+I 0 101 001 OXX XX.SR-l,DSPL-S,DB,ENTRY-SWO
SLUT INSTR.STOR(DB+):O 101101 OXX XX,SR-l,DSPL-8,DB,X,ENTRY.SWD
HUT INSTR-STOR(Q+I 0 101 001 lOX XX,SR·l,DSPL.7,Q,ENTRY.SWD

a8f tn

~~:~~:Lg~~t:~:g}2~~~~~Y~~D
SLUT ~~~i~:~ig~lg~l:g
SLUT INSTR-STOR(Q-I.O 101 101 110 XX,SR·1,DSPL-6,Q,F2,X,ENTRY=SWD
SLUT INSTRoSTOR(S-I'O 101 001 III XX,SR=1.DSPL-6.SM,F2,ENTRY=SWS
SLUT INSTR=STOR(S-I:O 101 101 111 XX.SR-1,DSPL·6.SM.F2.X,ENTRY=SWS

t8t

$LIJT

0384
0385

SWS
SWD

SR
UBA

0386

SWD 1 UBA

0387

UBA ADD
DSPL ADSB

RH

WRD

SR

SM

ADD
ADD

SP3B

UBB

UBA

BNOE

CTR

RH

DL

BNOE

SM

CAD

EPOP

RA

ADD

REGN DATA

TICB
NEXT

~~A~~~:::('~~E++X~~i +/_ SR-l,DSPL, READ
SP3B:.UBB:-SR + SM
; BOUNDS CHECK S>"ADDR, CTR:-IF ADDR>SM AND
S>-ADDR AND NOT A(FSS AND
~DB OR P REL ADD II OR TFFI THEN (S-ADDRI
LSE %(8117
WRITE (SI; BOUNDS CHECK AODR >= OL. NEXT

*** •• **** •• ** •• *** ••• * •• * •• ** •• _***** ••• *** ••••• II1II.**** •••• *****_**_**

STOR; Indirect DB, Q. and S relative
••• * ••• ****** •• ************** •••••••• ***.*** •• ** •••• *** ••••• *.*** •• **

0388
0389

SlUT
SLUT
SLUT
HUT
SLUT
SLUT
SLUT
!LUT
SWIS SR
SWIO UBA

038A

UBA

SM
ADD
DSPL ADSB
SM
CAD

038B
038C

XC
UBA

ADD
DB
REGN ADD

RH

RH

ROO

SR

SM

UBB

UBA

WRD

RH
OL
SP3B

ADD
ADD

SP3B

BNDE

CTR

BNDE
JSB SWDl

TICB
STH

UNC

UBA:-SR + SM;
RH: cUBA' =BASE +/- DSPL, READ;
SP3B::UBB:=SR + SM
BOUNDS CHECK S>=AODR, CTR:=IF ADDR>SM AND
5>=ADDR AND NOT (FSS AND (DB OR P REL ADDRII
THEN (S-ADDR) ELSE %(S)17
UBA: =XC + DB; BOUNDS CHECK ADDR >. DL. STFF
RH:-UBA:=TARGET ADOR. WRITE : USB.=S. JSB

PAGE 81
RECORD
NO
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3772
3774
3776
3777
3778
3780
3782
3783
3784
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3802
3804
3806
3807
3808
3810
3812

STORE DOUBLE INSTRUCTION

C.S.

ADDR

111111111:111l1li.1111111111111

ALU A

RREG SREG FUNC SFNC STOR SPSK

•

STD; DB, (), and S relative

,. II 111 III III III; III It III • III III JIll: III II 111 III III III III III III "

SLUT
SLUT
$LUT
SLUT
SLUT
SLUT
SLUT
SLUT
038D
038E
038F

IIIJ\JllIIIJII;IfII.** • •

LI~BL

JIll: III III

*

IIIIf11J1f"**!III .....

III III III .. III

* '"

III '" III III III III III " III

*

10/ 2/86

JII!IlI***

9:26 AM

COMMENT

•
III l1li

#I 111 III III II III III III III '" III ,. III III III III III

110 001 OXX XX,SR=2,DSPL-8,DB,ENTRY=SDD
INSTR=STD[DB+):l 110 101 OXX XX,SR=2,DSPL'8,DB,XSL,ENTRY=SDD
INSTR=STD(Q+)'l 110 001 lOX XX,SR=2,DSPL=l,Q,ENTRY=SDD
INSTR=STD(Q+) 1 110 101 lOX XX,SR=2,DSPL=7,Q,XSL,ENTRY=SDD
INSTR=STD~Q-):l 110 001 110 XX,SR=2,DSPL=6,Q,F2,ENTRY=SDD
INSTR-STDIQ-).l 110 101 110 XX,SR=2,DSPL=6,Q,F2,XSL,ENTRY=SDD
INSTR·STD~S-) 1 110 001 111 XX,SR=2,DSPL=6,SM,F2,ENTRY'SDS
INSTR=STD~S-)'l 110 101 111 XX,SR=2,DSPL=6,SM,F2,XSL,ENTRY=SDS

INSTR=STD~DB+):l

SOS SR
SOD UBA
SOD1 UBA

0390
0391

'It III ,. III • JII

AL.U B

111*111***111111111111111.111

RREG SREG FUNC SFNC STOR SPEC SKIP

RH

0392

UBA ADD
DSPL ADSB
SM
CAD

RH

RB
SM

ADD
SUB

REGN DATA
EPOP

RA

ADO

REGN DATA
* 111111 ..... III III .... * 111 III III III III III III lit 111"111 III * 'Ie III *

III III .... III III ,.. !fir It III III III l1li " lilt It JII III III

WRD
EPOP

SR
UBB

SM
UBA

RH
DL
SP3B RH

ADD
ADD
BNDE

SP3B
CTR TICB

BNDE
BNDG

CTR

TICB

ADD
]It III

A: III III III III III III III

NEXT
]II

III 111 III III III III III " III III

)If

* 11 III

JIll: ..

UBA:=SR + (SM + XC);
RH:=UBA:=(BASE + XC) +/- DSPL, SEND ADDR
EPOP; BOUNDS CHECK S>=ADDR, CTR.=IF ADDR>SM
AND S>=ADDR AND NOT (FSS AND (DB REL ADDR
OR TFF)) THEN (S-ADDR) ELSE CODE FOR NOP
WRITE (S-I); BOUNDS CHECK ADDR>=DL
EPOP; BOUNDS CHECK ADDR>S, CTR:=IF ADDR>=SM
AND S>ADDR AND NOT (FSS AND (DB REL ADDR
OR TFF)) THEN (S-ADDR-I) ELSE CODE FOR NOP
WRITE (S); NEXT

III

:.JII**!r~~*!~~!::~!*~~~.~~*=~~*!JII~:!~!!~:*** •• *JII*JII****JII _*****111******111:
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
!LUT

INSTR.STDIDB+):1110 0110 XXXX,SR'2,DSPL-8,DB,INDR,ENTRY'SDID
INSTRcSTD[DB+):1110 1110 XXXX,SR=2,DSPL 2 8,DB,XSL,INDR,ENTRY.SDUD
INSTR=STD[Q+):1110 0111 OXXX,SR=2,DSPL=7,Q,INDR,ENTRY=SDID
INSTR.STD[Q+):1110 1111 OXXX,SR.2,DSPL.7,Q,XSL,INDR,ENTRY=SDID
INSTR·STD[Q-):II10 0111 10XX,SR=2,DSPL-6,Q,INDR,F2,ENTRY.SDID
INSTR=STD[Q-):1110111110XX,SR=2,DSPL=6,Q,XSL,INDR,F2,ENTRY.SDID
INSTR=STD[S-I:III0 0111 l1XX,SR=2,DSPL.6,SM,INDR,F2,ENTRY.SDIS
INSTR-STD[S-):III0IIIIIIXX,SR=2,DSPL-6,SM,XSL,INDR,F2,ENTRY-SOlS

0393
0394
0395

SDIS SR
SDID UBA
UBA

0396
0397

XC
UBA

SM
ADO
DSPL ADSB
SM
CAD

RH

ROD

SR
UBB

DB
ADD
REGN ADD

RH

WRD

RH
DL
SP3B

SM
UBA

ADO
ADD
BNDE
BNDE
JSB SDDI

SP3B
eTR TICB
STFF

UNtC

UBA:.SR + SM;
RH:'UBA:=BASE ~/- DSPL, READ; SP3B:'UBB:-S
; BOUNDS CHECK ADDR>S, CTR:.IF ADDR>.SM AND
S>ADDR AND NOT (FSS AND DB REL ADDR) THEN
(S-ADDRI ELSE CODE FOR NOP
UBA : • XC + DB; BOUNDS CHECK ADDR >2 DL, STH
RH:cUBA:=XC + DB + INDIRECT CELL, SEND ADDR;
UBB:=S, JSB

PAGE 82
RECORD
NO

C S

ADDR

3816
3817

3818
3819

3820
3821
3822

3823

3824

0398
0399

SLUT
SLUT
SLUT
SLUT
SLUT
SLUT

INSTR-STB(Q+);l
INSTR=STB(Q+).1
INSTR-STB(Q-).l
INSTR=STB(Q-):l
INSTR-STB(S-)·l
INSTR=STB(S-):l

SBS
SBQ

SR
UBA

UBA ADD
OSPL ADSB

110
110
110
110
110
110

000
100
000
100
000
100
RH

XX,SR=l,DSPl.7,Q,ENTRY·SBQ
XX,SR-l,DSPl-7,Q,XSR,ENTRY·SBQ
XX,SR~I,DSPL=6,Q,F2,ENTRY·SBO

XX,SR=l,DSPL=6,O,F2,XSR,ENTRY=SBO
XX,SR'l,DSPL=6,SM,F2,ENTRY=SBS
III XX,SR=l,DSPL=6,SM,F2,XSR,ENTRY·SBS

SM

3835
3836

039C

RH

Dl

JSBS SB32

NCRY

RA

ADD

NF2

3841

3842

039D

3845

039E
039F

UBA

UBB
RA

lOR
ADD

3848

03AO

UBA

UBB

lOR

3843

3847

RRl
RLl

ADDl
SUB

SPIB
CTR TICB

SP3B RH

JSBS SB32

HBF2
EPOP

XC
RH

3839

SP3B

8000 UBA
SP3B RH

SR

039A

3838

ADD
ADD

ROBD

039B

3834

CSR
CAD

lOX
lOX
110
110
111

3832

3830

*********111:*** ALU B .1It*******III:****
RREG SREG FUNC SFNC STOR SPEC SKIP

** •• ************111.**** •• *******l1li**111**.111****_****111 •• ****** •• * ••• *111111111 ••
•
STB
Q and S relat ive
•
*III.JII** •• ****_***III***JII******I11*********_._*************JIII*.*******111******

3814
3815

3825
3827
3829

STORE BYTE Instruction
111.**111****** ALU A *** •• ***-_.
LABL RREG SREG FUNC SFNC STOR SPSK

SM

REGN ADD

REGN DATA

SPIB ADD
REGN ADD

REGN DATA

ADD

LLl
RRl

NCRY
NF2
NEXT
NEXT

10/ 2/86
COMMENT

9:26 AM

PAGE 83
RECORD
NO
3851
3852
3853
3854
3855
3856
3857
3858
3860
3861
3863
3865
3866
3867
3869
1~,

C s.

ADDR

STORE BYTE Instruction
~.* •• ****.* ALU A···········
* •• *.* •••••• * ALU B ************~*
LML RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III " III III • III III III * .. III l1li III
III III III l1li III iii: * * It III .. * * '" !II III III: '" * III III III III * :III III: III '" * III III: III III III Jill " .. III III III III * III III III III" III III III • * It III III: ~I

* III * ~r~ ~ It * ~~ • r;!:

l: ~:

l1li l1li l1li

* III * '" * #I: III l1li * * * * III III III III III * .. III "

.. 'If 111 III III

* * '" * III • * * III III III It III * III III _.
l1li

$LUT INSTR=STB(DB+).l 110 000 OXX XX,SR=1,DSPL=8,DB,ENTRY=SBD
SLUT INSTR=STB(DB+):l 110 lao OXX XX,SR=I,DSPL=8,DB,XSR,ENTRY=SBD
03Al
03A2
03A3

SBD

UBA
XC

DSPL ADSB
CSR
DB
ADD

03A4

RH

SM

03A5

SPOA DL

SUB

RA

ADD

UBA

UBB
RA

lOR
ADD

UBA

UBB lOR
SPIB ADD

UBA

SM

RH

ROBD

HBF2
SPOA EPOP

JSBC SBDR

FSS

SR

ADD

SP3B

8000 UBA
RH
DL

SM

ADDL
SUB

SPIB

SP3B RH

SUB

CTR

TICB NCFtY
TICB CRFtY

31."1

3d 75
3876

38n

3878
3880
3881
38 R2
3884
3886
3887
3889
3891

3892
3893

3895

3896
3897
3898

9:26 AM

II{

: II

7C

3 ," ~
3 an

10/ 2/86
COMMENT

03A6

SElDR

03A7
03A8

SEIDL

03A9
03M

SEl32

03AB

DB
RRZ
RLZ

JSBC SBDL

NF2

REGN ADD
SPIB ADD
REGN ADD

REGN DATA
REGN DATA
ROBD
NF2

JSBS S832

UBB

DL

SP3B UBA

TICB

LLZ

NF;~

NEl(T

RRZ

ADD
BNDE
BNDE

NElCT
TICB
CTR

TICB RSII

RH:=UBA:=(BASE + XCI +/- DSPL, READ;
SP3B:=UBB:=S + SM
F2:'XC(15); SPIB:=ADDR + 32K
(0118)
SPOA: -DB, EPOP;
SKIP IF NOT (ADDR >. DL), TICB CAUSES CTR
TO GET %17 (CODE FOR OPERAND)
JSB IF SPLIT BANKS;
CTR:=IF ADDR>SM AND S>=ADDR AND
NOT (FSS AND (DB REL ADDR OR TFF)) THEN
(S-ADDR) ELSE CODE FOR OPERAND,
SKIP IF S > = ADDR
JSB IF NOT (DL <= ADDR <= S) AND NOT FSS
AND (DB >= DL) AND (Z >= DB)
(JSB IF ((DL > ADDR) OR (ADDR > S)) AND
SPLIT STACK)

~~~:(~~n=t~FP6YT~K6~ ~bR~OhR~¥~~EBX~6~,

SKIP IF NOT RIGHT BYTE
MERGE BYTES, WRITE; UBB;=ADDR + 32K, NEXT
UBA.(0:8):=BYTE IN (S);
UBB:·RIGHT BYTE OF WORD AT MEMORY LOCATION
MERGE BYTES, WRITE; NEXT
READ ADDR + 32K;
BOUNDS CHECK (ADDR + 32K) >= DL, TICB SLOWS
DOWN RSB (WILL ALWAYS BE FALSE)

JS~o~~~sS~~!~~9si~~Oa~~~~ g¥~e:!fi~o~d~;;>

SM and S >. addr and not (FSS and DB-reI
addr) then (S-addr) else code for NOP,
medium RSB

PAGE 84
RECORD
NO

3900
3901
3902
3903
3'104
3905
3906
3907
3908
3'l09
3910
3911
3912
3913
3915
3917
3918
3920
3921
3922
39;'4
392~

3'ln

C S

ADDR

---** •.

3932

39J4

393~

3936
3938

.*.

SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
03AC
03AD

SBIS SR
SBID UBA

03AE

UBA

03AF

SM
ADD
DSPL ADSB
SM

CAD

DB

ADD

UBA

DB

ADD

RH

ROD

SP3B UBB

SUB

CTR

TICB CRRY

JS8S SI32

NCRY

ADD

F2

03B9

03BA

SI32

RLZ

BNDE

TICB

NF 1

RA

03B7

CTR

HBF2

DL

03B8

BNDE

STFF NCRY

RH

LSR

JSBC SBII

ADD

UBA

ClFl

SM

RA

UBB

SUB

REGN CSR

SPOA DL

SP3B

SUB

XC

03B6

ADD
ADD

DL

UBB

S8Il

SM

DB

0382
0383

SR

UBA

:nB!

0385

39GO

9:26 AM

*._

NFSS

REGN ADD

3941
3942
3943

39';9

SPOA ROD

xc

03BO

0364

39~6
39~ 7

10/ 2/86
COMMENT

INSTR-STB(DB+):1110 0100 XXXX,SR a l,DSPL-8,DB,INDR,ENTRY'SBID
INSTR'STB(DB+):1110 1100 XXXX,SR=1,DSPL'8,DB,X.INDR,ENTRY=SBID
INSTR'STB(Q+) 1110 0101 OXXX,SR=1,DSPL-7,Q,INDR,ENTRY=SBID
INSTR=STB(Q+).1110 1101 OXXX,SR=1,DSPL=7,Q,X,INDR,ENTRY=SBID
INSTR=STB(Q-).11l0 0101 10XX,SR=1.DSPL-6,Q.INDR,F2,ENTRY=SBID
INSTR=STB(Q-) 1110 1101 10XX,SR=1,DSPL=6,Q,X,INDR,F2,ENTRY=SBID
INSTR-ST6(S-) 1110 0101 l1XX,SR=1,DSPL-6,SM.INDR,F2,ENTRY=SBIS
INSTR=STB(S-) 1110 1101 llXX,SR=1,DSPL=6.SM,X,INDR,F2,ENTRY=SBIS

39J9

3945
3946
3948
3949
3951
3952
39';4

-._*._.

~

39~R

3<);:'1
3911

-.*

STORE BYTE Instruction
-* •• ALU A *iII-':******** -* ••••
ALU B *** ••••••••
LABL RRfG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
_ . III III * III * 111* III * *_ * * III * *.* *. * III * III,. III III III III *
III * **" III III ** * .. * * •• *.*. * III III .. 1Il_* • • __ *
STB' Indirect, DB, Q and S relative
III 111111 • • III III III: 'ill III" * _. *,.. * * *
III * *"111" III". * III III ** __ 111 • • _ III III . _ . III" _ • • _ . . . . . . . **_ III. *.**** III III III

CF 1

NEXT

JSB
REGN ADD
UBA

RRZ

UBB

SI32

lOR

REGN ADD

UNC

RRZ

EPOP F2
REGN DATA

LLZ

SPOA DL

BNDE

UBB

DL

ADD
BNDE

8000 RH
UBB

ADDL
ADD

RH

ROD

UBB

SM

CAD

SP3B UBB

BNDE

CTR

TICB RSB

NEXT

UBA

UBB

lOR

REGN DATA
TICB

UBA: 'SR + SM;
~~g~::~~~::~~A;ESM XC) +/- DSPL, READ;
BOUNDS CHECK S>=ADDR. CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPERAND
UBA:=DB, SKIP IF NOT SPLIT BANKS;
STFF, SKIP IF NOT (Z >= DB)
UBA:=(XC + INDIRECT CELL) & LSR(l);
Fl:mNOT SPLIT BANKS AND (Z >= DB) AND
(DB )" DL)
SET F2 IF EFFECTIVE BYTE ADDR IS ODD;
RH=ABSOLUTE WORD ADDR, READ
JSB IF SPLIT STACK;
CTR:=IF ADDR>SM AND S>.ADDR AND NOT SPLIT
BANKS THEN (S-ADDR) ELSE CODE FOR OPERAND
JSB IF NOT (ADDR >= DL);
JSB IF NOT (S >. ADDR)
USA.(0:8):.BYTE OUT OF (S);
USB. =RIGHT BYTE OF WORD AT MEMORY LOCATION,
SKIP IF NOT STORING INTO LEFT BYTE
BOUNDS CHECK INDIRECT CELL >= DL. NEXT;
MERGE BYTES, WRITE

~~~::~~$~ g~tEObF(~6~D AT MEMORY LOCATION
BOUNDS CHECK INDIRECT CELL>=DL, NEXT;
MERGE BYTES, WRITE
, UBB:=32K + ADDR
BOUNDS CHECK ADDR >= DL; RH:=ADDR, READ.
TICB TO SLOW DOWN RSB (ALWAYS FALSE)
BOUNDS CHECK S>=ADDR. eTR=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADR) THEN
(S-ADOR) ELSE CODE FOR NOP. MEDIUM RSB

PAGE 85
RECORD
NO
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3982
3984
3986
3988
3990
3992
3994
3996
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4012
4014
4016
4018
4020
4022

C s.
ADDR

IABZ and DABZ INSTRUCTIONS
JliIll"""**"*III.JII

ALU A

*111 • • 111111111* ......

lABl RREG SREG FUNC SFNC STOR SPSK

lIt'III****** ••• ** ALU B .**JllJII'IIIJllJII*IIrIll .... JII.
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9 26 AM

COMMENT

J~:mf3}~or:~9t~=S!~~~!i:~sD;~~essF~h!S5i=~I;~I:!e~hr:Ur~e15
value of bit 10 in the instruction. Instructions IABZ and
DABZ require an SR preadjust of one.

•
JlllJllJII • •

: !II

JII#l******* ..... IItIll •• JII*** •••• JlrJ!lJII . . . . . iclllIll:Ifl:JII.IIIIII***.*.III**1t* •• ****111111111**111111111.

IABZ instruction, (Increment A. branch if zero)
IABZ IS
the entry point for the direct case, and lAB I is the entry
III; : : : * '" '" 111 111 III III *!It ... III. III III *1iI*JiI III fl III '" III • • III III III 111* * III III '" 111:

1 1 *.~~!~! III!~! III!~: I I !~~! !:~!

SLUT
SLUT
SLUT
SLUT
03BB
03BC
03BD
03BE
03BF
03CO
03Cl
03C2
03C3

INSTR=IABZ:O 001 000 111 OX,SR=1,DSPL=5,P,ENTRY~IABZ
INSTR=IABZ:O 001 100 111 OX,SR=1,DSPL=5,P,INDR,[NTRY=IABI
INSTR=IABZ.O 001 000 III 1X.SR=I,DSPL=5,P,F2,ENTRY=IABZ
INSTR=IABZ:O 001 100 III lX,SR'l,DSPL-5,P INDR,F2,ENTRY=IABI
,]SBI IABC
IABZ RA
NZRO
ADD
CF2
UBB DSPl ,~DSB
RONP
JSB DABI
UNC
IABC RA
'INC
RA
UNC
CCO
JSZ NEXT
IABI UBA DSPL ,~DSB
RH
ROP
RA
INC
CF2 ZERO
UBA PB
SUB
CTFI
JSBI IABC SPIB
UNC
IAII RH
OPA ,~DD
RONP PL
RH
UBNE
UBA PB
UBNE
Fl
PL
UBA UBNE
NF 1
,]SZ BNDV
UNC
SREG JSB DABC
UNC
RA
SPIB I~DSB
RA
UNC
CCO
JSZ NEXT
III III III III III • • Jill III * III 'II ,.. !It III ~1iI III . . . '" " 'Ill * 111 Jill III * .. * III .... ,.. III III JII 111 III III .. III lie III
111 III III * * 111 111 !It * :II '" III III III III III III !It .. 1ft III ,.. * * III 111
DABZ 1nstr~ction, (Decrement A, branch if zero)
DABZ is
the entry point for the direct case, and DABI is the entry

JSB IF (S)+l()O; UBB:=P BEFORE INCREMENTING
UBA:-TARGET P, READ INTO NIR: JSB
(S):=(S) + 1, CCO; NEXT
RH =INDIRECT ADDR, READ; SKIP IF (S)+1=0
Fl:=O IF BNDV; JSB IF NOT BRANCH, SPIB =1
UBA:=TARGET P, READ INTO NIR. BOUNDS CHECK
BOUNDS CHECK TARGET P, SKIP IF NOT BNBV;
BNDV IF NOT Fl; P:=TARGET P. JSB
(S):=(S) +/- I, CCO; NEXT

111:

•• **.~~!~!*!~!*!~~*!~~!!:~!*~=~~~** •• *.III.""* •• ~~~~~~~~~~.~.~* •. ***.**:
SLUT
SLUT
SLUT
SLUT
03C4
03C5
03C6
03C7
03C8
03C9
03CA

INSTR·DABZ·O
INSTR=DABZ'O
INSTR=DABZ:O
INSTR=DABZ:O

001
001
001
001

010
110
010
110

111
111
III
III

DABZ RA
UBB
DABI UBA

']SBC DABC
DSPl ,~DSB
PB
UBNE

DARC RA
DABI UBA
UBA

CAD
RA
DSPL I~DSB
RH
PB
.JSBS IAIl

,~DD

OX,SR I.DSPL=5,P,ENTRY~DABZ
OX,SR 1,DSPL=5,P,INDR,ENTRY=DABI
lX,SR I,DSPL=5,P,F2,ENTRY=DABZ
lX,SR 1,DSPL=5,P,F2,INDR,ENTRYaDABI
NZRO
RONP
F2
RSB
CCO
ROP
CTF 1

PL
RA

ADD
SF2
ADD
UBA UBNE
SREG ADD
JSZ NEXT
CAD
SF2
JSBI DABC SPIB

UNC
ZERO
UNC

JSB IF (S)-l()O; UBB:=P BEFORE INCREMENTING
UBA:*TARGET P, READ INTO NIR
SKIP IF FROM IABZ; BOUNDS CHECK TARGET P
RSB IF IABZ; P:=TARGET P AFTER BOUNDS CHECK
( S ) : = ( S ) -1, CCO; NE XT
RH.=INDIRECT ADDR. READ; SKIP IF (S)-1=0
Fl:=O IF BNDV; JSB IF NOT BRANCH. SPIB =1

PAGE 86
RECORD
NO
4025
4026
4027
4028
4029
4030
403 :
4032
4033
40l-1
4035
41)36
4038
4040
4042
4044

IXBZ and DXBZ INSTRUCTIONS

C S
ADDR

ALU A 1It.* ••• *****

*****-***.*** AlU B ******111*******

LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

••

",,.Jlllilflt • • • •

926 AM

*1II*1II**_**********._*** ••••• IIIt****_._** __ .IiII"'**************_.*JllJfI*****.**
IXBZ instruction, [Increment X, branch if zero)
IXBZ is
the entry point for the direct case, and IXBI is the entry
"11."'.

* llIe~!~!*!~ r.!~: *!~~!~:~!. ~ ~:: * * *. III **. 111** * •• III * III * III"

HUT
SLUT
SLUT
$lUT

OJCB
03CC
03CO
03CE
03CF

.

INSTR,IXBZ
INSTR=IXBZ
INSTR=IXBZ
INSTR = IXBZ

IXBZ X
UBB
IXBC X
IXBI X
UBB

:0
.0
.0
.0

001
001
001
001

001
101
001
101

010
010
010
010

JSBI IXBC
DSPL ADSB
INC
JSBI IXBC
DSPL ADSB
SPOA

JIll • •

* ** * * III * ..

111: ..

*_ * *

OX,DSPL=5,P,ENTRY=IXBZ
OX,DSPL=5,P,INDR,ENTRY=IXBI
lX,DSPL=5,P,F2,ENTRY=IXBZ
lX.DSPL=5,P,F2,INDR,ENTRY=IXBI
NZRO
RONP
CCO
NZRO
ROP

ADD
CF2
JSB DXBl
JSZ
NEXT
ADD
JSBI DXIl SPIB

40a6

4047
4048
4049
4050
4051
4052
4053
40<,4
4055
4056
4057
4058
4060
4062
4064
4066
4068
4070
4072
4074
4076
4078

.

10/ 2/86
COMMENT

UNC
UNC
UNC

.

JSB IF X+1 ( ) O' UBB:=P BEFORE INCREMENTING
UBA:=TARGET P, READ; JSB
X:=X+1, CCO; JSB TO WAIT ONE CLOCK FOR NEXT
JSB IF X+l ( ) 0; UBB:·P BEFORE INCREMENTING
SPOA;=INDIRECT ADDR, READ; SPIB:=l, JSB

*1II*************************III********I111******** •• *****1fI1ft.".JII:******I11:._.*
OXBl instrucllon, [Decrement X, branch i f zero)
DXBZ is
the entry point for the dlrect case, and DXBI is the entry

:1II**.~~!~!*!~r*!~:*!~~!~:~!*;~:;III**III •• *****.**III* •• III*** **JlttJI***tJI**tJI****
SLUT
SLUT
SLUT
SLUT
03DO
03Dl
0302
0303
0304
0305
03D6
0307
0308
03D9
03DA

INSTR=DXBl :0
INSTR=DXBZ 0
INSTR=DXBZ' 0
1NSTR=DXBZ' 0

DXBl X
UBB
DXB1 UBA

001
001
001
001

001
101
001
101

011
011
011
011

OX,DSPL=5,P,ENTRY-DXBZ
OX,DSPL=5,P,INDR,ENTRY=DXBI
lX,DSPL=5,P,F2,ENTRY-DXBl
lX,DSPL=5,P,F2,INDR,ENTRY=DXBI

NZRO
JSBC DXBC
DSPL ADSB
RONP
PB
UBNE
F2
ADD
RSB
DXBC X
CAD
CCO
DXBI X
JSBC DXBC
NZRO
UBB DSPL ADSB
SPOA RaP
DX11 UBA
PB
UBNE
SPOA OPA
ADD
RONP
PB
UBA
UBNE
SPIB ADD
X
CCO

PL

Pl
PL

ADO
SF2
ADO
UBA UBNE
SREG ADD
JSZ
NEXT
ADD
CAD
SPIB
UBA
UBNE
ADD
UBA
UBNE
SREG JSZ
NEXT P

UNC

UNC

JSB IF X-I <> 0; UBB:-P BEFORE INCREMENTING
UBA: =TARGET P, READ
SKIP IF NOT FROM IABZ, BOUNDS CHECK TARGET P
RSB IF FROM IABZ; P:-TARGET P
X:-X-l, CCO; JSB TO WAIT ONE CLOCK FOR NEXT
JSB IF X-I <> O· UBB: = P BEFORE INCREMENTING
SPOA:=INDIRECT ADDR, READ; SPIB: =-1
BOUNDS CHECK INDIRECT CELL ADDRESS
UBA: =TARGET P, READ INTO NIR
BOUNDS CHECK TARGET P
X:=X +/- I, CCO; P: =TARGET P, JSB

PAGE 87
RECORD
NO
4081
4082
4083
4084
4085
4086
4087
4088
4089
4091
4093
4095
4097
4099
4101
4103
4105
4107

C . s.

ADDR

PUSH TOS ROUTINES FOR LOAD INSTRUCTIONS
III III I1r III" III: III II III * III
ALU A III III III III * III III #1:" III III
l1li:"" * * III III III #I: III III "' .. III
ALU B * 'II III .... III III III" '111:."'1111 III
LABL RREG SREGi FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC St(IP
'1 * III !It 'III 111 III III * * * III III * III III III ..... III III III .. III III III III * III * * III III III: III .. * It \II: .. * * III III III #I * III 'I< III III III '" * * III '"
#I III
III III III "" III II III:
LOAD instructions use special TOS push routines because
1( '"

II(

"
:: III

03DB
03DC
0300
03DE
03DF
03EO
03E!
03E2
03E3
03E4

10/ 2/86

9:26 AM

COMMENT

111:

1. STOV 1s handled differently ( .ST02 )
2. tJlust re-read memory in case reference was (S-6) and
•
* III III ill #I III III III III III: ~~ ! ~¥! ~ ! ~ ~ ~ III: ':~ ! ~ III ~!! * III III '" III III 'III 111 III III III III: lit III .. III III III ..... * III III III * III 111 III Ie * III fr :

LPSH
I.DPH
I.BPH

.! '"

SM
QDWN
RH
SM
QDWN
QDWN
RH
SM
QDWN
RH

INC
ADD
ADD
INC
ADD
ADD
ADD
INC
ADD
ADD

!

WRS
DATA
ROD
WRS
DATA
DATA
ROD
WRS
DATA
ROBD

111:

SM
INC
SM
l
SREG JSZC ST02
ADD
SP3B
ADD
UBA INC
SM
SREG JSZC ST02
Z
ADD
SP3B
INC
SM
SM
SREG JSlC ST02
Z
SP3B
ADD

DCSR
DCSR
DCSR
DCSR

NEG
RSB
NE"G
RSB
NEG
RSB

Write at (SM + 1); SM :. SM + I. DCSR
WRITE QDWN; STOV IF NEW SM > Z & WITHIN
UBA:mADDR, REREAD; UBB: -S. RSB
WRITE AT (SM + 1); DCSR
WRITE QDWN; STOV IF NEW SM > Z & WITHIN
WRITE QDWN; STOV IF NEW SM > Z & WITHIN
UBA: =ADDR, REREAD; UBB:=S. RSB
~~ii~ ~6w~~MS~o6)tFS~EWS~M+>li &DCSR
WITHIN
UBA:=ADDR, REREAD; UBB:=S. RSB

32K
32K
32K
32K

PAGE 88
REr.ORD
NO

4110
4111
4112
4113
4 t 14
4115
4116
41 t 8
4119
41,' 1
41;:2
4123
4124

r:.s
ADDR

•

03E5

III

* .. 111:~:!

III

~ r~;: ~ ~ . ~ !~~ ~ * ! ~~ ~~ l. ! ~ ~! ~~; !!~ ~ * * ..... ,. * * * * ....

SCLK

CIR

03E6

101 2186

111: 111:

9:26 AM

COMMENT

* ........ * * * *" * *
III

JSB

SMSK

EVEN

JSZ

NEXT

UNC

JSZ
RA

NPRV

TRP6 BKX3

ADO

XR20 EPOP

Tr~~st~u~rlo~~iv~k~3ed=e65e jump if SMSK
Jump for NEXT; Process clock = (S), pop

_.III*******.*************** •• "" •• ***IIIJf1:****.III.**********_* ••••••••• *.* ••

*****~::~*~~~;::~*~!~~~*!~~~~l*!~:!~~~!!~~ •• ********** ********_***111**

4125

SLUT INSTR.RCLK/RMSK:O 011 000 001 01x xxx, ENTRY.RCLK

4128

03E7

4132

03E8
03E9

4130

******* •• **111* ALU B .1lI*1II._.*t ••• *.
RREG SREG FUNC SFNC STOR SPEC SKIP
111111111: ••• **111*.111:111:****_******111***111**111***:11** ••••• **** •• ********* •• ****_*_**
JIII: . . . .

SLUT INSTR=SCLK/SMSK:O 011000 001 OOw xxx, SR-l, ENTRYzSCLK

4126

4127

Inst ruc t ions
*****1t1ll: ALU A *********111:.

Cloc~

LABL RREG SREG FUNC SFNC STOR SPSK

RCLK

CIR

ADD
JSB
JSZ

RMSK
NEXT

EVEN
UNC

JSZ
ADD
XR20 ADD

PSHM BKX3
RH

SR7
EPSH

; Empty RG if SR = 7, BKX3 :z 0
Jump if RMSK instruction
Jump for NE XT; New (S) : = pro c e sse 1 k, pus h

PAGE 89
RECORD
NO
4135
4136
4137
4138
4139
4140
4141
4143
4144
4145
4146
4147
4148
4149
4150
4152
4153
4154
41 ',~
41 e,6
41'17
415f.
4159
4161

C.S

ADDR

03EA

STBX

RB

ADD

CCA

JSZ

NEXT

UNC

:-

(S-1),

sel CCA; Jump for NEXT

)I(

)I(

1111:

!LUT INSTR.ADAX:O 000 011 110 xxx xxx, ENTRY=ADAX, SR-1
03EB

ADAX X

* '"

lit "

'" '" III

RA

ADD

JSL

CCO

* '" * * ...... * " III III '" III III * III .. * * III III * III: JIr III: JII * III III '" '" "'- III * III: III '" * III III '" * ..
lit

JII

[tEL
'10' "

UNC

* '" III '" *

jIr

III

* * * * III *

: = X + (S I, set CCO:
Jump 10 delete (S) and for NEXT

JII III III

******~~~*~.!~_~*i~~~~l*:~~!r~;!!~~*~~~~~**~**.*~**.** *******.** •• * ••

!LUT INSTR=ADXA:O 000 011 111 xxx xxx, ENTRY=ADXA, SR-!
O:JEC

*
·:.~I11* . ~~:~*~lIt~~!~*~*l~~~~l*!~~!!~~!!~~****I/I***~*******
*****111******.*:
ADXA X
11(

III III

* .. * III

RA

III

'III:

III

.011

ADD

III it JIc 'II III 'Ie ..

RA

CCO

* 'It. 'III * III III .. III * It!: .. It!: 111 .. *

JSZ

III III ill III

* 111 It!: III .. III

l1li: l1li: :jj ..

NEXT

1/1 • • III 111 ...

UNC

(S) :s X + (SI, set CCO; Jump for NEXT

* It!: * 111 • • lit 'III 111 111 III lit IlIr .. III

!LIJT INSTR=LDXB:O 000 100 010 xxx xxx, ENTRY-LDXB, SRz2
03ED

·

LDXB X

ADD

RB

CCA

JSZ

NEXT

UNC

(S-l) :- X, sei CCA; Jump for NEXT

* .... 1/1 * * * * III * • III * • ,II * III III * * * III III • * III III * • * III * III * III * III III: * !II: * III • lit III III III * '" III III 11 11 11 III III III * III III .... III "Ie III * it III III:
Store A into X (STAX) Ins! rue! ion
•
III
III III III * III: * .. * • III III ,_ III 111
111 lit * III It. 111 * * III * .. * lit lit III III III: * III • lit III " III III * III III III III III ..... III .. III lit lit * III III III III III III III
III * If.

·

)I( )I(

II(

)I(

!LUT INSTR-STAK:O 000 100 011 xxx xxx, ENTRY=STAX, SR-l

03EE

STAX

4180

4189

.*.

l1li:

4172

4187

9:26 AM

* * '" * * III III .... * * * * III * III .. III * * * * III * * * III III * III * * * * .. III * III * III * * * * * * * .... III III ~! III .. III * III III III III III * III * * 'II: '" III
•
Add A to X (ADAXI Instruction
•
III
* * .. * • III * '" 1ft III III * * * '" III III III * .. III #I: * . . III: III #I: .. !II 'If. ... JIr III II: * * * III: III III * . . III '" * * * * '" IIdr III III III * " * * * lit .. III III III: * *

416~

4181
4182
4183
4184
4185
4186

10/ 2/86
COMMENT

!LUT INSTR=STBK:O 000 010 110 xxx xxx, ENTRY=STBX, SR=2

4163
4164

4173
4174
4175
4116
4177
4179

111 • • • • • • • • • * ••
ALU B •• *.It •• * ••• _••
RRI:G SREG FUNC SFNC STOR SPEC SKIP

* III * * '" It III • III 11: III * III .. III '" III III til III • * * * * * III III 'til '" * * III * III III * III it III * * * * • !It III #1 * * * .. III III III * #I: * * III '" III III III III
Store B into X (STBXI Instruction
•
* * '" III .111111 • • III .*.* #11* III III: III **"'. * * * ** * III: III 'It.
III III III JllJII * * III ... JlllII * III III *11111* III III III *JllJlI III *. III * * * *. *

It: III .. III

•

4162

4166
4167
4168
4170
4171

Index Instructions
~**********
ALU A * ••••••••• LABL RREG SREG FUNC SFNC STOR SPSK

III III

•

·

RA

ADD

CCA

JSL

DEL

UNC

: e
(S I, 5 e t eCA;
Jump to delete IS) and for NEXT

* * III III .. III III .. * * * * ,_ * III III III '" III • * III III III * * 'lII III III .. III III III III * * * * III 111 * " III III * III III * III III III Ie III 1\ III 111 • III III * III III til: * III ..
Load X i~lo A {LDXAI Instruction
•
* '" * III III III III .... '" III J_ 111 * III III * III * III * III III .. III III III III * III 11: !II: III * * * * * * III ~ .. III .. III .. III III * IlIr 111 III .... III III 111 • • Ie * III III .. III III
}IIr

III III til:

SLUT INSTR=LDXA:O 000 100 100 xxx xxx, ENTRY=LDXA

03EF

03FO

LlDXA X

ADD
ADD

RH

CCA
EPSH

JSZ
JSZ

PSHM
NEXT

SR7
UNG

New (S) : - X, ~ e t CCA; Emp 1 y RG if SR = 7
Push; Jump for NEXT

PAGE 90
RECORD
NO
4192
4193
4194
4195
4196
4197
4198
4200
4201
4202
4203
4;>04
4205
4206
4207

C.S
ADDR

Index Instructions

* • .-.******. ALU A ••• * •••• * ••
LABL RREG SREG FUNC SFNC STaR SPSK

******_**_.l1li111: ALU B ***111 ••• ***111***
RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

111111'***************.********************_**_***************_*_***111*****

: * .. * .. III ~~~ III ~ .. ! ~ III ~ * i ~~~~ 1*! ~ ~ ! ~~;! ! ~ ~ .. *
~LUT

03F 1

.

INSTR-ADBX 0 000 111 110

ADBX X

RB

*)11 III ... III

xxx xxx.
CCO

ADD

* III III * III .. III * III III III iii " * III" * * * .... * *"!If III *

ENTRY-ADBX.
JSZ

SR.2
UNC

NEXT

:=

[XI + [S-ll. set CCO; Jump for NEXT

_*****_*********************_****111111**************1'1'***********_*******

JII

*

1/1

III III ..

~~ ~ ~ !~ ~ 1~~ ~~ 1* ! ~ ~ ! ~ ~; ! ! ~ ~ .... *
..

III

III

..

SLUT INSTR-ADXB:O 000 111 111
03F2

ADXB

RB

ADD

RB

xxx xxx.
CCO

III ..

* * .. ,. * .. III * III III .. * * III * III III III •
!II

ENTRY-ADXB.
JSZ

III .... III

* * * .. :

SR·2
NEXT

UNC

(S-11

:" X + (S-ll.

set

CCO;

Jump

for

NEXT

PAGE 91
RECORD
NO

ADDR

4210

4211
4212
4213
4214
4215
4216
4218
421!l

Zero Inst ructions

C.S.

JllJII1It1ll1ll1ll*JIIIIJII*

ALU A

*****111111."**

·

~LUT

INSTR=ZROX:O 000 000 011 xxx xxx, ENTRY=ZROX, SR=O

fROX
ADD
* lit * III III III III III III III JII III "I JIll III lit III III III III III: JII: III III III JIr * !III 111 * JII 111 'III: III !Ie III: III: III lit III III ~ 11:

4,~22

!LUT INSTR-ZERO:O 000 000 110
03F4
03F5

4230
4231
4232
4233
4234
4235
4236
4238
4239
4241
4242
4243
4244
4245
4246
4247
4248

)II:

UNC
JSZ NEXT
* * * * III .. * III: * * * III: * 1\ * 'II III III lit III :11: JIc

ZERO

~ER 1

.. Jf!;

fie III:

•

··

XKX

* #I: "

III III

* ,. 11 JII 11 III 111111111 III '" til III

}I[

III III III

}I[ }I[

III III III III

SLUT INSTR=DZRO:O 000 000 111 xxx

03F6

JSZ

DZRO

PSHM

}I[

III III

}I[

XXX,

}I[ •

:

I(.

III: .. R III III 'It III til 1II}1[ III

}I[

JSZ

ZERI
UNC
ADD
III III III: III III lit III * III 1II}1[ III III III III III • III III III III III. III III III it lit III It}l[ III III

* III III: III III III lit III .... III III
* * III ~: r~ ~ ! ~;~~~ 1'" ! ~:! ~ ~~ !!~ ~ "'}I[ III III III 111111 III III III III III iC III III *
fi:

}I[

#I

}I[

ZROB

'"

ADD

RB

'I[:

}I[

III 'It III III til

}I[

SIH

UNC

l1li

; JSB to push 1 TOS if SR = 7
New (S) :- 0, push; JSB for NEXT

III III l1li IIr 11: __ III

* III

}I[ }I[

'* III

•

II '"

ENTRY=DZRO, SR=O

SRG5

!LUT INSTR.ZROB:O 000 100 001 xxx xxx,
03F8

III III III III

PSM2

SI~7

RG

JSB

03F7

0, JSB for NEXT

xxx, ENTRY=ZERO, SR=O

ADD
JSZ PSHM
RH
EPSH
JSZ NEXT
ADD
* III * III #I * * III 111 " ate * III #I III III * III " " * III III: * * * III lit III lit III III III III * #If #I JIIIlI * III A * III * * * 111 * " " JII JII JII JII "'III
DZRO (Puuh double zero) Instruction

III 11: III III III'"

:~

Iff JII

" * 111 JII '" ;~ ~~ * i ~~;; ~ *!: r~ l III! ~:! ! ~~! ! ~ ~ 11 * 111111111 IIr Itr III '" ~ JII * ft * III * * JII III #I * * * til * III III III !Ie 111111 til III.

4,:21

9:26 AM

COMMENT

l1li:

/Ie

42;>0

4223
4224
4225
4227
4229

10/ 2/86
***1ItJII*JllJllIIIJllIllIIt**

JIll

111:

03F3

ALU B

JllJllIII • • III*III:JIIIlIJII**

I.ABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SI(I P
III * III III it III: III III: III It III JII III 11: III III * * lit III III III III
It. III III: IIr 111111
III III III: III III III III " It 'til til 'It. 11: III III III III * III lit III: III: III l1li: Ie III III IIr lit
111111: III lit '" ." III: JII:
•
ZROX (Z~ro X) Instruction
•
II 111 III III lit '" III: III: '" III: III '#I: 11 II: III: III III III III it * III III: III IIr it III: JfI III JII 'Ie III * * * III: JII * III III III Jill 11 III III III JllIIIIII I« lit III III III * JIll ", III * * IIr III III " #I: A 111111: 'It

}I[

EPSH

III III III III III 111111111111 III III III III III

*

}I[

JSB to push 2 TOS if SR ~ 7 else push 1 TOS
if SR = 6
Jump to finish; New (S) := 0, push 1 once

III III III

III: III III '" III III III '" III '" '" '" III '" '" III III III '" III III III :

ENTRY~ZROB,

JSZ

SR-2
NEXT

UINC

(S-1 )

0;

Jump to NEXT

PAGE 92
RECORD
NO
4251
4252
4253
4254
4255
4256
4257

4259

4260
4261
4262
4263
4264
4265
4266
4267

4269

C.S.

ADDR

Boolean Instructions
****.****** ALU A 111.*._._* •••
LABL RREG SREG FUNC SFNC STOR SPSK
III III

111*111111_.-_**-*-

ALU B

_t. ___ ••. _. __ •

RREG SREG FUNC SFNC STOR SPEC SKIP

* III ~~ III ; * ~ ~?

!~ ~ ! * ~~ !~ : ! ~ ~ ~ !!~ ~ *
III

III III

* * III * * * III III * * * * * III * * * * * * * * * * * * * * * * III * * :

$lUT INSTR-OR:O 000 110 101 xxx xxx, ENTRY-OR, SR-2
03f9

OR

RB

RA

lOR

RB

CCA

JSL

DEL

UNC

: * * * * ~~~ III: III ~~~!;:! III ~:;; ~: !~: * ~~ *

! ~:! ~ ~~ !!~ ~ *

III

* * * * * * * * * III * * * * * .. * III * .. III III

*:

!LUT INSTR=XOR-O 000 110 110 xxx xxx, ENTRY-XOR, SR-2
03fA

XOR

RB

RA

XOR

RB

CCA

JSL

DEL

UNC

4273
4274
4275

!LUT INSTRmAND:O 000 110 111 xxx xxx, ENTRY-AND, SR-2

4272

4277

:

03FB

4280

* * * ~~~ *; * ~~'!~ =! * ~~~ *!~: l !~~! !~~ . * * * .. * JII * * * * * * * * * I I ** ** * * * *)Ie * * * * I I * if JII:

AND

RB

RA

AND

RB

CCA

JSl

DEL

UNC

(S-l) :- (S-l) AND (S), CCA,
Jump to delete (S) and for NEXT

till

l1li

•
NOT - One' 5 Complement ins true tion
***tIII*****III**i*********III*III*_********IIII11I11.III***III**_***************111******

4282

4283

4284
4285
4287
4289
4291

!It

(S-1) :- (S-1) XOR (S), CCA;
Jump to delete (S) and for NEXT

* * * * * **** * * * * * * * * * ** *** **** III III III: III: III .... * .. * * * * ** * * * * * * * * * * * * * * * *. * * ** * * *.

4281

4286

(S-l) :- (S-l) lOR (S), eCA;
Jump to delete (S) and for NEXT

******************** •• ****.******************** •• ************111.*****-

_._*-* ••• _--_._*************.*******.****111:**********-***************** __ .111. __ 111. ___ • __

4279

9:26 AM

* * .. lit. III"" * III * * * III • • _ III III III III. III III * 111* * III *. II: III" * * * __ * ** * * * * *. * III * III: * * * * * * * * .. * * * III * *

: III lit

4270
4271

4276

10/ 2/86
COMMENT

!lUT INSTR-NOT 0 000 110 100 xxx xxx, ENTRYaNOT, SR-1
03fC
03fD
03FE

NOT

RA

CAD
ADD
ADO

RA

CCA

JSZ
ADO
ADO

NEXT

UNC

(2555)
(2555)

PAGE 93
RE(;ORD
NO

c.s

ADDR

4294
4295
4296
4297
4298
4299
4300

MOVE BYTES Ins I ruc I ion
~~~~~~~~.**

4115

4318
4340
4342
4143

434')

4146

II-III?,

/I'l4'!

4:1',1
4 ':',2

IS

propogated

:

SLUT INSTR=MVB(PB+):O 010 000 000 10,P,SR=3,ENTRY=MVBP
SLUT INSTR=MVB(DB+):O 010 000 000 ll,DB,SR=3,ENTRY=MVBD

4113

4rJ7

that the first byte of the source

til

4311

4327
4329
4330
41:)2
4133

~hr~~eh~~~h

* '1 III III * III '/( III III III ~ III * III 1/1 III .. III * * * It III: * 111 III lit III: III * III III * III III III III III III III III III lie * III III III III III: III III III III 111 III '" It III !II: III III III * * III III * II

4308
4309
4310

4324

9:26 AM

~~~~i~~u~;~e:n~r!a~~:~ea~~en~~u~~!ha~~e~a~~e~d~~e ~~:rl~~ped

:

4307

4326

10/ 2/86

************"'*

ing addresses)
The move may also be aligned, (the source
and larget pOinters are both even or both odd), or skewed,

4306

4322

ALU B

l~~r~:~!~~la~~~:~se~~~ ~~V!nm~heb;e!~r~~edr~~~~i~n~i(~~~~~~s_

4303
4304
4305

4318
4320

*************

RREG SREG FUNC SFNC STOR SPEC SKI P COMMENT

~y~~ ;il~h~ ~~l~{ie~i~~u~~; ~~~r~~~in~MOV~v~bl!;)ih!n!~t~~­
~~~~! ~~~ ?:or~~:~t~! ~~~!~si~n!hiC~h:r~o~!em~~U~a~!ner~~r

4301

4317

~.~*.*~****

.,*****JII:***********JIr*_****IIw:*****III.*JII:**III.JiI**********IIcIr**1II****I11******lItlll

4302

4314
4315

ALU A

U,BL RREG SREG FUNC SFNC STOR SPSK

%0400
0400

M\lBP

NFSS

0401
0402
0403
0404

RA
RA
UBA

RB
PB

JSZ
CAD
INC
ADD
ADD

0405

UBA
UBA

UBB
PB

ADD
UBNE

RH

PB

UANE
NFSS
JSZ ET03
CAD
SP4A POS
INC
SP4A SF3A

0406
0407
0408
0409
040A

M\lBD

040B

MVBl

RA
RA

ET03
LSR

SP4A POS
SP4A SF 3A
RH

SP2B JSBS DBCC

ROP

RA

SUB

RH

F3A

040D
('J4('JE

RA

ADD

RH

UNC

JSB

MBSR

RA

ZERO
JSL D03G
ADD
SP3B
ADD
BKX4
ANDL
SP2B
ASR
SF4B

PL

UBA

UBNE

PL

UBA

UBNE
JSB MVBl
JSB D03G

RA

DB
ADD
BNKD JSB

HBF2

040C
MilAS

DB
BNKP
0001 RB
UBB SP4A

UNC

RH
RB

RC

ADD

UNe

ZEFIO

SP3B
DSBC BKX4

UNG

SP3B

XOR

LBFS

JSBI MVBA XRO
SP3B

ADD

NFSB
RAB4

JSB TO EMPTY TOS TO 3 IF NOT SPLIT BANKS;
JSB FOR STACK DECREMENT IF BYTE COUNT = 0
SP4A:=BYTE COUNT - 1 IF > 0; SP3B:=DB
SP4A:=BYTE COUNT + 1. SF3A; BKX4:=BNKP
UBA:=WORD PTR; SP2B:-UBB:=SOURCE PTR(15)
RH:=UBA:-ABS SOURCE WORD ADDR, READ;
UBB:=ADJUSTED WORD COUNT, SF4B FOR PB REL
UBA:-ENDING SOURCE WORD ADDR;
BOUNDS CHECK PL >- STARTING WORD ADDR
BOUNDS CHECK ENDING WORD ADDR >- PB:
BOUNDS CHECK PL )- ENDING WORD ADDR
BOUNDS CHECK STARTING WORD ADDR ) = PB; JSB
JSB TO EMPTY TOS TO 3 IF NOT SPLIT BANKS;
JSB FOR STACK DECREMENT IF BYTE COUNT = 0
SP4A:=-l IF )0; SP3B:=DB
SP4A:=+l, SF3A FOR REVERSE MOVE;
BKX4:-S0URCE BANK, JSB TO FORM SOURCE ADDR
F2:-S0URCE PTR(15), CHECK TARGET ADDR;
SP3B: -STARTING SOURCE WORD ADDRESS
RH;--(WORD COUNT) IF REVERSE MOVE;
FSB:-SOURCE AND TARGET ADDRESSES SKEWED
RH:-(WORD COUNT) IF FORWARD MOVE; ALIGNED
XRO:=l, JSB IF ALIGNED MOVE
JSB IF REVERSE SKEWED MOVE; READ SOURCE WORD

PAGE 94
RECORD
NO
4355
4356
4357
4358
4359
4360
4362
4363
4365
4366
4368
4369
4371
4373
4374
4376
4378
4379
4381
4383
4385
4386
4388
4389
4390
4391
4392
4393
4395
4396
4398
4399
4401
4402
4404
4405
4407
4408
4410

4411
4413
4414
4416

C.S.
ADDR

MOVE BYTES Inst ruction
••••••••••• ALU A···········
LABL RREG SREG FUNC SFNC STOR SPSK
SNOWARN

.

** ••••• ** •• *. ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

.

*******************************************************.a •• a.aaaaa.a.

move bytes
skewed forward
• • • t*** ••• *.**_ •• __ .* ____ ••• __ ****_._.*. __ *_a •• a.Attt*.*_

*_a •• ** •••• t

040F

MBSF

OPA

0410
0411
0412
0413
0414
0415

OPA
UBA
BBFC RC
BSFO

0416
0417
0418

UBB
BSF2

0419

~SF3

OPA
XRO
RB

ADD
ADD

LLZ
RLZ

XRO
SP4A

RH
RH

ADD
CAD
JSB

ADD

LRZ
lOR
XRO
JSBC MBBF
JSB BAF4
OPA ADD RLZ SP4A
SP4A lOR
JSB BSFO
SP1B ADD
JSB

BAF3

a_a**a •••• *AA** • • • • __ •••

DATA
ZERO
TEST

RH
RH

F2
UNC

BBFC SP2B

UNC
SP2B
SP3B RAB4
JSBS BSF2 RH
NEG
ADD LRZ
INC
INC

SP3B
RH

LSR
LSR

XRO
OPB

DATA
UNC
ROD

0002 SP2B ADDL
SP2B
SP3B
INC
SP3B RAB4
RA
SP2B JSBS BAF4 RA
ZERO
UNC
RA
SP2B CAD
RA
*.* •• ____ •• *._* ___ ._.**** __ a •• t.tA.I_

_*. __ .__

XRO:-LEFT TARGET BYTE;
RH:-WORD COUNT SKIP IF ODD SOURCE PTR

~~~~w6~68~6u~IG~~ ~~~~C~O~~~~;PTR

~~~8~!681NDL~~~ ¥~U~~ ~6~~~E PTR
XRO:-FIRST WORD. WRITE; SP2B:-1
JSB IF SOURCE AND TARGET PTRS OVERLAP BY ONE
SP3B:-SP3B+1 READ SOURCE WORD
JSB IF INTERRUPT + JSB IF ~WORD COUNT - 1) (0
~:~~·'~881~L~~~Hso~~g~C~YT~TE;

WRIT~ TA~GET

WORD; SP2B:.SP2B+2

~~2DB~~~+ ¥:~gtTS:~'E~' READ SOURCE WORD

P6:·(S) - IBYTES MOVED JSB IF 0
S UNC; (S):" (S) + IBytES MOVED + 1

:•••• :~::*~I!::.~!:Z~!Zy*~~!!::*!~::::!.* •••••• *.* •••• * •••• *.***** •• :
041A
041B
041C
041D
041E
041F
0420
0421
0422

MBBF
UBA
BBFO

RH

BBF 1

SP4A ADD
SP4A lOR
JSB
XRO ADD
SP2B ADD
UBA SUB
SPIB JSB
JSB
XRO ADD

SWAB

NF2

RH

XRO
BAF4

TEST
DATA

LSR
RRZ
BBFl
BBFO
LLZ SP4A

NZRO
ROD
UNC

UBB
RA
RA

ADD
ADD
SP2B REPC
XRO INC

CTR

NF4B

RSB
DCTR CTRO
SP2B DCTR CTRO

SP2B JSBS BAF4 RA
ADD
RA
UBA ADD
CTR
ADD
JSB BAF3 RA

ZERO
NZRO
DCTR

UNC

g¥~::R~~J ~gtl~¥E.BX~~1 SKIP IF EVEN SOURCE
XRO:"~IGHT SOURC~ ~YTE IN BOTH BYTES. JSB;
RSB IF SOURCE WAS PB RELATIVE
~~~:!~p~~~E=~~~TiF WORD COUNT ) 0
WRITE DUPLICATED SOURCE BYTE;
SP2B:-UBB:-SP2B+2 CTR:.CTR-1. CTR.O?
UBA:~NUMBER OF WORDS MOVED~
(Sl:-lS~ - .BYTES MOVED. J B IF 0
UB :- R MAINING WORD COUNT~.(8:8).
SKIP F TBUSA () 0; RESTO E RA
JSB & READ LAST TARGET WORD IF WORD COUNT-O;
CTR:-lWORD COUNT/.(8:8), SKIP IF <> 0
JSB B CK, CTR:-% F IF ~WORD COUNT).(8:8).0
SP4A.(0: ):-SOURCE BYT ; RA:~O. JSB

PAGE 95
RECORD
NO
4419
4420
4421
4422
4423
4425
4426
4428
4429
4431
4432
4434
4436
4437
4439
4441
4442
4444
4446
4448
4449
4451
4452
4453
4454
4455
4456
4458
4459
4461
4462
4464
4465
4467
4468
4470
4471
4473
4474
4476
4477
4479
4481
4483
4484
4486

C.S.
ADDR

MOVE BYTES Inst ruction
Jl!:JIr*****III."'. AlU A JllIIIJlrlilfll*IrIll!lll**
LABL RREG SREG FUNC SFNC STOR SPSK

*****111**111111111.* ALU B 111"'1& ••• 111****_**

RREG SREG FUNC SFNC STOR SPEC SKIP
!lit III III III III 11 III *.111 III #I * III lit "*lII *" . . III III" III: #I !lit * " III III lit .. III * III * JII "* * * III 111111 * * * III
lit. 1"1:111: * * .... 111111 III * ** ** III III

10/ 2/86

9:26 AM

COMMENT

J1i:

:***III~~::*!~l::*~~=~:~*:=::!=:*********JIr************R* ***_***JII******:
0423
0424
0425
0426
0427
0428
0429
042A
042B
042C
0420

MBSR

UBA
BBRC RB
BSRO
UBB
BSR2
BSR3

.

,ADD
,ADD
,ADD
lOR
JSBC
JSB
OPA ADO
SP4A lOR
JSB
SP1B ADD
JSB
OPA
OPA
OPA
XRO
RC

RRZ
LRZ
RLZ

RH
RH

XRO
SP4A

XRO
MBBR
BAR4
LRZ SP4A

DATD
ZERO
TEST
DATD
UNC
ROD
UNC

BSRO
BAR3

ADD
CAD
JSB
INC
SP3B
CAD
XRO JSBS
RH
OPB ADD
0002 SP2B ADDL
SP3B
CAD
RA
SP2B JSB
RA
SP2B INC

LSR RH
NF2
UNC
LSR RH
BORC SP2B
UNC
SP2B
SP3B RAB4
NEG,
BSR2 RH
RLZ
SP2B
SP3B RAB4
BAR4 RA
ZERO
RA

XRO:-LEFT TARGET BYTE'
RH:-WORD COUNTa SKIP iF EVEN SOURCE PTR
8

~~~~wb~6 66u~f ~~ ~ggR~~u~~lE ~TR
~~~B~~o81~DL~~~ ¥~U~~~NB~65~CE PTR
~~g:i~I~~~R~~R~NDW~l~~tTS~~~S-~VERLAP BY ONE
~~~BiFS~~~EARU~~~DJ~~U~~E(~g~g COUNT - 1)<0
~&~A"~88~~L~~~H~o~~g~C~y~~TE;

WRIT~ TA~GE';

WORD' SP2B: =SP2B+2
JSB BACK+ SP3B:-SP3B-l, READ SOURCE WORD
READ LAS TARGET BYTE;
!~~;-~~1e~AI~Y~~~T~gv~VE~S~ 1IF 0

***JllJII*****************************_*****************n**.****** •••••• *

: ...• ~~~~.~~!~:.~!:~~!~W.~~!!~!.!~~~r~~ ••••••••••••• * ••••••••••••••• :
042E
042F
0430
0431
0432
0433
0434
0435
0436
0437
0438

MB;BR
UBA
BE:RO

RH

BEIRI
MVBA RH
$~IARN

SP4A ADD
SP4A lOR
JSB
XRO ADO
SP2B ADO
UBA SUB
SPIB JSB
JSB
XRO ADO
ADO
OPA JSB

SWAB

F2
XRO

BAR4

TEST
OATO

LSR
RRZ
NZRO
BBRl
ROO
BBRO
UNC
RRZ SP4A
LSR SP4A NF3A
MBAR
UNC

RH

ADO
CTR
ADO
SP2B REPC
UBB XRO INC
SP2B
RA
SP2B JSB BAR4 RA
RA
ADO
RA
UBA ADO
CTR
ADD
JSB BAR3 RA
SP3B
ADO
ADO
SP2B

NF4B g~~::~Sb~osggB~i)~r~~8 SKIP IF 000 SOURCE;
RSB:
XRO:-LEFT SOURCE BYTE IN BOTH BYTES;
JSB IF SOURCE WAS PB RELATIVE > 0
OCTR CTRO
~~~: !~p~~~E~~~~T iF WORD COUNT > 0
OCTR CTRO WRITE DUPLICATED SOURCE BYTE;
SP2B:-UBB:=SP2B+2 CTR:-STR-1, CTR~O?
ZERO UBA:~NUMBER OF WORDS MOVED;
(Sl:"IS~ - IBYTES MOVED, JSB IF 0
UB :- R MAINING WORD COUNT~.(8:8),
NZRO ~~~P& ~EIgu~~S~>T~~GE~E~6~OEI~AWORO COUNTaO;
CTR:-1WORO COUNTI.(8:81. SKIP IF () 0
OCTR
JSB B CK~ CTR:-" F IF (WORD COUNT). (8:8)-0
UNC:
~~:~;!~6R~:C~~~~~ES~I~EiFR~6TORE~~~SE MOVE
RAB4
READ SOURCE WORD INTO OPA AND OPB
UBA:-TARGET WORD; SP2B:-0

PAGE 96
RECORD
NO
4488
4489
4490
4491
4492
4494
4495
4497
4499
4501
4503
4505
4507
4508
4510
4511
4513
4514
4516
4517
4519
4520
4522
4524
4525
4526
4527
4528
4529
4531
4532
4534
4".31>
453&
454C
45d2
4iU

4<;45
4547
4548
4550
4551
4553
4554
4556
4557
4559

4561

C.S
ADDR

MOVE BYTES Inst ruction

****.****** ALU A ....... _. __ •

LABL RREG SREG FUNC SFNC STOR SPSK

.****IIt ••• *_._ AlU B *111***********.
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

Cot+tENT

*-***._.111************* . . ***111.**************************._.* __ ** ___ ••• _

: * lit III lit ~~ ~ ~ lit ~
0439
043A
043B
043C
0430
043E
043F

UBA

ADD

LLZ
RRZ

BAFO

OPA ADO
SP4A lOR
JSB
OPA ADD
JSB
SPIB ADO

UBA

BAFI
BAF2

0440
0441

BAF3

0442
0443

r! ~ ~ * :! !, ~: ~ * !~ ~v:: ! ~

MBAF

UBA
BAF4

BAFO

ADO

LlZ

OPA

ADD

RRZ

SP4A JSB
RA

* lit •

lit III

SP4A

D03G

ADD

* * lit * *

lit III lit lit lit lit

* lit * .. * * . . * * * lit * * * * lit ..

SP4A JSB
DATA
TEST
DATA
UNC
ROO

BAF4

OPA

lit III

SP4A
RH

CAD
JSBI
RH
XRO JSBS
0002 SP2B ADDL
SP3B
INC
RA
SP2B JSBS

BAFO RH

III III :

NF2

LSR RH
BAFI SP2B
UNC
BAF2 RH
NEG
SP2B
SP3B RAB4
BAF4 RA
ZERO

RA

SP2B CAD

RA

RB

SP2B INC

RB

DATA

RC

SP2B INC

RC

NZRO

RB

SP2B ADD

RB

UNC
UNC

RC
RA

SP2B ADD
SP2B SUB

0444
0445

RC
RA
CF4B
****_************".****111._*******.111.*111********111******* ••• **._**_**_**

0446

MBAR

JSB
JSZ

: III III

0447
0448
0449
044A
044B
044C

BARO

UBA

BARl
BAR2
BAR3
UBA

044F
0450
0451
0452

~~~DB~~~t ,:~gt;S:~':~.
~~lA7!~lFT :g~~~~ ~~¥~~.

JSB IF 0

RA: -RA - .BYTES MOVED - 1
UBA:-RIGHT TARGET BYTE;
RA: .RB + .BYTES MOVED + I
WRITE LAST WORD. JSB FOR STACK DECREMENT;
RC: -RC + .BYTES MOVED + 1
SKIP IF NOT FINISHED;
!S-I);-(S-l~ + .BYTES MOVED
J~~ ~gRF~~lE~~U~'~2):.(S-2) + .BYTES MOVED
(S) : - (S) - .BYTES MOVED. CF4B

* III ':~ ~: lit ~ ~ ! : : * : ! !, ~: ~ * ! : ~ =~ : : * * * * . . * * III III * * * * III lit * * * * * * * * lit * * III ... * * * * * * . . * * :

0440

044E

0030
IRON

BYTE;
EVEN. RH:-WORD COUNT
BYTE ; RH:=WORD COUNT - 1
SP2B:-1, JSB TO READ
~~~T~F TI~~gR~6~6; J~~2~F -!~:~2 COUNT - 1) <0
READ SOURCE WORD

SP4A:-LEFT TARGET
JSB IF SOURCE PTR
UBA:-RIGHT SOURCE
WRITE FIRST WORD;

BAR4

UBA ADD
OPA ADO
SP4A lOR
JSB
OPA ADO
JSB
SP1B ADD

LLZ
BAU

OPA

ADD

RRZ

OPA ADD
SP4A JSB

LLZ

RA

RRZ

JSl

DATD
TEST
DATO
UNC
ROO

BARO

0030

ADD
JSB

SP4A

D03G
IRON

SP4A

SP4A JSB
CAD
JSBI
JSBS
ADDL
CAD
JSB

RH
RH
XRO
0002 SP2B
SP3B
RA
SP2B

BARD
LSR
BARI
BAR2

RH

F2

RH
SP2B
UNC
RH
NEG
SP2B
SP3B RAB4
BAR4 RA
ZERO

RA

SP2B INC

RA

RB

RB
RC

DATD

RC

SP2B CAD
SP2B CAD

NZRO

RB

SP2B SUB

RB

UNC
UNC

RC
RA

SP2B SUB
SP2B ADD

RC
RA

CF4B

~~:AI;R§g~~c~A~~p og~~E~H: .WORD COUNT
UBA:-LEFT SOURCE BYTE; RH:-WORD COUNT - 1
WRITE FIRST TARGET WORD; SP2B: -I. JSB
JSB IF INTERRUPT; JSB IF (WORD COUNT - 1) <0
WRITE TARGET WORD; SP2B: =SP2B+2
JSB BACK; SP3B:=SP3B-l. READ SOURCE WORD
READ LAST TARGET WORD;
JSB IF 0

l~l~7!~IG~T'~~3~~EMg~~~:

RA:'RA + .BYTES MOVED + 1
UBA:-LEFT TARGET BYTE
RB:-RB - .BYTES MOVED - 1
WRITE LAST WORD. JSB FOR STACK DECREMENT.
RC:-RC - .BYTES MOVED - 1
SKIP IF NOT FINISHED;
(S-1) :=(S-l) - .BYTES MOVED
JSB TO FINISH; (S-2) :=(S-2) - .BYTES MOVED
JSB FOR INTERRUPT;
(S): - (S) + IBYTES MOVED. CF4B

PAGE 97
RECORD
NO
4563
4564
4565
4566
4568
4569
4571
4573
4574
4576
4577
4579
4580
4582
4583
4585
4586
4588
4589
4591
4593
4594
4596
4598
4599
4601
4602
4604
4605
4607
4608
4610
4611
4613
4615
4617
4619
4621
4623
4625
4627
4629
4631
4633
4635
4637
4639
4641
4642
4644
4646
4648
4650
4652
4654
4656

C S
ADDR

COMPARE BYTES INSTRUCTION
* ••••• 111* ••• AlU A ••• 'III:#lJII:"' • • • •
U\BL RREG SREG FUNC SFNC STOR SPSK

0453

SLUT INSTR=CMPB(PB+):O 010 000 010 10,P.SR=3,ENTRY-CMBP
SLUT INSTR=CMPB(DB+):O 010 000 010 11.DB,SR=3.ENTRY=CMBD
RA
NFSS
JSB CMBO
Ct1BP
JSZ ET03
SP4A pas
DB
ADD
SP3B
RA
CAD
BNKP JSB DBCC BKX4
INC
SP4A SF3A
RA

0454
0455
0456

RH
RB

ADD
ADD

0458

UBA

PB

ADD

0459

UBB

SP4A UBNE

045A
045B
045C

UBB

PB

0457

0460

CI~Bl

RH

CI3AF
CJ~F 1

SPOA ROBD
XRO

OPA
OPA
OPA
OPA
OPA

CI~BR

CSR2
CI~AR

SPOA
RH

SPIB ADD

PL

ADD

Cj'F2 RH
SPOA
CBSR
C!;Rl

UBA

ADD
JSB

SPOA

PB

RA

ADD

CSF2

SP4A ASR

PL

RH

0461
CI3SF
CSFI

UBB
ROP

CAD
INC

0462
0463
0464
0465
0466
0467
0468
0469
046A
046B
046C
0460
046E
046F
0470
0471
0472
0473
0474
0475
0476
0477
0478
0479

SP4A

UNC
NFSS
SP4A POS
SP4A SF3A

RA
RA

045F

0001 RB

RH

OPA
OPA
UBA
OPA

JSB
ADD
INC
JSB
ADD
INC
JSB
ADD
ADD
ADD
JSB
INC
INC
JSB
ADD
JSB
ADD
CAD
JSB
ADD
CAD
JSB
ADD

CMBI
ET03

CHBR
CSF2
LRZ
CHBI
RRZ

NF3A

ANDL

UNC

SP2B
SPIB

UBNE
INC
XRO
JSB CMBO

DB
ADD
BNKD JSB

ZEIIO

SP3B
DBCC BKX4

UNG

JSBI DBBC XRO
RC

RB

XOR

SP2B SUB

NF2

JSB

SPOA ROBD
TEST

UBB
RA

ROX4
UNC

UBB
RA
UBB
RA
UBB
RA

UNC

SPOA ROBD
CMBI
TEST
LRZ
RH
ROX4
CSRI
UNC
LRZ SP4A

ZEIIO

SUB

UNC

CSFI
RRZ SP4A
LRZ
RRZ SP4A
CMBI
TEST
ROX4
RH
SPOA ROBD
CAFI
UNC
F2
CSR2
RRZ

UBB
RA

UNC

RH

10/ 2/86

9:26 AM

!III:

SPOA ROBD

UBNE
JSB
JSZ

CI~BD

045D
045E

LSR

• ••• * •••••••• ALU B III,.,. III '" * * III III: * lit"""
RREG SREG FUNC SFNC STaR SPEC SKIP

UBB
RA
UBB
RA

HBF2 F511
CBAF

ADD
ADD
JSBS
JSBS
ADD
JSBS
JSBS
JSB
OPB ADD
UBA JSBS
XRO JSBS
OPB ADD
SP4A JSBS
XRO JSBS
JSB

RRZ
CMBN
CMBE
LRZ
CMBN
CMBE
CAF2
LRZ
CMBN
CMBE
RRZ
CMBN
CMBE
CBAR

ADD
ADD
JSBS
JSB
ADD
JSBS
JSB
JSB

LRZ
CHBN
CMBE
RRZ
CMBN
CMBE
CAR2

OPB
UBA
XRO
OPB
UBA
XRO

OPB
UBA
XRO
OPB
UBA
XRO

UNG
LBF5
UNC

SP1B
RA

NZIIO
ZElia

SPIB
RA

NZIIO
ZElia
F2

SPIB
RA

NZIIO
ZElia

SPIB
RA

NZIm
ZElia
UNG

SPIB
RA

NZIIO
ZElia

SPIB
RA

NZItO
ZEIIO
NF ;~

COMMENT

JSB TO EMPTY TOS TO 3 IF NOT SPLIT BANKS;
JSB IF BYTE COUNT = 0
SP4A;=BYTE COUNT - 1 IF >0; SP3B: =DB
SP4A:=BYTE COUNT + 1, SF3A;
BKX4: -BNKP, JSB TO FORM TARGET ADDR
SPOA:=TARGET WORD ADDR, READ,
UBB:-SP2B:-SOURCE POINTER(15)
SP4A: -UBA: -SOURCE WORD POINTER;
UBB:-SPIB:-ADJUSTED WORD COUNT
RH:=UBA:=ABSOLUTE SOURCE ADDR, READ;
UBB:.:>L - PB
BOUNDS CHECK WORD POINTER >= (PL - PB);
UBB:=ENDING WORD ADDR
BOUNDS CHECK ENDING ADDR >= PB;
BOUNDS CHECK PL >- ENDING WORD ADDR
JSB; XRO: =1
JSB TO EMPTY TOS TO 3 IF NOT SPLIT BANKS;
JSB IF BYTE COUNT • 0
SP4A:--l IF >0; SP3B: =DB
SP4A:-, JSB IF 0
SP4A: -SOURCE BYTE; JSB IF ODD SOURCE PTR
UBA: -SOURCE BYTE; UBB: -TARGET BYTE
P1B

¥~;~~R~~¥~~ED~tT~~Y~~b~~~T~,S1~~ i~

5

READ NEXT SOURCE WORD; UBB: -TARGET BYTE
~~~ ~~~~;T~~gE!B~~~Dto5~~~~R~st ¥~V~ SPIB
SKIP IF ODD SOURCE PTR AND JSB NOT TAKEN
JSB IF ALIGNED COMPARISON
JSB IF EVEN SOURCE PTR;
UBA:-SOURCE BYTE; UBB: -TARGET BYTE
READ NEXT SOURCE WORD; COMPARE & SAVE SPIB
INTERRUPT?, INC , JSB IF 0
UBA:-SOURCE BYTE; UBB:.TARGET BYTE
READ NEXT TARGET WORD; COMPARE & SAVE SPIB
LOOP BACK; INC , JSB IF 0
SP4A:=SOURCE BYTE; JSB IF EVEN SOURCE PTR

PAGE 98
RECORD
NO
4658
4660
4662
4664
4666
4668
4670
4672
4674
4675
4677
4678
4680
4682
4683
4685
4687
4689
4690

C.S.
ADDR
047A
047B
047C
0470
047E
047F
0480
0481
0482
0483
0484
0485
0486
0487
0488

COMPARE BYTES INSTRUCTION
**~****w*** ALU A *a***_*****
LABL RREG SREG FUNC SFNC STOR SPSK
CARl
OPA ADD RRZ
OPA ADD LRZ SP4A
JSB CMBI
TEST
CAR2 RH
CAD
RH
ROX4
SPOA
CAD
SPOA ROBD
JSB CARl
UNC
RB
CMBE RB
XRO ADD
RC
RC
XRO ADD
CMBN RA
RB
RC
CMBI RA
RB
RC
CMBO

XRO SUB
UBA SUB
SREG SUB
XRO SUB
UBA SUB
SREG SUB
ADD

••••••••••••• ALU B.
RREG SREG FUNC SFNC
OPB ADD RRZ
UBB UBA JSBS CMBN
RA
XRO JSB CMBE
OPB ADD LRZ
UBB SP4A JSBS CMBN
RA
XRO JSB CMBE
ADD
JSB D03S

SPIB
RA
SPIB
RA

CCA

NZRO
ZERO
HZRO
ZERO
UNC

CCA

SPIB ADD
RB
RC

ADD
JSB

D03S

UNC

RB
RC

ADD
ADD
JSL

IRDN

UNC

JSB

D03S

UNC

CCA

10/ 2/86

*a*a*****a* ___

STOR SPEC SKIP

9:26 AM

COfo'MENT

~~~A7~~g~~~EB~~it;ug~pl~~GfTS~~~EIN SPIB
~~l5R~~~+?SO~~gE(:~~5;C8~~~~tA~~rTI~Y~E

READ NEXT TARGET WORD; COMPARE & SAVE SPIB
~gS~c~A~~~:!~gu~g~T~T~O~N~~tEJ~gU~~;oSET CCE
TARGET PTR:-TARGET PTR + BYTE COUNT;TR
JSB TO STACK DECREMENT
UBA:zMINUS NUMBER OF BYTES COMPARED
SET CONDITION CODES ON SPIB
SOURCE PTR: -SOURCE PTR +/- .BYTES COMPARED
TARGET PTR:-TARGET PTR +/- .BYTES COMPARED
JSB FOR STACK DECREMENT
UBA:-NUMBER OF BYTES COMPARED
SOURCE PTR:-SOURCE PTR +/- .BYTES COMPARED
TARGET PTR:-TARGET PTR +/- .BYTES COMPARED
JSB TO INTERRUPT
CCA ON 0; JSB STACK DECREMENT

PAGE 9(1
RECORD
NO
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4708
4707
4709
4710
4711

4713

4714
4716
4717
4719
4720
4722
4724
4725
4726
4728
4729
4730
4732
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4747
4748
4750
4751
4752
4754
4755
4757
4758
4760
4761
4763
4765

C.S.

ADDR

BOUNDS CHECKING ROUTINES for MVB and CMPB
111*****111***. ALU A ***lII:***IIIJ1i1I11* JltJlllll * **JllJII * III tlI'd, ALU B **III::tI:IIt****JII***f'I
RREG SREG FUNC SFNC STOR SPEC SKII'

LAIlL RREG SREG FUNC SFNC STOR SPSK

10/ 2/86

9:26 AM

COMMENT

"1IIn.JII***IIII11:***IIII11*lIrllc**JII:**III*************"lcJIIIlt*****It****III******"'**111*111111111*****
•
DBBC checks the DB relative startin9 byte address and the
ending address for the source pOinter in byte moves. The
absolute startinr word address is returned in RH. Bit 15

~~41h:h~~~dc~0~~a~nP~~~t~;t!sc~~~~r~~~u!nlS~~Bpos~~~~ee~~dY'

plus one if negative. Addresses are checked against SM, and
if SM is exceeded, routine GSMC is entered for further
:*~**~~:~~!:~~**~~!:!:~*:!!~*~~~~*:*~~~*************** * ••• * ••• * ••

•
0489

DBIIC

048A

RB

ADD

SP3B DL

SUB

CF1

SM

ADD

CF1

DB

SUB

CTF1

LSR

RH

NFSS

048B

UBA

DB

SUB

NFl

0001 RB

048C
0480

RH

UBA

CAD

CTFI

UBB

SP4A ASR

RB

ADD

LSR

F1HB

UBB

DB

ADD

048E
048F

UBA
UBB

DB
SM

ADD
RH
JSBC GSMC

ROX4
CRRY

UBA
UBB

UBB
DL

ADD
BNDE

0490

RH

SM

JSBC GSMC

CRRY

RH

DL

BNDE

0491
0492

ANDL

•

**.:

NCRV

~~~:F~MiFO~5TR~~EIfL§~~ckl(~~L~~L~tA~~N~~;
UB~~~S~R_ (5B~ ~~!pO~F(~~L~l~HcK;

SP2B

SP2B:-UBB:-SOURCE PTR(lS)
F1:.(SOURCE PTR ) (SM - DB));
WORD COUNT
UBA: -WORD PTR + 32K IF NOT SPLIT STACK:
UBB:-WORD COUNT + DB
RH:=ABS START ADDR; SP1B:=ABS ENDING ADDR
.JSB IF ENDING ADDR ) SM;
BOUNDS CHECK ENDING ADDR )= DL,
PSHR AFTER RSB AND BEFORE POSSIBLE JSB
JSB IF STARTING ADDR ) SM;
BOUNDS CHECK STARTING ADDR >- DL
(1002)
MOVED RSB DOWN TO AVOID SKILL
XXXX (1002)
(1002)
(1002)
UBB:~ADJUSTED

SP1B

PSHR

•

ADD
ADD
POPR TICEI
ADD
ADD
RSB
* III * * III III III III III * III III III JII * * III III III III JllIII III * 111)\ III III III III: * III * * * III * * III III III * III III III * III III III * l1li * * III * * * III III 11: * ..
DBCC checks the DB relative starting byte address and the
ending address for the target pOinter in byte moves. The
absolute starting word address is returned in RH, and the

•

byte count minus 1 if positive and plus one if negative.
Addresses are checked against SM, and if SM is e~ceeded,

*

RH: -SOURCE WORD PTR, SKIP IF NOT SPLIT BNKS;
SKIP IF NOT ~DB )- DL), CF1

III ..- :III III 111111

;~:i:ra:1~~~s:d~~e::lB'Up:nr:~1r~~ ~~lli:t:~l~n~:n?:~nf;~e

•

:****!~~!!~:*~!~~*!:*:~!:!~~*!:!*!~!~:!~~~:~~!~~~ ••• ~~ •• ~*.~**.~****:

0493

DBCC

0494

LSR

RH

CTF!

CFl
NFl
CTF1

0001 RC
ANDL
UBB SP4A ASR

F1HB

UBB

DB

ADD

ROD
CRRY

UBA
UBB

UBB
DL

ADD
BNDE

UBA

DB

SUB

RH

UBA

CAD

RC

ADD

UBA
USB

DB
SM

ADD
RH
JSSC GSMC

0498
0499

eFl

SUB

ADD

0496
0497

SUB

DB

ADD

SM

0495

LSR

NFSS

SP3B DL

RC

SPIB

PSHR

NCRY

RH:-TARGET WORD PTR, SKIP IF NOT SPLIT BNKS;
~~lP_~~,Ng~E~~¥D~·c~HR g!IF SPLIT BANKS;
SET Fl IF NOT SPLIT STACK (SPLIT STACK IF
FSS OR (Z ( OBI OR (DB ( DL))
UBA:-SM - DB, SKIP IF SPLIT STACK;
UBB:-TARGET PTR(151
Fl' ·(TARGET PTR > ISM - OBI I;
IJBB: =ADJUSTED WORD COUNT
IJBA: -WORD PTR + 32K IF NOT SPLIT STACK:
UBB: =WORD COUNT + DB
RH:=ABS STARTING ADDR; SPIB:=ABS ENDING ADDR
JSB IF ENDING ADDR ) SM;
BOUNDS CHECK ENDING ADDR >= DL

PAGE 100
RECORD
NO
4766
4767
4769
4770
4771
4773
4774
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4H8

4789
4791
4792
4794
4795
4796
4798

C S

ADDR

_.*.-

BOUNDS CHECKING ROUTINES for MVB and CMPB
.***._ ••••• ALU A *-"'*****._. ***111***111***** ALU B •••••••••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

049A

RH

SM

049B
049C

RH

DL

BNDE
ADD

POPR TICB

III III II ~~~ *"!II!It .. * ... 111:111 .. 11 .. " * III '" * "' ........ * * ...... ~~~ .... III III" *")11 * .. * ...... '" JIll .. ~~~
This routin~ jumps to BNDV if not privll~dged or if not split
stack and the starting and endIng ilddresses "span" (SM + 1)
In other words. the move would go through lts parameters.
Th~ problem wllh thIS occurs 1n the event an int~rrupt
is
sevlced immed1at~ly after moving the bytes at SM
After
ret urn1ng I rom the int e rrupt. then ef lect ive byte address

"" "'!II "/II""""""""

'!~ ~ ~ ~ .. ~: .. '!':~~;~ .. ! ~! ~ . ! ~ ~

GSMC

049E
049F
04AO

CRRY

ADD

.... 111 111 ..

0490

JSBC GSMC

RH
FSSR

!II

L:: !~ . ~~ . ~ r;: *............
II

III . . . . . . . . . . .

FSSR

FSS

RH

SUB

POPR CRRY

STA

JSZ

BNDV

POS

SPIB SUB

NCRY

DL

BNDE
ADD

RSB

ADD

BNDV

9:26 AM

PSHR AFTER RSB AND BEFORE POSSIBLE JSB
JSB IF STARTING ADDR ) SM;
BOUNDS CHECK STARTING ADDR )- DL
PUT RSB BACK (ORIGINALLY 2511)
(1002)
RESTORE WHERE TO RETURN
( 1002)
TICB SLC~S RSB TO RANK2 SO POPR TAKES (1002)
AND RETURN WITH OUT S TRASH
(1002)

* .... III .. III .. III ...... *

JSB

JSZ

10/ 2/86
COMMENT

UNC

JSB IF SPLIT BANKS;
POPR, SKIP IF Z ) s STARTING ADDR
JSB FOR BNDV IF NOT PRIVILEDGED;
SKIP IF NOT (Z >. ENDING ADDR)
BOUNDS CHECK STARTING ADDR ) = DL,
JSB FOR BNDV IF NOT ((STARTING ADDR ) Z)
AND (ENDING ADDR ) Z)); DROPPED RSB (2527)
RSB IF SPLIT BANKS TO LINE AFTER CALL
TO DBIIC OR DBee

PAGE 101
RECORD
NO
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4812
4813
4815
4816
4818
4819
4821
4822
4824
4825
4827
48:'8
4830
483\
4R3:1

48:34
4836
4837
4839
4840

C.S
ADDR

Move Bytes While Instruction
~********** ALU A **"'***"'.**.
** •• **** •• *** ALU B *****~********
lABl RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
** III III III III * 111"'* 111:" III *1It** III *111111 Jlrlll III III **'" III III *III.JIII '" '" III '" III III III III ** III '" III III III III '" ~ III * * ** III '" III III • • • * III '" *

.

~lUT

9:26 AM

l1li

INSTR-MVBW: 0 010 000 010 Oxx xxx, DB, SR-2, ENTllY=MVBW
DB

ADD

NFSS

04A2

SR

SM

ADD

CFl

04A3

UBA

DB

SUB

04A4

UBB

UBA

SUB

04A5

RA

,ADD

lSR

FIHB

04A6

RB

ADD

lSR

JSZ

ET02

04A8

SPOA DB

,~DD

04A9

0004 CIR

,ANDl

04AA

OPA

ADD

04AB

SM

INC

04Al

10/ 2/86
COMMENT

M~BW

04A7

DB

SUB

Dl

SUB

NF 1

RA

ADD

l!;R

CTFI

RB

ADD

lSR

USB

RH

SUB

SPOA F1HB

UBA

DB

ADD

NFSS

USS

Dl

SNDE

RA

RS

XOR

UBA

Dl

SNDE

RH

SP4A ROD
lRZ

RH
SPOA

UBA

UBA

NCRY
CTF 1

US~f:~o:o~~1!tW~r~cet;1+:~2~w~~rn~c~s~a~y;

SPOA :- target word ptr + 32K if necessary;
SP1B : = absolute source address, read

SP1B ROD

Em&~~n~~Sc~~c~ ~~u~~! ~~~~!s~a~~S6l

lBF5

CAD
JSB

NF 1
CTFl

CTF 1 F58

MIIWA

USA :- DB, skip if not split banks;
Skip i f DS > Z
USA. S, elr Fl if split banks, (overrides
set Fl in AlUB); Set Fl if not split stack
RH := USA :~ S - 1 - DB, skip if split stack
; UBB .= source word pOinter
If not split stack Fl := swptr > S - 2;
USB :. target wrd pt r, skip i f split st aek

UNC

SP4A. absolute target address, read;
Set F5 if move is skewed
UBA := upshift bit;
Bounds check target address >- Dl
RH :. left t arvet byte;

sp6i ::

~~s~il; ~~~p ~~i~lt~n!~e:~~emove

PAGE 102
RECORD
NO
4843
4844
4845
4846
4847
4849
4850
4852
4853
4855
4856
4858
4859
4861
4862
4864
4865
4867
4868
4870
4871
4873
4874
4876
4877
4878
4879
4880
4881
4882
4884
4885
4887
4888
4890
4891
4893
4894
4896
4897
4899
4900
491;2
4903
4905
4906
4908
4909
4911

C.S.
ADDR

**-*...

Move Bytes While Instruction
III • • • • • • " • • • ALU A .* ••
*111 • • _ • • • _ • • • ALU B * •••• * ••••••••
LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
* III III III 111 III ** III III * * III III .. III III III * III III * .... ** * * * III III * * * * * .. III III" III" * III III III III • • " III **. lit III • • • • • • III III '1«" III

: * III III .. ~ ~ :~: ~ * ~ ::: * III III * III II III * III III III III III III III
04AC

MBWS

04AD
04AE

RA

MWSE

FFFF SP4A ADDL
MWSO

JSB

04AF

SP4A INC

04BO
04Bl

JSB

RA

JSB

RH

04B3

III III III .... III

EVEN
SP4A

MBWI

TEST

SP4A NFl
USHT
UNC

MWSE SPOA SPIB JSBC WBCl

04B2

*.

111: ..

ADD

RLZ

JSB

USHT

NFl
UNC

RA

ADO

OPB

ADO

RB

RA

RRZ

RH

ZERO

RA

JSBI MBWX RA
ADO

UBB

ADO

RA

JSZC MWOL

LRZ

CCB
ZERO

SPOA SP4A JSBS WBC4

NCRY

RA

JSBI MBWX RA

RH

DATA

OPB

ADO

JSB

MWSO

* * .. * * 111.* .* .... * .. III * III .. * .. * .111 . . . . III III III: * III * .... III .. * * .. * III

*.

NWIL

RH

04B5

RRZ

111*.****_ III

RH

JU~~2~f:~0~~~~c~0~~1~{e~S even;
SP4A :- absolute target addr - 1;
JU~H
r~Y~~r~~~~ce byte, set CCB
S~1B :" addr of next source word, read
SP4A. Iddr of next target word, skip if

if

SPIB ROO

OPB

9:26 AM

*:

CCB

JSZC MWOL

04B4

XRO

III ..

SP2B

SPIB INC
RB

NCRY
XRO

* " III * * .. III * * III III * .. * .. III .... * ........ III III "

10/ 2/86
COMMENT

NWIL
CCB

JU~~ti~P~:~Il~,J~~f !~tT~ft:3.i:l~eSj~~C!f

upshift; Increment source address pointer
Jsb if src Iddr ) SM • 1 (check before left
b~te; RH :- UBB := left source byte

XR~ps~~ir~ S;to~~Br~nS~~wb~!;t ~~~~c!fb~r!

Jump if overlapped move else
JU~~bi~f,:~~~!!tnot satisfied, else jsb if
tar Iddr) SM. I, inc src addr ptr
Write tlr~et word, loop back;
RH :- rlght source byte, set CCB

* * .... **.** III * *. * III *

:****:!!¥~:~*~=~:***********.************************* **************:

04B6
04B7
04B8
04B9

MBWA

RA
JSB MAOE
000
FFFF SP4A ADDL
SP4A
MWAE SPOA SPIB JSBC WBC!
NCRY
SP4A INC
SP4A NF 1

04BA
04BB

JSB
JSB

USHT
MBW!

ADD

RLZ

04BC

MWAO RH

04BD

RA

04BE

SPOA SP4A JSBS WBC4

04BF

RH

JSBC USHT
XRO

JSB

MWAE

RB

UNC
TEST
XRO

ADO
ADO
ADO

RA
RA

JSZC MWOL
JSBI MBWX RA

OPB ADO
SP1B INC

NFl
UNC

RA
OPB
UBB

RB

LRZ

SP2B
RH

JU~~2~f::o~~~~c~O~~1~te~s odd;
Decrement tlrget address;

Ju:~

CCB

RRZ

RH

ZERO
NWIL
CCB

SPlB ROO

RA

JSZC MWOL

NCRY

RA

JSBI MBWX RA

DATA

OPB

ADD

LRZ

ZERO
RH

NWIL

if ~~~ ~dd~e!tS~o~rle(~~!~k before left
byte): Set CCB on left source byte
Increment target word addr, skip if not
JU~gs~tf~~hi~:~ ~~tO~:tl:~~:~ :~~: jIb if
upshift; Increment source pOinter
JU~~ i! G~~e~~u~l ~1n~~~~~e b te, set CCB
XRAO.(0:8) :- rig~t source byte, skip i f not
upshift: Increment source addr ptr. read
UBA .- (S) in clse TEST; Jump if overlapped
else jsb if upshift
Jump if 'while' not satisfied else jsb if
next tar addr ) SM • 1; Inc source address

wr~~e:!a~a~t:~or~ftl~~~r~:c~~te

PAGE 103
RECORD
NO
4913
4914
4915
4916
4917
4919
4921
4922
4924
4925
4927
4928
4930
4931
4933
4934
4935
4937
4938
4940
4941
4943
4944
4946
4947
4949
4950
4952
4953
4955
4956
4958

C.S.
ADDR

04CO
04C1

Move Byt~s While Instruction
•• lII.III*** •• JII: ALU A 111.**.***... *** ••• 111:****111. AlU B **** ••• ****11 ••
I.ABL RREG SREGi FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SI(!P
., III III III III 111 * !lit III: III * III It III III * * III .. III: * * * .. * III III III * * * * * III * III III * lie III III * 'I( • III III III III III: #I * * * III III * III III It '" l1li lit III * III III III .1 "
•
common routines
'1 III * 'It 111 III III * '" .. III III III * III III III III * * * * III " 111 III III III III III: III III 1ft III: III !It '" III * III III: III • " lit III III: III • III III III * III III * .. 11 * * * III • III * III • _, lie
RA

SP2B: CAD
SP4A, ADD

04C2

RA

CAD

04C3

SPOA SP4A, BNDG

04C4

UBB

04C6

~~BWX

XRO

ROBD
RA

MWAO

UNC

OPB

ADD

UBA

ADD

04C8

USHT FFDF RH

ANDL
ADD

RSB

~IBCl

CAD

SPOA FSS

04CC
04CD

ADD

UBB

SPIB JSZS BNDV

UBB

SPIB JSZS BNDV

CAD

~IBC4

JSBI D03S SP3B
ADD

JSB
SP2B: SUB

04CB

SM

SP3B SPIB BNDE

UBA

RB

JSZ
0040 RH

CRRY
SPOA FSS
CRRY

RB

OPB
DATA

UBA

04CA

ADD
ADD

D03S

RB

04C9

UBA

JSB

04C7

~mWI

RB

UBA
Z
RH

RRZ

RH

JSZ

CCB

utlC

RH
NI'RV
RSB
BNDV

De;t!~~r~:c~!~~ntP~~ t:r~~t+p!int~~Pi!Oeven
+ 1:

1

Enter here for aligned/odd case to skip 1st
test for interrupts;
RH := right source byte, set CCB
UB~si·:~u~~~~t~~ ~§~es moved;

Z[RO

ADD

UBA :~ number of bytes moved
Read last target word; Inc target ptr by
• of bytes moved, set F5 if odd

wr~~~n~:S!ior~~io~uT~ l~~tS!~~ka~~;r;m~Mt~

RA

BNDV

9:26 AM

Bounds violation if last tar addr ) SM
UBB :- ri~ht target byte

IRON

ADD

ADD

NF5B

RRZ

ANDL
JSZ

LBF5

10/ 2/86
COMMENT

NI'RV
RSB

In~n::~g;:t~:~u~r ~a:~l:~t:~t::v~:~ENEXT

UBA := upshifted character;
Skip if not alpha, i.e., <= %100
Return;
RH :z upshifted character if alpha
SPOA :- -1 as new limit, skip if split banks
UBB := Z, bounds violation if non-priv
Bounds viol'n if Z ). src addr & not split
banks (and addr ) SM); UBB := RH, return
SPOA
-1 as new limit, skip if split banks
UBB. Z, bounds violation if non-priv
Bounds viol'n if Z )= tar addr & not split
banks (and addr ) SM); Return

PAGE 104
RECORD
NO
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
49.,0
4971
4972
4973
4974
4976
4977
4979
4980
4981
4983
4984
4986
4981

4Y88
4390
4991
4993

4994
4996
4997
4999
5000
5002
5003
5005
5006
5007
5009
5011
5012
5014
5015
5017
5018
5020
5022
5023

C S.
AODR

Scan While Instruction

*-t****t:._**IIJ1 ALU B •• *tII* •••• JII:* • • •

********111111* ALU A .*****111:****

LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9: 26 AM

COMMENT

Scan While (SCW) Instruction - IMTSW is the entry point for

i~: ~~a~r~:~t~s:n1sM~~~ :~ ~a~~rs;~:en\~~T~~~ ~~;l;~~~!ons

are emptied unless DB-bank is not equal to S-bank (FSS).
The address to be scanned may be greater than SM in
privileged mode if also greater than Z. Allowing the
address to ·~o throu~hH SM + 1 except in split stack
could cause IndetermInate results If an Interrupt 15
serviced after the word at SM is scanned
Upon return
from interrupt the next address would be mapped into the

III" '" '" * ~~ III! ~ ~~ 111:: r:: i.. . . "' .. *
111:

04CE

SCW

04CF

SR

04DO

III III"

NFSS

SM

ADD

CFl

RB

ADD

LSR

JSZ

[T02

0402

RB

ADD

LSR

0403

RA

ADD

LRZ

SM

JSBC SWUB

UBB

0405
0406

SCWO

0407
0408
0409

UBA
SCWI

04DA
04DB

SCW2

040C
0400
040E

RB

JSB

SCWI

OPA

ADD

LRZ

SP2B JSBS SCW2
OPA

JSZ
ADD

JSBI SCWO

XRO

ADD

ADD

D03G

* '"

l1li

III "' ......

111l1li '" III: '" III '" III III: III

SUB

UBA

DL

SUB

NFl

UBA

DB

CAD

NFSS

UBA

UBB

SUB

RA

ADD

FSS

UBA

DB

ADD

CRRY

UBB

DL

BNDE

FIHB
XRO

111:"" '"

DB

000

SP4A
NZRO

IRON
TEST
RRZ SP4A

RB

ADD
JSB
SWUB

.... Ilk

ADD

0401

0404

* ............ III

DB

UNC

UNC
RSB

* .. III III * ..

*.

**

CTFI
NFl
CTFI
RRZ

SP2B
SP3B ROAD

SM

INC

RH

UBA

ADD

RB

JSBS SBCK

RB
SP3B

INC
INC

UBA

l1li

NCRY

SP3B RH

UBA

*.

NF2
CRRY

RB
SP3B ROAD

SP2B JSBS SCW2

NZRO

SP4A ADD

CCB

SP4A XOR
ADD

SCRY ZERO
CCRY

JSZ

BNDV

NPRV

UBA:-DB. SKIP IF NOT SPLIT BANKS;
SKIP IF NOT (Z ): DB)
UBA:=SR + SM. CFl IF SPLIT BANKS;
SET Fl IF NOT SPLIT STACK (SPLIT STACK
IF FSS OR (Z ( DB~ OR (DB ( DL))

~g~::~g~D/~~~T~R6B ~Ii.I~kt:Ln ~~~I~;stack

JSB TO EMPTY TOS TO 2 IF NOT SPLIT BANKS;
Fl:-WORD POINTER )- (S - 1 - DB)
(WORD ADDR > (S - 2));
UBA:-WORD PTR + 32K IF NOT SPLIT STACK;
SP2B:.TEST CHARACTER
~~gB7!~~~6~e~EC~~~~CI5~R.S~~:DIF FSS;
JSB IF (ADDR > SM) AND NOT SPLIT BANKS;
BOUNDS CHECK ADDR >= DL
UBA: =S()URCE BYTE POINTER. JSB IF ODD;
RH=SM ... 1
SP4A:'UBA:-LEFT SOURCE BYTE;
INCREMENT BYTE PTR. SKIP IF SPLIT BANKS
JSB IF SOURCE BYTE () TEST CHARACTER;
JSB IF WORD ADDR >- (SM + 1) AND
NOT SPL IT BANKS
JSB IF INTERRUPT; INCREMENT BYTE PTR
SP4A:-UBA:-RIGHT SOURCE BYTE;
INCREMENT SOURCE WORD ADDR. READ
UBA:-INCREMENTED BYTE PTR;
JSB IF SOURCE BYTE () TEST CHARACTER
UBA: -TERMINAL CHARACTER;
SET cca ON LAST CHARACTER SCANNED
. SKIP IF TERMINAL CHAR z LAST CHAR. SCRY
JSB FOR STACK DECREMENT;
CLEAR CARRY IF TERMINAL CHAR () LAST CHAR
RSB UNLESS ... ; JSB FOR BNDV IN NPRV

PAGE 105
RECORD
NO

CS.
ADDR

5026
5027
5028
50.'Q
50~;0

503:

:1 03 ~~

'-,O:IJ

50:!4
50lS
';036
5037
5018
5039
5041
5042
5044
5045
5046
5048
5049
5051
5052
5054
5055
5057
5058
5060
5061
5063
5064
5066
5067
5069
5070
5071
5073
5075
5076
5078
5079
5080
5082
5083
5085
5087
5089
5090
5092

SCAN UNTIL Instruction
~~*~*.~**~* ALU A •••• *.* ••• *
.******* ••• ** ALU B ********* •• ***
LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
* .. III *.* * * * * ***" * III III * * III * *1fII III III ** III: III '/t -Ie '111*" 111:" '" III JI!*JI( III: III !II: III 111* III. III *I't*** III * * *111. 111* III: III '" "'111*
Entered from #MFSU, which is the entry point for both the
Move From Data Segment (MFDS) and the Scan Until (SCU)
instructions. The SR preadjust is set to 2. The TOS
registers are emptied unless in split-bank mode (FSS). The
address to be scanned may be greater than SM in privileged
mode If also greater than Z
Allowing the address to 'go
through' SM + 1 except in split stack mode could cause
indeterminate results if an interrupt is servi(:ed after the
word at ~M is scanned. Upon return from the interrupt t~e
next address would be mapped into the DL to DB area.
•

.

.

10/ 2/86

9:26 AM

COMMENT

***IiI*************************************JII.********n*******_ ••• ******

04DF

SCU

04EO

SR

04El

DB

ADD

NFSS

DB

SUB

SM

ADD

CFl

UBA

DL

SUB

RB

ADD

LSR

NF 1

UBA

DB

CAD

JSZ

ET02

NFSS

UBA

UBB

SUB

RA

ADD

UBA

DB

ADD

SP3B ROAD

INC

RH

04E2
04E3

RB

ADD

LSR

04E4

RA

ADD

RRZ

04E5

UBB

04E6
04E7

SCUO

04E8
04E9
04EA

UBA
SCUI

04EB

UBA

04FO

FSS

SM

JSBC SWUB

CRRY

RB

JSB

SCUl

ODD

OPA

ADD

LRZ

XRO

JSBS SCU2

SM

NF2

JSBS SBCK

CRRY

ZERO

UBA

JSBS SCU3

ZERO

TEST

RB
SP3B

XRO

JSBS SCU2

ZERO

UBA

JSB

SCUO

UNC

RB

JSB
JSB
CAD

D03S
D03S

UNC
UNC

ADD

LRZ

RH

XRO

SP3B RH

IRDN
RRZ

OPA

LRZ

BNDE

JSZ
ADD

SCU2
SCU3
SBCK

NFl
CTFI

SP3B DL

OPA

04EC
04ED
04EE
04EF

FlHB
XRO

NCRY
CTF 1

RSB

XRO

INC
INC
XRO

JSBS SCU3
INC
ADD
ADD
JSZ

SP3B UBa

RB
SP3B ROAD
ZERO
RB
BNDV

JSZC BNDV

NF2
CCRY
SCRY

NPRV
NCRY

UBA :c DB, skip if not split banks;
Skip if not (Z )= DB)
UBA := S, clear Fl i f split banks; Set Fl
i f not split stack - not (FSS or (Z < DB)
or (DB < DL))
UBA :- word pointer, skip if split stack;
UBB : - S - DB - 1, skip if split stack
Em~lY:!O!o~~ ~ot~t~~t)SHi~ Hnks;
UBA := word pointer + 32K if not split stack
XRBO : = terminal character
XRAO .= test character, skip if split banks;
SP3B : c absolute word address, read
Check for BNDV If address) SM and not split
banks; RH:- SM + 1
Jump if right byte; Bounds check
address )- Dl, skip if split banks
UBA :- left source byte; Check for BNDV if

Js~d1Fe~~U~CES~Y~El_a~~s~o6H~~l~iE~~nkS

JSB IF SOURCE BYTE
TERMINAL CHARACTER,
TERMINAL CHARACTER HAS PRECEDENCE
JSB IF INTERRUPT; INCREMENT BYTE PTR

¥~~RE~~~~T wg~gl!~5D~~T~tAD

JSB IF SOURCE BYTE - TEST CHARACTER;
JSB IF SOURCE BYTE
TERMINAL CHARACTER,
TERMINAL CHAR TEST HAS PRECEDENCE
LOOP BACK;
INCREMENT BYTE PTR, SKIP IF SPLIT BANKS
JSB FOR STACK DECREMENT; CCRY
JSB FOR STACK DECREMENT; SCRY
RH:=%FFFF AS NEW LIMIT;
UBB:=Z, BOUNDS VIOLATION IF NOT PRIVILEGED
UBA:-LEFT SOURCE BYTE, RSB;
BOUNDS VIOLATION IF NOT (ADDR ) Z)

PAGE 106
RECORD
NO
5094
5095
5096
5097
5098
5099
5100
5102
5103
SlOe,

5107
5108
5110
5111
5113
5115

5117
5119

C.S
ADDR

Stack Decrement Routines for Moves (0-3)
.111**"***,,,** ALU A 111*-* •••• *.*.

LABL RREG SREG FUNC SFNC STOR SPSK

.".*.**.* •• ** ALU B ******_.*.****
RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

11'**.*********_.".**********_**."******************.****_.,,** •• *******

•

stack Decrement Routines for Moves

.

** •• *~:~!:~:~!:*!~~~*~*!:*~*:~!e=*!!~~*!~!*:!!:~*~:::*!::!:~~!~~~:~**

04Fl

D03S 0003 CIR

04F2
04F3

SR

D03G

04F4
04FS
04F6
04F7
04F 8

D03l UBA
UBA

ANDL

JSB

UBA
CIR

JSBS D03L
ADD

NCRY
EVEN

UBA

ADD
ADD

UBB

ADD

EPOP

UBA

ADD

SM

JSZ NEXT
UNC
ADD
SP4A
NCRY
JSZS STUN
JSZ NEXT
UNC

Q

ADD
ADD
ADD
SP4A ADD

SRG2

D03G

LSR

EVEN
EPP2
SM

CLSR

UBA: -STACK DECREMENT BITS OUT OF CIR;
JSB IF SR ) 2
JSB IF NOT (SR ). STACK DECREMENT);
SK I P IF NOT STACK DECREMENT OF 1;
UBB::(SR - STACK DECREMENT)
UBA:-(SR - STACK DECREMENT), EPOP;
SKIP IF NOT STACK DECREMENT BY 2
JSB FOR NEXT; EPP2
SP4A::(SR + SM) - STACK DECREMENT;

~~~ ~g~ ~~~~ ~~ ~~~ t~6~K~M

)=

SM::S - STACK DECREMENT, CLSR

Q)

PAGE 107
RECORD
NO
5121
5122
5123
5124
5125
5126
5127
5129
5131
5133
5135
5137
5139
5140
5142
5144
5146
5147
5149
5151
5153

C 0;
XRO:·WORD COUNT, JSB IF • 0
IF WORD COUNT < 0 THEN SP4A: -COUNT + 1, SF2;
SP3B:=ABSOLUTE SOURCE ADDR
BOUNDS CHECK ADDR >= PB; CHECK Pl >= ADDR
RH=ABSOLUTE TARGET ADDR;
UBB:=ENDING SOURCE ADDR
BOUNDS CHECK ADDR >- PB; CHECK PL >= ADDR
RH:=ENDING TARGET ADDR; BKX3:=BNKP
JSB IF ADDR > SM;
BOUNDS CHECK ADDR > = DL, SP2B: =ADDR
DL
DITTO; DITTO

~~l6EF~~stSwa~D~ ~~ip

IF FORWARD MOVE
JSB FOR FORWARD MOVE; JSB FOR REVERSE MOVE
SP4A=WORD COUNT - I, SKIP IF > 0;
XRO .WORD COUNT. JSB IF = 0
IF WORD COUNT ( 0 TllEN SP4A -COUNT + 1. SF 2 ;

PAGE 108
RECORD
NO
5201

5~02

5204
5205
5207
5209
5210
5212
5214
5215
5217

C S
ADDR

;~~~~~.~:! :~uC~iI~ZH.~~~?~:m ~~H~.'.:'~~~!:. ALU B ********* ••• **

LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

0511

UBB

SM

JSBC IofWE3

CRRY

UBB

BNDE

SP2B

0512
0513

RC
UBB

DB
SM

ADD
RH
JSBC IofWE3

CRRY

SP3B SP4A ADD
BNDE
UBB DL

SP2B

SP4A ADD
RH
SM
JSBC MWE3
SM
JSBC IofWE3
DB
ADD

CRRY

RH

BNKD ADD
DL
BNDE

BKX3
SP2B

CRRY
WRD

RH

DL

SP2B

0514
0515

IofWO

RH
RH

0516
0517

1ofW1

RH
RC

DL

BNDE
JSB IofWR

F2

10/ 2/86

9:26 AM

COMMENT
SP3B; -ABSOLUTE SOURCE ADDR
JSB IF ADDR ) SM;
BOUNDS CHECK ADDR )- DL. SP2B: -ADDR - DL
RH:-ABS TARGET ADDR; UBB;-ENDING SOURCE ADDR
JSB IF ADDR ) SM;
BOUNDS CHECK ADDR )- DL. SP2B:-ADDR - DL
RH:-ENDING TARGET ADDR; BKX3:·BNKD
JSB IF ADDR ) SM;
BOUNDS CHECK ADDR )- DL. SP2B:-ADDR - DL
DITTO; DITTO
SEND WRITE ADDR; JSB IF REVERSE MOVE

PAGE 10!1
RECORD
NO
5220
5221
5222
5223
5224
5226
5227

ADDR

Move Words Instruction
111:111111"***_.". AlU A **-****....
LASL RREG SREG FUNC SFNC STOR SPSK

0518

MWF

0519

MWFI

c.s.

5229

*****111:******* Al.U B ****#1111*****111 ••

RREG SREG FUNC SFNC STOR SPEC SKIP
*.111111. III III III III III 111111 *111 * III III III **.* ••• III 111* lit III
111*. III III III III III ** "* III III *** *#1: ~ III 111111:** 111.* **111111 III III 111111111
•
Move Words Forward. (in the direction of ascending addresses) •
*,.. III: III III III!II:" ** ... III III III III'" 111*** III: III III: III *111111* III * 111* *JllIII * III III • • * 111:11 III. III. III III .. lit" III *JIt III lie III * •• III: III III III ** '"

*.

RC

RB
OPA

J'iBC MWBF

ZERO

SP3B

ADD

ROA3

JSBI MWIX

TEST

SP3B

INC

SPJB ROAJ

JSB

DATA

RA

UBA

JSBS

XRO
XRO

ADD
ADD

XRO SUB
UBB SUB
SREG SUB

'-1

5230
5232

051A

5233

051B
051C

MWX

ADD
JSB

MOOJ

UNC

RB
RC

051D
051f
051F

MWIX

ADD
ADD
JSZ

IRDN

UNC

RA
RB
RC

5235
5237
5238
5240
5242

5244
5245
5246
5247
5248
5249
52')1

52')3
52°,4
525fi
52".7
52<,9

5260

5262
526]

*

"

.... III #I III

* III III III III III: III III: III ..

III: #II 1\ III III •

III III: III •

* #I #I .. III: III III III III * III

)II

III ... III III: III III III III III III

RA

ZERO

RB
RC
RB
RC
* "II III III ,.. III * III III III '" III III 111 *

l1li

III •

*

9:26 AM

JSB IF SOURCE AND TARGET PTRS OVERLAP BY 1;
READ FIRST SOURCE WORD
UBA:=l, JSB IF INTERRUPT;
READ NEXT SOURCE WORD, SP3B:-SP3B + 1
WRITE TARGET WORD. LOOP BACK;
WORD COUNT:-WORD COUNT - 1, JSB IF - 0
, (S-i):e(S-I) + WORD COUNT (MAY BE ( 0)
JSB FOR STACK DECREMENT;
(S-2):=(S-2) + WORD COUNT
, UBB:=WORD COUNT - ORIGINAL WORD COUNT
~S~ S;:6) INHR~op~ ~~~g[~R ~F WORDS MOVED
(S-2):=(S-2) + NUMBER OF WORDS MOVED

:'II***~:::III~~!~~III~!:~~!:~""~~!~:!~~*III!~::!!~~e:~*!~!~:!~ *T~::l*******.*
0520

MWBr

ADD
JSZ

0521

OPA

0522
05<:3

RB

0524
0525

5261:)

52F,6

'#I "

~1WX

10/ 2/86

COMMENT

0526

IRON

DATA

ADD

SPIB ADD

RB

RC

SPIB ADD

RC

RA

SPlB SUB

RA

JSB

MD03

RA

TEST
UBB
RA

ADD
REPC

CTR
SPlB DCTR CTRO
SPlB DCTR CTRO

INC
SPIB SUB
UBB

RRZ

ADD

NZRO
DCTR

ADD
UNC

UBA

CTR

JSB

"-5

NZRO

, CTR:aWORD COUNT.(S·8)
JSB IF INTERRUPT;
SPIB:=O. REPC IF CTR (> O. DCTR
~~I~E=~~~R~El~O~g+R, END REPEAT IF CTR o
(S-i) :=(S-I) + NUMBER OF WORDS MOVED;
UBB: =CTR : .. REMA INING WORD COUNT, (8: 8 I
(S-2):0(S-2) + NUMBER OF WORDS MOVED;
SKIP IF CTR () 0
!~ICTA~6 TH:NO~T~~~~~ MOVED;
JSB FOR STACK DEC; JSB IF REMAINING COUNT

PAGE 110
RECORD
NO
5269
5270
5271
5272
5273
5275
5276
5278
5279
5281
5282·
5283
5284
5285
5286
5288
5290
5291
5293
5294
5296
5297
5299
5300
5302
5303
5305
5306
5307
5308
5309
5J10
:;311
(13 L2

5.~ 14
53,6
5318
531'1
5320
5322
5323
5325
5326
5328
5329
5331
5333
5335

C.S.
ADDR

Move Words Instruction

111111****111*111** AlU A *********JII.

******111****". ALU B **************

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III III III • • III * * * *. III: III III III 111)11 III III * *.111 III * * * III * * III III * * * * * III * * * * * * * III III III III lit * * III III III: III . _ . III * III III
* ••

*._

10/ 2/86

9:26 AM

COMMENT

:•••• ~:::.~::~:.~::::::~.!!~.!~:.~!::~!!:Z.:!.~::~:Z~! ~y*:~~::::::!*:
RB

RC

JSBC MWBR

ZERO

SP3B

ADD

ROA3

JSBI MWIX

TEST

SP3B

CAD

SP3B ROA3

0527

MWR

0528

MWRI

0529

OPA JSB '-1
DATD RA
UBA JSB MWX RA
ZERO
* III III III * * III III III l1li III III * •• III "' .. 111 • • **111 * •• * ... III III III III III * .. III III III III III * * ... 111*. III III III III III *. *1It* .. * * * III * III"" *. III

052A
052B

MWBR

JSB IF SOURCE AND TARGET PTRS OVERLAP BV 1.
READ FIRST SOURCE WORD
UBA:-l. JSB IF INTERRUPT;
READ NEXT SOURCE WORD. SP3B:=SP3B - 1
WRITE TARGET WORD. LOOP BACK;
WORD COUNT: -WORD COUNT - 1. JSB IF z 0

:****~~~:*~~!~~*~!=~~~~'*~:~:!~~***i~~:r!~e~~~*!~~~!~: *~~~:l********:
ADD
JSZ

052C

OPA

IRON

RA

TEST

ADD

DATD

0520

RB

SPlB ADD

RB

052E

RC

SPlB ADD

RC

052F

RA

SP1B SUB

RA

UBB
RA

CTR
SP1B ICTR CTRO

ADD
REPC

SP1B ICTR CTRO

CAD
SPIB SUB
UBB

RRZ

CTR

ADD

NZRO
ICTR

ADD

. CTR:uWORD COUNT.(8:8)
JSB IF INTERRUPT;
SP1B:=O. REPC IF CTR () O. ICTR
WRITE SOURCE WORD;
SPIB:-UBB - 1. ICTR. END REPEAT IF CTR = 0
RB: aRB - NUMBER OF WORDS MOVED;
UBB: -CrR: =REMAINING WORD COUNT. (8: 8)
RC:-RC - NUMBER OF WORDS MOVED;
SKIP IF CTR <> 0
RA:=RA + NUMBER OF WORDS MOVED;
IF CTR 0 THEN CTR:-Ol
JSB FOR STACK DEC; JSB IF REMAINING COUNT
2

0530

JSB

M003

UNC

UBA

JSB

NZRO

'-5

***************111:************** ••• ****************** ••• ******* ••• *****

:
111 III

0531
0532
0533

The following code emptys the TOS registers to 3 in the event •
~~~n~!a~~!~~ ~~ee~~~~~s:d~r:~~stSt~~e~!:rv~~~~ ~~SMIt then
:
* * '* til 111]11 til 111 * '* ,. * III·. III til '* * lit III * III 111]11" * .. * III Y* * * 11 til * lit * til III III * * * * * '" III 111 * III III * '* 111 111 * * III III 111 111]11 III III * III
ADD
ADD
INC

SPOA NFSS
RSB
WRS

0534

QDWN ADD

DATA

0535

SPOA SP28 ADD

RG

SM

0536

UBB

UBB

SP1B JSZC ST02

0537
0538
0539
053A

MWE3

DL
SM

MO03

UBA

BNDE

CIR

ADD
ADD
ADD
JSZ

NEXT

RSB
EVEN
EPOP
UNC

FFFC
SR
UBB

ADD
ADDL
REPC

UBB

CAD

Z

UBA

SP1B
RG

DCSR NEG

INC
ADD
ADD
ADD
ADD

DCSR NCRV

SM

LSR

INSR
POS

EPP2

EVEN

SPOA=DL. SKIP IF NOT SPLIT BANKS; SP IB: =Z
RSB IF SPLIT BANKS; UBB:=-4
WRITE TOS REGISTERS AT SM + 1;
RG:=(SR - 4). REPEAT IF NOT (SR ) 4), DCSR
RG HAS BEEN READ IN RANK1 ALREADY IF SR=7
WRITE QDWN;
END REPEAT WHEN (SR - 4) COUNTS DOWN TO ( 0
UBA:=DL + (ADDR - DL);
SM.-(SR - 4) + SM + 1 (SM:=S - 3). INSR
BOUNDS CHECK SM ). ADDR. NO RSB HERE (2527)
JSB STOV IF SM ) Z AND WITHIN 32K
THIS LINE ADDED TO FIX BNDE-RSB BUG (2527)
CIR(15) INDICATES STACK DECREMENT OF 1
EPOP; SKIP IF NOT STACK DECREMENT OF 2
JSZ FOR NEXT; EPP2

PAGE 111
RECORD
NO
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5349
5350
5352
5354
5356
5357
5359
5360
5361
5363
5364
5365
5367
5368
5370
5371
5372
5374
5375
5377
5378
5380
5381
5383
5384
5385
5387
5388
5390

C.S.
ADDR

Move DB to DL Instruction
IIlIIIIIIJIIIIIIllJII!ll!:*.*

ALU A

*J11I1i1.III*III.*JllJII

UIBL RREG SREG FUNC SFNC STOR SPSK

,..III*JllJII*III111**IIIJ11

ALU B

MBLA is the entry point for the Move DB to DL (MVBL)
instruction. the Move Absolute (MABS) 1nstruction. and the
two-word clock and hardware dependent instructions
The
SR preadJust 1S set to 0 because of the clock 1nstructions.
ltirJIIIllIllIllif.JllJllJllJlll:lIII11I11J11*III.JllJllJII#I*IIII11I11J11'1cJII.JllJII • • • :II1IIJIr*III"'JllJllJll:IIIJ11l11J11I11J1t"'*JII JllJII.IlrIll."'JII lit III JllJII*

~LUT

053B
053C
053D
053E

UBA

NPFIV

CRRY

ZERO
UNC
SRZ

NF2

JSZ

PUL2

SR L2

RA

JSB

MSLR XRO

NEG

DB

ADD

RA

JSL

JSZ

USA

DL

ADD

SP4A WRS

USA

ADD

FSS

USA

UBB

JSBC MWBF

ZERO

JSBI MWIX

TEST

SP3B

JSB

0544

OPA
MElLR
UBB

PULM

--1

POS

0004 UBA

RB

SP3B ROA3
D03G

INC

ZERO
SP3B ROA3

DATA

RA

UBA

JSBS MWX

RA

SP4A ADD

FSS,

RB

DB

ADD

SP3B ROA3

UBA

ZERO

RA

JSL

0547
0548

TRP6 BKX3

UBA

0543

0546

"
* lIIir

ANDL
JSL CLK! BKX3
JSZ PULM

RC

M\lSL SR

0541

0545

BNKD JSZ

JSS MASS
INC LSL
JSZC ET03

053F

0542

9:26 AM

COMMENT

INSTR'MVBL/MABS:O 010 000 001 OOx xxx, DSPL=4, DB. ENTRY=MBLA

MULA FFF8 DSPL ADDL

0540

10/ 2/86

*I11 • • • 111111I1111I1II:III*1111r

RREG SREG FUNC SFNC STOR SPEC SKIP

OPA

JSBC MWBR
JSBI MWIX

TEST

SP3B

JSB

DATD

RA

--I

D03G

CAD
UBA

JSB

ZERO
ZER:O

SP3B ROAl
MWX

RA

ZERO

UBA. (0:1):=0 IF MASS, UBA:=CIR(13 3);
BKX3=BNKD FOR MVBL, TRAP IF NOT PRIVILEGED
JSB IF MABS; SKIP IF NOT CIR (13:1)
UBA:=2; BKX3:=0, JSB if 2-word instruction
EMPTY TOS TO 3 IF SR > 2 (#ET03 CLEAR Fl);
PULL ONE TOS IF SR
0
UBA:=(S-2), PULL ANOTHER TOS IF SR (= 2,
(F2 SET IF #ET03 WAS EXECUTED)
PULL TWO TOS IF SR ( 2
SP4A:=UBA:=(S-2) + DL (ABSOULTE TARGET ADDR)
WRITE USING BNKS
XRO:=WORD COUNT, JSB IF REVERSE MOVE
UBA:=TARGET ADDR, SKIP IF SPLIT BANKS
SP3B:=UBB:=ABSOLUTE SOURCE ADDR, READ INTO A
JSB IF TARGET AND SOURCE ADDRS OVERLAP BY
AND NOT SPLIT BANKS;
JSB FOR STACK DECREMENT IF WORD COUNT = 0
UBA:=l, JSB IF INTERRUPT;
~~~~EN~~~G~~u~g~D~O~80pS:lgK~SP3B + 1
WORD COUNT:.WORD COUNT - 1, JSB IF = 0
UBA:=TARGET ADDR, SKIP IF SPLIT BANKS;
SP3B:=UBB:·ABSOLUTE SOURCE ADDR, READ INTO A
JSB IF SOURCE AND TARGET ADDRS OVERLAP BY 1
J~~DF~~\~:~~TD~~~~~tNT IF WORD COUNT = 0
UBA:·l, JSB IF INTERRUPT;
READ NEXT SOURCE WORD, SP3B: =SP3B - 1
WRITE TARGET WORD, LOOP BACK;
WORD COUNT: .. WORD COUNT + 1, JSB IF • 0

PAGE 112
RECORD
NO
5392
5393
5394
5395
5396
5397
5398
5400
5402
5404
5406
5408
5409
5411
5413
5414
5416
5417
5418
5420
54;'1
5423
5424
5426
5427
5.129
5430
5431
5433
5434
5436
5437
5439
5440
5442
5443
5444
5446
5447
5449

C.S.
ADDR

Move Absolute Instruction

••• _* .... ".*

AlU A

111._.*-.***.

lABl RREG SREG FUNC SFNC STOR SPSK

•• ,,******** •• ALU B .1It •••• " ••• *.**
RREG SREG FUMC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

***-*****************._********_**111***_*** ••• ********-** ••••• ******-.

*

Move Absolute (MABS) Instruction

:****~~!:!~~*!!~~*!~~~~*~!!~*e!~:~!~!!~*~~~!*:!!~~~~*~~:~~:~********:

0549
054A
054B
054C
054D
054E
054F

MABS

MAF

0550

SREG
UBA
SPIB
SPIB
RD

JSZ
JSZC
JSZS
JSZS
ADD

PUlM
PUlM
PUlM
PUlM

SRZ
NCRY
NCRY
NCRY
WRX4

RE

RA
RC

JSB
SUB

MAR

NEG
NZRO

RD

RB

JSBC MABF

ZERO

JSBI AIXF
>-1

TEST

RB

JSB

DATA

RA

RE

OPA
RC

NZRO

OOFF RC

RB

RD

SUB
JSBC MABR

ZERO

RB

0551
0552
0553
0554

MAR

SPIB
ADDl
JSZ PUl2
SP IB JSZC PSHM
SPIB JSZC PSHM
RA
JSB D07S XRO
BKX4
OOFF RE
ANDl
BKX3
OOFF RC
ANDl

SR
SR
SR

0005

JSBI AIXR

TEST

RB

*-1

DATD

RA

AIXR RB

JSB
INC

0558

MAX

JSB

D07S

0559

AIXF RB

CAD

OSSA

AI Xl

JSZ

0555
0556
0557

OPA

RB
UNC
RB
IRDN

UNC

SRl2
CRRY
CRRY
ZERO

SR
SR

RB

ADD

ROA3

INC

RB

UBA

JSBS MAX

RA

ANDl

BKX3

ADD
CAD
JSB

RA

UBA
XRO

RD

XRO

ADD

RA

XRO

SUB

RD

UBB

SUB

ROA3
ZERO
ROA3

RB

ROA3

MAX RA
JSBS AIX1
RD

RD

ZERO
UNC
SF5B

UBA :- 2, pull one TOS if SR • 0; SPIB
Pull one if SR • 2; Pull two if SR = 1
Pull ono if SR • 3 or 4; Push one if SR )
Pull ono if SR • 4; Push one if SR • 6
SEND ADDR USING BKX4:
XRO:.WORD COUNT, JSB IF ZERO
JSB IF WORD COUNT ( 0; BKX4:-BANK ADDR
SKIP IF BANK ADDRESSES NOT THE SAME;
BKX3: -SOURCE BANK
JSB IF TARGET ADDR ONE GREATER THAN SOURCE
AND BANK ADDRESSES ARE THE SAME;
READ FIRST WORD INTO OPA
~~~D-~tx~S~0~~ciN~6~~~P~~:=RB + 1

~~~6Ec6~~~~!w~~~Dcob~P_B~~KjSB

IF = 0
SKIP IF BANK ADDRESSES NOT THE SAME;
BKX3:·S0URCE BANK
JSB IF TARGET ADDR ONE lESS THAN SOURCE
AND BANK ADDRESSES ARE THE SAME
READ FIRST WORD INTO OPA
~~~D-~EX~S~03~clN~6~~~P1DDR:.ADDR - I
~~~6Ec6e~~E!~~~DCob~P+B~~KjSB IF - 0
SOURCE ADDR:-SOURCE ADDR + I,
UBB: -WORD COUNT - ORIGINAL WORD COUNT, JSB
JSB FOR STACK DECREMENT;
(Si~AIBH-i6J~s¥?~g C~~~1' SET F5B TO
SOURCE ADDR: -SOURCE ADDR - 1;
UBB: -WORD COUNT - ORIGINAL WORD COUNT
~~~G~~RA6~~~~~~~~tT ADDR + • WORDS MOVED

PAGE 113
RECORD
NO

10/ 2/86

C S.
ADDR

5451

III " III: III

5453
5454
5455
5456
5457
5458
5459
5461
5462
5464
5465
5467
5468
5470
5471
5473
5474
5476
5477
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5490
5491
5493
5494
5496
5497
5499
5500
5502
5503
5505
5506

•
:

545~

9:26 AM

* III " * " III III ,. III III I' III III * III III '" .. III III III III .. ,. III III * .. * III III III III III III III .. III III .. III ., III * * IL " III * III III III III ,.. .. III * III * * III '"
Move Absolute Blanking Forward - ThIS routine is used by
the MABS, MDS, MTDS and MFDS instructions for moves in
•
~:=r:!~e~~i:~eO:r::~~~dt~~na1~;e::~~c:her:o~:ep!r~'~~ RC
:
1/11

1ft

III:

:****~~*:~1~~!~~*!~!*!~:*~!~~*!~:!!~~!!~~111!~:!::~*:!.~~~*III.III*IIII11I11I11*III*:
055B

MABF

ADD

055C

JSZ

055D

OPA

RA
IRDN

TEST
DATA

UBB

055E

RB

SP1B ADD

RB

NF3A

RA

055F

RC

SP1B ADO

RC

UNC

0560

RD

SP1B ADO

RD

0561

ADO

JSB

D07S

ADD

CTR

REPC

SPIB DCTR CTRO

INC
SP1B SUB
UBB

SP1B DCTR CTRO
RRZ

CTR

ADO

NZRO

ADO
UNC

RA

SF5B

DCTR

SP1B JSBS "-5

RA

NZRO

; CTR:=WORD COUNT.(8.8),
SET F5B TO INHIBIT ADJUSTING (S-I)
JSB IF INTERRUPT;
SP1B:-0, REPC IF CTR <> 0, DCTR
WRITE SOURCE WORD;
SPIB.=UBB + 1, DCTR, END REPEAT IF CTR • 0
RB.=RB + NUMBER OF WORDS MOVED;
UBB =CTR:=REMAINING WORD COUNT. (8·8)
RC=RC + NUMBER OF WORDS MOVED IF MTDS;
SKIP IF CTR <> 0
RD:=RD + NUMBER OF WORDS MOVED IF NOT MTDS;
IF CTR-O THEN CTR:-FF
JSB FOR STACK DEC;
RA-RA - NUMBER WORDS MOVED, JSB IF <> 0

**" •• *_*IIiI**********************'*******************lIl11******"*****IIiI***
Move Absolute Blanking Reverse - This routine is used by
the MABS and MOS instructIons for moves in the direction
of descen~ing addresses where the target address is one

.

*****~::=*!~:~*!~:*~~~!~:.**************I11**********h** **************:

0562

M:ABR

ADO

0563

JSZ

0564

OPA

RA
IRON

TEST

ADO

DATD

0565

RB

SPIB ADO

RB

0566

RD

SPIB ADO

RD

0567

RA

SP1B SUB

RA

0568

JSB

D07S

UBB
RA

UNC

ADO

CTR

REPC

SP1B ICTR CTRO

CAD
SPIB SUB
UBB

ADO

UBA

SUB
JSB

SFSB

SP1B ICTR CTRO
RRZ

CTR
NZRO
ICTR

A-5

RA

NZRO

; CTR:-WORD COUNT.(S.8),
SET F5B TO INHIBIT ADJUSTING (S-l)
JSB IF INTERRUPT;
~~i~E·g6u~~~cwb~D7TR <> 0, ICTR
SP1B:-UBB - 1, ICTR, END REPEAT IF CTR
0
RB:-RB - NUMBER OF WORDS MOVED;
UBB:-CTR:-REMAINING WORD COUNT.(S:S)
RD: -RD - NUMBER OF WORDS MOVED;
SKIP IF CTR <> 0
RA:-RA + NUMBER OF WORDS MOVED;
IF CTR-D THEN CTR:-01
JSB FOR STACK DEC; JSB IF REMAINING COUNT

PAGE 114
RECORD
NO
5509
5510
5511
5<;12
5513
5514
5515
5516
5517
5519
5521
5523
5525
5526
5528
5530
5532
5533
5535
5536
5538
5539
5541
5542
5544
5546
5548
5549
5551
5552
5554
5555
5557
5558
5560
5561
5563

C S.
ADDR

MLBS is the entry point for both the Move DL to DB (MVLB)
instruction and the Move Data Segments (MDS) instruction.

~lUT

INSTR=MVlB/MDS:O 010 000 001 lOx

056B
056C
0560
056E
056F

SR
RE
UBA

SP4A JSZC PSHM
RE
ADD lSl
UBB ADD

CRRY

0570

RE

OPA

CRRY

0571

OPA

ANDL
ADDL
SP4A
NCRY
JSZS PUlM
NCRY
JSZS PUlM

JSB

xxx,

ADSE

SR-3, ENTRY.MLBS
JSZ
JSB
JSZC
INC

TR P6 BKX3
~~~~
MVLB
CRRY
PSHM
lSl SP1B ROX3

RC

RC
OPB
RE

ADD
ADD
JSZ

lSl RG
RF
OSTV RH

UBA

SP1B ADD

NEG

UBB

2000

0573
0574
0575

RF

OPA
RF
RG

lOR
ADD
ADD

DATA
ROX3
ROX3

RD

UBB
OPB
RC

0576

RC

OPA

JSZC OSTV

CRRY

UBA

SPIB ADD

OPA

JSB

UBB

INC

DATA

RA

OPB

XFRR

WRX4

OOFF SREG ANDL

0577
0578

UBA

0579
057A
057B

ADSE
ADSC

NEG

ADSC

SP4A lOR
RF

JSB

RE
RC

ADO
ADD

OOFF OPB

SP4A

FOS1
SPOA
SPOA

JSZ
JSZ

ZERO
ROX3

ANDl
ADD
ADD
JSZ

ROA3
ROX3

INC

0572

UBA

•
•

UBA
UBA

SR

ROX3

JSZC DSTV
ADDl

9: 26 AM

COMMENT

*::! * !~ * ~ * ! ~ ! *~~;~ • * * * * • * * * * * * * * * * * * * • * * * * * *:

MlBS 0008 CIR
0005
MDS SR
UBA
SR
SP4A

0~6A

RREG SREG FUNC SfNC STOR SPEC SKIP

•

: * * * *!~: * ~~ * ~!: ~~ i ~ ~! *! ~

0569

10/ 2/86

~~~:.~=!=.~exr~nls.!~~!r~~!!~n ••••••••••••• ALU B ••••••••••••••
LABL RREG SREG FUNC SFNC STaR SPSK

BKX4
SP2B
RF
DSTV SP3B

ZERO
ROX3
ROX3

XRO

HBF2

BKX3
ABOS
ABOS

UNC
UNC

~~~A ~.C~~·}~~:!J;Me~~3i~:t~Uc~r~~ if NPRIV
Pull 1 if NOT (SR ) = 5); Push 1 if SR ) 5
Pull 1 If NOT (SR )- 5); SPIB
2, read DST
Pu~~i~t!f ~Ra~\~2~G. src DSII • 4
UBA:- tar OSII· 4; RF:= adr of DST, read
Re~~I~s6s~0~101~tl~~ ~~Ti~~!rb: RH := tar
DST violation if tar DSI ) OST length,
Read 3rd word of tar OST entry
Tr~~Ti!n::r OS Ibsent; Read 4th word of tar
SP4A :. UBl :- mask for referenced bit;
Se~K~:f:d ~!r ~~rb~~~;"S~~Bb~~slar OS bank II
Read OST len3th; RF:- tar addr
Re~~I~s6s~0~iol~t~~~ ~~Ti~~!rb; SP3B := src
OST violation if src OSI ) OST length;
Read 3rd word of sre OST entry
Trap if sre DS absent; Read 4th word of src
se~S~e~~~r~it for src; SREGB .= src bank II
XRO :" word count, set F2 if reversed mOlle
Se t up w r i t eta tar ad r, JSB;
UBB :- BKX3. sre bank 1 (8 bits)
SPOA:= param (OSI); Trap for absent tar OS
SPOA
param (DSII); Trap for absent src OS

PAGE 115
RECORD
NO
5566
5567
5568
5569
5570
5571
5572
5574
5575
5577
5578
5579
5581
5582
5583
5585
5586
5587
5589
5590
5592
5593
5595
5596
5597
5599
5600
5601
5603
5604
5606

C.S
ADDR

Move DL to DB Instruction
~ ••• * •• * •• n
ALU A ••• *-.***** .*****III*h**** ALU B **************
LABL RREG SREG rUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III
III 111'111 III '" '"
III III JII III III III _, III III * lit III 111 III • '" III * '" III: III III III * lit III III ,. • III -* III III III III h III JII ~ '" III III * III III III III III: 1ft It * III 111 III lit III:
III '"
:
Move DL to DB (MVLB) Instruction
:
]I{

10/ 2/86

9:26 AM

COMMENT

)II '"

]II

:****~~!:!:~*!!~T*~~~~!*~!!~*e!!:!!~~~~*~~~~n~!!:=~l*~~:~~:~~*******:
057C

MVLB

0570

:rsz
RC

057E
057F

UBA

0580
0581
0582
0583

UBB

SP4A WRD

UBA

JIDD

FSS

UBB

:rSBC MWBF

ZERO

RB

BNKS JSZ

TRP6 BKX3

NPR'II

RA

JSB

MLBR XRO

NEG

DL

ADD

RA

JSL

SP3B ROA3
D03G

TEST

SP3B

:rSB

DATA

RA

UBA

JSBS MWX

RA

SP4A JIDD

FSS

RB

DL

ADD

SP3B ROA3

UBA

ZERO

RA

JSL

OPA

*-1

:rSBC MWBR
:rSBI MWIX

TEST

SP3B

:rSB

DATD

RA

*-1

INC

ZERO

:rSBI MWIX

0584
0585

UNC

JIDD

OPA
MlIBR

ET03

DB

SP3B ROA3

D03G

CAD
UBA

JSB

ZERO

ZERO
SP3B ROA3

MWX

RA

ZERO

JSB TO EMPTY TOS TO 3;
JSB IF NON-PRIVILEDGED. BKX3:=SOURCE BANK
SP4A:=UBA:-(S-2) + DB (ABSOLUTE TARGET ADDR)
WRITE USING BNKD;
XRO:=WORD COUNT. JSB IF REVERSE MOVE
UBA:=TARGET ADDR. SKIP IF SPLIT BANKS;
SP3B:=UBB:=ABSOLUTE SOURCE ADDR. READ INTO A
USING BNKS
JSB IF TARGET AND SOURCE ADDRS OVERLAP BY 1
AND NOT SPLIT BANKS;
JSB FOR STACK DECREMENT IF WORD COUNT = 0
UBA:-l. JSB IF INTERRUPT;
READ NEXT SOURCE WORD. SP3B:=SP3B + 1
WRITE TARGET WORD. LOOP BACK.
WORD COUNT: .WORD COUNT - 1. JSB IF = 0
UBA:=TARGET ADDR. SKIP IF SPLIT BANKS;
SP3B:=UBB =ABSOLUTE SOURCE ADDR. READ INTO A
USING BNKS
JSB IF SOURCE AND TARGET ADDRS OVERLAP BY
AND NOT SPLIT BANKS;
JSB FOR STACK DECREMENT IF WORD COUNT = 0
UBA:-1. JSB IF INTERRUPT;
READ NEXT SOURCE WORD. SP3B:=SP3B - 1
WRITE TARGET WORD. LOOP BACK;
WORD COUNT:=WORD COUNT + 1. JSB IF = 0

PAGE 116
RECORD
NO

C. S
ADDR

MOVE FROM DATA SEGMENT INSTRUCTION
**********. ALU A .*.*I11****i*
******.****** ALU B * •• -**_.**.***
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

5608

5611

*1Ir***!~*~"*******.******************.* •• *.********.*** *****111** •• 111 ••••

5612

5613

5635

5636
5638
5640
5642
5643
5645
5646
5648
564!J
5651
56')2

5653

5655
5656
5658
5659
5661
5062

5654

5665
5667
5668
';670
5672
5674

9:26 AM

:~~us~~ntn~t!~t(§CeJi~~S!~~c:~:n~oveT~;o~RD:~:a~j~~tnls(~~~SI

5609
5610

5614
5615
5616
5618
5620
5622
5624
5626
5627
5629
5631
5633

10/ 2/86
COMMENT

SLUT INSTR-MFDS/SCU 0 010 000 001 11,SR-2,ENTRY-MFSU
0586
0587
0588

0589
OSSA

MFSU 0008
0004
MFDS SR
SR
SR

CIR

ANDL
ADDL
SP4A
UBA JSZC PSHM
CRRY
SP4A JSZS PULM
NCRY
NCRY
SP4A JSZS PULM

as 8E

0580

SR
RC
UBA
RC

SP4A
RC
UBB
OPA

JSZC PSHM
ADD LSL
ADD
JSZC DSTV

058F

RG

0590
0591

RD

OPA
OPA
DB

lOR
JSB
ADD

058B

05SC

0592

FDSI UBB
RF

0597

ROX3
CRRY

RC
OPB
2000
UBA SPIB

DATA
NEG
WRD

BNKO ADO
SPIB INC
OOFF OPB ANOL

ZERO

RB

SP2B
BKX3

ROX3

OPB

ADD

UBB

JSB

MOSR

F2

UBB

JSBC MABF

ZERO

RA

JSB

D07S XRO

ZERO

TEST

OPA

JSBI DSIX
JSB *-1

DATA

RA

UBA

SP3B ROA3
INC
ZERO
JSBS FOSX RA

JSBI DSIX

TEST

SP3B

JSB

DA TO

RA

UBA

JSB

FDSX RA

ZERO

XRO
XRO
USB
SREG

JSB
SUB
SUB
SUB

0071 RO

UNC

MDSR

*-1

SP3B

0598

OPA

0599

FDSX 0007 CIR

ANDL

RD

059A

DSIX

ADD
ADD
JSZ

RA
RB
RD

0~9B
0~9C

JSZ OSTV RH
ZERO
ADO
ROA3
AOOL
RG
ADD
SPIB ROX3

UNC

0595

0596

RF

SR

BKX3
ZERO
SCU
NPRV
TRP6
CRRY
PSHM
LSL SPIB ROX3

ADD

SP2B SUB

0593

0594

ADSC

CRRY

ADO
JSL
JSZ
SP4A JSZC
INC
UBA

IRON

UNC

CAD

SP3B ROA3

SP3B ROA3

RB
RD

UBA:-CIR(12:1); BKX3:·0
SP4A:=4; JSB IF SCU INSTRUCTION

!f

~u~~ ~t ~g} VS~v!!eai~;p5§~eI~u~~
4SR ) 4
PULL IF NOT (SR ). 4);
READ DST POINTER AT LOCATION 2, SP1B:=2
PUSH IF SR ) 4; DSTV IF DSI = 0, RH:=DSI
UBA:. DSI • 4; READ FIRST WORD OF DST
READ FIRST WORD OF DST ENTRY; RG:=BIT MASK
DSTV IF DSI ) OS LENGTH;
READ THIRD WORD OF DST ENTRY, SPIB: ·ADDR
SET REFERENCED BIT; SP2B:=BNKD
ABDS IF ABSCENCE BIT; READ FOURTH ENTRY WORD
RF:-TARGET ADDR, WRITE USING BNKD;
BKX3:-S0URCE BANK
Do the blanking test if bank Is are same;
SP3B :- src adr, read 1st word in OPA
SkGGBb~~n~~~ga~~~tJ~~ ~rn~e!~~S:deM8~t same;

JS~h~~rS~~e~~~~p~~B~o~: ;~r~a~0~~r,1J~Be~~~r

stack dec i f • 0
UBA:-I, JSB IF INTERRUPT;
READ NEXT SOURCE WORD, SP3B: =SP3B + 1
WR ITE TARGET WORD, LOOP BACK;
WORD COUNT: -WORD COUNT - 1, JSB IF = 0
UBA:-l, JSB IF INTERRUPT
READ NEXT SOURCE WORD,DEC SOURCE POINTER
WR ITE TARGET WORD, LOOP BACK ,
WORD COUNT·WORD COUNT +1, EXIT IF=O
UBA:'CIR,(13:3) • STACK DECREMENT;
RD: -RD '. WORD COUNT
, UBB:·WORD COUNT - ORIGINAL WORD COUNT
: RB=RB + NUMBER OF WORDS MOVED
JSB TO INTERRUPT HANDLER:
RD ·RD '. NUMBER OF WORDS MOVED

PAGE 117
RECORD
NO
5676
5677
'5678
5679
5680
5681
5682
5683
5684
5686
5688
5690
5fi'12
L)t,

--14

56~i

_,

5697
5699
5700
5702
5703
5705
5706
5708
5710

5712
5713
5715
5716
5718
5719
5720
5722
5723
5725
5726
5728
5729

C.S.
ADDR

MOVE FROM DATA SEGMENT INSTRUCTION
•• *.***.**~ ALU A **** •• * ••• * *.***-* ••• *** ALU B **"'***********
lABl RREG SREG I~UNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
JIr III " III III III: '" III III * * III III III III :/1: * III III III .. * III III III * III III * III: III III lit III * III .... lit JII III ,.. III III III: iii ." III III * III III III .. III !If III * * * III III * * III III * III • III

~~~W S~ ~n t ~:; i!~ t aCe) i

!II

*** *!~ ~
III

_ ..

10/ 2/86

9:26 AM

COMMENT

ns ~ ~ ~c: ~~n ~ove T~~ ~~ ~ r!:~j~~: I~T~! 1
t

*' • III III :_ III III III III III: JIll III JII: * III III III III lit * * III III * III lit III * 11 * * III 'III III III * III 111111 * .1 III III * III III * * '" III * * lit * * * :
)It

SlUT INSTR=MTDS/SCW:O 010 000 001 01,SR=2,ENTRY-MTSW
059D
059E

059F
05110
G~I\ 1

MTSW 0008
0004
MTDS SR
SR
SR

CIR

ANDl
,\[JDL
SP4A
UBA JSZC PSHM
CRRY
SP4A JSZS PULM
NCRY
SP4A JSlS PULM
NCRY

S~

05A3

RD

SP4A ,JSZC PSHM
RD
I~DD
LSL

05A4

UBA

UBB

I~DD

05A5

RD

OPA

JSZC DSTV

RG
RC

OPA
OPA
OPA

1\00

05A~

O">A6
O~)A

7

05A8

JSB
lOR

CRRY
SF3A
SPOA ROX3

AD SO
RF

ADD
JSL
JSZ
SP4A JSZC
INC
UBA

SR
2000

OPB
RD

BKX3
SCW
ZERO
NPRV
TRP6
PSHM
CRRY
LSL SPIB ROX3

ADDL
RG
ADD
JSZ DSTV RH

CRRY

UBA

SPIB ADD

NEG
DATA
WRX3

UBB INC
BNKD ADD
OOFF OPB ANDL
RB

ROA3
ZERO
ROX3

SP2B
BKX3

ROA3

05A9

UBB

SP2B :(QR

NZRO

05AA

RF

UBB

.JSBC MABF

ZERO

.JSBI

~IX

TEST

SP3B

.JSB

·-1

DATA

RA

UBA

JSBS TDSX RA

ZERO

RC

XRO

JSB

0071 RC

UNC

JSZ

ABDS

UNC

05AB
05AC

OPA

05AD

TDSX 0007 CIR

ANDL

05AE

ADSD

1\00

RD

SPOA

DB

ADD

RA

JSB

SP3B ROAD
D07S XRO

INC

ZERO

SP3B ROAD

UBA:-CIRI12:1); BKX3:-0
SP4A: &4; JSB IF SCW INSTRUCTION

!f

~u~r ~~ ~o} ~s~v!!eaj~;p5~~eI~u;~
4 SR ) 4
PULL IF NOT ISR )- 4);
READ DST POINTEI~ AT LOCATION 2, SPIB: =2
PUSH IF SR ) 4; RG:=BIT MASK
UBA:: DSI • 4, SF3A TO INDICATE MFDS;
READ FIRST WORD OF DST
SPOA:-ADDR OF FIRST WORD OF DST ENTRY. READ;
RH:-DSI. OS TV IF DS • • 0
DSTV IF DSI ) OS LENGTH;
READ THIRD WORD OF DST ENTRY
ABDS IF ABSCENCE BIT; READ FOURTH ENTRY WORD
SET REFERENCED BIT IN DST ENTRY; SP2B·=BNKD
RF:=TARGET ADDR, WRITE USING BKX3;
BKX3:=TARGET ADDR
SKIP IF BANK ADDRESSES NOT THE SAME;
SP3B: =SOURCE ADDR, READ FIRST WORD INTO OPA
JSB FOR OVERLAPED MOVE IF TARGET ADDR ONE
GREATER THAN SOURCE;
XRO:=WORD COUNT, JSB FOR STACK DEC IF • 0
UBA:-l. JSB IF INTERRUPT;
READ NEXT SOURCE WORD. SP3B:=SP3B + 1
WRITE TARGET WORD. LOOP BACK;
WORD COUNT:-WORD COUNT - I, JSB IF =
UBA:=CIR.I13:3) = STACK DECREMENT;
RC:·RC + WORD COUNT
SPOA:=PARAMETER:=DSI; JSB FOR ABSENT DS

PAGE 118
RECORD
NO

C.S
ADDR

Stack

De~rement

Routines for Moves (0-7)

.*.*_****111. ALU A •• ,..**-** ••

5732
5733
5734
5735
5736
5737
5738

05AF

D07S 0007 CIR

ANDl

5741

05BO

0071 SR

UBA

JSBS DOll

5744

05Bl
0562

D07G

eIR
UBB

CSR
ADD

5749
5751
5753

0563
05El4
0565
0566
0587
0568

5740

5743

5746
5748

5155

5757
5759
5761

D07l UBA
UBA

F5B

ADD
NCRY
SP4A pas
EPOP

SP4A ADD
ODD
ADD
NE XT
JSl NEXT
UNC
SM
ADD
SP4A
Q
JSZS STUN
NCRY
JSZ NEXT
UNC

10/ 2/86

*********J1t*** ALU B ****_****111.***

lABl RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
. . . ".!t • • • _.*_ ..... _._ .... * __ ***_*._.**** ••• *.** •• * •••• _.****111111 •• ** ........
Stack Decrement Routines for Moves
•

RB

XRO

ADD

UBA
UBA

ADD
ADD

ADD
ADD
ADD
ADD
ADD
SP4A ADD

RB
EVEN

lSR
EPP4
EPP2
SM

ClSR

9:26 AM

COMMENT

UBA: -CIR . (13: 3) • STACK DECREMENT;
SK I P ADJUST! NG (S-1 ) IF F5B
JSB IF NOT (SR ). STACK DECREMENT) ;
RB =RB + WORD COUNT
SKIP IF NOT DEC BY ONE; UBB: =SR - STACK DEC
UBA: 'SR - STACK DEC, EPOP IF DEC BY ONE;
SKIP IF NOT STACK DEC BY FOUR
SKIP IF DEC BY TWO; EPP4 IF DEC BY FOUR
NEXT IF NOT STACK DEC BY TWO,
JSB FOR NEXT IN ONE CLOCK; EPP2
UBA=(SR + SM) - STACK DECREMENT;
JSB FOR STUN IF NOT (NEW SM ): Q);
JSB FOR NEXT IN ONE CLOCK,
SM=S - STACK DECREMENT, ClSR

PAGE 119
RECORD
NO
5763
5764
57b,)
5766
5767
5768
5769
5770
5771
5772
5773
5774
5776
5778
5780
5782
5784
5785
5787
5789
5790
5792
5794
5796
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5813
5815
5817
5819
5821
5822
5823
5825
58;!6
5828

50~q

5831

C.S.
ADDR

BCY and BNCY instructions

ALU A ** •••• ***111.

**** •••• * •••• ALU B ****JII: •••••• _IJllJII

l.ABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC StlIP

.", .... JIc*"' ••••

_I ..

* lie

111:

III ... " III #I III It .. 'It ....

* JIll * lit III III III •

JIll III '" III

*

JIll

III ... III JIll III 'It III It • til: III III III

.

10/ 2/86

9:26 AM

COMMENT

* * ... * '" III * III .. III III lit * * III III * • III III JIll ... III ~I III
1111:

BCY instruction, (Branch on carry)
BCY is the entry
point fa r the di rect case, and BCYI is the ent ry point for
_I *
III * l ~; Ie 1- ~ ~ ! ! ~; ! III ~ =~ ~
III 111 JIll III * .. III III III " III III '" III * III III III III * III * . . 11 III III lit
JIll III III III JIll JIll * III III III III III • * III III :

*.

111:

SLUT
SLUT
SLUT
SLUT

INSTR=BCY:O
INSTR=BCY:O
INSTR·BCY:O
INSTR=BCY:O

001
001
001
001

05B9
05BA
05BB
05BC
05BD

BCY 0400 STA
BCY1
UBA
RH
DSPL
UBA PB
SPOA STA

OS BE
05BF

nCYI 0400 STA ANDL
BCll UBB DSPL ADSB

OS CO
05C1
05C2
05C3

UBA
RH
IICI2 UBA
SPOA

JI '" '" "

05C4
05C5
05C6
05C1
05C8

SPOA

OX,DSPL=5,P,ENTRY=BCY
OX,DSPL=5,P,INDR,ENTRY·BCYI
lX,DSPL=5,P,F2,ENTRY=BCY
1X,DSPL=5,P,F2,INDR,ENTRY=BCYI
ZERO
RONP

STA
SPOA
RH
ROP
CTFI
RONP

SUB
ADD
UBNE
XOR

STA

P
UBA

PL

ADD
RH
ADD
ADD
UBA UBNE
SREG JSZ NEXT P
P
UBA

PL
PL

ADD
ADD

NZRO
NEXT
UNC
NZRO

ADD
RH
UBNE
UBA UBNE
SREG JSZ NEXT P
"If

'l1li ...

INSTR=BNCY:O 001
INSTR=BNCY:O 001
INSTR=BNCY:O 001
INSTR=BNCY:O 001
0400 STA ANDL
UBA ADD
RH
DSPL ADSB
UBA PB
UBNE
SPOA STA XOR

05C9

IINCI 0400 STA

05CA

IINII UBB

05CB

UBA
RH

osce

ANDL
ADD
ADSB
UBNE
XOR

1111:

100
100
100
100

NE:XT

SPOA:-UBA:=CARRY BIT; RH:=P BEFORE INCREMENT
SKIP IF CARRY; SKIP IF NO CARRY
UBA:=TARGET P, READ INTO NIR; NEXT
BOUNDS CHECK TARGET P
CLEAR CARRY OR OVERF lOW IF SET;
P:=TARGET P AFTER BOUNDS CHECKING, JSB
SPOA:~UBA:=CARRY BIT; UBB:=P
RH:-UBA:=INDIRECT CEll ADDR, READ;
SKIP NEXT IF CARRY IS SET
F1:~0 IF BNDV; NEXT IF BRANCH NOT TAKEN
UBA:=TARGET P, READ INTO NIR; BOUNDS CHECK
BOUNDS CHECK TARGET P
CLEAR CARRY OR OVERFLOW IF SET;
P:=TARGET P AFTER BOUNDS CHECKING, JSB

* III III •
III ....... * ,. III III III: JIll III 111 III: 1\ #I: * • III • • III III * III * '" III III III * 'It III III III ... lit
III 111 III III III lit * III
it III * lit III III * * lit *
BNCY instruction, (Branch on no carry) - BNCY is the entry
point for the direct case, and BNCI is the entry point for
the indirect case.
•
lie III * '" III Ie JIll • III III * JIll JIll III: * III JIll ,. lit " " " lit * III: III III III ,.. JIll III III III * " III * '" * III III " III III * til III III #II lit JIll III * III 1\ III III: JIll III III * JIll JIll _r *

_, " III JIr III III III

SLUT
$LUT
SLUT
SLUT
IINCY
UNCI

PB
OPA
PB
STA

001
101
001
101

001
101
001
101

ANDL
SUB
JSB

SPOA

OX,DSPL=5,P,ENTRY.BNCY
OX,DSPL=5,P,INDR,ENTRY·BNCI
lX,DSPL=5,P,F2,ENTRY=BNCY
IX,DSPL=5,P,F2,INDR,ENTRY=BNCI
NZRO
RONP

STA

P
UBA
Pl

ADD
RH
ADD
ADD
UBA UBNE
SREG JSZ NEXT P

SPOA

DSPL ADSB
PB
OPA

101
101
101
101

RH
BCI2

l1li •

ZERO
NEXT
U~IC

ADD
ROP
CTFI
RONP

UBA
Pl

RH

ADD
ADD
UBNE

ZERO
NEXT

SPOA:-UBA:=CARRY BIT; RH:=P BEFORE INCREMENT
SKIP IF NO CARRY; SKIP IF CARRY
UBA:=TARGET P, READ INTO NIR; NEXT
BOUNDS CHECK TARGET P
CLEAR CARRY OR OVERFLOW IF SET;
P:=TARGET P AFTER BOUNDS CHECKING, JSB
SPOA:=UBA:=CARRY BIT; UBB:=P

B:gA~pU~:FO~:R~~c~~~tNT

RH:=UBA:=INDIRCT CEll ADDR, READ;
SKIP NEXT IF CARRY IS NOT SET
Fl:=O IF BNDV; NEXT IF BRANCH NOT TAKEN
UBA:=TARGET P, READ, JSB; BOUNDS CHECK

PAGE 120
RECORD
NO
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5~47

5849
58 r,O
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5863

C S
ADDR

ins true t ions
~~~. !~~. ~~~V ALU
A III III * III III III III III III III
LABL RREG SREG FUNC SFNC STOR SPSK
111:

A*.**I11 ••• _ ••• ALU B ***111:**********
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

**********.***-******************** .. *********.-******--******.**-***BOV instruction. (Branch on overflowl
BOV is the entry
point for the direct case. and BOVI is the entry point for

**.**!~:.!~~!r:~!*~!::*************.**** •• **.********* ._.* ••• **** ••• :

SLUT
SlUT
SLUT
SlUT
05CD
03CE

INSTR,BOV: 0
INSTR=BOV 0
INSTR=BOV 0
INSTR=BOV: 0

BOV 0800 STA
BOVI 0800 STA

001
001
001
001

ANDl
ANDl

011
111
011
III

000 OX.DSPL,5.P.ENTRY·BOV
000 OX.D~PL=5.P.INDR.ENTRY=BOVI
000

lXD~PL=5.P.F2.ENTRY=BOV

000 lX.OSPl'S.P,F2.INOR.ENTRY=BOVI
SPOA
SPOA

JSB
JSB

BCYl RH
BCll

UNC
UNC

SPOA: -UBA: -OVERFLOW BIT; RH:'P, JSB
SPOA: ·UBA: 'OVERFLOW BIT; UBB 'P, JSB

_.******************************* ••• ******************. __ *_111 •••• _ ••••
BNOV instruction, (Branch on no ove rf low)
BNOV is the
ent ry point for the d i reet case. and BNOI is the ent ry point
for the indirect c lie.
********:.I11*****._*******lI1r*****_***IIIJIIt**III***lIIlt**jII**J1I:**III.111111:**111****._.111*_

SLUT
SLUT
SLUT
SLUT
05CF
0500

INSTRaBNOV' 0
INSTR=BNOV 0
lNSTR·BNOV 0
lNSTR-BNOV 0

BNOV 0800 STA
BNOl 0800 STA

001
001
001
001

ANDL
ANDL

011 001
III 001
011 001
111 001
SPOA
SPOA

OX ,DSPl-S. P. ENTRY·BNOV
OX.DSPL-S.P.INDR.ENTRY=BNOI
lX.DSPL-5,P,F2.ENTRY-BNOV
lX.DSPL-5,P,F2,lNDR,ENTRY=BNOI
P
P

JSB
JSB

BNCI RH
BNI!

UNC
UNC

SPOA:=UBA: -OVERFLOW BIT; RH:=P, JSB
SPOA: ·UBA: =OVERFLOW BIT; UBB:=P, JSB

PAGE 121
RECORD
NO
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5879
5881
5883
5885
5887
5889
5891
5893
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5909
5911
5913
5915
5917
5919
5921
5923

C.S.
ADDR

BRO and BRE instructions

****111**.*.111 ALU A "**111**111*111111.

**.***JII****** ALU B *111*****111**111111**

LABL RREG SREG fUNC SfNC STOR SPSK RREG SREG FUNC SfNC STOR SPEC SKIP
III III * III: III III III: III '" ,. III It 1\ III: III III JII 1\ III III III III III: III JIll ,. III .. III III: III 1\ It III III: '" III III III * lIIlII III * III JIr III III III It 1\ It III III: III III III '" III III: JIt * " III: III III: III III III
BRO instruction, (Branch on TOS oddl
BRO i5 the entry
•
point for the direct case, and BROI is the entry point for
•
the indirect case.
•

10/ 2/86

9:26 AM

COMMENT

****111***'#1*****."'********.***.** •• *****.****111111***111:**"111*111111111***111111** ••• ",_

SLUT
SLUT
SLUT
SLUT
05D1
05D2
05D3
05D4
05D5
05D6
05D7
05D8
05D9

INSTR-BRO:O
INSTR=BRO:O
INSTR=BRO:O
INSTR-BRO:O

001
001
001
001

011
111
011
111

110
110
110
110

OX,SR=I,DSPL=5,P,ENTRY-BRO
OX,SR=I,DSPL=5,P,INDR,ENTRY=BROI
lX,SR=I,DSPL=5,P,f2,ENTRY=BRO
1X,SR=1,DSPL=5,P,f2,INDR,ENTRY=BROI

BRO

UBA RA
XfRS
EVEN
RA
ADD
EPOP ODD
RREG DSPL ADSB
RONP
JSZ NEXT
UNC
UBA PB
UBNE
PL
UBA UBNE
ADD
SREG JSZ NEXT
UNC
BROI UBA DSPL ADSB
RH
ROP
RA
ADD
EPOP ODD
UBA PB
SUB
Crfl
JSl NEXT
UNC
RH
OPA ADD
RONP PL
RH
UBNE
UBA PB
UBNE
Fl
PL
UBA UBNE
Nfl
JSZ BNDV
UNe
SREG JSZ NEXT
UNC
• III "Ie III III III 1\ 111 It III '" It 1\ 1\ III 111 lit III * 1\ III 1\ III III lit * Ilr III * III III III III III * * * III III III ... III III III: III !II: l1li III * III III: III
III III * 1\ .. 1\ * II: III: * III • 'Ie III ..
BRE instruction, (Branch on TOS evenl
BRE is the entry
point for the direct case, and BREI is the entry point for
III III III III III ! ~~ 1\ ! ~ ~! ~.= ~
III ~ ~ ~; ~ III III: III III lit III III III III III • • III III ..
1\
* III III III 1\ III III 1\ III !It III * III * III III III 1\ III III * III III * III *
111:

!

05DA
05DB
05DC
0500
05DE
05Df
05[0
05El
05E2

SLUT
SLUT
SLUT
!LUT
BRE

INSTR.BRE
INSTR·BRE
INSTR=BRE
INSTR=BRE
UBA RA
RREG DSPL
UBA PB

BREI UBA
UBA
RH
UBA

0
0
0
0

001
001
001
001

l1li:

011
111
011
111

111
111
111
111

XFRS
ADSB
UBNE
ADD
DSPL ADSB
RH
PB
SUB
OPA ADD
PB
UBNE
JSZ BNDV

l1li:

RREG:-P, SKIP IF (SI EVEN; SKIP If ODD, EPOP
UBA:=TARGET P, READ; NEXT IF (51 NOT ODD
BOUNDS CHECK TARGET P
JSB; P:=TARGET P AFTER BOUNDS CHECKING
RH:=UBA:=TARGET P, READ; (SI 000 7 , EPOP
Fl:=O If BNDV; NEXT IF (SI NOT ODD
UBA:~TARGET P, READ INTO NIR; BOUNDS CHECK
BOUNDS CHECK; BOUNDS CHECK, SKIP If BNDV
JSB IF BNDV; P:zTARGET P, JSB

l1li:

]I[

111;

OX,SR=1,DSPL-5,P,ENTRY=BRE
OX,SR-l,DSPL·5,P,INDR,ENTRY.BREI
lX,SR=1,DSPL=5,P,f2,ENTRY=BRE
lX,SR-l,DSPL=5,P,F2,INDR,ENTRY-BREI
ODD
RONP

RA

PL

Rap
CHI

RONP
Fl
UNC

PL
PL

ADD
JSZ NEXT
UBA UBNE
SREG JSZ NEXT
RA
ADD
JSZ NEXT
UBNE
RH
UBA UBNE
SREG JSZ NEXT

EPOP EVEN
UNC
UNC
[POP EVEN
UNC
Nfl
UNC

RREG:-P SKIP If lS) ODD; SKIP If EVEN, EPOP
R
~geND~AC~~~KPtA~~E~;pNEXT
IF (SI NOT EVEN
JSB; P:-TARGET P AFTER BOUNDS CHECKING

~~::gB~F=~~~e~TJ~B;R~~g;N~~f ~~E~~j ~b~PEVEN

UBA·=TARGET P, READ INTO NIR; BOUNDS CHECK
BOUNDS CHECK; BOUNDS CHECK, SKIP If BNDV
JSB If BNDV; P:=TARGET P, JSB

PAGE 122
RECORD
NO
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5939
5941
5942
5944
5945
5947
5949
5951
5953
5955
5956
5958
5959
5961
5963
5965

C S
ADDR

CPRB instruction
111********** ALU A **-***.****
LABL RREG SREG FUNC SFNC STOR SPSK

111"11:**11:_**_.*** ALU B

*******.~t:Jt*.*.

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

,,**************JIt._****_1I'******************************._.It*.* •• * •••• *
For the CPRB instruction, (Compare range and branch), the
integer to be compared is in X, the upper bound 15 in IS),

: * !II .. * ~ ~ ~ III
SLUT
SLUT
SLUT
!LUT
05E3
05E4

1~; ! ~':~ ~ * ~ ~ ~ ~ ~ .. ! ~ * ! ~ i ~ ; : l "* * * * * .. * .. ,. * * * " ..
III

INSTR=CPRB'O
INSTR=CPRB 0
INSTR=CPRB'O
INSTR=CPRB:O

CPRB UBA
X

111

001
001
001
001

010
110
010
110

DSPL ADSB
UBB ADD

110
110
110
110
RH
SP4A

05E5

RB

SPIB ADD

05E6
05E7
05E8
05E9
05fA

UBA

SP4A CAD
ADD
RH
JSB BCCI
DSPL ADSB
RH
UBB ADD
SP4A

CPRI USA
X

05EB

RB

SPIB ADD

05EC
05fD
OSEE
05EF

UBA

SP4A CAD
ADD
PB
UBNE
OPA JSS BCCI

RH
RH

III It

* * ...... * .. !II •

III .. !II ..

* !It :

OX,DSPL=5,P,SR=2,ENTRY=CPRB
OX,DSPL=5,P,SR=2,INDR,ENTRY=CPRI
1X,DSPL'5,P,SR=2,F2,ENTRY=CPRB
lX,DSPL=5,P,SR=2,INDR,F2,ENTRY=CPRI
8000
RREG RA
UBB
NCRY
NEXT
RONP
ROP

8000
RREG RA
UBB

NCRY
NEXT
RONP

UBA

PL

ADDL
ADD

SP1B

EPP2

SUB

CCZ

NCRY

CAD
ADD
ADD
ADDL
ADD

CCA

UNC
NEXT

SP1B

CCA
EPP2

UBA

SUB

CCZ

NCRY

CCA

RH

CAD
ADD
UBNE
ADD

UNC
NEXT

CCA

RH:=TARGET P; SP1B:-UBB:=32K
SP4A: -UBA: =X AS A LOGICAL QUANTITY;
UBB:=(S) AS A LOGICAL QUANTITY, EPP2
UBA:=(S-I) AS A LOGICAL QUANTITY;
NCRY IF NOT IS) )= X, SET CCG
NCRY IF (S-l) > X, SET CCL

~~=~ '~RA~~l~ iN~6 ~~=~ ~~TX~A~)

RH:=INDIRECT CELL, READ; SPIB:=UBB:=32K
SP4A:=UBA:=X AS A LOGICAL QUANTITY;
UBB:=(S) AS A LOGICAL QUANTITY, EPP2

~~~~·l~-Ml~s~ ~?G~~A~E~U~~~ITY;

NCRY IF (S-I) > X; SET CCL
NEXT IF (S-I) > X; NEXT IF X > (5)
BOUNDS CHECK INDIRECT CELL ADDRESS
UBA:=TARGET P, READ INTO NIR; SET CCE

PAGE 12:3
RECORD
NO

C S
ADDR

'5968

BR and BCC instructions (P relative)
,.."'III'If", • • ,..1II111111:
ALU A IIfIllIlr • • • III"lt.JII!II1II
111111111***** • • ***
ALU B ..... ****.111111.111*
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III ,.. .. * * JIr 'If .. III .... #I
III III ... III III * ." • III ,.. III * III '" * * III .... !If '" III III: * III III • ,.. !II: JIr * * '" III '" III * _, * III III lIr III * * III * .. III III lit III * 'If '"
The BR inst ruction, (Branch unconditionally), has the same

1~trheP~t~!~ta~a~~et~;Ce~~~tr~~1~~ni~oBC~ ~~~a~~vih:d1~~~~!~~
ca~e the entrr point is BCCt DSPL selects bits 8 throu~,h 15
::r ~:'t~: ~:l~!l:;)~irn~ ~~~sBA1a~~rg~~h1A5f!~rB~gc, F~r ~=,

S974
S975

<;976
5~ 77
5~78

5')79
5r 6

OSF7

BeCI UBA
XC
UBA
UBA

DSPL ADSB
UBNE
ADD
DSPL ADSB

RONP

PB

UBA
OPA
PB

ADD
ADD
UBNE
ADD

8,P,ENTRY=BCC
8,X,P,ENTRY'BCC
8, P, F2, ENTRY=BCC
8,X,F2,P,ENTRY=BCC
8,INDR,P,ENTRY=BCCI
8,X,INDR,P,ENTRY=BCCI
8,INDR,F2,P,ENTRY=BCCI
8,X,INDR,F2,P,ENTRY=BCCI
=5,P,ENTRY=BCC
=5,P,INDR,ENTRY=BCCI
=5,P,F2,ENTRY=BCC
=5,P,F2.INDR,ENTRY=BCCI

RH

JSZ

F5B

UBA UBNE
SR[G JSZ NEXT P
JSZ NEXT

UNC
F5B

PL
RH
PL

UBA
PB
UBA
SREG

UBNE
UBNE
UBNE
JSZ NEXT P

UNC

ROP
RONP

NEXT

PL

UBA:=TARGET P, READ INTO NIR, (INCLUDES XC) ;
JSB IF CONDITION CODE NOT MET
BOUNDS CHECK TARGET P
P:=TARGET P AFTER BOUNDS CHECKING
~H:=UBA:=INDIRECT CELL ADDR, READ;
JSB IF CONDITION CODE NOT MET
UBA:=XC + INDIRECT ADDR; BOUNDS CHECK
UBA=TARGET P, READ INTO NIR; BOUNDS CHECK
BOUNDS CHECK TARGET P
JSB; P:=TARGET P AFTER BOUNDS CHECKING

PAGE 124
RECORD
NO
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6032
6034
6036
6037
6038
6040
6041

C.S.
ADDR

_*-_....

BR instruction (DB. Q and S relative)
* •••••• 11:111** ALU A •••
ft._*IIIIII ••
ALU B ****111******* ••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III: III III III

*

*._._

10/ 2/86

9:26 AM

COMMENT

* III III * III III III * * III,. .. * * * * III III * * III * * * '* * * .... III III" III *" III III III III II * .. *" III III III" III III. iii'" * III * III III * ** * III * III

~~!~ r~~tl~~ ~~~ r~_p~~~lr!~{ !~~r:~Si~:~anB~Ign~~n1~!i~g~~~Y).

III

point for OB+, Q-. and Q+ indirect Iddressing. Bit 4
•
•
indicltes whether indexing is used.
•
*****_******_.tJI********IlI** •• *************************_.1111*************
z
SLUT INSTR~BR(OB+J'l 100 011 OXX XX,OSPL 8,DB,INDR.ENTRY=BRID
SLUT INSTR'BR(DB+):l 100 III OXX XX.DSPL=8.DB,X,INDR,ENTRY'BRID
SLUT INSTR=BR(Q+) 1 100 all lOX XX,OSPL=7,Q,INOR.ENTRY=BRIO
SLUT INSTR=BR(Q+)'l 100 III lOX XX,DSPL=7,Q,X,INDR,ENTRY'BRID
SLUT INSTR=BR(Q-l 1 100 011 110 XX,DSPL=6,Q.INDR.F2.ENTRY=BRID
SLUT INSTR=BR(Q-l.l 100 I I I 110 XX,DSPL=6.Q.X.INDR.F2.ENTRY=BRID
SLUT INSTR=BR(S-):l 100 all 111 XX.DSPL=6.SM.INDR.F2,ENTRY-BRIS
!LUT INSTR=BR(S-I:l 100 111 111 XX,DSPL=6,SM,X,INDR.F2.ENTRY=BRIS
05F8
05F9
05FA

BRIS SR
BRIO UBA
UBA

SM
ADD
DSPL ADSB
SM
CAD

05FB

XC

PB

05FC

UBA

REGN ADD

RH

ROD

ADD
RONP

SR
UBB

SM
UBA

ADD
ADD
BNDE

RH

DL

BNDE
JSB

CTR

rICB
STFF

BCCI

UNC

UBA:"SR + SM;
RH:-UBA:=INDIRECT CELL ADDR. READ; UBB =S
BOUNDS CHECK ADDR<=S. CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDRI
THEN (S-ADDR) ELSE CODE fOR OPERAND
UBA: =XC + PB;
BOUNDS CHECK ADDR ). DL. STFF
UBA:-TARGET p. READ INTO NIR; JSB

PAGE 12!)
RECORD
NO
6044
6045
6041)
6047
6048
6049
6050
6051
6052
6053
6054
6055
6051)
50 c,7
60')8
60<;9
6061
6061
6065
6057
6069
6070
6072
6073
6075

C.S.
ADDR

Halt Mode Interrupt Handler
~~~~~.~**** ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

*******~***** ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

101 2186

9:26 AM

COMMENT

Halt Mode Interrupt Module
Thi~ module will handle the interrupts occurring
whlle hal ted
These inc lude'

Run I Ha I t Sw i t chI n t err u p t
DCU Command Interrupt
Power fatl warning

CPXl(4)
CPXJ (8)
CPX1(12)
Ent~red

05FD
05F E
O';FF
0600
0601

HMIT 1000
0010
0100
1000
0600

0602
0603
0604

BKPT

STA
SP4A
SP4A
SP4A

with SP4A = CPXl & csl(l)

ANDL
ANDL
ANDL
ANDL
ADDL

SPOA

JSZ

OOBO

ADD
ADDL

0800

SPOA

RSRT

UNC
REGN

UBB
USA
UBA
USA
UBA

001B

ADDL
ADD
JSl

JSL
JSL

CCPX

PFW
DCMD
STOP

CCPX

ADD
ADDL
ADD

NZRO
NZRO
ZERO

CTR

RSB

SPOA:= right stackop bit; UBB := CCPX mask
UBA. PFWINT; Clear R/HSWINT
UBA :- DCU cmd int; Jump if power fail
UBA := R/HSWINT; Process DCU interrupt
UBA
mask to set RUN FF; Jump if not any
of the eKpected interrupts
UBA ;= right stackop bit, restart instr;
Set RUN FF bit in CPX2
, Set counter to DCUSTOR with value of 3
Issue DCUSTOR; Return to ISTOP thru IRMIT

PAGE 126
RECORD
NO
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6093
6095
6096
6098
6099
6100
6102
6103
6105
6106
6108
6109
6111
6113
6114
6115

C.S
ADDR

Loop Control Instructions, TBA
*.111:***111:._** ALU A *****_."... _•••••••••••• ALU B ********* •• ***
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
************* ••• *************111._" •• *****._" •• 111111*** •••• *111******_******
DSPL for all the Loop Control instructions 1s 8. F2 is set

10/ 2/86

9:26 AM

COMMENT

*****~~*!~:*~~!*!~*!~~*~:!~~*~!*~!!*!*:~*!~~*!~~!~~~!!~~*************

* * * * * III: III * * * * * * * * * * * * * * 1Ii:" "'" III III" * III: III *.* * * * * * III .. " 1\ lit III .'*.*** .1It .. 1\ III" It * 111 III • • _ * * * *
Test and Branch, limit in A (TBAI
•
II *
III III * III * III" 11
** III""" III" III "'III." III III" III" III III: III: * .... III. III: It It III: III: * 1\ lit * 1\ * * * * * II .. * III"" III 111 III III III
111: ..

111: ..

l1li:

111: . . .

SLUT INSTR=TBA.O 101 000 OMM xxx xxx, SR=3. DSPL z 8, P, ENTRY=TBA
~LUT INSTR=TBA:O 101 000 lxx xxx xxx, SR=3, DSPL=8, P, ENTRY=TBA, F2
0605
0606
0607

TBA

UBA
RC
UBA

0608

DSPL ADSB
DB
ADD
SM

CAD

RB

ADD

RH
RONP
SPOA ROBD

SR
PL

SM
UBA

ADD
UBNE

SP3B

SP3B UBA

BNDE

CTR

HBF2

8000 RA

ADDL

RH

TICB

0609

RH

PB

UBNE

NF2

RREG REGN ADD

060A

UBB

RH

SUB

CTFI

RH

060B
060C

SPOA DL
P

BNDE
JSB MTAI

Fl
RONP

0003
ADDL
UBB CTRS JSZC BNDV

CRRY

RH

UNC

0600

ADD

RH

UBB

PB

F2

SUB

JSZ

CHI

NEXT

RH:-P */- DSPL (TARGET PI; SP3B:=SR + SM
SPOA:zVARIABLE ADDR, READ;
BOUNDS CHECK PL >= TARGET P
; BOUNDS CHECK S>=ADDR, CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPERAND
F2:=SIGN OF INCREMENT;
RH:'LIMIT AS A LOGICAL QUANTITY
BOUNDS CHECK TARGET P >= PB, RH:=P - PB;
UBB:=VARIABLE AS A LOGICAL QUANTITY
Fl:=IF INCR ( 0 THEN (VAR >= LIMIT)
ELSE (LIMIT >= VAR)
BOUNDS CHECK VARIABLE ADDR >= DL; UBB:=3
REREAD (P) IF LIMIT EXCEEDED, JSB;
BNDV IF S-2 (= VARIABLE ADDR (= S,
((3 ) CTRS} IMPLYS ADDR IN PARAMETERS}
; P:=TARGET P, JSB FOR NEXT

PAGE" 127
RECORD
NO
6118
6119
6120
6121
6122
6123
6124
6125
6127
6129
6130
6132
6133
6134
6136
6138
6139
6140
6142
6143
6145
6146
6148
6149
6151
6152
6154
6155
6157

r s

ADD;,

Loop Control Instructions, MTBA
* ....

I11.***JllJII ....

ALU A **JII: ...

*I11 .... *A*

** ..... #1111

. . . . . 111 ....

10/ 2/86

ALtJ B .. ****** .... **.JII.

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III "'- ... '" * JIll III III III" iii! III '" III'" III III III! \II.lIt III JII III * "',. * * .... III III III '" III III III: III!. * III * III 'Ie III ..... III III III: *.1'1 .....
* III III * III III * III III III 111 '"

9:26 AM

COMMENT

l1li '"

*****~~~!!~*y~~!:~!:**r::!*~~~*~~:~;~**!!~!!*!~*e.*1~r ~~l**.*******.*
SLUT INSTR=MTBA 0 101 010 Oxx xxx xxx, SR=3, DSPL=8. P. ENTRY=MTBA
SLUT INSTR=MTBA:O 101 010 lxx xxx xxx,SR=3, DSPL=8, P, ENTRY=MTBA, F2
060E
060F

MIBA UBA
RC

DSPL ADSB
DB
ADD

0610

UBA

0611
0612

0003
SPOA DL

0613

RB

REGN ADD

0614

RH

PB

0615

RB

REGN ADD

SM

0616
SPOA PB

0617
0618
0619

MIAI

RH
RONP
SPOA ROD

SR

SM
RB

CAD

SP3B UBA

ADDL
BNDE

PL
UBA
DATA

UBNE

BNDE

CTR

HBF2
TICB

RH
UBNE
CTRS JSZC BNDV

CRRY

ADDL

RH

SPOA

RREG UBA

ADD

SP3B

REGN NOFL

RH

SUB

CTF 1 UNC

SUB

CTFI

CFl

ADD

Fl
NOP

SP3B

8000 RA

ADD
ADD
JSZ

ADD
ADD

RONP
EPOP

UBB

SP3B RH

F2

ADD
UBA

JSZ
ADD

NF 1
NEXT P

E PP2

UNC

RH:'P+DSPL (TARGET PI, READ; SP3B:=SR+SM
SPOA:=VARIABLE ADDR, READ;
F2:=SIGN OF INCREMENT
BOUNDS CHECK S>=ADDR, CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPERAND
UBA:=4; BOUNDS CHECK PL >= TARGET P
BOUNDS CHECK VARIABLE ADDR >= DL;
BNDV IF S-2 (= VARIABLE ADDR (= S.
((3 > CTRS) IMPLYS ADDR IN PARAMETERS)
UBA:-INCREMENT + VARIABLE, WRITE;
RH:=LIMIT AS A LOGICAL QUANTITY
BOUNDS CHECK TARGET P >. PB, SPOA:=P - PB;
SP3B:=UBB:·VARIABLE AS A LOGICAL QUANTITY
SKIP IF NOFL FROM SUM INCREMENT + VARIABLE;
IF INCREMENT>=O THEN Fl:=(LIMIT >= SUM)
CFl IF OVERFLOW FROM SUMMING;

~~AI~~:~~~~T~~ ~~~~ ~~:li~~~ ~OTL~~E~tDED;

SKIP IF LIMIT EXCEEDED
REREAD (P); P:=TARGET P, JSB FOR NEXT
JSB TO WAIT 2 CLOCKS FOR NEXT, EPOP; EPP2

PAG[ 1::8
RECORD
NO
6160
6161
6162
6163
6164
6165
6166
6167
6169
6171

C r
ADDR

LABL

l(,op cont rol inst ruct ions, TBX and MTBX
ALU A ********* •• ***J1r:** •• ***** AlU B **************
SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

""'*~**lII****

RRL.~

*1II:************III •• ******_IIIJIt.***iII**** ••••••• **************111:*********_*_

SLUT INSTR·TBX:O 101 100 OXX XX,SR=2,DSPL-S,P,ENTRY-TBX
SLUT INSTR-TBX:O 101 100 lXX XX,SR=2,DSPL-S,P,F2,ENTRY'TBX
061A
0616

TBX

UBA

DSPL ADSB
RB
ADD

RH

RONP
HBF2

8000
PL
UBA

ADDL
UBNE

061C

SPIB ADD

NF2

RA

SPIB ADD

6175

0610

UBA

UBB

SUB

CTFI

UBB

UBA

061E

RH

PB

UBNE

Fl

ADD

RONP

RH

UNC

SPIB ADD

6177
6178
6180
6181
6183
6184
6186
6187
6188
6189
6190
6191
6192
6193
6194
6196
6198
6199
6201
6202
6204
6205
6207
6208
6210
6211
6212
6214
6216

9:26 AM

IlltIll:IIl'JII*.IIiI***** ••• **********JIII**IIIJ1r:****** •• *III**********#I:****ft**IIII11I11._***III.
Test and Branch, variable in X (TBX)
•

6172

6174

10/ 2/86
COMMENT

061F
0620

JSZ

SNOWARN

NOP

SPIB
FZ

SUB

ClFl
SPIB

ADD
JSZ

NFl
UNC

NEXT
EPP2

RH:-UBA:-TARGET P, READ; SPIB:=32K
FZ:'SIGN OF INCREMENT;
BOUNDS CHECK PL )- TARGET P
UBA:-VARIABLE AS A LOGICAL QUANTITY;
UBB: -LIMIT AS A LOGICAL QUANTITY
FIEL~~C~LiM~TT~~NLI~~~~ABLE )= LIMIT)
BOUNDS CHECK TARGET P )- PB;
SPIB:=P, SKIP IF LIMIT EXCEEDED
REREAD (P) INTO NIR IF LIMIT EXCEEDED;
P:'TARGET P, JSB FOR NEXT
JSB FOR NEXT; RESTORE OLD P, EPP2

*111.111***111':******** •• ********111***** •• _****_**************.*_.111 •••••• "'111**

.

Modify variable in X, Test and Branch

(MTBX)

111_***.111***********111*** •• ****** •• ***111.**_.111*****_***************** •• *111

SLUT INSTR.MTBX:O 101 110 Oxx xxx xxx,
!LUT INSTR=MTBX:O 101 110 lxx xxx xxx,

0621
0622

MTBX UBA
X

DSPL ADSB
RB
ADD
UBA

0623

JSB

SPOA RONP
X
NOFL
MTX1

ADD
UBNE

NF2

SOOO RA
RREG UBA

ADDL
ADD

CFl

0624

SPOA PB

UBNE

0625

UBB

SUB

CTFI

RH

UBB

SUB

ADD

NFl

RH

PB

ADD

ADD
JSZ

NEXT
UNC

0626
0627
0628

MTXl

SWARN

RH

RH

~::~: g~~t::: ~: ~~:~~T~~~~TBX
RB
UBA

PL

NOP

ADD
ADD

HBF2
RH
F2
ClFl
Fl
RONP
EPP2

SPOA:=TARGET P, READ; F2:-SIGN OF INCREMENT
X:=X, INCREMENT, SKIP IF NO OVERFLOW;
BOUNDS CHECK PL )= TARGET P
JSB IF OVFL, CFl TO INDICATE LIMIT EXCEEDED;
RH:-LIMIT AS A LOGICAL QUANTITY
BOUNDS CHECK TARGET P ). PB;
UBB:=X AS A LOGICAL QUANTITY
Fl:oIF INCR ( 0 THEN (VARIABLE )= LIMIT)
ELSE (LIMIT ). VARIABLE)
SKIP IF LIMIT NOT EXCEEDED;

:~i~T~~G~IM~T-ECgJE;E~B,

NEXT; RESTORE P AND READ IF NOT EXCEEDED
JSB to .NOP to wait Z clocks; E-pop twice

PAGE 129
RECORD
NO
6218
6219
6220
6221
6222
6223
6224
6225
6227
6228
6230
6231
6233
6234
6236
6238
6240
6242
6243
6245
6246
6248
6250
6251
6252
6253
6254
6255
6256
6257
6258
6260
6262
6264
6266
6268
6269
6270
6271
6272
6273
6274
6275
6276
6278
6280

C.S
ADDR

Scan and Test Bits Instructions
111:"'****111:111111111111:

ALU A

iltJltlillfilllllllll{lllJIIJltIll:

LABL RREG SREG FUNC SFNC STOR SPSK

*111111111.****111"'***

ALIJ B

10/ 2/86

9:26 AM

1II:***1II*.Ift#lJIIIII • • •

RREG SREG FUNC SFNC STOR SPEC SKIP

COMMENT

IffJlc***tIf******III:III:****JII***_IJIIII*III._"********JII****IIIJi1:*******,,.JII*JltJfl*JII*JII***III:***
SCAN (Scan bits) Instruction
•
III: III III'" * III III * III: III: III III * __ III 111 III: 11(** III * III III JIr*lII III III III 111* '" II! II!: III: lit III: * #1111: III: III: III"". JIll" III * III * III 111* III: III. III: III * * III III

•
....
*

!t~i ~~~i~:~g~~.S
0629

SCAN

062A
UBB

062B
062C
062D
062E
062F
0631
0632

SS~

=:::

~~~t: g~~t~~: ~~T~~T~~~~CNX

JSB

SCNO

ZERO

RA

REPC

UBA

ADD

LSL

NEG

UBB

INC

RA

CAD

UBA

ADDL
,ADD
ADD
INC

UBA

ADD

SCNO 0010
SCNX X

0630

SSt ?SS ttS

RA

.

SCNI
ADD
SCXO 0010 SP4A ADDL

X
SP4A

NEXT

NEG

UBA

JSB

RA
RA
UBB

ADD
JSB sexo
REPC
ADD LSL

SeNl

UBB

ADD

SREG ADD
ADD

UNC
CCA

RA

CCA
CCA

NEXT
ZERO
NEG
NEG

NEXT

UBA:· (S) , JSB IF ZERO;
UBB: • (S) , REPC IF NOT (S). (0: 1 )
SHIFT ( S) UNTIL BIT 0 = 1 ;
UBB:·(S) + IISHIFTS
X = ( (S) + IISHIFTS + 1 ) - (S) - l'
UBB: =SHIFTED (S) , JSB
X =16; CCA ON 0, NEXT
SP4A:=X; JSB IF (S) = 0
UBA:=O; UBB: = (S) , SKIP REPEAT IF BIT(O)
UBA: -NUMBER OF SHIFTS UNTIL 1 SHIF TED OUT;
UBB' -SHIFTED (S)
X. =X + tlSHIFTS;
UBB:-(S) SHIFTED UNTIL 1 SHIFTED OUT, JSB
NEXT; (S): -SREG, CCA
X =X + 16; CCA ON 0, NEXT

****.*** •• *.**JII**""*III***IIIJ1t**JlrJIIJII*** •• *III:III:**Ic*******III1t.JII~* JII***JII:**JltJlt******

•

TBC (Test 8it and set Condit ion code) inst ruct ion

•

****lItlll:lIIJ11I11***JIi:***JIt*************JII**JII****JllJII**III:JII:***JltJlllll**'Il*111111****"*111*****111

SLUT INSTR=TBC.O 001 011 010 XX,SR=!,DSPL-6,SR.l,ENTRY.TBC
SLUT INSTR=TBC:O 001 111 010 XX,SR=l,DSPL=6,SR.l,X,ENTRY=TBC
0613
0634
0635
0636
0637

TBC XC
TBCl

DSPL ADD
ADD

ADD
SF!
ANDL
SUBL
CTR
Fl
ADD
RSB
RA
REGN AND
CCA NEXT
* It III: 111111 III III III III III lit III III III III :11 III III III III III lit * III * III * III III * III III III III III III III III III III III * III " If! * * .III If! * III * Jl: III III * III III * III III III • * III III III III *
•
TRBC (Test and Reset Bit, set Condition code) instruction
•
III III * III * JII * III III III III III III 111111111 It 111111111 III III lit III III lit III III III III III III III III III III III III III III III III III III III III III • * lit III III Iff JII lit III III III III III * III III III III * JII inl[
,~DD
,~DD
,~DD

OOOF UBA
002F UBB

UBA:.CIR.(12:4)+XC; SFI IF TBC
, UBB:=UBA.(12:4);
; CTR:=(47 - BIT POSITION) FOR REGN
SKIP RSB IF TBC, WAIT ONE CLOCK
RSB IF NOT TBC; TEST BIT, CCA, RSB

.

SLUT INSTR=TRBC:O 001 011 011 XX,SR=l,DSPL-6,SR w l,ENTRY=TRBC
!lUT INSTR=TRBC:O 001 111 011 XX, SR=l,DSPl=6,X,ENTRY=TRBC

0638
0639
063A

TRBC XC

DSPL

I~DD

ADD
I~DD

RA

JSB
REGN CAD
UBB AND

TBCl

UNC
RA

NEXT

UBA:=CIR,(12:4)~IF

; UBB: -NOT BIT
; RESET BIT, NEXT

INDEXED THEN X; JSB

PAGE 130
RECORD
NO
6283
6284
6285
6286
6287
6288
6289
6290
6292
6294
6295
6296
6297
6298
6299
6300
6301
6302
6304

C.S
ADDR

Scan and Test Bits Instructions
*JII** •• ***** ALU A **111:*** ••
*.* •••••• -* •• ALU B *********** •••
LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:26 AM

111 • •

COMMENT

_***111._**********.111:*******111**l1li******111***_******_****** •••• *l1li111*******.

TSBC (Test and Set Bit, set CondItion code) instruction

•

****_._***111*****111********111*111**."'._.**111: ••• ********_**** .... **111*********

SLUT INSTR-TSBC:O 001 011 100
SLUT INSTR&TSBC:O 001 111 100
063B
063C

xx,
xx,

SR z l, DSPL-6, SR-l, ENTRYsTSBC
SR-l, DSPL=6, SR-l, X, ENTRY-TSBC

TSBC XC
.. III III III ..

DSPL ADD
UNC
JSB TBCl
NEXT
ADD
RA
REGN lOR
RA
* III III JII III III III III III .... III .,.. ..... III '" III 1ft III * III ....... ,. ...... \11"* III .... II .... III III ,. .. III ... III 1ft ,. III Jill: 11. JII JIll III III III III .. l1li III * III III .. III III ..

*****!~~;*l!::!*:~~*;~~e:~T;~!*~!!**::!*;~~~!!!~~*~~~: 1*!~!!!~~!!~~*:
SLUT INSTR-TCBC:O 001 011 101 XX,SR=1,DSPL=6,SR=1,ENTRY-TCBC
!LUT INSTR-TCBC 0 001 111 101 XX,SR=1,DSPL-6,SR=1,X,ENTRY=TCBC
063D
063E

TCBC XC

DSPL ADD
ADD

RA

JSB
REGN XOR

TBCI

RA

UNC
NEXT

UBA:=CIR.(12:4)+IF INDEXED THEN X; JSB
; SET BIT

PAGE 131
RECORD
NO
6307
6308
6309
6310
6311
6312
6313
6315
6317
6319
6321
6322
6324
6125
6:~::

7

6 ·:28
R33n
f,:":~ 2
6334
6315
63J7

6338
6339
6340
6341
6342
6343
6344
6346
6348
6350
6352
6353
6355
6356
6358
6360
6361
6363
6365
6366
6368
6370
6372

C.S.
ADDR

EXTRACT and DEPOSIT FIELD instructions
'III * *'111
ALU A 111*111:*"'.'111 • • • •
*JllJllIIIIIIIIIJIr*III*"'fI.
ALl) B ••• "'IIIJlrlll" • • • • IlI111
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
II! III: III" '" *. "" III 111 • • 111111111 III III !II '" III it'lli • • '" III * ... III III:. * III: III: III 'til * 111111: 1II)It" 1II)If III III.
*"'. III" • • *111 .. '" III III 1II}I{*.!11
III

10/ 2/86

9:26 AM

III III III 111:11.

COMMENT

Jill: '"

• • • • lII:

~ ~~

'"

! ~:! r:; ! ~ !:: ~ 1* ~ ~ ~ ! r~; !!~ ~
III

III

* III III • • III. * •• III III III • * III •

111 • III III !II III • III 'III

JIf" '" •

iii :

!lUT INSTR=EXF:O 010 110 lXX XX,SR=I,DSPL=4,ENTRY=EXF
063F
0640
0641
0642

DSPL
UBA
UBA
CIR

ADD
ADD
ADD
JSB

0643

RA

ADD

UBA

SPIB RPCA

ZERO

0644

UBA

CSL

UBB

SP2B ADD

ZERO

0645
0646

0647

DF

UBA
UBA
UBA

DFS

0648
'Ii!: :II III

RH

SREG AND
RA
ADD
UBA CSL

LSL
LSL
EXFS

SWAB

SREG AND
RH
'* • 111 .. III III * .. !II • !II * '" • !II * !II: III •

:** ••

BIT8

RA

CCA

RA

CCA

0070
0020 UBA
HFO
HFF REGN

ADDL
ADDL
ADDL
ADDL

SPIB
CTR
SP2B
RH

ADD
RREG
REPC
USB SP2B ADD

NEn
ZERO
ZERO

ADD

ND:T

UBA:=K; SPIB:=MASK FOR MODULO 8
UBA:=K & LSL(2); CTR:~K + OFFSET FOR REGN
UBA:=K & LSL(4); SP2B:=-8
UBA.(8:4):=J + K, SKIP IF (J+K) MOD 16 >= 8;
RH.=MASK WITH K RIGHTMOST BITS
UBA: = (S) :
UBB.(9:3):=(J+K) MOD 8, REPEAT IF c> a
CSL UNTIL COUNT IN UBB.(9:3) IS DECREMENTED
TO a
(S).=K BITS OF (S) STARTING AT J, CCA: NEXT
UBA·=(S) & CSL(8), REPEAT IF COUNT c> 0
CSL UNTIL COUNT IN UBB.(9:3) IS DECREMENTED
TO a
(S):-K BITS OF (S) STARTING AT J, CCA; NEXT

* :. * *
*
~~~lIIl~~~~~:!.~!~~~l.:~~!~~~!:~~*.**lIt.***.III* •••• * • •••••••••• "••• :
'" III III

* fir. III: III III III .. III III '" lit •

'" !II III III: III • :III • III III • III III III

III JII: III III 'III III III: III •

JIll III '" .,..

SLUT INSTR=DPF:O 010 111 OXX XX,SR=2,DSPL=8,ENTRY=DPF
0649
064A
064B
D64C

DF'F

UBA
USA
UBA

DSPL
UBA
UBA
DSPL

ADD
ADD
ADD
ADD

064D

RREG UBA

ADD

064E
064F

UBB
UBA

JSB
CAD

0650
0651

DF'FI

0652
0653
0654

DPFS

RB

LSL
LSL
RLZ
DPFS

NEG

OOOF UBA
0020 UBB

UNC

FFFF REGN ADDL

UNC

0700 UBA
UBA RA

UBA CSR
SREG AND
UBA
UBA

ADD
ADD SWAB
JSBC DPF 1

ADD
ANDL
ADDL
ADD

NEXT

UBA

UNC

UBA

ANDL
RPCA

CTR

CTX

DCTX

cn:o

UBB CSR
SREG ADD

DCTX Cn:O
EPOP

UBB
RA
UBB

CCA

lOR
RB
ADD SWAB
RPCA

DCTX CTMO

~~~::~:~;& LSL(2); UBB:-K
UBA:=J,K & LSL(4); UBB:-K + OFFSET FOR REGN
UBA.(4:4):=K, UBA.(0:4):=(J+K) MOD 16,
SKIP IF >" 8
~~~:~~A~~:wl~~K~'R¥~~~~OST BITS
JSB IF ((J+K) MOD 16) > 8; CTX:=(J+K) MOD 8
UBA: =K MASK COMPLEMENTED;
UBB:"K RIGHT BITS OF (S), REPEAT IF CTX > a
CSR BOTH ALU'S UNTIL CTX IS DECREMENTED TO a
~~~::~SB~+sW6~H(~ B§~¥F~~~R~6N~,A~pgpZEROED;
NEXT; DEPOSIT K BITS OF (S) INTO (S-l), CCA
UBA:=K MASK & CSR(8); UBB:=(S) & CSR(8)
IF CTX c> a

~~~:~~O~I~SM~~Kts~~B~EPEAT

PAGE 132
RECORD
NO

C.S
ADDR

6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385

6390
6391
6392
6393

:****~~~~*!~~!~;*:~!rr*e~!~!*!~~*~~!*~~~*~~~!********* 111111'111*****111_ • • • • *
0655

LLNI

DSPL ADSB

0656

RH

ADD

CCA

JSZ

PSHM

SR7

EPSH

JSZ

NEXT

UNC

**_*************_***_***_***.***III:***IIi**********JIi:*** ••• _.'111.".*._ •••.
: * III * 111

0657

III

III

.

LXNI

DSPL ADSB

CF2

JSZ

NEXT

•••

6407

SLUT INSTR-ADDI:O 010 010 lXX XX,DSPL-8,ENTRY·ADSI,SR-l
!LUT INSTR-SUBI 0 010 011 OXX XX,DSPL-S,F2,ENTRY.ADSI,SR-l

0658

.

ADSI RA

DSPL ADSB

RA

6416

6423
6425

0659
065A
065B
065C

6427

0650

SPOA

ADD RRZ
ADD RLZ
MPAD
ADD
ADD LRZ

065E
065F

UBB
SPOA UBA

ADD
lOR

RLZ

JSZ

NE XT

6432
6434
6435

JSZ

NEXT

UNC

S: -S + OR - IMMEDIATE OPERAND, CCO; JSB NE XT

SLUT INSTR-MPYI.O 010 OIl IXX XX,SR=l,DSPL=8,ENTRY-MPYI

6417

6429
6430

CCO

•• ******.**

6415

6421

X:a +/-(IMMEDIATE OPERAND); JSB FOR NEXT

Il********************************************************.*********_*
*****~~~~*!~~!!!e~~*!~~~~!~!:l*!~:!r~;!!~~*
***** •• **.**._*

6414

64UI
6419

UNC

•• *************************._*********-_.*-*********_.***************
**!~;!*!:*!~:*:~!r~*e2!~!*!~r*~~~!*~~~*~~~!**.***.* ** •• *** •••• **.:

6406
6410

*.

~~~ ~ ! ~ * ! ~; * ; ~! rI * ~~! ~ ! ! ~ r~ ~~~ ~ * ~ ~ ~ * ~~ ~~ * ** * * ******. * ***** •• * • *

6405

6412
6413

RH:. +/-(IMMEDIATE OPERAND), CCA,
PUSH IF SR : 7

SLUT INSTR·LDXI 0 010 001 lXX XX,DSPL·S,ENTRY=LXNI
!LUT INSTR'LDXN 0 010 101 lXX XX,DSPL·S,F2,ENTRY=LXNI

6403
6404
6408
6409

9 26 AM

SLUT INSTR=LDI.O 010 001 OKK KKK KKK, ENTRY=LLNI, DSPL=8
$LUT INSTR=LDNI 0 010 101 OKK xxx XKK, ENTRY=LLNI, DSPL·8, F2

6196
6Jq7
6398

6402

10/ 2/86
COMMENT

*.

6395

6400

•••••• _- ••••• ALU B .*************

RREG SREG FUNC SFNC STOR SPEC SKIP

*************-******111**_***** •• ******* •••• * •• *******_.******111********

6194

6399

** •• *****.- AlU A *.*.******111

The following immediate instructions use the ADSB setting in
the LUT to overlap the following paIrs of instructions, LDI
and LDN, LDXI and LDXN, CMPI and CMPN, ADDI and SUBI, and ADXI
: * III * ~~~ 111 ~~~!!II III 111 III: III 111 111 111.* III III 111 111 II: III III III III. * * III .. III III III ** III III * III 111 111 * 111.111: III." * ** '111.'111. 'III" III III III:

6386

6387
6388

IMMEDIATE instructions

LABL RREG SREG FUNC SFNC STOR SPSK

0660

MPYI

CIR
UBA

SP4A
RH

RA
UBB
UBB
RH

ADD
REPN
LINK
ADD
XSUB

HBF2
CLO 7
DCTR CTRO

CCA

FF80 UBB
RREG UBB

ANDL
XOR

NlRO
NEXT

UNC

UBB

RA

SPOA
RA

UBB

JSZ

IRO

NZRO

~~4~~·~;L~Ei8S~G~~~).o, REPEAT 8 TIMES, CLO
MPAD UNTIL CT~ IS DECREMENTED TO 0
UBB: =MSW
UBA: =SPOA: -LSW. (8: 8) ;
UBB:=IF V4
64':>6
6458
64')9
6460
6461
6462
6463
6464
6465
6466
6467
6469
6470
6471
6473
6474
6476
6477
6478
6479
6480
6481
6482
6483
6484
6486
6487
6488
6489
6490
6491
6492
6493
6495
6496
6497
6498
649'l
6500
6501
65(l~

6503

6,}05

C S.
ADDR

I MME DI ATE :r n 5 t rue t ion s
**********'c ALU A ***********
********n** .... ALU B **************
LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
'" *- I\: * !II 111 * III III: * 'III !II * * * tl III • '" * " II III .III III III: '" III: * ,. . It " • 111 . . . III * * .. * III .. III JII iii III !If * It !II III III !If III III '" '" III lit * 111 III * * '" Ie. "-

10/ 2/86

9:26 AM

COMMENT

]I(

*****~!~!*l~!~~~:*!~~~~~:!:l*!~:!!~~!!~~*******.****** **************:
xxx, SR=l, DSPL=8, ENTRY=DIVI
HUT INSTR=DIVI o 010 100 Oxx
xx~

0661
0662
0663
0664
0665

DSPL ;rsz TRP4
ZERO
IIDD
/IDD
/IDD
SPOA
DSPL [)VSB
/IDD
/IDD

DIIiI
UBA
UBA

0666

0667

ADD
R[PC
RA
SUB
SPIB REPN
LINK
ADD
SP4A ADSB

RA
UBB
UBB

SPIB
SPIB SF2

POS
UNC
10
DCTR CTRO

RA

CCA

NEXT

TRAP IF DIV BY 0;
SPIB:=V, REPC IF NEG
: SPIB:c-V & F2:=1 IF V=O: F2:=SIGN(V), SKIP IF<>O
(S-I): =-(U) IF U < 0;

CLO

UBA: =0, JSB;
UBB:=ABS(U), CLO, REPN JSB TARGET 17 TIMES

11)

* 111 * III: '" 111 * III: III: * II III '" III * III * * III III '" III * '" III: III III III * III 1\ III III • III * III .. 111 ~ III III n

l1li: III ...... III III III III III '" '" '" * III III * * III

~~~ ~ (~tG~~e~ ~t;RD~¥~~7u~j; Z~~~.ABS(V)

* * \I! *

:***III~~~",1~~~=!:1*!~~!r~~!!~~*1II1II1II"'1II"**III.IIIIII~III"'~*IIIIII*******IIIIII********III~:

6~J I ]

6574
75

SP4A:=U, F2:-SIGN(U); REPEAT 16 TIMES, CLO
RREG:=O; MPAD UNTIL CTR IS DECREMENTED TO 0
F2: =SIGN(V), (RA MUST BE SPECIFIED IN RREG);
UBB:=MSW, POP (ALLOWS OVERLAP WITH MPVM)
UBA =U;
UBB:=IF U01
6603
6604
6606
6607
66118
6609
6610
6611
6612
6613
6614
6616
6618
6620
6621
662J

C.S
ADDR

Double Instructions
~~**** •• *** ALU A ***********
LABL RREG SREG; FUNC SFNC STOR SPSK
~! III

* '* * *

!II '" "/(

6,,29
66JO
6631
6632
6633
6634
6635
6637
6638
6639
6640
6642
6643
6645
6647
6649
6650
6652
6654
6656
6657
6659
6660
6661
6663
6665

10/ 2/86

9:26 AM

COMMENT

* '" III: '" * * * '" III '" III '" !II * III: III: III 111 * * * 'Ie JII: III: 1'1 * III: It III: #I: III III III III * III III III '" III: * '" III * * '" III * * * * * III * it * III III: _I *

~****~e~~*!=*!~:*:~!rx*~~!~!*!~r*!~:*~~~~*:~~*~!~!*~~:!r~~!~~~:~***~:
SLUT INSTR=DADD:0000001001XX,ENTRY=DADS,SR=4
SLUT INSTR=DSUB:0000001010XX,ENTRY=DADS.SR=4,F2
067F

DADS RD

0680
It )I( '" '"

:~

RB

ADSB

UBA

ADD

CCO

RC

RD

RA

LINK

UBB

ADD

* .. III * III: '" III * • '" * * * * .. * * #I: * * III III * * '" 'Ie • III * III '" .. '" !II '" * * * III '" III * III: '" •
111:

RC

EPP2
DCC

III '" .. '" 'Ie '" III

NEXT

UBA:-MSW((S-3),(S-2) +/- (S-I),(S)), CCO;
NEW (S):=LEAST SIGNIFICANT WORD, EPP2
NEW (S-I):=MOST SIGNIFICANT WORD;
DCC ON LEAST SIGNIFICANT WORD, NEXT

* III * '" III: * III * * '" 11 III

'" '" '" '" ~~r ~ '" 1~~! l! ~! X'" ! ~ ~~ l III! ~ ~! r~; !; ~ ~ * ; * ~ '" ! ~ * ~~ ~! ! e! ! ~ ~ * ~ ~ '" ¥~ I I * I I * '" '"

11 :

SLUT INSTR=MPYL:O 000 001 Oil XX,ENTRY=MPYl,SR=2
0681
0682
0683

t1PYL

0684
0&

RA
RB
SPOA

~s

6fi~,)

Ff,'1i
65;' 8

* ••••• "'''' ••••• ALU B ***********~**
RREG SREG FUNC SFNC STOR SPEC St(IP

0686

UBB

ADD
MPAD
ADD

SP4A HBF2

ADD
ADD

RA

JSZ

HBF2

DTSI

UNC

RB

UBB
UBB

REPN
LINK
ADD

UBU
UBB

RB
RA

XSUB
XSUB

RA

RA

LINK

CLO OOOF
DCTR CTRO
RB
CCRY

~~:~::~; ~~ADS02~i~)6T~e~~a~E~~EM~i~6 ~6°0

F2:=SIGN(U) (RB MUST BE SPECIFIED IN RREG);
UBB: =MSW
(S):=LSW;
; (S-I):=IF U < 0 THEN MSW - (V·2··16)
ELSE MSW
UBA : = msw + Isw(O); Clear carry bit in STA

* *
* 'Ie *
* '" * * * * *
* '"
* * * * '" * *
III:
*
I I n JI
~JllJllJII*~~Y~JII!~~:~~:JII!~~~l.!~~!r~~!!~~JII;*~III!~*~~:~~:~*~tJIIY~JII~:**JII*JllJllJII*n*
I~ • III '"

}I[

III III III III III

III

III III '"

#I:

III '"

III

lit )I{ .. III

JIll !II '/( lit III III: III

III

!II III:

III III III ..

JI[

III

III "#I Ie . . .

!lUT INSTR=DIVL:O 000 001 100 XX,ENTRY=DIVL,SR=3
0687

I>IVL

RC
RA

0688
0689
068A
068B

UBA
UBA

068C
068D
068E

()VL2 UBA
USA
UBA

068F
0690
0691
0692

DVLl

ADD

XRO

HBF2

RC

XOR

RB
RH

ADSB
RB
DVSB
JSB DVLl

NCRY
UNC

UBB
UBB

RH
XRO

DVSB
ADD LSR
XOR

RA

FIHB

UBB
UBB

RA

SUB

RA

ADD

SPIEl ADD

ADD

HBF2

SPOA

pas

RA

SUB

UBB

JSZ

RA

LINK
LINK
REPN

TRP4 RH

RB

JSZ
ADD
ADD
REPN

NEG
ZERO

SPIB
CLO

LINK
XFRS
SP4A ADSB

SP3B UBB

RSB

POP

OOOF

DCTR CTRO
SP3B F2HB
RB
CCA ZERO
IRO

NEG
NEXT
SOV

0020

XRO:=MSU (AFTER POP RH=MSU), F2:=SIGN(U);
SKIP IF V < 0, POP TO ALLOW OVERLAP WITH
DIV AND LDIV INSTRUCTIONS AND CORRECT
STACK FOR DIVL AND LDIV IF 0 DIVIDE TRAP
F2: =SIGN(W) ;
RH:--(V) IF <. 0, TRAP IF DIVIDE BY ZERO
RB:-UBA:-ABS(MSU); SPIB:=UBB:=ABS(LSU)
FIRST DVSB, SKIP IF NOT (MSU >= V);
Overflow it msU >= V, JSB, (stops REPN);
Repeat 16 times, ClO
DVSB UNTIL CTR IS DECREMENTED TO a
~~lp=~~Mis¥~~~~~~)=(S~1~~V6)~~R SIGN(V))
(S-I):=QUOTIENT, CCA, SKIP IF QUOTIENT = 0
(S):"-REM;
JSB IF (SIGN(QUOTIENT) <>
(SIGN(U) XOR SIGN(V)))
, NEXT
SPOA:=LSU;
UBA:=O, RSB; UBB:=MSU, REPEAT 33 TIMES, SOV

PAGE 138
RECORD
NO

C S
ADDR

DOUBLE Instructions
....... ****: ... ALU A .JII:.*******JIr:
LABL RREG SREG FUNC SFNC STaR SPSK

************* ALU B *****.111:*11'*****
RREG SREG FUNC SFNC STOR SPEC SKIP

6668

.111 •••• **.111**_******************'111****_**************************'IIr*****

6609
6670

: .. * .... ~~~~ .. 1~~ ~~ ~: .. ~: ~:!; l .. ~ ~:!!~; l! ~ ~ * ..... * * * .... * * * .. * * * * * * * * * * .. * * * * .. * * * :

6671
6672
6673
6674

6616

$LUT INSTR.DNEG:O 000 001 101
0693

0694

DNEG

RB
UBA

6678

6679
6680

0695

6690

0696
0697
0698

6692

9:26 AM

ENTRY=DNEG. SR c 2
RA
UBB

LINK
ADD

RA

DCC

NEXT

CCO ON MSW OF NEGATED DOUBLE WORD; (S):=LSW
(S-l):=MSW; DCC ON LSW, NEXT

****************************************_******************111:*********

668S

6n87
66H8

RB

xxx,

CCO

.......... ~;~~ .. 1~~ ~~~: * ;~'!'~:~: l * ! z:! r~;! !~ ~ *

6681

6682
66R3
6684

SUB
ADD

10/ 2/86

COMMENT

.

II ..

* * .... * * .... * * .... * * .. * * * .. * * * * * .. * .. :

nUT INSTR =DCMP 0 000 001 000 XX.ENTRY=OCMP,SR=4
DCMP RD
RB
SUB
NOH RC
RA
LINK
RD

UBA

ADD
INC
lOR

UNC
NEXT
CCA

UBA ADD
SP IB ADD
ADD

-

SPIB EPP4
CCA
DCC

NEXT

UBA.SPIB:·(OPERAND I)
(OPERAND 2), SKIP
IF NO OVERFLOW, EPP4
SKIP IF OVFL; SET CCA ON MSW OF DIFFERENCE
UBA: =1, NEXT IF NOFL; SET DCC ON LSW
SET CCA ON SIGN OF MSW OF OPERAND 1: NEXT

PAGE 11(1
RECORD
NO

C S

ADDR

DOUBLE In$tructions
ALU A

• • ",III-,1ir;**JllII't*

111.111 • • 111111:111'111111 • • • 111 • • • l1li:.111111:'11:*111

LABL RREG SREG FUNC SFNC STOR SPSK

ALU B

10/ 2/86

9:Z6 AM

***111****** • • • •

RREG SREG FUNC SFNC STOR SPEC SKIP

COMMENT

66')5

~S~VfOl~:7~~gf~~d~O~=n1!e;h~:~9~Rt~;e::I~~~al°rn~~~~c:~=ns

1i6'16

66 .;

6f)'1%

* '" '"

66'19
6 YI)O

6 UJ 1
610.;
6 YO',
" '11)6
67<)8

0613

06:JA

1c1f. • •

069C

6716

069D
069E
069F

6726

6728
6710
6731
6733
6734
6736
6737
6718
6740

6741
6742
6744

:

SR

III

i !~ ~ ~ rl.

III ..

~~

III

!:

III

~ ~ 1~ ~ !; ~

JSZ
SP4A JSZ

PULM
PULM

SRL2
ZERO

CIR

DDIV

ODD

JSB

SR

III

!~ ! •
III

III lit III III

* III III * lit III III III: III 111 III III III III III III III :

JSZ

PUL2
SP4A JSZI PUL2

SRZ
ZERO

ADD

** •• *** ••• ******.***.*** ••• *III:** ••••••• ***JII*IIt** •••• *****1If**1It1lt**_.1II

DMUL

RD
RB
RB
RD
UBB

06AO

ObAI
06A2
06A3

RB

UBA
UBA

ADD
ADD
SUR
ADSB
ADD
ADD
MPAD
ADD

RB

HBF2
pes
F lTC

RB

RB
RA
RD
RC
UBA

RA

UBB
UBB
UBB

SP4A

06A4

SPOA

ADD

POS

UBA

06As

DMSO SPOA

ADD

SFI

SP3B

UBA

ADSB

UBA

ADD

LSL

06AB

JSB

DMSO

NF2

06A9

JSB

DMNX

UNC

06A6
06A7

DMNX

RD

CCA

ADD
SUB
XOR
LINK
ADD
REPN
LINK
ADD

RA
SP3B

CTFI
HBFZ

POS

CLO IF
DCTR CTRO

lOR

EPP2 ZERO

ADD

SOV

UBB

LINK

UBB

ADD

UBB

lOR

UNC
Fl

RC

DCC

NEXT

6745

6746
6747

674q
67')0

6752

Pull Z if SR = 0 else pull 1 if SR =
Pull Z if SR • Z else pull 1 if SR =
(UBB = SR - 3 + 1) (UBA = SR - 3)
Jump if Double Divide instruction

DMUL (Double Multiply) Instruction - Entry is through

6714
6720
6722
6724

~ ~ ~ * ~ ~ ! I~ !

*****~~!!~~~~.!~~!~~;!!~~:.;~l:~*e~!~! •• * •• **.** •• IIt* • • * ••••••••••••• :

6112

671B

DMDV

069B

6"0'1
6710
6711

6713

I< '" ;

UBA

JSB

ZERO
DMSO

UNC

~~IpS~~N~~6: ~~~~.~~SY(~F

V SIGN(ABS(REM)):
SKIP IF SIGN(QUOTIENT) <)
(SIGN(U) XOR SIGN(V))
SET CCA ON MSW;
SKIP IF QUOTIENT 0 OR
SIGN(QUOTIENT)-(SIGN(U) XOR SIGN(V))
2

RA
RB

RC

SOY
DCC

NEXT

!~~li~~~~7~J~)~O~c~Qg~T~~:: ~~XT(2··32))

PAGE 141
RECORD
NO
6794
6795
67'16
6797
6798
6799

6800
6802
6803

C S
ADDR

Inc rement,lOec rement Inst ruet ions

***I11I11I11***fI" ALU A **111 •••••• 111*

LABL RREG SREG FUNC SFNC STOR SPSK

***It***tII •• It*. Al.U B **._**-*******
RREG SREG FUNC SFNC STaR SPEC SKIP

***111*** ••• *.11111·""*'111*******.*#1*111111***#1*11:**111111****l1li111:***111*.*111****111111#11111111111****

!LUT INSTR.INCX:O 000 000 100 XX,ENTRY=INCX,SR=O
06B8

INCX X
.. III .. III ..... " III III III

INC
X
CCO
JSZ NEXT
* III * ,. * III III .. III ... III III 'II: III III JII * III .. III " III • * It III III " • * '" " .. III III III III III JII "1 III 1ft . . . III •

6805

: ... "•~~<:~ . 1~:~ r:r:: ~! ~ l. !~:!! ~~ ! !~ ~

6807
6808

!lUT INSTR-OECK:O 000 000 101 XX,ENTRY=OECX,SR=O

lie

6806
6811

06B9

.* ..

6813
6814

·

6815
6820
6821
6822

~lUT

06BA

6825

06BB

6830

OfiBC

NEXT

UNC

X:-X - I, CCO; JSB FOR NEXT

INCA (Increment Al Instruction

•

*********************111****.111******'*************'11*****************

INSTR-INCA:O 000 011 011 XX,ENTRY.INCA,SR-l

·**_**~~~~_l~:~!~~~~!IIt~l*!~:!r~~!!~~IItJlt*IIt*JIt*******W*Jllft** *ww_*_**_*Jltw**:
INCA RA

INC

RA

CCO

JSZ

NEXT

UNC

(SI:-(S)

+

1; JSB FOR NEXT

~lUT

INSTR-OECA:O 000 all 100 XX,ENTRY-DECA,SR=l

~ECA

RA

CAD

RA

CCO

JSZ

NEXT

UNIC

(S):-(5) - 1; JSB FOR NEXT

INCB RB

INC

RB

CCO

JSZ

NEXT

U~IC

(S-11:-(S-I)

+

1; JSB FOR NEXT

/I " " "

* ~~;~ * l~: ~ :'!'~ ~! '" ~ lll: ! ~: ! ! ~ ~ ! ! ~ ~ *II *III II *III * * III III '" III * * III * It * * * • III III III ** III JII ** III '" III :

lLUT INSTR=DECB:O 000 111 100 XX,ENTRY.OECB,SR=2

6841
R4,)

JSZ

"011"" * .. '" * ** ** '" "'* * . . * 111*. * •• *** •• *****111 **** * * **111* 111111111***" * *111111 ** I I "''''** *. *11:111111

68~u
F,~41
6~42

f.,

* III #I III III III *. * III '" III. _I" * III .. It .. * #I .... III .... III . . . :

!LUT INSTR=INCB:O 000 111 all XX,ENTRY=INCB,SR=2

6 8~' ,

f)R~4

CCO

I, CCO; JSB FOR NEXT

:~***!~~~*!!~~!~~~~!*!l*~~~!:~~!~~~****************~** ****"'.*******.:

6833
6834
F, ~3f)

X

+

·

6832

6%1?

CAD

X:=X

********._***********_****JII:*lItlllJII:***JII**********II:* __ **A*******111****"*111**

6831

681')

X

UNC
* * III

*********JII"'***_*****_****_**IIIIJr***.JllIII***lII*_._.JlllII*JIt**#I:**JlcJlt**IIIJIt***_IIt*JlcJII*

6823
6824
6826
6827
6829

~ECX

III III III

III III It ..... III III

•• * ••• ** •••• * ••••• * •• **** •••• IIIIII*****.III ••• I11" ••••• ***IIJII*IftJII*Jll:III**JII*JfI ••• **

6812

6816
6817
6818

9:26 AM

•
INCX (Increment Xl Instructlon
•
** •• III.II***.I\ •• II:* ••• **JII •• IIc****.*._** ••• *****.****#I***** •• I11*.*.****JII***

6804

6809

10/ 2/86
COMMENT

Of)BD

r"EGR

RB

CAD

RB

CCO

JSZ

NEXT

U~IC

(S-11:=(S-11 - 1; JSB FOR NEXT

PAGE 142
RECORD
NO
6848
6849
6R50
6851
6852
6853
6854
6856
6858
6859
6860
6861
6862
6863
6864
6865
6866
6868
6870
6872
6873
6874
6875
6876
6877
6878
6879
6881
6883
6885
6887
6889
6890
6891
6892
6893
6894
6895
6896
6898
6900
6901
6902
6904
6906
6908
6910
6912
6913

C.S
ADDR

***********l1li:* ALU B *1t***It*.******
RREG SREG FUNC SFNC STOR SPEC SKI P COMMENT
************************11****111********.********_ .... **111*****_* •• ***" ••

10/ 2/86

9:26 AM

:****~~~~*l~~Y!~:!*~~~~~~!l*!~:!!~~!!~~*************** ***********.*.:
!LUT INSTR-LCMP:O 000 101 111 XX,ENTRY-LCMP,SR-2
06BE
06BF

LCMP

ADD
JSl

CCl CRRY
CCA
***********111111:111:***111111************************************ ••••••• ***. __ •
NEXT

EPOP
EPOP

RB

RA

SUB
CAD

EPOP; SET CCl ON (S-l) - (S), SKIP IF )JSB FOR NEXT, EPOP; SET CCl IF (S-l) ( (S)

:****~~~~*!:*!~:*:~!!~*e~!~!*!~!*!~:*~~~~*:~~*~~~~*!~:!:~~!!~~:.****:
SLUT INSTR-LADD:O 000 110 000 XX,ENTRY-LADS,SR-2
!LUT INSTR-lSUB:O 000 110 001 XX,ENTRY-LADS,SR-2,F2
06CO
06Cl
06C2

LADS RB

ADSB
RB
CCA
RB
RA
ADSB
CRRY
CCRY UNC
ADD
EPOP
ADD
ADD
NEXT
ADD
SCRY
" " III III III III III .. ,." III" "** ...... * * .. * ••• It III III III III: III *** III *""" . . III ** III III III * III.'" III""" * III lit * III III III II. III * III
III * III

.

RA

(S-l): - (S-l) +/- (S), CCA; SKIP IF CARRY
EPOP; CLEAR CARRY, SKIP IF NO CARRY
NEXT; SET CARRY

l1li:

:•••• ~~~!.!~:~!~~!.~~!!!~!~l.!~:!r~~!!:~ •••••••••••.•• ••••••••••••• :
06C3
06C4
06CS
06C6
oeC7

!lUT INSTR-LMPY: a 000 110 010 XX,ENTRY·lMPY,SR-2
lMPY
RA
ADD
SP4A
REPN
CCRY OOOF
MPAD
RB
UBB LINK
DCTR CTRO
ADD
UBB ADD
CCA lERO
RB
SPOA
ADD
SCRY
RA
ADD
ADD
UBA
DCC
NEXT
ADD
••• * III * *. * *.** **. III * III III * *. III *** * •• * * **. * •• * * ••••• * III * *. III * 111.* * III * * l1li * * * *** * *.

.

SP4A :- v; UBB :- 0, repelt 16 times, CCRY
RREG:-O; MPAD UNTIL CTR IS DECREMENTED TO 0
; (S-l):=MSW, CCA, SKIP IF = 0
(S):-lSW; SCRY IF MSW (> 0
; DCC ON lSW, NEXT

:•• *.~~~¥*l~:~!~:!*~!:!~:l.!~:!~~~!!:~.* •••••••••••••• •••.•••.•••••• :

06C8
06C9
06CA
06CB
06CC
06CD
06CE

!lUT INSTR=lDIV:O 000 110 011 XX,ENTRY=lDIV,SR*3
lDIV
RA
JSB DIVl
ZERO
ADD
RB
ADD
SPOA SF 1
RC
RA
JSBS LDV2
lDVl UBA
UBA
lDV2

ADD
DVSB
ADD lSR RB
SP4A ADD
RC
RC
JSB lDVl
RA

CFl
F1HB
CCA
CFl

RC
UBB
RB

REPN
LINK
ADD
ADD
REPN

NCRY
SOV 0020
DCTR CTRO
EPOP
NEXT
CLO 0010

JSB (.DIVL DOES POP AND TRAPS);
SPOA:-lEAST SIGNIFICANT DIVIDEND, SFl TO
INHIBIT EFFECT OF DVSB ON RREG;
JSB IF MS DIVIDEND < DIVISOR
CF 1, UBA:-O; UBB: -MSU, REPEAT 33 TIMES, SOV
DIVIDE BY V ANOTHER 17 TIMES
EPOP
1~~~~:~~SbTI~~+-~6~A~~~~~: CGA, NEXT
CF1, UBA =MSU, JSB;
UBB.=lSU, REPEAT 17 TIMES, ClO
JSB FOR NEXT; CCB ON (S)

PAGE 143
RECORD
NO
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6954
6956
6957
6959
6960
6962
6963
6965
6967
6968
6970
6971
6973
6974
6976
6977
6979
6981

C.S.
ADDR

r~~9~~.~~!~rA~etAh~~~:~r •••••
LABL RREG SREG FUNC SFNC STaR SPSK

111111***111111**111**111

•

«.TCKI. TCLK interrupt »
« reset TCLK for 1ms int »
« check if TCLK went too»
« negat ive
»
« inc PCLK
»
«update. CR

L1:be'~rK:'TCLK+K;
if

TCLK < 0 then

101 2186

ALU B 111***.111.1111111111111111_*

RREG SREG FUNC SFNC STaR SPEC SKIP
III II III III III III * III III III III .. III * III III * .. III III JIll * III ... '" III III ... III III III III III 111 III .. 111 .. * II * * III It III '" III !III III ... III III til III III III " III !III III * III III III III '" * lit 1_
Performs system clock, process clock simulation

9:26 AM

COMMENT

"

i f not ICSFLAG PC : - PC+I;
CR := CR+l;
eY~eto U;
if not ICSFLAG then PC:'PC+l;
« update process clock »
< < do f rant panel display> >
~~~:~~+~IR display;
« inc COUNT REGISTER »
IF CR=O tHEN
bey}nnot (STAT.(!:l) and T~~~T~~~~ system clock interrupt»:
< <.TICO: c ant do s/w int. > > "
be'~~NCBIT: -1;
« f lag missed time r int » ,
DINTFF: -1;
« set defe r red int F IF »
( TR ) : • ( TR ) + ( LR ) ;
«update TSLI (TR)
» '
erld

e I s e,

< <.TIC1 set up slw int >>

bE'HNCBIT; =0;
TON:=O;
TR:·O;
PLABEL:-!8COI;
INT9;
end;

RE;~:~T

end;

.

'" :11:

06CF
0600

«

TCLK

Tl:l

K • clock constant ( ( lms/clock period) - 2 )
* III III III III ,. III * III * III * '" III III III III III III * 'Ie III 111 jj III III III * III III * .. III III III III III III III III III III it III * III •
JSZ
ADD

RH
0014

AOOL

3413

AODL

]II

TIME

SP4A

UNC

RH

OOM
0030

ADO
1000 CPX2 ANOL

UBA
UBB

0605

UBA

ADD

UBA

0606

UBA

ADO

0608
0609
06DA

UBA
ToC2

ADD
RH

INC
JSB
JSZ

AODL
XR3l ADO
ADOL

CIRD
TIME

ROB3
UNC
UNC

REGN ADO
JSB

Add delt a t to normal execution count
Store mask to clear TCLKINT in SP4A4 (2635)
Store CR value into BKX7
(2635)
RH :- %20 for I'ead of (LR) & (TR);
CTR := REGN code for TCLK
(2635)

CTR
CCPX
TC2

REGN

ADD

g~!a~=TttK~~T/(~~Bo_n~6AOO~;

POS
NZRO

XR20 INC

XR20

BKX7 JSBI TCI

BKX7

UBA ADD
XR20 INC
OOOF
AODL

•
'" III

SP2B
BKX7

SP4A ADD

06D3
0604

0607

IeS setup,xfer to PLABEL»:

instruction processing;
< < TCLK int handle r >>

III JII ... III III III 'It III Ill: III " III III ,\II: III III lit

0601
0602

disable sys clock ints »
« TSLI is now 0 »
«

XR20
SP2B

UNC
NZI~O

TCLK := TCLK + clock constant
UBA :- ICSFLAG
(2635)
to TC2
(2635)
MA T~~KI~SF~AGgo
(2635)
Skip next line if ICSFLAG
(2635)
UBA : - ICSF LAG
(2635)
Inc rement PCLK if not ICS
(2635)
ICSFLAG
UBA
(2635)
Inc CR and repeat t he loop
(2635)
UBA := %21, reald (LR!; Ski~ if ICSFLAG
U~date CIR display;
nc PC K if not on ICS
J B to .TIME to set countsave = TCLK;

PAGE 144
RECORD
NO
6983
6984
6986
6987
6988
6989
6991
6993
6994
6995
6996
6998
7000
7002
7003
7004
7005

7007
7008
7010
7011

C.S.
ADDR

!<;~~~. ~~!: r A~Bt Ah:~~!: r•••••
LABL RREG SREG FUNC SFNC STOR SPSK
RH

06DB

CAD

tick:
TICK

STA ADD
XR15 JSB

06DE
06DF
06EO

TICO

XR15 ADD
RH
OPA ADD
!ICR 1000 STA ANDL

06El

TICl

TICO:

TIC1:

06E3

BKX7 JSBI TICR XR31

LSL
TICI

pas
BIT8

UBB

OPB
OPB

ADD
SUB

NEG

XR15 FIHB
DATA

0007

UBB

ADDL
ADD
JSZ RSRT

CCPX

10/ 2/86

9:26 AM

COMMENT

UB~P~~

ii 7 ~;~:d N?~R ~ ~ (~~ 10~ = aic~ I d: 11 ~ (~63S I

restart instruction if < 0

Skip i f interrupts are off; RH :s 0 .. (LR)
Service interrupt if interrupts on and TON;
(CR) :. - (LR), se t F1

RH
XR31 SFI

(interrupts LAND TONI = 0 so don't do timer interrupt
UNC

Set SINe bit; UBB .- mask to set DINTFF
(TR)
(LR) + (TRI; Set DINTFF
UBA:s right stackop bit; Restart instr

(interrupts LAND TONI. 1 so do timer interrupt
ADD

SPOA SF2

7F7F

ADDL

XR15 AND

XR1S CFl

SCOI

ADDL

UBA
UBB

ROX3

CR hIS been incremented to 0, may do s/w interrupt

06DC
0600

06E2

***********illI* ALU B **********111 •••

RREG SREG FUNC SFNC STOR SPEC SKIP

JSZ

INT9

DATA

ADD

SPS~B·~=P:~:~ I~T~I:~~R~INcS~ltF~n~oTo~INT9;
SPIB

Clear SINC bit and TON, clear Fl for .IR1;
SPIB :- external label (%106001)
(TR) :- 0, service interrupt;

PAGE 145
RECORD
NO
7014
7015
7016
7017
7018
7020
7022

C.S
ADDR

CIR Updat~ routine
*111.** •• **11111* ALU A *111*.**111****
"""IIIIIiII**1I1II1II1II11I:III. ALU B **.**- ••• 111111*111111
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
* 1_ * * III III .. III III .. " * lit * III' '" III III III Jill III " '" .... III .. * III * " III * III " * III * * .. 'If. .. #l III .. II III * * * III * III: III III III III * * III * * III III * III .. III

10/ 2/86

9:26 AM

COMMENT

)I(

*~***~!~*~~~:!:*~~~!!~:~**!~!*~~*:~~*~~*:1:!:~:*1~~!*!:!~!~**********
06E4
06E5
06E6

CIRD

ADD
ADD
ADD

RSB

ADD
ADD
ADD

Jus t ret urn for now
NOP to keep system happy
NOP to keep system happy

(2555)
(2555)

PAGE 146
RECORD
NO
7025
7026
7027
7028
7029
7030
7031
7032
7035
7036
7037
7039
7040
7041
7042
7043
7044
7045
7047
7049
705t
705"

7054
7056
7057
7058
7059
7060
7061
7063
7064
7066
7067
7069
7070
7072
7073
7074
7075
7076

C. S.
ADDR

RREG SREG FUNC SFNC STOR SPEC SKIP

9:26 AM

COMMENT

**************_******_***111******111**.***._._**111*******'"_.111****111****"'**

•
:

PLSA is the entry point for PLDA and PSTA instructions.

•
:

~er:t:t~~: :11~~~S~~9F§S ~~e~~!i~~l:~l~~!o~U!fe~i~b.to

*****IIiI.Y****_*****III***III***************_ ••• **JlJll1ll:***_IIl •• *****_*********

!LUT INSTR-PLOA/PSTAO 010 000 011 OIM xxx.

.

Q,

ENTRY-PLSA

%0700
0700

PLSA

II

CIR

JSB

PSTA

000

SR

SM

JSZ

NPRV

TRP6 SP3B

JSB IF PSTA INSTRUCTION;
SP3B:=SR + SM, TRP6 IF NPRV

*,. III • • " * III * III'" 111* III: I I III: I I .111**1\***. I I I I •••••• I I I I * II' *. ***** * .*_ ***111** I I * * * **. *_ I I * *.

:~ __ *~~~~*!~~!~;!:~:~*!~=~*!~~T*~~:~~~!:*:~~~:~~l*~~~! !~;!:~~*.*****:
07(11

0107
070J

PLDA

X

UBA

SM

JSZ
ADD
CAD

SR7
ROB3
EPSH

PSHM

ADO
ADD

0704
0705

ADO
BNKS ADO
SP3B UBA SUB
OPB ADO
REGN ADO

BKX3
CTR
RH
RH

CCA
CCA

NZRO
TICB
NEXT
NEXT

JSB TO EMPTY A TOS REG IF SR = 7; BKX3:=0
UBA:=AODR, READ; SKIP IF BNKS () 0
EP~~6 ~T~~·!60R ~~gR~NK~K!POIF ADDR ) SM AND
,RH.=OPERAND, CCA, NEXT
; RH:cWORD IN TOS, CCA, NEXT

******-****************************111111******.111**_***1111/*111**************

:_***~~!~*l~!!~!::v:~*:!~~:*!~!~*:~:~!~l:*:~~!:~:l~!~=!!~~!!~~******:

0706

PSTA

JSZ

SRZ

PULM

ADD

0707
0708

UBA

0709

WRX3

SM

CAD

EPOP

RA

ADD

REGN DATA

ADD

BKX3 TICB

BNKS ADD
SP3B UBA

SUB

NZRO
CTR

TICB

ADO

NEXT

JSB TO LOAD ONE TOS IF SR = 0;
BKX3:=O, TICB LOADS CTR WITH CODE FOR NOP
UBA:-ADDR, WRITE USING BKX3;
SKIP IF BNKS (> 0
EPOP; CTR-(S - AODR), SKIP If ADOR > SM AND
S ). ADOR AND BNKS = 0
WRITE (S) ; NEXT

LSSD 1s the entry point for LSEA, SSEA, LOEA, and SDEA.

.

7077

7078
7079
7080
7081
7082
7084
7086
7087
7089
7090
7091
7092
7093
7095
7097

101 2186

~~!~H:y:~.M%r~rI ~:!:~:~~~.!nS!!~~H~~: •••• ALU B ............ ..
LABL RREG SREG FUNC SFNC STOR SPSK

i~~ ~~yP~~a1~~s;o~~ ~~!t~~c~~~n~iniQuTsy:~~~if~edr!~ut~:dLUT
to make the TICB option work properly.

*111111:***111*****111********* ••• ****_._111***]11*****111.*************************

070A
070B

SLUT INSTR-LSEA/SSEA/LDEA/SDEA:O 010 000 011 10, ENTRY=LSSD, SR=2, Q
LSSD
CIR ADO LSR
EVEN 0003
ADDL
SPIB
JSB DEA
UNC
JSZ TRP6
NPRV

070e

0700
e70E

LSEA

SR

SM

ADO
ADD

RH

OOfF RB
UBB

ANDL
BKX3
JSl PSHM SP3~

SR7

~~~PI~FL~~I g~R~6:A;I~~~~ucfIONS;

TRAP IF NOT PRIVLEGED
JSB if SSEA instruction; Set F1 if SR

)=

: BKX3 .• bank adr. (8:8)
RH = SR ... SM. SP3B • bank adr (for rtn
from apSHM), Push one TOS if SR = 7

J

PAGE 147
RECORD
NO
7098
7100
7102
7103
7105
7107
7108
7109
7110
7111
7112
7114
7116
7117
7118
7120
7122
7124
7125
7127

CS
ADDR

PrIvileged Memory Reference Instructions
ALU A .*111111111.*111**111
IIIJ11:l11*** III * **JllJlrIll ALU B iii * * * III: III III 111 111111111 III _I ill
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

*liI*ill:JllJII"'IIIJ1rJIIlll

LML RREG SREG FUNC SFNC STOR SPSK

070F
0710

RA
SM

USA

0711
0712
.. 11 III III III

* III ..

JIll

ADD
CAD

ROB3
EPSH

UBB
RH

BNKS SUB
UBA SUB

CTR

NlFIO
TICB

ADD
RH
OPB ADD
CCA NDT
ADD
REGN ADD
RH
CCA NE)(T
III III III .. 111 lit * III * III .. III 11: III .. III .. * .. III III III III #I III Ie III * III * .. * .. III !It lit III '" III III !If III * II '" .. III III III * * * 111 111 • III '" * JII _l

COMMENT
UBA:=ADDR, READ; SKIP IF BANK ADDR <> BNKS
EPSH; CTR:"(S - ADDR) , SKIP IF ADDR > SM AND
AND S >= ADDR AND BANK ADDR = SNKS
RH =OPERAND, CCA, NEXT
RH:·WORD IN TOS, CCA, NEXT

:*.**~~~~*!~!~!:.:!~~!:11111~~!~*!~!~.::!~~~:~*:~~!~~:1*!~:!!~~!!~~*****:
0713
0714

SSEA

0715
0716
0717

S5;El SR
RB

0718
0719

RB

ADD
JSB

RB
SM
SM

ADD
ADD
CAD

RA
RA

ADD
ADD

WRX3

SSE!

WRX3
EPOP
REGN

DATA

OOFF RC
UBB

ANDL
SKX3
JSl PULM SP3B

OOFF UBA ANDL
UBB BNKS SUB
SUB
UBA RB
ADD
ADD

BKX3
CTR

NFl.
NlFiO
TICB
NOtT
NOlT

BKX3 :" bank ad r. (8: 8)
Write usin9 BKX3, jump if SR >- 3; Else
SP3B : .. USB (f 0 r r t n from IIPSHM), pus h one
TOS

~Bl~;s~S!nSM~K~~ipB~~3B~NKb:8~Ra~~'~~K~)

EPOP; CT'l : = (S - ADDR), SKIP IF ADDR > SM AND
S >" ADDR AND BANK ADDR <> BNKS
WRITE (S) ; NEXT
STORE (S) IN TOS; NEXT

PAGE 148
RECORD
NO

C S
ADDR

7130
7131

071A

7145
7146
7148

7150
7151
71')3

7155
7156
7158
7159
7161

071C

CIR

LDEA

JSB

OPA

JSZ
ADD
ADD
ADD
ADD

RA

071D

071E

071F
0721

LDE 1 RA

SM

ADD
CAD

0722

RA

SM

SUB

0720

SDEA

ODD

ADDL

0002

JSB IF SDEA INSTRUCTIONS; SP2B:z2

SP2B

_.****._.* •••

PSM2

REGN ADD
ADD

SRGS
ROX3
RH

ANDL
BKX3
INC
ROX3
ANDL
JSBS LDE1
ZERO
ADD
EPSH

NEXT
EPSH

UBB OPB
RREG RA

XFRS
SUB

RG
CTR

DCC
TICB

RREG RA

CAD

CTR

TICB

ADD
REGN ADD
RG
DCC
*****************111.***** ••• ************* •• *********** •• 1Ii._ .... _..... .
••••• ~~~~.l~!~!:.~~~~!:.~~r~.!~!~.::!:~~:~.:~~!:==l.:~:!!~~!!~~ ••••• :

0725

SDEA SR

0726
0727

RC
OOFF RD
UBA UBB
RB
RA
SDE1 RC
SM
RB
RC
SM

7166

0728
0729

072A
072B

072C
0720

7187

072E

SPIB JSZC PULM
ADD
ANDl
JSBS SDE!
ADD
ADD
CAD

RA

RH

EPSH
CCA

OOFF RB
RA
OOFF RB
UBB BNKS
SR
SM

0723
0724

1164
7165

7188

9:26 AM

:****~~~~*l~~:~*~~~~!:*!!~~*::!:~~:~*:~~!:~:l*!~~!~~~!!~~***** •• *****
071B

7163

7167
7168
7170
7171
7173
7174
7176
7178
7180
7182
7183
7185

DEA

•• *********111***.****.********* •• ***_*****.*****111****111 •••

7139
7143

10/ 2/86

COMMENT

SEA splits apart LDEA and SDEA lnstructions.

71]7
7138

7140
7141

RREG SREG FUNC SFNC STOR SPEC SKIP

••••••• 111:******-.****111.*._*******.***.**-********************_****11***

7132
7133
7134
71J6

~!!~!!:?:~.M!rurI ~:!:!:~~:.!ns!!~~l!~~~ •••• ALU B ••••••••••••••
LABL RREG SREG FUNC SFNC STOR SPSK

CCA
NEXT

NCRY

SR

WRX3

BNKS ADD
UBB ADD
UBA ADD
ADD
SR
SM
ADD
UBB RC
SUB
RREG
ADD
RREG RC
CAD

ZERO
DATA
DATA

ADD
SUB

REGN DATA

ADD

REGN DATA

SP2B JSZC PUL2

ADD

NCRY
EPP2
BKX3
CTR

TICB

CTR

TICB

NEXT

NEXT

JSB IF SR ) 5; BKX3: a BANK ADDR
READ FIRST WORD; READ SECOND WORD
EPSH; JSB IF BANK ADDR = BNKS
NEW (S-ll .FIRST WORD. CCA;
UBB:.SR + SM. EPSH
NEXT; RREG:oS. NEW (S):=SECOND WORD. DCC
EPSH; CTR:.IF ADDR ) SM AND S ) = ADDR THEN
(S - ADDR) ELSE CODE FOR OPERAND
; CTR:-IF (ADDR+l) ) SM AND S ) = (ADDR+l)
THEN [S -(ADDR+l)1 ELSE CODE FOR OPERAND
RH:-FIRST WORD. CCA;
NEXT; RO:-SECOND WORD. DCC

PULL WORD INTO TOS IF NOT (SR ) 3);
PULL 2 WORDS IF NOT (SR ) 2)
READ ADOR (S-2) (WILL BE VALID EITHER WAY);
JSB IF BNKD - BANK ADDR; BKX3:=BANK ADDR
WR ITE FIRST WORD;
WRITE SECOND ADDR; UBB:-SR + SM. NEXT
; CTR:-IF ADDR ) SM AND S )- ADDR THEN
(S - ADDR) ELSE CODE FOR NOP
WRITE FIRST WORD; RREG::S
; CTR:-IF (ADDR+l) > SM AND S >= (ADOR+l)
THEN IS - (ADOR+l)1 ELSE CODE FOR NOP
WRITE SECOND WORD; NEXT

PAGE 149
RECORD
NO
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7206
7208
7210
7211
7212
7213
7215
7217
7219
7220
7221
7222
7223
7224
7225
7226
7227

C.S.
ADDR

SLUT
SLUT
SLUT
SLUT
S1.UT
SLUT
SLUT
SLUT

072F
0730
0731
0732
0733
0734

·

9:26 AM

INSTR=INCt'I(DB+):l 010000 OXX XX,DSPL=8,DB,ENTRY=IMO
INSTRsINCt'I(DB+):l 010 100 OXX XX,DSPL=8,DB,X,ENTRY=IMD
INSTR=INCM(Q+):I 010 000 lOX XX,DSPL=7,Q,ENTRY=IMD
INSTRsINCt'I(Q+):l 010 100 lOX XX,DSPL.7,Q,X,ENTRY=IMD
INSTR=INCM(Q-):l 010 000 110 XX,DSPL-6,Q,F2,ENTRY=IMD
INSTR'INCt'I(Q-):l 010 100 110 XX,DSPL-6,Q,F2,X,ENTRY=IMD
INSTR-INCM(S-):l 010 000 111 XX,DSPL.6,SM,F2,ENTRY·IMSM
INSTR=INCM(S-):l 010 100 111 XX,DSPL=6,SM,F2,X,ENTRY=IMSM

H1SM SR
HID UBA
H1D1 UBA

UBA ADD
DSPL ADSB
SM
CAD

RH

H102 UBA

INC
REGN ADD
UBA ADD

CCO
REGN DATA

ROD

SR
UBB

SM
UBA

RH

DL

ADD
ADD
BNDE

CTR

TICB

BNDE
ADD
ADD

·:h***!~~~~*!~~!=~:Z!*~~~~!~~*!~~!r:~!*~~~:~***.******* *.****.******
lit ~I 111 ..

SLUT
SLUT
$LUT
$LUT
SLUT
SLUT
SLUT
$LUT

7;':? 8

NHT

* III III * • * * * * * III III '" III III III * III: III III III III III III III * '" 'Ie * III III: III * III '" III * .. III * * It, III III * * .", III 'III .. lit * III III III * III: * III III *' Ie
)I[

INSTR. INCt'I( DB+
INSTR· I NCtJl ( DB+
INSTR· INCtJl( Q+)
INSTR=INCtJl(Q+)
INSTR=INCt'I(Q- )
INSTR=INCtJl(Q- )
INSTR=INCt'I(S- )
INSTR=INCt'I(S- )

72.J J
72J5

ons
0; .Jr.

7239
7240
7241
7243

0737

HHS SR
H1ID UBA
U6A

0738
0739

XC
UBA

7237

10/ 2/86
COMMENT

:~***!~~~~*!~~!:~:~!*~:~~!l~*~!!:~!*~=:::*****.******* *************.:

·

7;';>9
nVJ

7;'31
727.'2

Memory Reference Instructions
*******~*** ALU A ***********
.************ ALU B ************~*
UIBL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III _I * III III III III • '" III III III III III III III III: III III * III * III * .. * * III * III III '" III III III * * II: III III III III III III III III W '" III * III III * III III III III III '" III * III * * lit III III * III

JIll:

UBA:=SR + (SM + XC);
~HBO~~~~=6~~~~ S>~~6D~~- DSPL, READ; UBB:=S
CTR:=IF ADDR>S AND S>=ADDR AND
NOT (FSS AND (DB REL ADDR OR TFF)) THEN
(S-ADDR) ELSE CODE FOR OPERAND AND NOP
UBA:-1; BOUNDS CHECK ADDR >= DL
UBA:-UBA + MEMORY LOCATION, CCO;
WRITE MEMORY l()CATION OR STORE IN TOS; NEXT

:11

••

:1 010 010 OXX XX,DSPL-8,DB,INDR,ENTRY=IMID
:1 010 110 OXX XX,DSPL=8,DB,X,INDR,ENTRY=IMID
1 010 010 lOX XX,DSPL-7,Q,INDR,ENTRY=IMID
1 010 110 lOX XX,DSPL=7,Q,X,INDR,ENTRY=IMID
1 010 010 110 XX,DSPL=6,Q,INDR,F2,ENTRY=IMID
1 010 110 110 XX,DSPL=6,Q,X,INDR,F2,ENTRY=IMID
1 010 010 111 XX,DSPL=6,SM,INDR,F2,ENTRY=IMIS
1 010 110 111 XX,DSPL=6,SM,X,INDR,F2,ENTRY=IMIS

SM
ADD
DSPL ADSB
CAD
SM

RH

ROD

SR
UBB

DB
ADD
REGN ADD

RH

ROD

RH
DL
SP3B

SM
UBA

ADD
ADD
BNDE
BNDE
JSB IMD1

SP3B
CTR TICB
STFF

UNC

UBA:=SR + SM;
RH:=UBA:-BASE +/- DSPL, READ; SP3B:=UBB:=S
; BOUNDS CHECK S>.ADDR, CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPA AND NOP
UBA: =XC + DB; BOUNDS CHECK ADDR >= DL, STFF
RH:=UBA:=TARGET ADDR, READ; UBB:-S, JSB

PAGE 150
RECORD
NO

C.S
ADDR

7246
7247
7248
7249

073A
073B
073C

7266
7267
7268

0730

7265

7270

7271

7272
7273

7281

7292
7294

UBA ADD
DSPL ADSB
SM
CAD

RH

JSBC IMD2

ROD

SR
UBB

SM
UBA

ADD
ADD
BNDE

UNC

RH

DL

BNDE

CTR

UBA: -SR + (SM + XC);
RH:oUBA:a(BASE + XC) +/- DSPL, READ; UBB:=S
; BOUNDS CHECK S>oADDR,
CTR: .IF ADDR ) SAND S >= ADDR AND
NOT (FSS AND (DB REL ADDR OR TFF)) THEN
(S-ADDRj ELSE CODE FOR OPERAND AND NOP
UBA.=-l, JSB; BOUNDS CHECK ADDR >= DL

TICB

*****~~;~~*~:~~:~:~!*~:~~!l.*!~~!:~~!*~~:=~*********** **************:

7280

7291

INSTR=DECM(DB+):l 010 001 OXX XX,DSPL-S,DB,ENTRY.DMD
INSTR=DECM(DB+):l 010 101 OXX XX,DSPL=S,DB,X,ENTRY=DMD
INSTR=DECM(Q+):l 010 001 lOX XX,DSPL=7,Q.ENTRY-DMD
INSTR=DECM(Q+):l 010 101 lOX XX,DSPL:7,Q.X,ENTRY=DMD
INSTR=DECM(Q-j.l 010 001 110 XX,DSPL=6.Q,F2.ENTRY=DMD
INSTR=DECM(Q-j:l 010 101 110 XX,DSPL=6,Q,F2,X,ENTRY=DMD
INSTR=DECM(S-j:l 010 001 111 XX,DSPL=6,SM,F2,ENTRY=DMS
INSTR=DECM(S-j:l 010 101 111 XX.DSPL o6,SM.F2,X,ENTRY=DMS

OMS SR
DMD UBA
DMDl UBA

SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT

7278
7279

7288
7290

9:26 AM

*************.****** •••••• ***.**111**.****-******._**-** ••••••••••••• "'.

7274
7275
7276
7277

7282
72ft3
7284
7286

10/ 2/86

COMMENT

*****~~~~~*~:~!~~:~!*~~~~!!~*~!!:~!*~:::~************* **.111* ••• * ••••• :

SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT

7263

7261

* •• * ••••••••• ALU B *.*.**_.* •••• *
RREG SREG FUNC SFNC STOR SPEC SKIP

* ••• ***111111*.****111***********************.*.111****************.JIr****III*JII:*

7250

7251
7252
7253
7254
7255
7256
7257
7258
7259

*....

Memory Reference Instructions
*********** ALU A ** ••••
LABL RREG SREG FUNC SFNC STOR SPSK

INSTR=DECM(DB+):l 010 011 OXX XX,DSPLaS,DB,INDR,ENTRY:DMID
INSTR=DECM(DB+):l 010 111 OXX XX,DSPLaS,DB,X,INDR,ENTRY:DMID
INSTR=DECM(Q+):l 010 011 lOX XX,DSPL a 7,Q,INDR,ENTRY=DMID
INSTR=DECM(Q+)'l 010 111 lOX XX,DSPL=7,Q,X,INDR,ENTRY=DMID
INSTR=DECM(Q-).l 010 011110 XX,DSPL o 6,Q,INDR,F2,ENTRY=DMID
INSTR=DECM(Q-):l 010 111110 XX,DSPL a e,Q,X,INDR,F2.ENTRY=DMID
INSTR=DECM(S-) 1 010 011 111 XX.DSPL a e,SM.INDR,F2,ENTRY=DMIS
INSTR=DECM(S-):l 010 111 111 XX,DSPL a 6,SM,X,INDR,F2,ENTRY'DMIS

073E
CnF
074J

DMIS SR
DMID IJBA
UBA

0741
0742

XC
UBA

r,t-'
ADD
C'SPl M)SB
:'M
CAD

RH

ROD

SR
USB

DB
ADD
REGN ADD

RH

ROD

RH
DL
SP38

SM
UBA

ADD
ADD
BNDE
BNDE
JSB DMDI

SP3B
CTR TICB
STH

UNC

UBA: -SR + SM;
RH: -UBA: -BASE +/- DSPL, READ; SP3B:=UBB:=S
; BOUNDS CHECK S> =ADDR, CTR.=IF ADDR>SM AND
S> =ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPA AND NOP
UBA: =XC + DB; BOUNDS CHECK ADDR >= DL, STFF
RH:=UBA:=TARGET ADDR, READ; UBB: =S, JSB

PAGE 151
RECORD
NO
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7312
7314
7315
7317
7318
7319
7321
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7339
7341
7342
7344
7345
7346
7348

C. S.
ADDR

Memory Reference Instructions
*111**11:****** AlU A **111#1:111****111111

***111**11***111:** AlU B **.****111****.-

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SK.IP
'" lit '" III: .... * 11: III * * .. * III: III * III III III III: * III III '" lie * .. * '#I: .. III III * III: * III III: * III * III * III * .. III III III till * III ," lit .... #I .. III .. III III III * * * .. " III III

10/ 2/86

9:26 AM

COMMENT

:****~~~~~*~~~JII~:~~!l*!~*r?!~*~~~*~~*::~*!*!:!=!!::R** *****11:********:
nUT
SLUT
SLUT
SLUT
$LUT
SLUT
SLUT

0745

INSTR=ADDM(DB+):O 111 001 OXX XX,SR-l,DSPL=8,DB,ENTRY=AMD
INSTR=ADDM(DB+):O 111101 OXX XX,SR=l,DSPL=8,DB,X,ENTRY=AMD
INSTR=ADDM(Q+):O 111 001 lOX XX,SR=l,DSPL=7,Q,ENTRY=AMD
INSTR=ADDM(Q+):O 111101 lOX XX,SR=l,DSPL=7,Q,X,ENTRY=AMD
INSTR=ADDM(Q-):O 111 001 110 XX,SR=l,DSPL=6,Q,F2,ENTRY=AMD
INSTR=ADDM(Q-):O 111101110 XX,SR=1.DSPL=6,Q,F2,X,ENTRY=AMD
INSTR=ADDM(S-):O 111 001 111 XX,SR=l,DSPL=6,SM,F2,ENTRY=AMS
~LUT INSTR=ADDM(S-):O 111 101 111 XX,SR=l,DSPL=6,SM,F2,X,ENTRY=AMS
AMS SR
UBA ADD
ADD
AMD UBA DSPL ADSB
RH
ROD
SR
SM
ADD
CF2
AMDl UBA SM
CAD
UBB UBA BNDE
CTR TICB

0746
0747

ASMN RH
RA

0743
0744

DL
BNDE
REGN ADSB

RA

ADD

CCO

JSl

NEXT

UNIC

UBA:=SR + (SM + XC);
RH:=UBA:=(BASE + XC) +/- DSPL. READ;
UBB:=S. CF2 FOR ADDITION
; BOUNDS CHECK S>=ADDR. CTR:=IF ADDR>SM
AND S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPA AND NOP
BOUNDS CHECK ADDR >= DL;
(S):-(S) +/- (ADDR), CCO; NEXT

** ••• IIr.******1tIll:*IiI**JII****It***JII;**.***IIcIll******** •• ****n**11111:*****.*******
ADDM; Add memory to TOS, Indirect DB, Q, and S relative
.. It III 11: III III: 11: " III: " .... 111 lit 111 l1li 11: * III JII .. " III lit !JI: "" 111 JII III lit .. III: lie III: 111 '" * * III: * * lit III III III: 11 • III III: .. • 1_ 11: III III III * JII III lit lit III: JII III * It III III III

.

nUT
SLUT
SLUT
nUT
SLUT
SLUT
nUT
~LUT

0748
0749

INSTR-ADD,M(DB+
INSTR "ADDiM (DB+
INSTR =ADDiM( Q+)
INSTR=ADD:M( Q+)
INSTR=ADDIM(Q- )
INSTR=ADm-1(Q- )
INSTR=ADD!M( S-I
INSTR=ADD!M(S-

074A

AMIS SR
AMID UBA
UBA

074B
074C

XC
UBA

:0111 0110 XXXX,SR=l,DSPL=8,DB,INDR,ENTRY=AMID
:0111 1110 XXXX,SR=l,DSPL=8,DB,X,INDR,ENTRY=AMID
0111 0111 OXXX,SR=l,DSPL=7,Q,INDR,ENTRY=AMID
0111 1111 OXXX,SR=l,DSPL=7,Q,X,INDR,ENTRY~AMID
0111 0111 10XX,SR=1.DSPL=6.Q.INDR.F2.ENTRY=AMID
0111 1111 10XX.SR=l,DSPL=6.Q.X.INDR.F2.ENTRY=AMID
0111 0111 11XX,SR=1.DSPL=6,SM,INDR.F2.ENTRY=AMIS
0111111111XX,SR=1.DSPL=6,SM.X.INDR.F2.ENTRY=AMIS
SM
ADD
ADD
DSPL ADSB
RH
ROD
SR
SM
ADD
SP3B CF2
SM
CAD
UBB UBA BNDE
CTR TICB
DB
ADD
REGN ADD

RH

ROD

RH
DL
SP3B

BNDE
JSB I\MDI

STH

UN'C

UBA:-SR + SM;
RH: "UBA: "BASE
SP3B:=UBB:=S. ~{2 ~~~LAD~~~~6N
; BOUNDS CHECK S>=ADDR. CTR:=IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPA AND NOP
UBA : =XC + DB; BOUNDS CHECK ADDR >= DL. STFF
RH:=UBA:=TARGET ADDR. READ; UBB:=S. JSB

PAGE 152
RECORD
NO
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7362
7364
7366
7367
7368
7369
7370

C. S.
ADDR

***********_.

ALU B •••• _-_ •••••••

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

********* •• **111***************************111* •• **111*-*** ••••• 111 ___ ••• __ ".

:****~~~~~,e~~*~:T~!I*!~*r~!~*~*!:~~!!:~************** __ •• _•••• _•• _.:
SLUT
SLUT
SLUT
SLUT

074D
074E
074F

.

INSTR-ADDM(P+) :0 111 000 OXX
INSTR-ADDM(P+) :0 III 100 OXX
INSTR=ADDM(P-) a 111 000 lXX
INSTR=AODM(P-) a 111 100 1XX

AMP UBA
AMP1 UBA
RA

DSPL ADSB
PB
UBNE
OPA ADD

RH

ROP

RA

CCO

XX,SR-l,OSPL=S,P,ENTRY-AMP
XX,SR=1,DSPL=8,X,P,ENTRY=AMP
XX,SR s 1,DSPL-8,P,F2,ENTRY=AMP
XX,SR=l,DSPL=S,X,F2,P,ENTRY=AMP
PL

UBA

ADD
UBNE
ADD

NEXT

+/- DSPL, READ;
>• PS; CHECK PL >- ADDR
(S) - (S) + MEMORY LOCATION, CCO; NEXT

~~u~g~ACHt~K+A~g~

***************** ••• *********************_*****************.111********
: .. " ....

SLUT
SLUT
SLUT
$lUT

7371

7372
7373
7374
7375
7376
737b
7380
7381
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7400
7402
7403
7405
7406

Memory Reference Instructions
_111**.", ••• ** ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

~~~~ ~ ~~~ ~:~~!r *! ~* !?~ _* !~~! !:~! .. ~,,!:!:! :~: ....
..

III

INSTR=ADDM(P+)
INSTR=ADDM(P+)
INSTR=ADDM(P-)
INSTR=ADDM(P-)

0750
L751

AMIP USA
XC

0752

UBA

.0111
: 0111
: 0111
: 0111

DSPL ADSB
UBA ADD
OPA

JSB

III""

111:"""" III III III #« * .... III .. :

0100
1100
0101
1101

XXXX,SR-1,DSPL=S,INDR,P,ENTRY=AMIP
XXXX,SR-1,DSPL-S,X,INDR,P,ENTRY=AMIP
XXXX,SR=l,DSPL-S,INDR,F2,P,ENTRY-AMIP
XXXX,SR=l,DSPL=8,X,INDR,F2,P,ENTRY=AMIP

RH

ROP

AMP1

ROP

UBA

PB

ADO
UBNE

PL

RH

UBNE

RH:-UBA:-P +/- DSPL, READ;
UBA.-XC + INDIRECT CELL ADDR;
BOUNDS CHECK INDIRECT CELL ADDR >. PB
READ XC + CELL ADDR + CELL CONTENTS, JSB
BOUNDS CHECK PL>= INDIRECT CELL ADDR

*************111*****************************111**.*.****.***_*****_*****
•
SUBM; Subtract memory from TOS, DB, 0, and S relative
•
********************** •••••• ****111*111.******.*****.*********IIrIll*****_ •••

SLUT
SLUT
SLUT
SLUT
SlUT
SLUT
SlUT
SLUT

INSTR-SUBM(DB+
INSTR-SUBM(DB+
INSTR.SUBM(O+)
INSTR .. SUBMIO+)
INSTR =SUBM
INSTR·SUBM(QINSTR-SUBMIS-)
INSTRzSUBM(S-)

0753
0754

SMS
SMD

SR
UBA

0755

SMDl UBA

0-1

:1000 001 OXX XX,SR-1,DSPL-S,DB,ENTRY-SMD

iloggo06~11g~xx~~s~~i~D~~r~7~Q~~N~R~~~~·SMD

1
1
1
1
1

000
000
000
000
000

UBA ADD
DSPL ADSB
SM

JSBC ASMN

101 lOX
001 110
101110
001 111
101 111

RH

XX,SR=l,DSPL z 7,O,X,ENTRY=SMD
XX,SR=l,DSPL=6,O,F2,ENTRY=SMD
XX,SR=l,DSPL=6,O,F2,X,ENTRY=SMD
XX,SR s l,DSPL=6,SM,F2,ENTRY=SMS
XX,SR s 1,DSPL-6,SM,F2,X,ENTRY=SMS

ROD

SR

SM

ADD
ADD

UNC

UBB

UBA

BNDE

SF2
CTR

TICB

UBA:·SR + ISM + XCI;

~~B~~~~:S~~A~6R+S~~+RAbTI8~PL, READ;
JSB, BOUNDS CHECK S>=ADDR, CTR'=IF ADDR>SM
AND $>-ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPA AND NOP

PAGE 15:1
RECORD
NO
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7410
7420
7421
7423
7425
7426
7428
7429
7430
7432
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7446
7448
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7462
7464
7465
7467

C.S.
ADDR

Memory Reference Instructions
.111***111:*111*11111 ALU A *****111.*"l1li1*

*******111***111111 ALU B ******IIIIIIIII****JIt

LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
III 'It
lit " * * III It III lit III III: lit .• III III III lit III lit III III III III * :III III III * * * 'If. .. 'til * III It lie III III * 11: 'Ie lit JIr III III * lit III III * III '" • 111111 lit III III III III * III III III
*

10/ 2/86

9:26 AM

COMMENT

J1I:

-,It

:****~~~~~*~~~·~r:~!*~~~~!~*!~~T*r~~~*!~~!!;;!*~~.*~~*:~~*~*!:::l!~:*:
SLUT
SLUT
$LUT
SLUT
SLUT
SLUT
SLUT
!LUT

INSTR=SUBM(DB+):1000 0110 XXXX,SR=l,DSPL=8,DB,INDR,ENTRY=SMID
INSTR=SUBM(DB+):1000 1110 XXXX,SR=l,DSPL=8,DB,X,INDR,ENTRY=SMID
INSTR=SUBM(Q+):1000 0111 OXXX,SR=I,DSPL=7,Q,INDR,ENTRY=SMID
INSTR=SUBM(Q+)·1000 1111 OXXX,SR=l,DSPL=7,Q,X,INDR,ENTRY=SMID
INSTR=SUBM(Q-):1000 0111 10XX,SR=I,DSPL'6,Q,INDR,F2,ENTRY=SMID
INSTR=SUBM(Q-):1000 1111 10XX,SR=l,DSPL=6,Q,X,INDR,F2,ENTRY=SMID
INSTR=SUBM(S-).1000 0111 11XX,SR.l,DSPL'6,SM,INDR,F2,ENTRY=SMIS
INSTR=SUBM(S-):1000111111XX,SR=I,DSPL'6,SM,X,INDR,F2,ENTRY=SMIS

0756
0757

SMIS SR
SMID USA

0758

UBA

0759
075A

SM
ADD
DSPL ADSB
SM

RH

ROD

CAD

.

SR

SM

ADD
ADD

SP3B SF2

UBB

UBA

BNDE

CTR

XC
DB
ADD
RH
DL
BNDE
STFF
UBA REGN ADD
RH
ROD
SP3B
JSB SMDI
UNC
* 111 111 It. III III III III III III III 11 It lit * III III III III 'Ie ill: III III III III lie .. III III * III III * III III" III III III '" III 1\ '" III 11]11 III III II: '" * III * lit lit III III III: III III 11 III III lit lit *
•
SUBM; Sub·tract memory from TOS, P relative
•
l1li * * *" III III III III * * III III 1111_ III III III * III .111. III'"
III * 1\ III: * III: 111 III 111:)1[ * * III III III" III '" '" '"
III III III III It:
It !III III * Ill" III III * . . III III * * ..

*.

111;

075B
075C
0750

TICB

SLUT
SLUT
SLUT
!LUT
SMP
SMPI

INSTR=SUBlo1IP+) :1
INSTR·SUBlo11 P+): 1
INSTR.SUBI"( P-): 1
INSTR·SUBlo1( P-): 1

000
000
000
000

111:

000
100
000
100

111: ...

OXX XX,SR=I,DSPL=8,P,ENTRY.SMP
OXX
lXX ~~:~~:t:g~~t:~:~:~2~~~~~Y~~~P
lXX XX,SR·l,DSPL·8,X,F2,P,ENTRY~SMP

DSPL ADSB
RH
ROP
ADD
PB
UBNE
PL
USA UBNE
OPA SUB
RA
CCO
ADD
NEXT
III 11: lit IIIl11: II: 11 III
* III * * lit III *' 11 III: lit III It II: 11 '" III 11: 1II."Ie JllII: lIIlIt 111111111 Ill: III III III III III * . . III 'II. II: II: 11* Ill" *. III * 11: III II: III. II: 11 III * * III III
•
SUBM; Subtract memory from TOS, Indirect P relative
•
#I: '" III III III III II: '" 11 III #I: III III * I' * III III: III III III
III III * * III 11 lit * III III III: III III III • Jill: '" * III III 111 !It III * * 11 III II III "" III III III III III III III l1li III * * * III lit III III III
UBA
UBA
RA

J1r

l1li:

RH:.UBA:~(P + XC) +/- DSPL, READ;
BOUNDS CHECK ADDR )= PB; CHECK PL )= ADDR
IS) : ~ (S) - MEMORY LOCATION, CCO; NEXT

111:

111:

075E
075F
0760

SLUT
nUT
SLUT
!LUT
SMIP

INSTR·SUBIo1( P+)
INSTR·SUBI"( P+)
JNSTR-SUBI"( P-)
INSTR=SUBI-I( P-)
UBA
XC

DSPL ADSB
USA ADD

UBA

OPA

JSB

1000
1000
1000
1000

0100
1100
0101
1101
RH

SMPI

XXXX,SR=l,DSPL-S,INDR,P,ENTRY=SMIP
XXXX,SR=l,DSPL=8,X,INDR,P,ENTRY=SMIP
XXXX,SR-l,DSPL=8,INDR,F2,P,ENTRY=SMIP
XXXX,SR=l,DSPL·S,X,INDR,F2,P,ENTRY=SMIP
ROP
Rap

USA

PB

ADD
UBNE

PL

RH

UBNE

~~~7~~a::PI~~iR~~~L6E~~A~~DR;

BOUNDS CHECK INDIRECT CELL ADDR ). PB
READ XC + CELL ADDR + CELL CONTENTS, JSB
BOUNDS CHECK PL). INDIRECT CELL ADDR

PAGE 154
RECORD
NO

C. S.
ADDR

7469
7470
7471

****~

•• **"*

*"***JTI:*_***"'. ALU B .. ****** ••• **111:*
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

:****~~r~~*~~!!!~!~*r~~*~~*~!~~r~**~~**~**:~~*~*~:!=~!~~************:

l472

7482
74P.4
7486
7488
7489
7490
7492
7493
7494
7495
7496
1491
7498
7499
1500
7501
7502
7503
7504
1505
7506
7508
7510
1511
1513
1514
7515
7517

**111:******** ALU A

*111 •• **.*****.*****-*******.*****.* ...... ** •• **.********* •• 1llti1',..*III**IIII11J1i:*JIIt***

7473
7474
7475
7476
7477
7478
7479
74RO

74R 1

Memory Reference Instructions
LABL RREG SREG FUNC SFNC STOR SPSK

SLUT INSTRsMPYM(DB+):l 001 001 OXX XX,SR-1,DSPL·8,DB,ENTRY-MMDQ
$LUT INSTR=MPYM(DB+):l 001101 OXX XX,SR-l,DSPL s 8,DB,X,ENTRY=MMDQ
$lUT INSTR.MPYM(Q+):l 001 001 lOX XX,SR=l,DSPL.7,Q,ENTRY=MMDQ
SLUT INSTR.MPYM(Q+)·l 001 101 lOX XX,SR=l,DSPL=7,Q,X,ENTRY'MMDQ
SLUT INSTR·MPYM(Q-)·l 001 001 110 XX,SR=l,DSPL-6,Q,F2,ENTRY'MMDQ
SLUT
~~:~~:f:g~:t:~:~M~~2~E~~J~~M~~~Q
SLUT i~~i~:~~~~I~:I:t
$lUT INSTR.MPYM(S-):l 001 101 III XX,SR=l,DSPL-6,SM,F2,X,ENTRY=MPMS

88f

0761
0762
0763

MPMS SR
MMDQ UBA
MMDl UBA

0764

RH

SM
ADD
DSPL ADSB
SM
CAD
DL

58t if?

RH

ROD

SR
UBB

SM
UBA

BNDE

ADD
ADD
BNDE
JSB

SP3B
CTR TICB
MMP2

UNC

UBA:=SR + SM
RH:·UBA:.BASE+DSPL; SP3B:'UBB:·SR+SM
; BOUNDS CHECK S>-ADDR, CTR:'IF ADDR>SM AND
S>=ADDR AND NOT (FSS AND DB REL ADDR)
THEN (S-ADDR) ELSE CODE FOR OPERAND
BOUNDS CHECK ADDR >= DL; JSB

********************* ••• ·.***III:.*JIl********_._ ••• ***IiI*******_*****_**_.

MPYM; Multiply TOS by memory, indirect DB, Q, and S relative

.......... *******.**.** •• ******.***.*******.********** ••• *******IItJII*It***_

SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT

0765
0766

INSTR-MPYM(DB+
INSTR =MPYM( DB+
INSTRzMPYM(Q+)
INSTR=MPYM(Q+)
INSTROMPYMIO-I
INSTR-MPYM QINSTR-MPYM(S-)
INSTR=MPYM(S-)
MMIS SR
UBA ADD
MMID UBA DSPL ADSB

.

0767

UBA

SM

0768
0769

XC
UBA

DB
ADD
REGN ADD

.1001 0110 XXXX,SR.l,DSPl.8,DB,INDR,ENTRY=MMID
:1001 1110 XXXX,SR o l,DSPL'8,DB,INDR,X,ENTRY=MMID
100101l10XXX,SR=l,DSPL=7,Q,INDR,ENTRY=MMID
1001 1111 OXXX,SR=l,DSPL.7,O,INDR,X,ENTRY·MMID
1001 0111 10XX,SR=l,DSPL=6,Q,INDR,F2,ENTRY=MMID
1001 1111 10XX,SR=l,DSPl·6,O,INDR,F2,X,ENTRY=MMID
1001 0111 llXX,SR-l,DSPL.6,SM,INDR,F2,ENTRY-MMIS
1001111111XX,SR=l,DSPL=6,SM,INDR,F2,X,ENTRYoMMIS
RH

ROD

CAD
RH

ROD

SR

SM

ADD
ADD

SP3B

UBB

UBA

BNDE

CTR

RH
DL
SP3B

BNDE
JSB MMD1

UBA: =SM + SR·
RH:=UBA:=BASE + DSPL, READ;
SP3B:=UBB:=SR + SM
BOUNDS CHECK S>=ADDR, CTR:=IF ADDR>SM AND
, S>=ADDR AND NOT ~FSS AND DB REL ADDR)
THEN (S-ADDR) EL E CODE FOR OPERAND

TICB
STFF

UNC

~~~~u~~7~~AR~~¥N~gD~~E~~AS~D~B~~=~~'J~~FF

PAGE 1';5
Rlr;ORD
NO

C"

ADDR

7<;;>0
7<,/1
F,22
7',21
7<,24

lCJ4t")

'111

111_"'''''''' ...... _ •• 111 ALU B ,..,,*** . . #1 . . . . . . . 11.,..
RRFG SRfG rUNC srNC STaR SPEC SI(lP

* " If .... "

10/ 2/86

9 25 AM

COMMENT

II ....

~*" •• ~~!~~*~~!!~~!~.r~~.~l.T:~~!r~.~*!:!:!!~:***"*".,, .• ".~* •••• *"*.R*
$UJT INSTR,MPYM(P+1

1r:) ?r)

7',14
7 c) ~~ 6
7<,18
7',40
7',4?
7<,41

Reference Instructions

"".""""."111* ALU A . . 111"111"'''* ....

l~ " " " ...... III III .... '" ." ..... III III " III .. III .... III !If .... III III III III " ,. .. "It !III II " .. II Iff " " "'" '" " #II " .... " .. II 'If III " III " III " " " it .. III III

001 000 OXX XX,SR~[.DSPl~8,P,ENTRY:MMP
001 [00 OXX XX. SR~ I ,[)~;PL· 8, P, X, FNTRV,MMP
001 000 LXX XX, SR-[ ,D';P!.·R, P ,r?, r NTRY~MMP
001 100 lXX XX, :;R, I ,O:;PL" 8, P ,r;> , X ,[ NTRY 'MMP

'&LUT INSTR?ij
7',7<)
1'>11
7<;'l2

M~mory

LASL RREG SREG FUNC SFNC STaR SPSK

07GA

I~MP

USA

DSPl. ADSS

076B
Olfjr;
OlfjD
Olf,1
onl

I~MPI
t~MP2

UBA

PB
UBNE
RfGN ADD
UBA
ADD
MPAD
XFRR

RA

0770

l'>4f,
7<,47
7',48
7<,4<)

RH
l~

" " " " " " " "

RH

Rap

ooor

ADDL

PI.

UBA

RA

unB
UBB

IlLJNf
ADD
IIF PN
I. I NK
J~; I
MPYI

UOB

RA

XSUB

RH
SP4A HflF2
HBF 2

ADD

" " " " ... " " " It. " #I "

" \If " ...... " " III "

" " " " III " "

" " " " "

" " " " • "

" " III " '" " "

CTR

CLO
onnr
DCTR C'IRO
NI I

" " " • " " " III " " " "

RH:=UBA"(P + XC I +/- DSPL, READ,
CTR.-REGN CODf fOR OPERAND
IlOUNDS CHECK ADDR ) . I'll, CHECK PI.
ADDR
RH.=U
SPI\A =U, F2:=SIGN(UI; RUN 16 T IMfS. CIO
MPAD UNTIL eTIl IS DECREMfNTFD 10 0
1'7 :SIGN(VI (SR[G IS OV[RWR [I TF N BV MPADI.
UBB =MSW, MEDIUM JSB TO USL FOLLOWING uno
UBA 'U
UBB = IF U < 0 THEN MSW
(V"2"151 [LSE MSW

I, "

P."".~~!~~.~~!!!~!l*!~~*~X*~~~~!I;*!~~!!:~!~,,~.!:!:!!= : ....••...... u:

It)t.)O

nUT
~, LIJT
HUT
$IIJT

lc)t)l

7,)c)L
, C tj ~~
J

'~tJ4

JNSTR=MPYM(P+1
IN~;TR:MPYM( P+ I
JNSTR=MPYM(P-l
JW;TR·MPYM( P- J

1001
1001
100l
1001

0100
1100
0101
1101

XXXX,SR=l,DSPl
XXXX,SR:I,DSPL
XXXX,SR:) ,DSPL
XXXX, SR·I ,D~;PL

8,P,INDR,FNTRY-MMIP
8, P, X. INDR, rNTRY:MMTP
R , I' ,F 2. r NllR ,I NT RY -MMI I'
R,p,r2,X,INDR,ENIRY-MMIP

Il)f)C)

7r:)"ln

onl

!r.,l.?,

fll 1'1

t.e

DSPI
UBA

ADSB
ADD

[,In

IJRA

opA

.ISB

{'}F,q
]f}f. I
, I

J

F, . ~

I~Mr

P UBA

RH
MMp1

ROp
Rap

UOA

pn

ADD
IJBNE

pL

RH

IJBNr

RH -UBA .1' +/- DSPL, READ,
UBA :XC + INDIRECT CELL ADDR,
BOUNDS CHECK INDIRECT CELL AOOR ) - . PH
READ XC
CEll AODR + CUI CONTENT'; . J~;n
BOUNDS CHlCK pl ) = INDIRECT CHl ADOIl

.

PAGE 156
RECORD
NO
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7580
7582
7584
7585
7586
7588
7590
7592
7593
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7611
7613
7615
7616
7617
7619

C.S.
ADDR

Memory Reference Instructions
.*JII**III.*IIIIII* ALU A .****.****.
**-111111*111*** ••• ALU B •• 111.*111.111* •• **.
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
* It * iii: *. * III * *.* * * * * * * III * III *.* _* * * * * * * III. * l1li III * * * III * * .. * III III III III ..... *;: •• III III .111.* * III lit "' • • •
CMPM; Compare TOS with memory, DB, Q, and S relat ive
. . * * iii: * l1li III * ** * III * * * .. * iii: It ** IIIIII' * * * * * * III. * ** III * .. * III III ... * III .. * .. III .... III lit III III III III 111 til. III: 111l1li* III III 111"111 iii:

10/ 2/86

9:26 AM

COMMENl'

l1li

II1II:

0774
0775
0776

SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
!LUT
CMS
CMDM
CM02

0777
0778
0779
077A

INSTR-CMPM(DB+):O 110001 OXX XX,SR-l,OSPL-8,OB,ENTRY.CMDM
INSTR.CMPM(OB+):O 110 101 OXX XX,SR-1,OSPL-S,OB,X,ENTRY-CMDM
INSTR'CMPM(Q+):O 110 001 lOX XX,SR-1.DSPL=7,Q,ENTRY-CMDM
INSTR-CMPM(Q+):O 110 101 lOX XX,SR-1,OSPL=7,Q,X,ENTRY.CMDM
INSTR.CMPM(Q-):O 110001110 XX,SR"1,DSPL.6,Q,F2,ENTRY.CMDM
INSTR-CMPM(Q-):O 110 101 110 XX,SR-1,DSPL.6,Q,F2,X,ENTRY=CMDM
INSTR-CMPM(S-):O 110 001 111 XX,SR-l,DSPL-6,SM,F2,ENTRY-CMS
INSTR-CMPM(S-):O 110 101 111 XX,SR·l,DSPL-6,SM,F2,X,ENTRY-CMS
SR
UBA ADD
ADD
UBA DSPL ADSB
RH
ROO
SR
SM
ADO
UBA SM
CAD
UBB UBA BNDE
CTR TICB
RA

ADD
REGN SUB
ADD

NOFL
NEXT

RH

DL

RA

UBB

BNDE
INC
lOR

EPOP
CCA

RA
REGN SUB
CtA
NEXT
ADD
* III 111 * *** *111 ** * III * III III * III * **111* * III III * III iii: III 111 .. III * * * * *.* *** * * 111*. III ** •• _ * III III *.* III l1li"" * .. * * ..
*
CMPM; Compare TOS with memory, Indirect DB, Q, and S relative *
** * ** III ** * ** * III III III III * * III *** III III * .. III III" ** III IIIIII' * III'" III * 111**" *. *111* _. III' III 111111 111.11 * * . . III * III III III III II

UBA:-SR + (SM + XC);
RH:.UBA:-(BASE + XC) +/- DSPL, READ; UBB:=S
; BOUNDS CHECK S)·ADDR. CTR:-IF ADDR>SM AND
S>.ADDR AND NOT (FSS AND (DB REL ADDR OR
TFF)) THEN (S-ADDR) ELSE CODE FOR OPERAND
• BOUNDS CHECK ADDR ). DL,POP TOS
SKIP IF NO OVERFLOW ON (S) - MEMORY; UBB::1
NEXT IF OVERflOW;
SET CCL ON (S), UBB CANNOT EQUAL ZERO
SET CCA ON ((S) - MEMORY) IF NOFL; NEXT

111: ...

SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
SLUT
~LUT

INSTR -CMPM( DB+
INSTR·CMPM(DB+
INSTR·CMPM(Q+ )
INSTR 'CMPM( Q+)
INSTR ·CMPM( Q-)
INSTR=CMPM(Q-)
INSTR-CMPM( S-)
INSTR=CMPM(S-)

077B
077C
0770

CMIS SR
CMID UBA
UBA

077E
C77F

XC
UBA

:0110 0110 XXXX,SR-l.DSPl.8.DB,INDR,ENTRY=CMID
O
O
O~~~~ s~~i ~6g~r~;~ Q~¥N~R ~~~~R~~~~IDCMID
0110 1111 OXXX,SR-l,DSPL-7,Q,X,INDR,ENTRY·CMID
0110 0111 10XX,SR-l,DSPL-6,Q,INDR,F2,ENTRV.CMID
0110 1111 10XX,SR-l,DSPL-6.Q,X,INDR,F2,ENTRY.CMID
0110 0111 11XX,SR-l,DSPl-6,SM,INDR,F2,ENTRY-CMIS
0110111111XX.SR=1,DSPL·6,SM.X,INDR,F2,ENTRY·CMIS

oytA ot tt

SM
ADD
DSPL ADSB
SM
CAD

RH

ROD

SR
UBB

DB
ADO
REGN ADD

RH

ROD

RH
Dl
SP3B

SM
UBA

ADD
ADD
BNDE
BNDE
JSB CMD2

SP3B
CTR TICB
STH

UNC

UBA:.SR + SM;
RH:=UBA:-BASE +/- DSPL, READ; SP3B:-UBB:=S
; BOUNDS CHECK S>·ADDR, CTR:=IF ADDR)SM AND
S>·ADDR AND NOT (FSS AND DB REl ADDR)
THEN (S-ADDR) ELSE CODE FOR OPA AND NOP
UBA:·XC + DB; BOUNDS CHECK ADDR >. DL. STFF
RH:=UBA:=TARGET ADDR, READ; UBB:=S. JSB

PAGE 157
RECORD
NO
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7633
7635
7636
7638
71\40
7541
7643
7644
7645
71\46
7647
7648
7649
7650
7651

C S
ADDR

..... **** •• '11* ALU A IIIJ11I1rIll*** ••• 1 1
111:

111:

•••• ***111:****111 AlU B 111*******111111111:***

10/ 2/86

9:26 AM

COMMENT

111:

II{ '"

SLUT
$lUT
$lUT
SLUT
07 SO
0781

.

I::00

INSTR=CMP'"I P+
INSTR-CMP'''IP+
INSTR-CMP'''( P-)
INSTR-CMP'"IP-)

CMPM UBA
CMPI UBA

110
110
: 0 110
:0 110

DSPL ADSB
PB
UBNE

000
100
000
100

OXX XX,SR·l,DSPL-S,P,ENTRY·CMPM
OXX XX,SR·l,DSPL~8,X,P,ENTRY=CMPM
lXX XX,SR=1,DSPL:8,P,F2,ENTRY=CMPM
lXX XX,SR=1,DSPL=8,X,F2,P,ENTRY=CMPM
Rap

RH

0782
0783

RA

OPA

SUB
ADD

NOFL
NfXT

0784

RA

OPA

SUB

CCA

PL

UBA

ADD
UBNE

EPOP

RA

UBB

INC
IOR

CCA

ADD

RH:-UBA:-(P + XC) +/- DSPL, READ;
BOUNDS CHECK ADDR ). PB; CHECK PL
ADDR
POP OFF TOP OF STACK
SKIP IF NO OVERFLOW ON (S) - MEMORY; UBB: =1
NEXT IF OVERFLOW;
NEXT

~~+

ggk

g~ If~i ~B~E~~~~?TI~Q~~~L~E~?XT

CMPM; Compare TOS with memory, Indirect P relative
* * III * * * III III * III III * III * III III III III III * III III * III III * * III III .. III * * III * 11 11: * '" III III .. III ,. III III III '" III * III * * *

.,. . . . III .. #I: III III III It III ..

SLUT
$lUT
$lUT
$lUT

7652

76'53
76'55
7657
765 R
7660

Memory Reference Instructions

LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
III III' * III * III ..
III " III • III III IIr III "
III: '" '" III
III: .... III III III * III III: '" '" '" III * III: III III III III III III III * .. III III III: III It III III III III III III "* III III III * III * lit * *
•
CMPM: Compare TOS with memory, P relative
•
* ,. * III Itt. * III '" III 111 III III * III Ik !It .. III: III JIll ,. .", III III III * III III IIr lit * * III " it * III III '" " III: III * lit * III: * III '" 1l: * III * III * III: III * III: * III JIll III: III III III III

C78'>

0/86

0787

jill:

INSTR-CMP'"( P+)
INSTR=CMP'''(P+)
INSTR=CMP'''I P-)
INSTR=CMP'''I P-)

CMIP UBA
XC
UBA

0110
0110
0110
0110

RH

DSPL ADSB
UBA ADD
OPA

JSB

0100
1100
0101
1101

CMPl

III;

)I{

XXXX,SR-l,DSPL 8,INDR,p,ENrRY~CMIP
XXXX,SR=l,DSPL 8,X,INDR,P,ENTRY·CMIP
XXXX,SR=l,DSPL 8,INDR,F2,P,ENTRY=CMIP
XXXX,SR=l,DSPL 8,X,INDR,F2,P,ENTRY=CMIP
ROP
Rap

Ui3A

PB

ADD
UBNE

PL

RH

UBNE

~~A7~~~::PI~~iR~~~L6E~~A~6DR;

BOUNDS CHECK INDIRECT CELL ADDR )- PO
READ XC + CELL ADDR + CELL CONTENTS, JSB
BOUNDS CHECK PL)· INDIRECT CELL ADDR

PAGE 158
RECORD
NO
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7678
7680
7682
7684
7686
7688
7690
7692
7693

C.S.
ADDR

~!~!~~~~:*~oX~6nx !~:H~~!~~*
LABL RREG SREG FUNC SFNC STOR SPSK

************* ALU B 111111*******.111.111:*
RREG SREG FUNC SFNC STOR SPEC SKIP

MLOG -- MICROCODE LOGGING instruction

10/ 2/86

9:26 AM

COMMENT

(020104000006)

This instruction pushes four 32-bit counters onto
the stack and then zeros those counters
TOS-6
TOS-4
TOS-2
TOS
0788
0789
078A
078B
078C
078D
07 SE
078F
0790

MLOG

•
•
•
•

of
of
of
of

clocks spent in channel microcode
clocks spent in PAUSE instruction
clocks of 'normal execution'
CSRQ's

JSZ PSHA
SM
INC
REGN ADD
UBB ADD
ADD
00A5
ADDL
RA
ADD
REGN
ADD
ADD

SRNZ
WRS
DATA
DATA

OOA2
00A6

ADDL
ADDL
REGN ADD
0002 SM
ADDL
RA
CTRS JSBS *-2
00A2
ADDL
ADD
RA
CTRS JSBS *-1
JSL

NEXI

CTR
RA
SM

(XR34)
(XR35)
(XRJ6)
(XRJ7)

ICTR

CTR
REGN ICTR

NlRO
NZRO
UNC

Empty TOS if SR () O· eTR = XR34 REGN code
Start writing data at SM + 1; RA
stopper
Write msw of data; inc CTR
Write law of data; SM : SM +
Loop back if CTR was () AS
, CTR. XR34 REGN code
Clear extended register pair
Loop back to clear another XR if eTR was
() AS
Take a slow path to the next instruction

PAGE 159
RECORD
NO
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7714
7715
7717
7719
7721
7723
7725
7726

Powe ron /
C.S
ADDR

*111"'."'*111**111.

Powe r

f ail

r 0 uti n e s

ALU A 1r*IIIJIf**JII'IIIIIIIIIJII

UIBL RREG SREG FUNC SFNC STaR SPSK

111**111111111." •• *"'111

POWER ON
1)

2)

3)
4)
5)
6)

7)

Read (ZI+l)
Set RUNFF. clear PONINT"
EHt. Plabel. Parameter = 'A301 ('%121401)
Initialize TCLK to 1
Go to HALT if not running at Power Failure
Se t up ICS
T rap t 0 s e gme n t 1

Entered with RA = 'C606

0791
0792
0793
0794
0795
0796
0797

PON

2000
RA
SPOA

ADDL
ADD
CSL
OPA
INC
XR12 ADD
JSZ
ADD

JSL

XR 12
RRZ

ROD

0030

SPOA
ROBD
LSL
ICS

XR12
XR1S

UBA
RA

CF1

OPB

CKSM BNKD

UNC

ADDL
CTR
INC
REGN
ADD
SPIB
ADD
LlZ
CCPX
JSL
STOP
POS
JSL

10/ 2/86

ALU B JllJIIlltill*****IIII".fI*

RREG SREG FUNC SFNC STaR SPEC SKIP

IIU

BNKS

UNC

COMMENT

9:26 AM

PAGE 160
RECORD
NO

C.S.
ADDR

7729
7730
7731
7732
7733
1734
1735

Power Fail Routine
_***_**JII*Il111 AlU A •• "".111**111** ************* AlU B ****111111*******111
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
•• *** ••••• * •• *****.****_.*IIt******* •••••• *.***** ••• *** •• " •• 111111:111.111.111***_
1)

2)

77:16

3)

11:>'7

4)

1739
1740
1741
7742
1743

5)

17:;R

6)

.

7744

7745
1746
1747
7749

7751
1753
7755
7757
7759
7160
7762
7764
7766
7768

7770
7771

7772

7774

1776

.

POWER FAIL:

0798
0799
079A
019B
07ge
0790
019E
079F
07AO
07Al
07A2
01A3
07A4

10/ 2/86

9:26 AM

COfIMENT

Go BUSY
Send IOCl (I/O Clear) to all 1MB's that are

~!;S~~INH to disable further interrupts
Set MSBit of ZI+l to 1 if running
else set it to 0
Set parameter to 0
Set up ICS type interrupt trap to segment I,
STT "11

Entered with UBA - IOC02, BKX3 - 0 and F4 set

******** •• ************** ..... ******** •••• ***.**.*******-.*.111-----***.ADD
PFWO 0006
ADDL
UBA
BUSC
ADD
ROX3 BOOO
ADDL
SP3B
UBA
ANDL
SP2B
0200
ADDL
RH
0098
CCPX
OPA INC
ROX3 RREG
ADD
UNC
SP2B ADD
CFl
JSL L2PF BKX5
SP2B
UBA JSB *+2
NEG
0080 SP2B ADDL
ADD
ADDL
0006
RH
CPX2 AND
ADD
OPA INC
UBA

ADD
ADD

ZERO
SF 1
FIHB
DATA
SPOA SF2

JSL IOMS
UNC
RH
NZRO
SP2B JSBS *-3
USA
ADD
CCPX
ADDL
SPIB
8901
ADD
ADD
JSZ

INT9

CF4B

UNC

~~!d:ZI~Z~~3~0:~U¥6cL

command
RH : - RUNFF mask; SP2B : - 0
Read ZI+l; Clear MSGINT & PFWINT
UBA
IMBI; BKXS :- 0, go see i f it's there
If this one not there jump over 10Cl code,
SP28
next IMBI
; Se nd i he IOCL mes sage

~f~p:ifC~:~t:~~k~e~o~eR~~~~ t~on~~r~O~~ts)

Set Fl if running; SPIB :* "104401 (4 IINT9)
If running set msb of ZI+l else clear it,
set Isb of ZI+l to indicate a powerfail
has occurred
Write ZI+1 blck; Clear F4 for IINT9
SPOA :- 0; Do PFW trap to
segment I, set F2 for IINT9

PAGE 161
RECORD
NO
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7806
7807
7809
7811
7812
7814
7815
7817
7818
7820
7821
7823
7825
7826
7827
7828
7829
7830
7832
7834
7835
7837
7838
7840

C S
ADDR

FLUSH instruction
. . . . . . . . . . 111:111 ...
ALU A ... **111111 ...... ***
U.BL RREG SREG FUNC SFNC STOR SPSK

.*.* .........

ALU B

JllJIr.Jll:III**JlIJI, • • •

10/ 2/86

J\*

RREG SREG FUNC SFNC STOR SPEC SKIP

9:26 AM

COMMENT

FLUSH is eKecuted as the last instruction of a
software power fail routine, (%020104 000005)

~I
3)
4)

5)
6)

7)

8)
9)

10)

Push TOS registers into memory,
FLUSH OK := false, SFFFF, (so that the DCU will
not aTtempt to auto-restart MPE after a bad flush) •
Read cache status, CACSTAT, to determine cache

tr~:h-cpndca~~eneiuse NEWC to flush new cache)
Clear FLUSH bit in CPX2,
Initiate flush of lOA cache(s),
FLUSH OK := true, SAAAA (so DCU can enable an
auto-restart)
Flush FLUSH OK to main memory by reading two other'
~:~~ r~HMg~Na~e! ~:g! ar~ ~~~~e~!mo ry,
Wait for Certain Death, (PON goes to 0,)

Entered with SP4A - !1000, BKX5 • 0
Re-written for new 128K cache, 8/6/85, Chris Shaker (2527)
07A5

FLSH

07A6
07A7

JSZ
0353

UBA

07A8
07A9

RA

SRNZ

PSHA

ADDL
ADD

RA

WRX3

CAD

DATA

ADD

ROX3

07AA

ADD

07AB
07AC

OPA ADD
REGN JSB

NEWC

ODD

ADD

BKX3 SF4B

0009
ICOO

ADDL
ADDL

CTR
SP3B

SP3B

ADD

ADD

0070

RA

ADD

UBB

ADDL
ADD

Empty TOS registers; BKX3:-0, Set F4B
for IOMS and L2PF routines,
Adr of FLUSH OK; CTR for CACSTAT REGN
Set up to wrIte FALSE to FLUSH_OK;
BUSC ope ode to read CACSTAT,
FLUSH_OK:- FALSE (SFFFF); Set addr
for BUSC (addr does not matter)
Read FLUSH OK (to wait for write);
Request cache status.
wa§~lBn~.cl~t~s~eb~~e reading OPA;
Mask to set FLUSR in CPX2;
Go flush new cache or fall into code
that flushes the old cache; Set the
FLUSH bit 1n CPX2,

WRX3
BUSC
SPIB
CCPX

(2527)
(2527)
(2527)
(2527 )
(2527 )
(2527)
( 2527)
(2527)
( 2527)
( 2527)
(2527)
( 2527)
(2527)
(2527)
(2527)

Flush the old CPU cache
07AD
07 AE
07AF
07BO

Ol.DC
Ol.DI

UBB
UBB

ADD
JSB

lOAF

SP2B lOR
JSB

OLDl

ZERO

0800

ADDL
REPN

ROX3

UBB

UNC

FFF8 SP2B ADDL

SP2B

SP4A ADD

0003
DCTR cno

SP2B

( 2527)
(2527)
( 2527)
(2527)
(2527)

PAlO[

RI
1~

th~

'LUSH

Iii:

S

10/ 2/86

1/0 system

,," •• 011"""""" ALU A· .. " .... "" ....... "011;"" •• ""11; .... Al.U 8 ..... ** ........ - ..

('(11H'

('

Nl'

"I'l'1l

l.ARL RRlG S~~G fUNC SFNC STaR SPSI\

lllBl

lOAf

9 26 AM

RRH,i SRU.i fUNC SFNC staR SPEC SKIP

COMMENT

DOFO

Wait for flush. U!lB • mask t II clear
the FLUSH blt in CPXl
RH -D.
CI~ar the FLUSH bit
1n CP)(:>
RA
-21 (loop count for for lOA:').

4.'

1 S4J
/ ~'\4
, ~.1',

7 ~4

r

7~4S

(11(1;-

IS..,O

LlIBJ

~~.~

07B4
07B5

.1, ~"-'

, S~, ~
1 S':>'
78"8
ISHI

(ach~s

flush lOA
OPA

RH
lIBA
0040 XR9

07B6

A(lD
JSB

N[G

IOAJ

10RL

XR9

ADOL

0080 RH

JSL
l2Pf
A(lDl
RH
JSL

07B7
0788

IOAl
IOAJ 0200

ADO
AODl

RG

RA
AAAA

1866
7868
7869

07B9

FFEB

ADDL

RA

UBA

S~t

07BA

1S74

07BB

1 R87
7888
7890

(SAAAAI

for

Now.
07BC
07BD
OlBE
07BF

flu 5 h t his wo r d

OPA

0 Ut

t

0

UNC
UNC

IOMS

JSBI IOA2 RA
AD(lL
SP2B

NZRO

JSBS IOAI

NZRO

LlB~PJ~ 1~9!~~t'~M~~.mi~s~~~

th ..

If this one not there Jump OVf'r

t~?

the flush code.
RH
n .. xt 1MB.
XRA9
• send adr to lOA. Send the
message to the lOA
Wilt 64 clocks for lOA to flush

RGspiBI~~0~!~~~tm1~~a~~USH
RA

-21 (loop cntl.
i f not done

flag
loop back

07CI

7894

07C2

DIE
WOIE

OPA

ADO
JSB

BKXJ
SPIB
BKXJ
SPIB
SP4A

WOIE

NEWC -

INC
ADD
INC
ADO

ROAJ
ROA3

NEWC

UNC

flush the new (128Kb) cache

JSB

lOAF

ZERO

I)
I)

(2527 )
(2527 )
(:7527)
(25:'7 )

(:'527 )

( 25271

(2527 )
(2527 )
(2!l271
(2527 )
(2577)
(2527 )

ADD
JSl
ADD

UNC

ECM

to main memory

790J
07C3

7)

( 2527)
( 2527)
(2527)
( 2!l27)

BKXJ
BKXJ

1901
790;'
7904
790t'
7,1l .
'

7 )

WRXJ
DATA

7896
7897
7898
7899
7900

f)

7)

the DCU

7891

7892

1I
7)

mal n memo r y

ADD
ADD
ADD
ADD
INC

OlCO

RH

SPJB

SPIB ADO
SP2B ADO

ADO
ADD

1876
7877

7878
7879
7881
7883
7885

FLUSH OK to TRUE

CCPX

A['I['I

6000

1St) 1
1S63
ISS':>

78 TO
1871
7 R7::

AODL
UBB

RH
RA

ADO
ADOL

fFEB
IOAI

A(lO

ADD

ROAJ

Flush the lOA caches (slow lump for
Read). Send START to cach!;' to
Initiate the new cache FLUSH

PAGE 163
RECORD
NO

C S
ADDR

~~~YZ~:!!~*cA(~r~l*~~!!_~~~~~nd*~r~::~~~~*** ALU B **.* •• ****~.*.

LABL RREG SREG FUNC SFNC STaR SPSK

7909
7910

RREG SREG FUNC SFNC STOR SPEC SKIP

7911

DCU Interrupt Command Processing Modules

7913

These modules will process a DCU command interrupt for the
following commands:

7916

DCU code

791::'
7914
7915
7917

Single Step command
Upd~te T~ br,te ?,f sw~tch

7921

Re~lace

7920

reg~ster

contents of switch register
l2g!0 M~E l~!~~tb~~;~)

7924

D~
g~5rl~mpt:~~~~~?i~~d condition

7926

Start

7922

7923
7925
7927

7932

07C4

DCMD

7933

07C5
07C6

UBA

7938

C7C7

UBA
0080

7915
79]7

7940
7942
7944

(17C8
07C9

7946

79.l7
7949

7QS1

7953

7955

7957

7959
7961
7963

79f'5
7967

DBUS ADD

LRl

UBB
STA

LSL

ADD
ADD

Bcu

log to MPE processs

SP4A

DCUO
WRX3
RAR

ADD
ADDL
ADD

SP4A
RSB

ADDL LBL
CRRY
UNe:

0009 UBA SUBL
SREG JSl BDCC
00B2

UBA

ADD
ADDL
ADD

CTR

CCPX

UBA = DCU bus value; UBB
@ DCU cmd table
SP4A (- COMMAND CODE ERROR
(2635)
UBA = table addr; Check for legal command
set up fo r RSB to
jump table; SYSHALr if bad DCU code
SP4A (- SrA & LSL(l)
(2635)
UBA ,= mask to clear DCUINT; CTR, sw reg
Jump to table; Clear DCU interrupt

lII_iIIIIIJIr*.III***III:**********III**********JIc**********JltIll******IIIJ1!_*_***** •• **Jft**

nl\~

7948

9:26 AM

Desc ript ion

7918
7919

7928
7929
7930

10/ 2/86
COMMENT

. . . III III III

07CA
07C6
07CC
07CD
07CE
07CF
07DO
0701
07D2
07D3

DCUO

~~ ~ ~ ~ ~~ ~ ~ ~
"

III

!: ~ ~ : .

JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB
JSB

III III III III III .... III " III '" III • 'III 111 .. '" III III III

CBEI
DCUI
DCU2
DCU3
DCU4
DCU6
DCU6
DCU7
DCU8
DCU9

UNC
UNC
UNC
UNC
UNC
CF2
SF2
UNC
CFl
CFl

0200
0600
00E5
00E5
0018
DOES

* III III •

" III III; III

]It

\t III III III: III ]II: • '" III III

ADDL
ADDL
ADD
ADD
ADD
ADDL
ADDL
INC LSL
ADDL
ADDL

* III III It •

CTR
crR
SP1B CRF
crR
crR

III :

Restart instr if DCU cmd
0; RUNFF mask
Jump; UBB := mask to clear RUNFF
Jump
Jump
Jump
Jump. clear F2; CTR :- @ control words
Jump. set F2; eTR :. @ cont rol wo rds
Jump; SPIB
2. clear RFLAG
Jump. clear Fl; CTR, DCUSTOR code a
Jump. clear Fl; crR := @ control words

PAGE 164
RECORD
NO

C.S
ADDR

RREG SREG FUNC SFNC STOR SPEC SKIP

7970

***********111****111***************111.111**111***"-****111*********_****_ •••

7972

: III: III:

7971

7973

7974

7976

7978
7979
7980

0704
07D5

7983
7985
7987

7989
7990

7992
7993
7994
7995
7996
7997
7999

8001
8002
8004
8005

•

07D6
0707
0708

8['IG

8023

8025
8027

8028

8030
8032
8034
8036
8038

RSRT

UBB

UNC

ADD
ADD

DBUG

CCPX

Update ms byte of switch register

; Set RUN FF for DCU
Re 5 tar tin s t r; In form DCU t hat
ready to start instruction

5 y stem

is

•

UBA

SP4A lOR

SP4A

ADD
ADD
ADDL

0018

REGN

UBB

JSB

CTX
CBE

CTR

UNC

Muk oft the data byte from DCU; CTX .• 0
SP4A.(0:8) :- DBUS,(8:8), shifted data byte
Mask off ms byte of Switch Update Register,
(SUR); UBB :- DCUSTORE code
store SUR
~e~~! ~~~n~!/~!eDcM~o~~d a~~R i ~~~ to eKi t

*:

07DA
070B

OCU3 OOFF DBUS ANDL
FFOO REGN ANDL
UBA

07DC

SP4A

SP4A lOR

ADD
ADDL

0018

REGN

UBB

JSB

CTX
CBE

CTR

UNC

*****111*********111*****.*****-***111111****_***111*****_*******************111*.
: * * It It ~:~: :~:. ~~~! :~!: *~! III ~'!'!! ~ ~ III ~:~: ~!: III ~~~~:Z~ ** * III * III III III * •• * III * * III * III III
DCU4

REGN ADD
0018
ADDL

07DF

ADD

*._. *._

Mask of1 data byte from DCU; CTX ,= 0
Mask ofl Is byte of switch update register,
(SUR); UBB '- DCUSTORE code
Merge nO!w Is byte with old SUR and store SUR
; Set counter to DCUSTORE and jump to exit

*:

r

07DD
07Dl

UBA

ADD
ADD

UBA

JSB

CTX
REGN
CBE

UNC

CTR

Read thO! Switch Update Register; CTX '= 0
UBA :- DCUSTORE code; Replace Switch
; ~:?i~,~:~t:~t~o sg~us~8~~n!~d exit

.. * III: tit. *.11: *. * *. * •• * •• III. * * * * ******* III.
*._* ••• 1 1 ._ •• * * 111*** •• ** _* **.** ..
: I I * . . I I ~;~ * !~~III!~ * ~~~*~~~~~~ * * 111* II * I I ** _* ** * 111* * III" I I * * _.**a* •• I I 111* ••• *** * *:

8018
8019

8020

ADD
JSZ

.***********************_.******** ••• * •• *****_****111'*111*.111 .. **.111 •• ******
: ... * III ~~~=!: III!= * ~~! ~ *~! * :~! l ~ ~ III !:V!:!:! III III * III" III * III * III * III III * III III • • • *. III • • • • • III III

Be 1·

802.

SPOA

DCU2 OOFF DBUS ANDL
UBA ADD RLZ
OOFF REGN ANDL

07D9

8007

8014

DCUI

111111._**************.*.**.*.*._ ••• _***_*._*** ••• ******.111 •••••••••••••••

8006

R008
8009
8011
8013

*._.

9:26 AM

COMMENT

* III: ~! ~ ~! ~ III ~! !~ * ~ ~'!"!'= ~~ III III III * III: III: III .... III * * III: III III * III * III * III III .. * * III: .. III: ,. l1li III * * III: • * III * * III ... * * III: :

•••• ***.***** ••••••••• **** ••• ******.*****.* •• ***_ ••••• 111_ ••• _.*.*111.**.

7981

7982

10/ 2/86

~~~y~~:!!~.C~r~r~I.~~!!.;~~~nd.~~~~:::~~ ••• ALU B ••••••••••••••
lABl RREG SREG FUNC SFNC STOR SPSK

UeA

DeUS ADD
REGN ADD
REGN ADD

RLZ
LSR

RH

07E2

07E3
07E4
07E5
07E6
OlE7
07E 8

DBUS ADD
ADD
REGN INC
ADD
ADD
SPOA
ADD

RRZ

RH

07EO
07E1

DCU6

00E4
NF2

REGN
REGN

RH
0018

ADDL
ADD
REGN ADD
UBA
UBB
RH
OPB

CTR
BKX3 ICTR

ADD
ADD
ADD
lOR
ADDL
CTR
JSZ RSRT

WRX3 NF2
ROX3 UNC
DATA UNC
DATA
UNC

1st data byte; CTR :- buffer address
UBA :- word count
Current buffer addr, skip if for 1st byte;
Set up bank, CTR :- @ control words
2nd dat a byte; Set up addr, skip if 1st byte
, Read the 1st byte location
Inc the byte count; Store 1st data byte
Store two data bytes
, CTR .= DCUSTORE code
Acknowl~dge to DCU,
restart instruction

PAGE 165
RECORD
NO
8041
8042
8043
8044
8045
8047
8048
8050
8051
8053
8054
8055
8056
8057
8058
8060
8062
8064
8065
8067
8069
8070
8071
8072
8073
8074
8075
8077
8079
8080
8081
8082
8083
8084
8086
8087
8089
8091

C.S.
ADDR

10/ 2/86

~~~?~~~!~~.c~~~r~l.~~:!.~~~T~nd.~~~~~~~~r ••• ALU B ••••••••••• u.
RREG SREG FUNC SFNC STOR SPSK

L~,BL

III " • III '" III:

*

III III III III

**

III III III III III III '" III

* *
III

III '" '" III III 11: III

* '"

RREG SREG FUNC SFNC STOR SPEC SKIP

III '" III III III !III III '" III III III III

* * '"

III " III

*

III III

* *
III

III III .. III

*

III III

**

9:26 AM

COMMENT

III III III

:****~::!!:~e*~:!~~~¥*~~~*~~:~!!!~:******************* 111****"'**"''''***.:
07E9

SP4A JSB

CBE

POS

0018

ADDL

07EA

DC:U7

DB US ADD

RRZ

SPOA SF2

8AOl

ADDL

07EB

ADD

UNG
* III III * III III III III III * III III * '" * .. III 111 * * III '" '" III III III '" * '" III * III * * III III '" * * '" '" '" III '" * III '" III * III * :III ill III III III III '" 1ft' III '" III III III * '" III III III

alEC
OlED
07EE

DeU8

REGN CFl

JSZ

CTR
SPIB
Ii'H8

:****~~~*~:¥*r:!~!::!!::****************************** ***"'***"'*****"':
ADD
ADD
REGN ADD

07EF
07FO

SPOA
III

LSL

ADD
INC

REGN

00E5

SPOA

8FOI

REGN
SPOA CF1

DCU9
111 III JIlt JIlt
: III lit III

07F3
07F4
07FS
07F6

e~~rOr~~d~~RDCU; CTR :m @ control words
Parm.(0:15) :- byte count;

UNG

Ze~~T~yt; ~~~nt~e~T:~~'s}art

flag
Parm.(lS:l) :- 1. clear F1;
Jump to t e rminat e the process

* III III: III III III III III 111 III III III * III * * III III '" III * III * III '" III III * * III III III III * III III '" III III * III '" * * * III 'Ie III III '" III III III * * II III III '" 111 • '" * * III III III
~! =!! •~~~ III! : * ~~~,.. ! ~~ '" ~ !~~: ~ III * ~ 111111 III ~ III :II III III III III III III III III III III "lit III III lit lit III III III III III III * * III III::
lit

:

: III III '" lit

07F1
07F2

ADDL
CTR
ADD
SPIB
ADDL
ADD
REGN
JSZ INT8

SPOA

ADD
JSZ

RSRT

SPOA

UNC

8FOI

ADDL
SPIB
REGN JSZ INTS

ZEFtO

* III III III III III * III * III 111111 III III • III III "* • * * III III III III III * III III III III III III III 111 III • III III III III * III III III III III " !If !If !If III '" III III III * * III III III III ,.. _I
* ~;~ III ~~'!"!'=~~: III ~:!! III ~~ ~! !~: III 111111 III III'" III III * * III III III lit III III * III III III III III "III lit III * * III * *)11 III * III * III _I
lie

Ce:E

ADD
CREI UBB CPX2 AND
ADD
SPOA
JSZ

Parm :- 0; STT. 17. segment. 1
Jump to start DCU log process if start flag
not set else ignore the whole thing

REGN
RSRT

0200

UNC

UBA

ADDL
ADD
JSL STOP
ADD

ZEFtO

Inform DCU that command has been processed:
Mask for RUN FF
Isolate RUN FF
If not running then stop processing
Restart instruction

PAGE 166
RECORD
NO

C S
ADDR

~~~~.~~~.~~gXtUgAF~;!!!!~ ••••
LABL RREG SREG FUNC SFNC STOR SPSK

8094
8095
8096
8097
8098
8099

JIt*III********** ALU B JII:****I11********
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

Read DCU Logging Facilily -- RDCU
Enlered wilh RA. (8:8). RB - bank, address of buffer
RA (0 8) has a con t r 0 1 par ame Ie r, (0 10 I ran 5 mit d a t a ,

8100
8101

~h~~ ~;a:l;hD~Ul~O,~!~gal~ 7:~!ini=;r~:tt~'a~:ew~t~Sb lime

8103
8104
8105

XRAIOO, XRB100 are used for address, bank
KRAI0I, KRBIOI are used for byte count, start flag

8102
8106

8107
8108
8110
8112
8113
8Jl5
8116
8118
8119
8121
8122

8124

8125
8127
8128
3130

8132

07F7
07F8

RDCU

07F9

RA
USA

07FA

JSB

XDCU

JSB
XDCU

07FD
07FE
07FF

PULM
LRZ

ADD

OHB
07FC

JSZ
ADD

ADD
ADD
ADD

JSZ PUl2
ADDl
CTR

00E5

SRZ

ZERO

INC

REGN EPOP

ADD

REGN

ADDL

CTR

INC

REGN DCTR

JDCU

UNC

OOIE

EPOP

ADD
RB

JDCU

SRL2
EPOP

RA

REGN CF2
REGN

00lC

ADD

RONP

RRZ

JU~~Rto e~t~ r~~~i8~6sTOR

6)

PogT~nd T?~~ ~~~f}:~g!~3r!!:)ted flag,

REGN

ADDL
CTR
JSZ NEXT

Pull 2 ros if SR - 0 else pull 1 if SR • 1
Isolate control parm, pop 1 TOS;
CTR .' cont rol words
If parm • a then jump to enable transfer;
Read next instruction
Byte count
logging started flag :- 0, pop
2nd TOS

UNC

XRAIOO :- mem addr, clear byte position fig;
XRBIDO :- mem bank
, Set DCUSTOR 4 param
Notify DCU to start (lie) or enable (!IE)
Jump to next insl ruel ion

PAGE 167
RlCORC>
NO
8134
81.35
8136
8137
8138
8139
8140
8141
814<'
8143
8145
8147
8149
8151
8153
8155
8157
8158
8160
8161
8163
8164
8166
8167
8169
8170
8172
8173
8174
8175
8176
8177
8178
8179
8181
8183
8185
8187
8189
8190
8192
8193
8195
8196
8198

C.S
ADDR

.

#I III: III l1li: • • lit III: III III III: III

.

* It * '" III III: * .. III ,.

)I(

III • III

* III III III: * III
l1li:

0800
0801
0802
0803
0804
0805
0806
0807

!LUT INSTR-DFLT:O 000 011 000
DFL T
ADD
RB
SP4A
ADD
RB
ADSB
SPOA
RB
ADD
SPIB ADD RLZ SPOA
SPOA
ADD RLZ
RREG
ADD LRZ
UBA QASL

CCA

0808

SREG ADD

NF2

0809

UBB

SREG IASR

080A

UBA

SP2B ADD

080B

}I(

"*

111: '"

III

* * * * 1\ #I '" -,It * * * 1\ '" III III

9:26 AM

JIll

III III • III III III It

* " III: .. III * III III

~FLZ

RB

xxx xxx, ENTRY-DFLT, SR-2
HBF2

BIT8
BITS

RA

RB

lOR
NZRO
JSB DFLZ
UNC
LINK
SPIB
4780
ADDL
SP2B
ADD
SP3B
Sl'lB ADD LRZ
UBA UeB REPC
SPIB
UBB LINK
SPIB DCTX
CTRS ASR
RA

SF 1

SPIB LINK

FIHB

RA

l1li:

080e
0800
080E
080F
0810
0811
0813

FLTN
F LTZ

* III III III III III II! III '" III III: !It III * " III III * it '" III "

SREG ADD

F2

CTRS ASR

UBB

SREG IASR

CFl

SP2B LINK

UBA

SP 113 ADD

FIHB

RA

ADD

UNC
CCA

RA

SUB
ADD

RA

JSBS FL T1
JSZ NEXT

RA

F2:-SIGN(U); SKIP IF U ()O
SP4A:.0; JSB IF U 0
SPOA:=ABS(MSU); SPIB:=ABS(LSU)
CCA ON MSU; SP2B: =EXPONENT OFFSET
SPOA.(O:8):=LSU; SP3B:-0
UBA.(O:8):=MSU; UBB:=LSU(0:8)
UBA:-MSU.(O:8), REPEAT IF NOT BIT8;
SPIB:cUBB:=LSU
NORMALIZE TO BIT8;
SPIB:-LSW, DECREMENT CTX FOR EACH SHIFT LEFT
SREG:-MSW, SKIP TO SET Fl SAME AS F2;
UBB.(0:9):-EXP ADJUSTMENT - 2
ROUND BY INCREMENTING BIT32, ASR, Fl:-F2,
UBA (OlO):=EXP ADJUSTMENT - 2; (S).=LSW
(S-1):-MSW+(EXP(U)+EXP(V)-256+2), SET SIGN;
DCC ON LSU, NEXT
SET CCA ON 0; NEXT

#I

l1li: III III

:

SLUT INSTR-FLT:O 000 100 111 XX,ENTRY-FLT,SR-l
FLT
RA
ADD
HBF2
JSZ PSHM
SR7
ADD
SPOA NF2
RA
JSB FL TZ
ZERO
JSB FLTN
UNC
4380
ADDL
SPIB
RA
ADD
RA
ADD RLZ
FLTI
UBA ADD LRZ
BIT8
UeB REPC
SP2B SFI
UBA QASL
BIT8
UBB LINK
SP2B DCTX

0812

0815
0816

RA

ADD

DCC NEXT
ADD
CCA
NEXT
ADD
I~ III III '" * * " * III III III * III ,. III: * l1li: III III * III * * '" * * #I: III * A III III til III III III III III /II * • * III II: * III * III til 'Ie III III III III
III

111 III !It III III: * III ill III III • III
: • * III '" ~ ~ ! * 1~ !~:~! 1III ! ~: ! ! ~~ !! ~ ~ * lit III III III III '" III III III lit * III '" I"f

0814

:;<:u4

10/ 2/86
COMMENT

:****~~~r*l~~~~!:*!!~~!l*!~~!r~~l!~~*********~******** * •• * •••• **.* •• :

~

'}()Z

.*****~**~*** ALU B 111.***** ••• **._
RREG SREG FUNC SFNC STOR SPEC SKIP

¥o0800

8HJ9

8201

Floating Point Instructions

~~~~ •• ~.~~. ALU A •••• It.**.*.
LABL RREG SREG FUNC SFNC STOR SPSK

EPSH
RH
CCA
RLZ

RH

EPSH

NEXT

~~b~~~g~ ~~!~ i~Z ~~ ~~ 0;6 JSB IF (S) =
JSB IF (S) ( o· S~lB:=EXPONENT OFFSET
UBA: ~ [S), JSB IF (S) <0; USB. (0.8) : - (S)
UBA:-MSW.(0:8), SKIP REPEAT IF BIT8;
SP2B:~UBB:=LSW, SFI
NORMALIZE TO BIT8;
SP2B:=LSW, DECREMENT CTX FOR EACH SHIFT LEFT
SREG:=MSW, SKIP TO SET Fl SAME AS F2;
UBB.(0:9):=EXP ADJUSTMENT - 2
ROUND BY INCREMENTING BIT32, ASR. Fl:-F2,
UBA (0 10) -EXP ADJUSTMENT - 2; [S): - LSW
(S-l) '-MSW+(EXP(U)+EXP(V)-256+2), SEl SIGN;
CCA ON U, NEXT
UBA' - - ( S). JSB; USB (0' 8 ) . =- ( S )
JSB TO NEXT, CCA ON 0; NEW (S) =0. EPSH

PAGE 168
RECORD
NO

C S.
ADDR

~ !~=!! ~Y. ~~i:tUI:S! r~~! !~~~ ••
LABL RREG SREG FUNC SFNC STaR SPSK

****** •• ***** ALU B **111:****-**-**.

8709

RREG SREG FUNC SFNC STOR SPEC SKIP
.... III: ** ••••• lIIt: III 111*""" * .... * **11" '" ***** III: III * !II: ** •• 'III • • • ** III .. lit * **.** *"
III III" * '111.'111. III *
: .. III 'III .. ~;~~ ..
~ ;~:! ! ~~ *; ~T~: l .. ! ~: ~~ ! !~ ~ * * .. * .......... 111 * * III""" .... III III .... ,. .. * III ..

8211

$LUT INSTR=FCMP:O 000 101 000 xxx xxx, ENTRY-FCMP, SR-4

8207

111:

8;'08

8:' 10

8212
8213

8215
8216
8218

B219

8221
8222

8224
8226

0817

FCMP RD

CIR

lOR

0818

RD

RB

SUB

UBA

ADD

RB

RD

ADD
JSBS FCMO

0819

fCMO

08lA
081B

8227

8229
8230

: ...... 111

003F SP4A ANDL

8247
8249

0821

0040 UBA

8252
8253
8255

0822

003F SP2B ANDL

0823

8256
8258
8260
8261
8263

8264

08lC
0810

0824
0825

FADD

FADJ

0826

ADD
SUB
ANDL
XOR

UBB

RD

XFRS

UNC

RREG
RA
RC

ADD
LINK

EPP4 pas
NEXT
NEG
DCC

111 ....

NEXT
UNC

SET CCG OR CCL ON MSU;
SKIP NEXT IF (SIGN(U) = SIGN(V)), EPP4
COMPARE U - V;
NEXT IF (SIGN(U) <> SIGN(V))
SET CCA ON MS WORD;
RREG:oUBB, SKIP IF MSU < 0
, DCC ON LS WORD, NEXT IF MSU >= 0
COMPARE V - U; SKIP TEST AT TARGET

_**._.

* ........ * III ...... * ...... * .. * .. :

XRl

ADD
ADSB

SPOA

UBS

ADSB
QASR

0828

RREG XRI

ADD

8270
8272

0829

UBA

UBB lOR
SP4A JSB

LSL

ADD

Fl
UNC

CTX

SUBL

NCRY

SP2B lOR

DCTR NZRO

CTFI

RREG
0040 RH

JSB UANS
IORL
SP3B

F lTC

UBA

REPC

UBB

LINK

RREG RA

LINK

SP2B CCTX F5B

ADD
SP2B XFRR

HBF2 UNC
HBF2

SP4A SF!
ZROW

XRO
RA

USB

SP2B F2HB
CLO

SPIB
XRO

EXUV SP1B

OCOO XRO

RA

ADD
LINK
ANDL
SUB LSL

SREG JSB

RH

ADD

UBA

082A

HBF2

RB
RC
RA
FFCO SP4A
USB UBA

RH

RC

0827

8274

CCA

SP4A FIHB
CTFl

IORL

8266
8267

8269

LINK

!LUT INSTR-FADD:O 000 101 001 XX,ENTRY=FADD,SR-4

0820

8250

XOR

RA

III

RD
UBA UBB
HCO SP2B
RD
RB

8246

RB

RC

..

08lF

8245

RD

~ ~~~ i ~ !~ : !! ~ 7. : ~ ~ l .. : ~ =! ~ ~ ~ ! ; ~ ~ * ................ *

08lE

8239
8241
8242
8243

CCA

9:26 AM

*:

1r

····."****************************************111111.******.111**._ ••

8228

8231
8232
8233
8235
8237

r:

1

10/ 2/86
COMMENT

NZRO
UNC

RD
RB

UNC
DCTX CTXO
DCTX CTXO

USA:·SP4A:-ABS(U); UBB:-SP2B:-ABS(V)
SFl IF U)-V; ClO
UBA:-EXP(V); SPIB:-EXP(U)-(EXP(W) IF U>=V)
F2:.SIGN(W):·(SIGN(U) () SIGN(V));
XRO:=(EXP(U) - EXP(V)) & LSL(l),
SKIP IF U>·V
RH: =MANTISSA OF U;
SPIB:cEXP(VI AND JSB TO EXCHANGE U AND V
IF U 24
RA:-LSU;
ANSWER IS U IF V-O, SKIP IF NOT, DCTR TO %FF
SPOA:=O; UBB:=LSV, JSB IF ANSWER IS ZERO
UBA:=IF F2 THEN -LSV ELSE LSV;
UBB:=MAN(V) WITH LEADING 1, SP3B.(0.9) :00
UBA:-IF F2 THEN -MSV ELSE MSV; UBB:=LSV
NORMALIZE V BY DIFFERENCE IN EXPONENTS
SHIFT RIGHT TO NORMALIZE UNTIL CTX IS
DECREMENTED TO 0
SP4A.=MSV + MSU, SFl; SP2B:=LSV + LSU,
CTX·O; SKIP IF U AND V WERE EXCHANGED
SKIP IF W <> 0; F2:-SIGN OF ORIGINAL U
SREG'-MSW, JSB IF W • 0;
SREG:=LSW, F2:.SIGN OF V IF U & V SWITCHED

PAGE 169
RECORD
NO

C S.
ADDR

8276
8277

111: ...

8282

8283
8285
8286
8288

111:

l1li:

8290
8291

8299

8300
8301
8302
8304
8305

082B

NORM

SREG ADD

082C

UBA

QASL

082D

RREG ClR

XFRS

082E

RREG UBB

IASR

082F

UBA

SPIB ADD

RA

UBB

0830
0831

BITS
BITS
SP4A F2

SREG REPC

SP2B ICTR

UBB

SP2B DCTX

LINK

CTRS ASR

FOV

0833

EXUV 003F SP2B ANDL

8315

0834

0040 UBA

8318

08J~

8309
8310
8312
8313
8314
8317

8J20
8321

8322
8324

0836

8J27

0838

8n"

8329

0837

083(J

ZROW
UANS
UANI

RB

CFl

RB

lOR
JSZ
JSZ

0832

8307

9:26 AM

l1li:

POP

TRP3
TRP3

10RL

FIHB

UBA

NZRO

UBA

UNC
UNC

XRl

SP2B LINK

RB

SPIB CSL

SP2B LBF5

SP4A lOR
TRP2

XRO

lSL

OCOO XRO

SUB

POP

CCA

ADD
SP2B JSZ

SF5B

ADDL

NEG

JSB

FADJ

UNC

JSB
ADD

UANI

CCA
Fl

RD

ADD
ADD

RD

EPP2
CCA

CCA
NEXT

RA
UBB

ADD
ADD

RC

EPP2
DCC

ADD
ADD

RD

RC

F!iB
NEXT
POS

CTX

SP4A lOR

NO REPEAT IF BIT8;
ICTR TO 0
RREG:-NORMALIZED MSW;
SP2B:-LSW. DECREMENT CTX FOR EACH SHIFT LEFT
RREG: -MSW. SP4A: -CIR TO SET CC LATER.
SKIP ON F2 TO SET Fl THE SAME;
UBB.(0:91: a EXP ADJUSTMENT - 1. POP
(MINUS 1 DUE TO NORMALIZATION TO BIT81
ROUND BY INCREMENTING BIT32. ASR. Fl:=F2.
UBA.(0:10):=(EXP ADJUSTMENT - 1) + 11 FROM
BITS OR 2 IF ROUNDING CAUSED CARRY NTO
BIT9) ;
NEW (S) AFTER POPS. LSW. POP
(S-I):=MSW· SIGN AND EXPONENT PLUS
MANTISSA AND EXPONENT ADJUSTMENT;
IF UNDERFLOW THEN SP2B.(0:1):·I.
IF UNDERFLOW OR OVERFLOW THEN F5B: =1
SKIP IF ABS(W) () 0; SET CCL OR CCG ON MSW
SKIP NEXT IN UNDER/OVERFLOW
UNDERFLOW TRAP IF ABS(W) • 0; NEXT OTHERWISE
JSB FOR UNDERFLOW TRAP UNLESS OVERFLOW;
JSB FOR OVERLFOW TRAP IF NOT SP2B.(0:1)
UBA:=MANTISSA OF OLD U • NEW V;
CTX:- -(EXP(U) - EXP(V)) =
1~~~~~W(~)ANDE~P~~~~(~MHA~~~g TO
SP4A:=MAN(UI WITH LEADING 1;
SKIP IF EXPONENT DIFFERENCE ) 24
JUMP BACK;
ANSWER IS NEW U IF NEW V=O. SKIP IF NOT.
DCTR TO '¥oFF
JSB. CCA; (S-I) AFTER EPP2 := UBB:=O. EPP2
SKIP IF U AND V WERE NOT EXCHANGED;
CCA ON MSU
(S-I) AFTER EPP2 :- MSU; UBB:=LSU. EPP2
NEXT; (S) AFTER EPP2 :- UBB. DCC
UBA:~MSW.
SPIB:~LSW.

8289

8293
8294
8295
8296
8297

10/ 2/86
COMMENT

:****~~!~=!!!:*!::~!!*:!*!!~:!!:~ . . ~~!:!*~~:!=!!:~******************~:

8278

8279
8280

•••••••

~~!~~!!~!~~ ~~~tln:.!~!.~~~r.an~.~~!y
ALU B ••••••••••••••
l.ABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC St,IP
.: 'It. III III III: JIlt III III * * * III
* III III III * III III III III III .. 1\ III III III III III * III III III .. * * II III III ill lit III III III III JllIiI: III • * III * III III III * * III: III: III III III ,: JIr

DCTR NZRO

PAGE l70
RECORD
NO
8312
8333
8334
8135
8136
8317
8338
8340
834l
8342
8343
8344
8345
8146
8347
8349
835l
8353
8355
8156
8]58
8359
8360
836l
8361

8365
8167
8169
8111
8] 72
8373
8374
8375
8376
8377
8378
8179
81

aI

81 a3
81~4

P'"HH,

x

?, ~~ E
P, 'I ~ '.I

C S
ADDR

Floating Point instructions

*ll*,,*,,_*.*. ALU A .,,"*""**"*.
LABL RREG SREG FUNC SFNC STOR SPSK

*****~~~~*!~~~:!;~2*:~~!!:~!1*!~~!~~;!!~~************* *11"* •• * ••• _._ ••

083A

FSUB

JSB

: * " " " ~~~; * 1~! ~ ~! ;~? * ~~!! !~!
083B
08JC
083D
OB3E

FMPY

8000 RB

ADDL

RB

rl "; ~! !! ~~ !: ~ ~ """

II " "

TOGGLE SIGN OF V

* " * " " " * * " * * * *" " " " * * ,,* "

RD
FFCO UBA
FFCO SP2B
RD
RB

ADD
ANDL
ANDL
XOR

083F

003F RB

ANDL

C040 UBB

ADDL

SP IB

0840
0841
0842
0843
0844

RREG RD
RA

AND
ADO
SP4A
ADO
MPAD
JSB NORM
SFl

0040 UBA
RREG UBA

lORL
lOR
REPN
LINK
ADD

SP3B
RH

RH

110:

*.

III

UBA
UBA

SP4A

FIHB
HBr2

* ** * ** ****** III * ••• III II! **

111" JIll

111:

••

UBA
RA
UBA

RC

RB
RC
SP2B
SP4A

UBB
UDB

ADD
lOR
lOR
JSB

SP2B F2HB
CLO ZERO
NZRO
ZROW
UNC

16
DCTR CTRO
ICTR

UBA=ABS(UI, SP2B=ABS(V)
SP4A:~EXP(U); CLO, SKIP IF ABS(U) = 0
UBA =[XP(V), SKIP IF ABS(V) () 0
F2,=SIGN(W), UBB:=EXP(V) + EXP(U)
JSB IF W = 0 (ABS(U)=O OR ADS(W)=O)
UBA'=MANTISSA OF V,
SPIB:~EXP(V) + EXP(U) - 256 + 1
(PLUS 1 TO COMPENSATE FACT MANTISSA
IS SHIFTED RIGHT ONE BIT BY MPAD)
UBA =MANTISSA OF U; SP3B =MSV WITH LEADING 1
SP4A:-LSV, RH .MSU WITH LEIIDING 1
UBA:=O; UBB ·0, REPEAT 23 TIMES
MPAD U UNTIL CTR IS DECREMENTED TO 0
SREG'·MSW, JSB TO NORMALIZE, SFl;
SREG: "LSW, IC TR TO %FF

*" III * * * III 111*** III III * * III III III III III * * •••• 1lI III *** *** 111111." *

:.**~~~~*i~!~:!!~Y*~!~!~:l*!~:!~~;!!~~********.*****.* **************:
SLUT INSTR=FDIV: a 000 101 100 XX,ENTRY=FDIV,SR=4
0845
0846

fDIV

oe47
0848

RD
HCO UBB

ADD
ANDL

RH

lOR
JSB

RC

n~1I9

anl)f)

8Ml/

O?,I\F

RnO[)

FDlR

UBB
RD

RH
FIHB
SP4A
ZROW

ADD
XOR
ANDL

0040 UBA IORL
UBA SP2B DVSB
UBA Sf'2B SUA
ADD

R41l4

UNC

SLUT INSTR=FMPY' a 000 101 011 XX,ENTRY-FMPY,SR=4

OR4C
084D
OR4f

R401
,;4Wl
R4J I

FADD

"****************I11",**IIrJlr*******_******_.**IIIIIIIIIIII**_*.JII.IIt************1t***

RD
RB
003F RD

8 'l'l6
51'l Po

9:26 AM

SLUT INSTR=FSUB:O 000 101 010 XX,ENTRY=FSUB,SR=4

084B

8l'I')

10/ 2/86
COMMENT

**"_.******_********JIr*******.ltlt****_********** •• ******._*111**** ••• ****

nellA

81'11
lL(r~ "3

***.* ..... *****111 ALU B •••••••• *" ••••
RREG SREG FUNC SFNC STOR SPEC SKIP

NZRO
UNC
SPOA CCO
HBF2

CTF 1

SPOA FIHB

RB
RA
003F RB
0040 UBB

ADD
JSB
ANDL
IORL

SP3B
SP2B

Frco RH
ANDL
UBB SP4A SUR
3fCO UBB ADDL

SPIB

UBB
UUB
SP3B

RC
RA
RA

RFPN
LINK
LINK
ADD RRZ

ADD
ADD

SF 1

';P4A I"R

liDO

CCA

IIll[)
ADD

.r:.l

TRP5

IJNC

F2HB NZRO
llRO

rDZR

liB

ADD

NORM

17
DCTR CTRO
ICTR
POP

POP

DCC

UNC

RH =ABS(MSU); UBB:=ABS(MSV)
SP~A, 'EXP(V);
JSB FOR DIVIDE BY a TRAP IF ABS(MSV)=LSV=O
SKIP IF ABS(U) () 0; SP3B =MANTISSA OF V
-ISB If W
0;
SP2B -MANTISSA OF V WITH LEADING 1
SPOA:=O, CLO & CARRY, UBe =EXP(U)
f2 =SIGN(W), UBB =EXP(U)
EXP(V)
UBA .MANTISSA or U;
SPIB,=(EXP(U)
EXP(V)) + 256 - 1
UBA =MANTISSA OF U WITH LEADING I, UBB =LSU
DVSB 24 TIMES UNTIL CTR IS DECREMENTED TO 0
Fl -CARRY (24TH ANSWfR RIT), [CrR TO ~FF
S[f 24Tft ANSW[R All IN :;POA(O),
UBB (B, R) =MSW, ICTR TO ','.. 1 F
SREG =MSW, SFl, SREG =LSW, JSB TO NORMALIZE
, POP
SE T CI~II 0 ' , "'SlJ, POf'
fLOIIT1NG
:[ BY Z[RO TRAP, SFl DCC ON LSU

PAGE 171
RECORD
NO

C S

ADDR

8414
8415

8427

}Ie

fJI/

111: ..

10/ 2/86

9:26 AM

COMMENT

111:

111:

111:

8417

8424
8425

*.111:**.*~***111:*
ALU B **1II111:**'It*******
RREG SREG FUNC SFNC STaR SPEC SKIP
#I: III" .. III III II! 'It III III: III III !lit '" '" I'
III III
III III * III III: 'It III: " III: '" III .. 'It .. !If .... JIr
III .. III III '"
III III If III III III lit III III III III: III III III: * * III: III
It III '/( IIr
•
FNEG (Flo;lt ing negate) Inst ruct ion
•
III !Ie .. III * •
III III III * III .. '" l~ III * lit III: III 'If III: '" .. III JII .. * '" .. iii * III
* .. III JII: 'Ie .... !II III ~ III * III * ,. . III: " '" '" "If * III III JII III JIr * * II! •
111: •

8416

8418
8419
8420
8422

~!?~!!~~.~?i~tuI~S!!~~!!?~~ ••

LABL RREG SREG FUNC SFNC STaR SPSK

111: '"

111: '"

111:

SLUT INSTR=FNEG 0 000 101 101 xxx KXK, ENTRY=FNEG, SR=2
0854
0855

FNEG RA

0856

RB

lOR
JSB

UBB

ADD

DFLZ
RB

NIRO
UNC

8000
UBB RB

NEXT

RA

ADDL
XOR

CCA

ADD

DCC

SKIP IF FLOATING POINT WORD <) 0; UBB:=MASK
JSB IF
0;
UBB:=(S-1) AND TOGGLE SIGN BIT, CCA
(S-l):=UBB, NEXT; SET DCC ON (S)

8428

8429
84JO

JIIr

8411

8432
8433
84

~j4

8416
8418
84l'J
8441

III " III 111

FIXR (FiK and round) Ins! ruction
* III: '" III III III * * * 1_ III III III III III III III * lit III: .. lit III III III "If III .. III .. III #I: 'It. III III III .. '" III '" *,.JII III III: III: III
"III:

111:

111:

111:

JIll

III

* #I:

111:

III III III

•
* III .. III II! III

SLUT INSTR=FIXR 0 000 111 000 XX,ENTRY=FIXR,SR·2
0857

RB
UBB

ADD
JSB

LSL SP4A
FUNZ
NCRY

0859

RB

ADD

HBF2

085A

OOJF RB

ANDL

UBB

JSB

FXSL CTX

OB5B

0040 UBA

IORL

UBB

CAD

CTX

085C

UBA

ADD

RA

REPC

085D

UBA

QASR

UBB

LINK

OB5E

SREG IASR
UBA ADSB
SP4A
UBA JSB FTST
UNC

085 a

FIXR

UBA

8080
F700

ADDL
ADDL

F500 SP4A ADDL

POS

~442

? 44'1
~445

SP4A

UBB

UNG

%·'t.46

8447
8449

B.4 ~,O

R4 c)2

84'>1
84'>5
84',6

84'>8

84f;O

08'JF

0860

UBB

SREG LINK
UBB LINK
UBB LINK

DCTX CTXO
DCTX CTXO
RA

& LSL(l); UBB:=%8080
JSB IF NOT (EXPONENT )c -1);
SP3B:-CONSTANT TO TEST FOR OVERFLOW LATER
F2 •• SIGN(U);
UBB:=EXPONENT - 22,
SKIP IF (EXPONENT - 256) <= 0
SP4A =UBA:=MS MANTISSA;
CTX =LS 8 BITS OF EXPONENT, JSB IF
ADJUSTED EXPONENT < 0
UBA'=MS MANTISSA WITH IMPLIED LEADING 1;
CTX.=-ADJUSTED EXPONENT - 1
UBA:=MS MANTISSA;
UBB.·LS MANTISSA, REPEAT It CTX <) 0, DCTX
UBA & UBB-MANTISSA SHIFTED RIGHT,
END REPEAT WHEN CTX IS DECREMENTED TO 0
UBA, UBB:=ROUNDED ABSOLUTE ANSWER
SP4A, RA'=-(ABSOLUTE ANSWER) IF < 0, CLO
UBA.=MSW + LSW(O), JSB; CCRY
UBA:~SP4A:cMSU

SP3B

CLO
CCRY

PAGE 172
RECORD
NO
8463
8464
8465
8466
8467
8468
8469
8471
8472
8474
8475
8476
8478
8479
8481
8482
R484
8485
8487
8488
8490
8491
8493
8495
84'16
84 ~18
8499
8501
8502
8504
8506
8508
8509
8';11
8'.13

8~ 15
8516
8518
8519
8521
8523

C.S
ADDR

~!~:!!~~.~~i:tuI:S!!~~!!~~: ••
LABL RREG SREG FUNC SFNC STOR SPSK

**.*".-.--*** ALU B *******111******
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

***********111********111*********************************.".*"" ••• *.""".

:" *" * ~ !~r * i ~!:" !Z~,,! !~~~:1 ~ 1" !~~! !~~! !~~ *" * * *"""""
!LUT INSTR.FIXT:O 000 111 001 xxx
0861

* * * * 11:" *" * *.*"",,:

RB

JSB

RB

ADD

0863

003F RB

ANDL

UBB

JSB

FXSL CTX

0864

0040 UBA

IORL

uee

CAD

CTX

0865

UBA

ADD

RA

REPC

0866

UBA

QASR

uee

LINK

0867

UBA

ADSB

UBB

LINK

UBA

JSB
ADD

FXSL

086A

0040 SP4A IORL

086B

UBA

086C
0860
086E
086F
0870
0871

FTST

SREG ADSB
UBA ADD
UBA ADD

FOVZ RA

ADD
ADD
SP4A lOR

0872
0873
0874
0875

ADD

FUNZ

FUNZ

II: 11:"

ENTRY.FIXT, SR-2

0862

0868
0869

FIXT RB

KXX,

POS

noo

ADDL

HBF2

F500 UBA

ADDL

UBe

SP4A

SP4A
FTST

SPOA

UNC

JSZI IRO
ADD
ADD
ADD

NZRO
NEXT
NEXT
F2
UNC
NEXT
CCO
NEXT

POS
UNC
DCTX CTXO
DCTX CTXO
RA

CLO

UBB UBB LINK
CCRY
SP3e CTRS Jse FOVZ SPIB
CRRY

LSL
SP4A

SP3B

UBB

RA

REPC

DCTX CTXO

UBB

LINK

DCTX CTXO
RA

SREG LINK
UBB LINK
SP4A ADD
RA
ADD
ADD
SPIB JSZ
UBA
UBA

JSZ
CSR
ADD
ADD

RB

CLO
CCRY
CCA
DCC
SCRY

IRO

NZRO
NZRO

IRO
RB
RA
RB

CCRY

UBA:.MSU & LSL(l), JSB IF EXPONENT < 0;
SP3B: -CONSTANT TO TEST FOR OVERFLOW LATER
F2:-SIGN(U);
UBB:.EXPONENT - 22,
SKIP IF (EXPONENT - 256) <= 0
SP4A: -MS MANTISSA; CTX: -LS 8 BITS OF
ADJUSTED EXPONENT, JSB IF >= 0
UBA: -MS MANTISSA WITH IMPLIED LEADING 1;
CTX:.-ADJUSTED EXPONENT - 1 (I'S COMPLEMENT)
UBA: =MS MANTISSA;
UBB:-LS MANTISSA, REPEAT IF CTX <> 0, DCTX
UBA & lJBB:=SHIFTED MANTISSA, END REPEAT WHEN
CTX IS DECREMENTED TO 0
SP4A & RA:=-(ABSOLUTE ANSWER) IF < 0, CLO
(CALLING FOR UBA & UBB SHIFTS ONCE MORE)
UBA:-MSW + LSW(O), JSB; CCRY
~~gAiFOSHIFT COUNT ). 9, SPIB =0 IF = 9

~~~::r~ ~~~~~~~~,W~~~El~P~tEgT~E~~I~~ 6tTX
UBA & UBB:=MANTISSA SHIFTED LEFT,
END REPEAT WHEN CTX IS DECREMENTED TO 0
SP4A, RA:=-(ABSOLUTE ANSWER) IF < 0, CLO
~~~~.~~WM; i~W~~+~ ~i~YNOT THE SAME;
(S-I):"MSW, CCA
NEXT If' MS 17 BITS ARE THE SAME; DCC ON LSW
NEXT IF MS 17 BITS ARE NOT THE SAME; SCRY
UBA:"ZERO IF MANTISSA - 0, SKIP IF W < 0;
OVERFLOW TRAP IF EXPONENT () 9
UBA::l, OVERFLOW TRAP IF W) 0;
OVERFLOW TRAP IF MANTISSA () 0
~~n~ b~E~h~82~g'C~R~~;-~;~3!6 CCRY
NEXT; (S-I) =0

PAr:: 173

RLCORD
NO

C.S
ADDR

8526
8527
8528
8529

•

jilt

H">11

R,)13
8')

15

7
~~ . .J 9

?

r.~ ~!

8',40
8',42
8543
8544

0876
0877
0878

8550

8">52
85')4
8556
8557

8<;59

8571

8573
8574
11576
8')77

8~.l85

fit}??,

087.0.
087B
087C

ASR

087D

* III .. III '" III III * * III l1li '" * .. * * III III III III II! III: *' III III III III * .. * III 111 III III * It '" III * III: '" * .... * III III III III * '" ..

if

* III * * III III "

." III !II III: .. '" III

* III

#(

III:

* !II III #I lit ....

-,It

NEXT
SREG ADD
RA
CCA
III
It * III III III * * III ..... '"
III III .. * 111 .. * III III * III III III: * III * III .. 111 * !II * * ~I

UBA:2SHIFT COUNT, JSB IF 0; UBB:=%003F
UBA:=SHIFT COUNT MOD 64; UBB:=(S)
REPEAT UNTIL UBA IS DECREMENTED TO 0;
ARITHMETIC SHIFT LEFT
NEXT; (S):'SHIFTED (S), CCA

III;

111:

:

087E
087F
0880

XC
UBA
UBA

DSPL JSB
UBB AND
CAD

ZERO
ZERO
ZERO

"+3

003F

RA
UBB

ADDL
REPC
ASR

ADD

NEXT
SREG ADD
RA
CCA
* III II! III III * .. III '" l1li It IIr l1li l1li 1ft III III It Ir III III III III III III III III 111 III III III III III Jill III It III III Jill III 1ft III III 'r
_r III III III ~ ~ ~ It 1~~ ~ ! ~ ~ ! III ~ ~ ! ! ! It ! ~! ! l III ! ~ ~ ! ~ ~ ~ ! ! ~ ~ It It It l1li III * III * * * It .. * III * * * JIll * * l1li * * * l1li l1li * ::

" '1 ..

* III '" 111 'If. "

.... III .... III " III III '"

* * 111 III *

)II

UBA:=SHIFT COUNT, JSB IF 0: UBB:=%003F
UBA:-SHIFT COUNT MOD 64; UBB:=(S)
REPEAT UNTIL UBA IS DECREMENTED TO 0;
ARITHMETIC SHIFT RIGHT
NEXT; (S):=SHIFTED (S), CCA

III

Sl.UT INSTR'LSL '0 001 000 010 XX,ENTRY=LSL,SR s l,DSPL=6
!LUT INSTR'LSL X:O 001 100 010 XX,ENTRY=LSL,SR=1,OSPL=6,X
LSL XC
DSPL JSB "+3
ZERO 003F
ADDL
USA UBB AND
ZERO
RA
REPC
UBA
CAD
ZERO
UBB ADD LSL

0881

ADD
III III " 1ft l1li III " " 1ft ,. III ,. ,. ,. III

NEXT

* * ,. 111 ill ,. III III III III III •

II • • III

SREG ADD

* III * ,. • III: •

RA

CCA

UBA:=SHIFT COUNT, JSB IF 0; UBB:=%003F
~~;EA~HO~tIrO~~l ~~DD~~~E~~~+E6Sto 0;
LOGICAL SHIFT LEFT
NEXT; (S):'SHIFTEO (S), CCA

* ,. * III * III III 111111 III * III #I. III .. III II
:"., ,. III * ~ ~~ III ! ~~ 7! ~ : ! * : ~! ! ! * ! ¥~ ! l III ! ~ ~ ! ~ ~ ~ ! ! ~ ~ * * III III " " * III * * ,. It " * " 111 III " III III ,. It" III " It ::
ill! " "

III: • III III • III: • ,. • III

1ft

r

SLUT INSTR=LSR ·0 001 000 011 XX,ENTRY=LSR,SR=1,DSPL=6
SLUT INSTR=LSR X:O 001 100 all XX,ENTRY=LSR,SR=l,OSPL 26,X
0882

O?B3
O~~4

gf)'HJ

RL.. 'j 1

9: 26 AM

SLUT INSTR=ASR :0 001 000 001 XX,ENTRY=ASR,SR=1,DSPL=6
SLUT INSTR=ASR X: 0 001 100 001 XX,ENTRY=ASR,SR=1,DSPL=5,X

8578
e

a ) 79
8">80
8<;81
8')82
8')81
8',84

10/ 2/86
COMMENT

:"***e~~*!er!!~~:!~~*~~!!!*!!~~!!*!~:!!~~!!~~********* **************=

8563
8<;54
8569

III

ADD
'Ii II ,. III III

8')60
8')f) 1
8')62

8565
8%6
8567

#{ '"

nUT INSTR'ASL : a 001 000 000 XX,ENTRY=ASL,SR=1,DSPL=6
$LUT INSTR=ASL X a 001 100 000 XX,ENTRY=ASL,SR~1,DSPL=6,X
ASL XC
D::;PL JSB "+3
ZERO 003F
ADDL
UBA UBB AND
REPC
ZERO
RA
UBA
CAD
ZERO
UBB ASL

0879

?'<,45
8'>46

8!>47
8548
8549

ALU B ************n*
RREG SREG FUNC SFNC STOR SPEC SKIP

ASL (Arithmetic shift left) Instruction

* It III * " * . . III II! '" III III

?'~30

?'<,12

~!~?!~~~~!~ ~r6fl !~~!!~~!!~~S **~**********

UIBL RREG SREG FUNC SFNC STOR SPSK

O~

8e;

LSR

XC
UBA
UOA

DSPL JSB
UBB AND
CAD
ADD

"+3

ZERO
ZERO
ZERO
NEXT

003F

RA
UBB

ADDL
REPC
ADD LSR

SREG ADD

RA

CCA

UBA:=SHIFT COUNT, JSB IF 0; UBB:=%003F
UBA:=SHIFT COUNT MOD 54; UBB:=(S)
REPEAT UNTIL UBA IS DECREMENTED TO a;
LOGICAL SHIFT RIGHT
NEXT; (S):=SHIFHD (S), CCA

PAGE 174
RECORD
NO
8594
8595
8596
8597
8598
8599
8600
8601
8603
8605
8607
8608

8610
8611
8612
8613
8614
8615
8616
8617

8618
8620
8622

8624
8625

C.S
ADDR

!!~?!:.~:!~ :~6fl !~:!r~~!!:~s

LABL RREG SREG FUNC SFNC STOR SPSK

•••••••••••••

ALU B ••• ' •••• ' •••••
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

***************111****111.**_**************._************************._**
CSL (Circular shift left) Instruction

".*****************111111.*****************_.111********************* ••• ***

.

SLUT INSTR-CSL :0 001 000 100 xxx xxx, ENTRY·CSL, SR-l, DSPL-6
SLUT INSTR-CSL X:O 001 100 100 xxx xxx, ENTRY-CSL, SR-l, DSPL-6, X

0886
0887
0888

CSL

XC
U'3A
UBA

DSPL JSB
UBB AND
CAD

·+3

ZERO
ZERO
ZERO

ADD

0~89

003F

NEXT

RA
UBB

UBA:-SHIFT COUNT, JSB IF 0; UBB:=%003F
UBA: =SHIFT COUNT MOD 64; UBB: = (S)
REPEAT UNTIL UBA IS DECREMENTED TO 0;
CIRCULAR SHIFT LEFT
NEXT; (S):-SHIFTED (S), CCA

ADDL
REPC
CSL

SREG ADD

RA

CCA

***************_**************************************_111111 •• ****.111****

: * III III * ~~~ * !;! ~; ~ ~:

.

rill: ~!!!

III!

!~~! l

III

!~:!! ~~ !! ~ Z

III III .. III III

* III .. " " III III * III III III III III III III III III III III

*:

SLUT INSTR=CSR:O 001 000 101 XX,ENTRY.CSR,SR-l,DSPL=6
SLUT INSTR=CSR X:O 001 100 101 XX,ENTRV=CSR,SR=1,DSPL-6,X

088A
088B
088C
0880

CSR

XC
UBA
UBA

DSPL JSB
UBB AND
CAD
ADD

*+3

ZERO
ZERO
ZERO
NEXT

OOJF

RA
UBB

ADDL
REPC
CSR

SREG ADD

RA

CCA

UBA:-SHIFT COUNT, JSB IF 0; UBB:=%003F
UBA: =SHIFT COUNT MOD 64; UBB. = (S)
REPEAT UNTIL UBA IS DECREMENTED TO 0;
CIRCULAR SHIFT RIGHT
NEXT; (S):·SHIFTED (S), CCA

PAGE 175
RECORD
NO
8628
8629
8630
8631
8632
8633
8634
8635
8637
8639
8641
8642
8644
8645
8647
8648
8649
8650
8651
8652
8653
8654
8655
8657
8659
8661
8662
8664
8665
8667
8668
8669
8670
8671
8672
8673
8674
8675
8677
8679
8681
8682
8684
8685

C.S
ADDR

Double Wo rd Shift inst rue t ions
**III."".JllIIIII: ....
ALU A 1II1II • • "'**IIIJ11.1k
** •••

LABL RREG SREG FUNC SFNC STOR SPSK

*.111.111,.111*

ALU B

10/ 2/86

**.111 • • • • 11111111111111111:

RREG SREG FUNC SFNC STOR SPEC SKIP

9:26 AM

COMMENT

.II .... ***.*****************-It.***_** .. ***.*** ••• * •••• ****.****111 •• ****111*_
: II III III III

088E
088F
0890
0891

~~~ ~

III

!~~ ~ ~ ~: =~ ! ! ~~:! !;
III

III :

~! ! !

III

!;! ! l * ! ~: ! ! ~ ~ ! ! ~ ~

III ,. III " III III III

Sl.UT INSTR=DASL:O 001 010 000 XX,fNTRY=DASL,SR=2,DSPL=6
HUT INSTR=DASL x:o 001 110 000 XX,ENTRY=DASL,SR=2,DSPL=6,X
ADD
D~,SL XC
ZERO
DSPL JSB *+4
003F UBA ANDL
CTR
ADD
REPC
RA
RB
ADD
UBB LINK
UBA ASL

* III III III III III * .. III II

DCTR CTRO
DCTR CH!O

CCA
SREG JSB DSFT
UNe:
RB
III * * * III III til l1li III III III III III III III III III '" III III III * * III * . . ,. III 111 III ,. .... 111 * III * III III III lit III III III * III III 111 * III III " III III 111 III III III l1li III III 111 III III III III JIi
SREG ADD

0892
III 111

UBA:=SHIFT COUNT, JSB IF = 0;
CTR:=SHIFT COUNT MOD 64
UBA.~(S-l); UBB: - (S) ,
REPC CTR <> 0, DCTR
ARITHMETIC SHIFT LEFT
UNTIL CTR IS DECREMENTED TO 0
(S-l):=SHIFTED (S-1) , CCA; UBB: =SHIFTED (S)

:***.~~!~*!~~~~!~*=!!!~~~!!~*~~!!!*!!~~!l*!~~!!~~!!~~* *.**.*.* •••••• :

0893
0894
0895

Sl.UT INSTR.DASR:O 001 010 001 XX,ENTRY=DASR,SR-2,DSPL=6
~l.UT INSTR-DASR X:O 001 110 001 XX,ENTRY·DASR.SR-2,DSPL·6,X
ADD
D~,SR XC
ZERO
DSPL JSB *+4
003F UBA ANDL
CTR
ADD
RA
REPC
ADD
RB

0896

DCTR CHIO

UBB LINK
DCTR CHIO
ASR
SREG JSB DSFT
UNe:
CCA
SREG ADD
RB
III III: III III III III '" III III * 111 III III III .. III 'If '" .. III .. * " ..
* III III JIll * III III III III 1Ir III III III !II III III 111 III '" '" III III III '" III III III III III III III III III III III '" III III III III III
~~H * i ~~ ~~!: * !~~!~ H* ~ ~! !! *!:! ! l* ; ~:! ~~ ! ! ~ * * ••• * * * •••• * * •• *.::
UBA

0897
III III

111: '"

r

: ••••

UBA:.SHIFT COUNT
CTR:=SHIFT COUNT MOD 64
UBA: = (S-l) ; USB: = (S) ,
REPC CTR () 0, DCTR
ARITHMETIC SHIFT RIGHT
UNTIL CTR IS DECREMENTED TO a
(S-l) : -SHIF TED (S-l) , CCA; UBB: =SHIFTED (S)

z.

Sl.UT INSTR=DLSL:O 001 010 010 XX,ENTRY=DLSL,SR=2,DSPL=6
SLUT INSTR=DLSL X:O 001 110 010 XX,ENTRY=DLSL,SR=2,DSPL=6,X
089ll
0899
OS9A

DLSL XC

DSPL JSB
ADD
RB
ADD

*+4

089B

UBA

LSL

089C

SREG ADD

ADD

ZERO

RB

CCA

003F UBA
RA

ADD
ANDL
REPC

UBB

LINK

SREG JSB

CTR

DCTR CTRO
DCTR CHID

DSFT

UNe:

UBA:-SHIFT COUNT
; CTR:=SHIFT COUNT MOD 64
UBA : s ( S -1 ); UBB:. ( S) ,
REPC CTR <) 0, DCTR
LOGICAL SHIFT LEFT
UNTIL CTR IS DECREMENTED TO 0
(S-l):=SHIFTED (S-1), CCA; UBB:=SHIFTED (S)

PAGE 176
RlCORD
NO
8688
8689
8690
8691
8692
8693
8694
8695
8697
8699
8701
8702
8704
8705
8707
8708
8709
8710
8711
8712
8713
8714
8715
8717
8719
8721
8722
8724
8725
8727
8728
8729
8730
8731
8732
8733
8734
8735
8737
8739
8741
8742
8744
8745
8747
8749

C S
ADDR

Double Word Shift Instructions
*******-*** AlU A *1II.t.***... *fllfI*******JIII** ALU B .* ...... * ••••••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
**111* ••• *****111 •••• * ••• ****._****_*111************* •• ************_******_

101 2186

9:26 AM

COMMENT

:*.**~~~~*l~~~~!~*!~Y!~=!*~~!!!*~!'~!l*!Z~!!~~!~~~**** •••• * ••••••••• :

SLUT INSTR-DLSR:O 001 010 011 xxx xxx, ENTRY-DLSR, SR-2, DSPL-6
SLUT INSTR-DLSR X:O 001 110 011 xxx xxx, ENTRY.DLSR, SR-2, DSPL.6, X
DSPL JSB
ADD
ADD
RB

*+4

ZERO

ADD
ANDL
REPC

0890
089E
089F

DLSR XC

08AO

UBB LINK
DCTR CTRO
UBA ADD LSR
CCA
SREG ADD
RB
SREO JSB DSFT
UNC
.. III" III"'" * * * III" III II III • • * .. III,. III .. * * * * * ... II: * .. III" 1\ * * III .. ",,,,,, * .. * JIll"',,'" * ..... " ...... "" 111:" III * ... "" III .. " III"
*
oCSL (Double circular shift leftl Instruction
*
III II: III .. * . . * .. * * * ..
* ** * * * *" *.* ..... III"'''' * * * * * III"" III" * ..... III * * III * * III ... * ... 111.111 *. "'" * * * .. III *

08Al

003F UBA
RA

CTR

DCTR CTRO

UBA:cSHIFT COUNT
CTR-SHIFT COUNT MOD 54
UBA: =(S ~ 1) ; UBB:=(S),
REPC CTR () 0, DCTR
LOGICAL SHIFT RIGHT
UNTIL CTR IS DECREMENTED TO 0
(S-l): ·SHIFTED (S-l) , CCA; UBB: =SHIFTED (SI

*.

*._

SLUT INSTR-oCSl:O 001 010 100 XX,ENTRy-oCSl,SR-2,oSPl.5
~LUT INSTR-oCSl X:O 001 110 100 XX,ENTRy-oCSl,SR-2,oSPl-6,X
08A2
08A3
08A4

oCSl XC

DSPl JSB
ADD
RB
ADD
UBA

08A5

*+4

CSl

SREG ADD

08A5

ZERO

RB

CCA

003F UBA
RA

ADD
ANDl
REPC

UBB

LINK

SREG JSB

CTR

DCTR CTRO
DCTR CTRO

DSFT

UNC

UBA:-SHIFT COUNT
; CTR: .SHIFT COUNT MOO 54

~~;C·b~Rl~; g~BDct~"

CIRCULAR SHIFT lEFT
UNTIL CTR IS DECREMENTED TO 0
(S-ll:-SHIFTED (S-I), eCA; UBB:-SHIFTED (S)

*** •• *****.**IIIJ111*****_ •• ******_***** •• ****_._***** •• ***_.111_** •• ***_111111.

*****~~~~*l~~~~!:*~!!~~!:!*=~!!l*~!Y~!l.!Z=!!~~!~:~*** ******111*.***_.:
SlUT INSTR-DCSR:O 001 010 101 XX,ENTRY·DCSR,SR·2,DSPL-5
SlUT INSTReDCSR X:O 001 110 101 XX,ENTRY.OCSR,SR e 2,DSPL-5,X
08A7
08A8
08A9
08AA
O~AB

08AC

DeSR XC

DSPl JSB
ADD
ADD
RB
UBA

DSFT

*+4

ZERO

CSR

SREG ADD
ADD

RB

CCA
NEXT

003F UBA
RA

ADD
ANDL
REPC

UBB

LINK

SREG JSB
UBB ADD

eTR

DCTR CTRO
DCTR CTRO

DSFT

RA

DCC

UNC

UBA:=SHIFT COUNT
; CTR: =SHIFT COUNT MOD 64
UBA:z(S"ll; UBB:-(S),
REPC CTR () 0, DCTR
CIRCULAR SHIFT RIGHT
UNTIL CTR IS DECREMENTED TO 0
(S-ll:=SHIFTED (S-ll, CCA; UBB =SHIFTED (SI
NEXT; (SI:'SHIFTED (SI, DeC
; STORE S, SET ec ON DOUBLE WORD

PAGE 177
RECORD
NO
8751
8752
8753
8754
8755
8756
8757
8759
8761
8763
8765
8767
8769
8771
8772
8773
8774
8775
8776
8777
8778
87RO

8782
8784
8786
8788

C.S
ADDR

Quadruple Word Shift instructions
• • • • 111 . . . . '11.111111

ALU A

III . . . . . . . . . . . . . . . . JII • • • • IlI • •

ALU B •• "'****** ••

10/ 2/86

111:

1111. III III III

9:26 AM

1111_.

U\BL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III 1_" III III III '" III III III "' . . . . . III .. "' .... III" III III * * .. * III III * III III" III III III"""" III *
It. III'" III * III * III III III: III III !If" III III III IIi:III' III .. III." III: I.

COMMENT

'"

~~~~ .l~~:~1 r~~!: III:~!! ~~:!!; . :~!!! '" ~;! ll. ;~~! r~~! !~~ I I "' ...... III . . . . "" III .I~

nUT INSTR=QASl.:O 001 001 111 XX,ENTRY=QASL,SR"4,DSPL=6
08AD
08AE
08AF
08BO
08Bl
08B2
08B3

QI\SL

ADD
SP4A
ADD
RA
UNC
ADD
SP3B
DSPL JSB QAS2
DCTR CTllO
UBA QASL
UBB LINK
SREG ADD
RD
CCA
SREG ADD
RC
ADD
UBB ADD
DCC
SPOA
UBA ADD
RB
DCC
ADD
NEXT SP3B
ADD
RA
ADD
DCC
III 1_ * III * III III: '" III; III III "- III • 111 111 III III * .. III:
III III III III
III III: III '* III III: III
III III III 111 III III * .. III
III III '" III III III III .. III .. * . . III III .. III ..
III III III I_

QI\Sl

111:

:

:. III .. III

nUT
08B4
08B5
08B6
08B7
08B8

~~~~

)II; . . .

~

JIll

1~~ =~I ~ ~~: ~ * : ~ ! ! ~T;! ! ~ . ~ ~! !! r!~ ~! 1 ! ~ ~ ! r~ ~ ! !~ ~
III

INSTR=QAS~::O

QI\SR X
QIIS2

III

DSPL
UBA
SREG
RB
RD

III

SP4A:=0;
UBA:=SHIFT COUNT, JSB; SP3B:E(S)
QASL UNTI L CTR IS DECREMENTED TO 0
STORE (S-3) , CCA; UBB:=(S-2)
UBA = (S-l ) ; STORE (S-2) , DCC
STORE (S-l) , DCC
NEXT; STORE (S) ,'DCC

)II:

III III III III III .. III .. III .... III ::

001 101 111 XX,ENTRY=QASR,SR-4,DSPL=6

UNC
JSB QAS2
QASR
RD
ADD
CCA
SPOA
ADD
RSB
ADD

RA
UBB
SREG
003F UBA
RC

ADD
SP3B
LINK
DCTR CTllO
JSB QASI
UNC
ANDL
CTR
REPC
DCTR CTiIO

UBA:-SHIFT COUNT, JSB; SP3B:=(S)
QASR UNTIL CTR IS DECREMENTED TO 0
STORE (S-3) , CCA; SREG:=(S-2) , JSB TO FINISH
SPOA:=(S-l); CTR:=SHIFT COUNT MOD 64
UBA : m ( S - 3 ) , RSB;
UBB:=(S-2), REPC IF CTR <> 0, DCTR

PAGE 178
RECORD
NO

C.S.
ADDR

8790
8791

8798

•

DELB

JSZ

NEXT

UNC

RA

ADD

RB

EPOP

Jump to NEXT; New (S)

*******IiI:.iII._**itI***IIII11*IIIIII**_*****_***** ••• ****** •• _**JIt********* •• 111111**_.
. . . . . . . . III

~~ ~~!: * ~:!:!: . !~~~ ~ 1. ! ~ ~ ! ~ ~~ ! ! ~ ~ ......

III III •

* .... * .. *. * ..... * * .. " .. * .......... :
III

III

III

!LUT INSTR-DDEL:O 000 000 010 xxx xxx, ENTRY=DDEL, SR-2
OSBA

.

DDEL

JSZ

NEXT

UNC

ADD

EPP2

Jump to NEXT; Pop 2 TOS

********111************111************111111***111***********11:11*****.*******JiI**

•

Delete A (DEL) Instruction

•

************.**111111111:111*************** ••• ***********-********************

8811

8814

Delete B (DELB) Instruction

!LUT INSTRcDELB:O 000 000 001 xxx xxx, ENTRY-DELB, SR s 2
08B9

8808
8809
8810

8812
8813

9: 26 AM

COMMENT

•• 111.***_.111: •••••• 111.*****.**.********* ... * ..... ********* •• **1Ir*************

8803

8807

10/ 2/86

*.111#1:*** •• *111** ALU B ********_**1t**

RREG SREG FUNC SFNC STOR SPEC SKIP

.111**********._********* •• ******** •• ********* ..... **_._.******111.111****_*

8799
8800
8801
8802
8804
8805

'111

•

879:8793

8794
8795
8796

Delete instructions
._****** •• AlU A .111 •••• *.*.*
LABL RREG SREG FUNC SFNC STOR SPSK

SLUT INSTRaDEL:O 000 100 000 xxx xxx, ENTRY=DEL, SR=l
08BB

DEL

JSZ

NEXT

UNC

ADD

EPOP

Jump to NEXT; Pop 1 TOS

• (S), pop 1 TOS

PAGE 179
RECORD
NO

LABL RREG SREG FUNC SFNC STaR SPSK

08BC
08BD
08BE
0813F

....... JlfItJlfJlt.***ItIll.** •• ***.***.*******.***.IIIJII**** ••• llJIIJIIIll**"' ••••• 111*****_
SR2
JSZ PULM
RA
ADD
SHF
UNC
EPOP
JSL NE Xl
UBA ADD
JSZ PULM
SRZ
ADD
SE:L
RA
EPOP
JSL NEXI
UNC
UBA ADD

8817
8818
8819

8820
8821
8822
8874
8 X~ 6

8828

~!!~!!~2~~*B~~nd~ ~~~~~!~~.!~st!~~!!~~~ •• ~ .• ALU B •••••••••• ~ •••

C.S.
ADDR

RREG SREG FUNC SFNC STaR SPEC SKIP

Set Bo unds Flag and Set Bounds Limit

- P r iv

10/ 2/86

9:26 AM

COMMENT

Mode Ins t r s
UBA
Pop
UBA
Pop

=
=

itA
TOS
itA
TOS

Pull 1 TOS i f SR
0
to ex it rout ne
0
I TOS i f SR
Jump to exi t rout

~~T~

PAGE 180
RECORD
NO

C S
ADDR

Enable/Disable CNTl 'B' Instruction
****JII**I11.*** ALU A ******.111*** * ••••• ******. ALU B *JIt.* ••••••• * ••
lABl RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP

8831
8832
8833
8834
8835
8836
8837
8838
8839
8840

a 841

8843
8845
8847

10/ 2/86

9:26 AM

COMMENT

~~t~W!i~IU~!rO~Ob~~~~~I~a~~Tto'~~ r~i~~~!:t~~ ~~r!~~hD~~e
terminal connected to the DCU without causing problems.

Entered with CTR = !19

oaco
08CI

08C2

08C3

DOE

RA

ADD
ADD
ADD
ADD

REGN

OOIA

UBA

JSZ PUlM
ADD
ADDl
CTR
JSl NEX1

SRZ
EPOP ZERO
UNC

UBA :- RA; JSB to pull 1 TOS if SR
: ~~~ ~~ 6~G~T~~ I~Sdis~ble
Inform DCU; Jump to exit routine

=a

PAGE 181
RECORD
NO

C S
ADDR

MESSAGE COMMAND instruction
"'111*111"'***111111*

8 R'iO
8051
8852
8853

MCMD:

8854

RB
RC

8860
8861
8862
8863
8864

**JllIII . . . . lllillllIIlII

111111.111:111.111**""111111:*

ALIJ B

10/ 2/86

Message Command

020104 000004

··..
·.
··..
**

IB = IGNORE BUSY
BF = GO BUSY FLAG
RE • REPLY EXPECTED

8865
8866

Entered with SP4A = 3

8867
8868

8869
8870
8872
8874
8876
8878
8880
8881
8883
8885
8887
8889
889'1
8893
8895
8897

8899
8901

08C4
08C5
08C6
08C7
08C8
08C9
08CA
08CB
08CC
08CD
08CE
08CF
08DO
08D1
08D2

MCMD

SR
0090
0802

JSZ PULM
SRL2
SP4A JSZS PULM
NEG
JSZ PSHM
SR7
ADDL
RG
ADDL
SP4A

0038
RA
MCMl
MCM2 0400

ADDL
JSZ
JSB
JSB
JSB
JSBC
ADDL
ADD
ADD
ADD

IRON
MCMl
MCM2
MCM2
*-1

RH

9:26 AM

111111111111111111#11111111***111*

RREG SREG FUNC SFNC STOR SPEC SKI P COMMENT

1------------1------------1------------1-----------1
1 0 0 0 0 0 0 1 BUSOP ITO CODE IIBIBFIREI
1--------------------------------------------------1
1
LSW OF MESSAGE
1
1--------------------------------------------------1
I
MSW OF MESSAGE
I
1--------------------------------------------------1

RA

8855
8856
8857
8858
8859

ALU A

LABL RREG SREG FUNC SFNC STOR SPSK

MSGI
ODD
UNC
MSGI
CCA
CCA

OC02
RH
RC

OPB

RB
FFFE
RREG RA
RH
UBA

JSZ PIJL2
SRZ
ADDL
RH
ADD
CCA
REPN
BUSC 00(13
XFRR
BKX4 DCTR CTRO

ADD
ADDL
AND
ADD
JSBI * ·-1 RH
SP4A ADD
ADD
RG
OPB XFRR
SREG ADD
RB
OPB JSL NEXI RC

WRX4
BUSC
EPP2
BUSC
CCPX
BUSC
EPOP

ZER:O

UNC

IF SR-l THEN PULL 1; IF SRcO THEN PULL 2
IF SR<3 THEN PULL 1; RH:- GO BUSY CMD
PUSH 1 IF SR=7; SET CCE
~~4A~~~~S~A8~;G~K~~~~MSeEb~A~S~EXT 3 TIMES
WAIT HERE TO GO BUSY
RH: ·TIMEOUT CONSTANT; YREGB: =LSW OF MSG
HANDLE ANY EXISTING MSGI; UBB=CMD WRD MASK
SEND CMD WORD; JMP IF RE BIT -1
JUMP TO FINISH ; POP 2 WORDS
SKIP IF REPLY MSG RCVD; EXIT IF TIMEOUT
SET CCL (IN CASE OF TIMEOUT); READ REPLY LSW
~r~ CCEr~a~E~gp~swwo;dRE~EY~aguG~~u~~r MSGI
RC: =MSW OF R~ pE~: -LSW OF RE PL Y. POP CMD WORD
READ NEXT INSTRUCTION

PAGE 182
RU":ORD
NO

r. s
AD()R

8903
8904
R!J05

Channel Program Processor Communications
."'"***,,._** ALU A * i • • • • • • • • • .. **** .. ~** .. * ... ALU B ** ••••• _••••••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

This is a machine-dependent 1nst ruet ion which
communicates with the Channel Program Processor via
three parameters passed and returned on Ihe TOS

8'10'1

8',1,J
8'1l1

3'Jl2
B915

8917
R918
8920
8922
8923

8925
8927
8929
8931
8933
8935

8937
8939
8941
8943
8945
8947
8949
8951

8953
8954
8955
8956
8957
8958
8959

8960
8962
8964

8966
8968
8970
8972

9:26 AM

CCPP - Communicate with Channel Program Processor

,
9026
9028
9030
90n

9014
9035
9037

C. S.
ADDR

Channel Program Processor Communications
.~~~*.*** •• ALU A 111 •• * ••• ****
*.** ••• ***.*. ALU B **.*111.** •• * •• *
l.ABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SI<.IP

.

101 2186

9:26 AM

COMMEN"r

"**JII****IIt********JlrJlrJllltllltllrlllltllt*'III**lIrtilrJlfJII*JII****JllIII:***"'III.IIt**1fI1ll1iI***IIrIlr**JllIIIJIc*****

CCPW
08ED
OREE
08H
08FO
08F 1
ORF2
08F3
08F4
08F5
08F6

is the write path of CCPP

C:CPW OC02

II

ADDl
ADD
ADD
UBA
REPN
BUSC 0003
ADD
ADD
DCTR CTRO
JSB CCPI
MSGI
ADD
ADD
U~IC
JSL [OMS
ADDl
0007 RD
ADD
ADD
CCA
UBA ADD
ROX3
ADD
WRX3
RD
8000
ADDl
007F
ADDl
UBB OPB lOR
DATA
UBA RA
AND
DATA
UNC
JSL NEXI
JII**** III III **111111111* III * **111 *111*111 ***l1li111:*111: IItIlrJlf**1II III III ****111 III III *** 111111 ill: * •• III *. **111*111 III III *.~"oII:

CCPI

Set CCE; Read CPP status
Setup to write MBO; UBB
Isolate cmd; Rewrite MB3
Clear semaphore lock and

(MB31
:" bit 0
wI uppe r bit " 1
send command; Done

JIll

CCPI

08F7
08F8

Send command routine
Go BUSY; Repeat next line 3 times
Wait here to go BUSY
un~~~~ E~~:~~Ot~ c~~ handle inte r rupt

SPOA

is the restart path of CCPP. The semaphore is
unlocked and control passes to .IRDN to hand1r a
pending MSG interrupt. In this event. the CCPP
instrUction is eventually restarted from the
beginning.
RD

CCPA

ADD
ADD

WRX3
DATA

ADD
JSl

IRDN

UNC

Setup semaphore address
Restore semaphore; Handle interrupt

POS

No CPP ..
0
RC
0; ~~r~6GR2 setup store of RA
RA
-1 else RA : = 0
Jump to exit routine

is the abort path of CCPP. TOS is set to -1 if the
abort is due to a missing lOA, else it is set to zero
(indicating the lOA is present, but that a CPP is not
ins tailed I.

$NOWARN
08FS
08FA
OUB
08FC
OIlFD
08FE

CCPA
l;WARN

XR9

ADD
ADD
ADD
ADD
ADD
ADD

RC
RA

UBA

ADD
ADD
CAD
JSl
ADD
ADD

RB
NEXl

RA

CCl

UNC

..

NOP to keep system happy
NOP to keep system happy

(25551
(25551

PAGE 184
RECORD
NO

9041
9042
9043
9044
9045
9047
'l049
9051
90')3
9055
9057
9059
9061
9063
9065
9067
9069
9071
9073
9075
9077
9079

.* ...

CS.
ADDR

J/O Channel Program Code
111._ ••••• *.* ALU A 111**_*_- ••• LABL RREG SREG FUNC SFNC STOR SPSK

0900
0901
0902
0903
0904
0905
0906
0907
0908
0909
090A
090B
090C
0900
090E
090F
0910
0911

%0900
•••• *********************-****************************-*-*_ •••• _•••• .*.****************~~~!~~~r!~~*;~~~*r~~~~************* ** _____ ••
!TAB
ADD
NZRO
UBA SP2B JSB FCHI SP2B
INTi
XRO JSB IN1H
UNC
OFFF UBA ANDL
RH
NF 1
JSBC WAIT
UNC
XR27 ADD
RH
WRS
0060 XR12 ADDL
SP4A
XR27 JSL READ
UNC
SP4A
XR27 JSL WRIT
0060 XR12 ADDL
UNC
ADDL
XR2
COOl
XR26 JSB DSRJ
UNC
XR2
XR26 JSB lOY XRO
C002
ADDL
UNC
XR27 JSL READ
0070 XR12 ADDL
SP4A
UNC
SP4A
0070 XR12 ADDL
XR27 JSL WRIT
UNC
SP4A
JSB CLER
UNC
003F XR12 ADDL
OPA ADD
XR2 SF3A
JSB RMW
ZERO
ADD
JSB RRG
UNC
UNC
JSB lOW
UBA ADD
RG
SF4B
JSB CMD
ADDL
RH
UNC
4000
UNC
ROX3
JSL XDMA BKX6
SP2B INC
NEG
JSB WRIM
UNC
RH
ADD SWAB
CRCJ 003F XR 12 ADDL
SP4A
XR22 JSB CRCI SP3B
UNC
eRCD 0071 XR 12 ADDL
XR2
XR22 JSB CRCC SP3B
UNC

* III III III III III III III * III III * * ALU B **.* ••• __
RREG SREG FUNC SFNC STaR SPEC SKIP

_***.:

10/ 2/86

9:26 AM

COMMENT

o. REL. JMP ;ADD TO 
~:~~i~~~~P:b~~6T~~U~D~~0=CPVA COUNT;INT CODE
3.READ.SEC ADDR U060;DRTO ADDR
4.WRITE.SEC ADDR %4060;DRTO ADDR
5.DEV-SPECIFIED REL JMP,REC 1 BYTE ;DEVII

':I~i~T~~~t=~E:;~~CA~D~Y~~6~~~~RTO ADDR
8.WRITE CONTROL.SEC ADDR %4070;DRTO ADDR
9.CLEAR,UNLISTEN CMD %403F,
A. READ -MOD-WR IfE ; F3A FOR RMW RETURN TO FCHI
B.READ REGISTER,
g~~~N~E~~~1~; ~~~I~~M~OF~~~ktM( -1)

M(  -1 )
XRO(15:1~:.DRT3~S:I);SHIFT  RIGHT 4X

~~::~~Agog~~~~~F;~~ ~~~~n~C~R T~~~~US
~~~~(~~:~i(!6B~li4C~~?~E~FF~R~~ 8!i: ~~~~

DMCK Ir CHAN REQ;DRT3(10.XXXl)???
CHR IF ILLEGAL CSRQ;EXAM IF DEV REQ

PAGE 186
RECORD
NO

C.S.
ADDR

9[53
9154

9155

9156

9157

9158

9159
9160
9161

9162
9163
9164
9165

9166
91R7
9168
9169
9171
9173

9175
9177
~ll

7 'l

9181
9183
9185

9187

092B
092C
09:'D
092E
092F
0930
0931
0912
0933

>1190
9191
91 !15
9196

919"
9198
91 Q9
9~1J5

9207

~~~~.;~~~.~~~e"!~~;

..... "~~~e ................. ;~~ .. ~;~~ ........... !~~O

9:26 AM

TIMEOUT ERR CODE; READ REGIB, DMA STATUS
REGIB{SHIFTED ONCE);SKIP IF OBSI{3:1)=0
REGIB(SHIFTED TWICE);CHR IF OBSI(3:2)=lX
ERROR CODE;BKX7:=SHIFTED (1) REGIB
EXAM IF OBSI{J:2):=00;
REGIB(SHIFTED 3X);READ REGIS,EXT DMA ADDR
DRTl+4::;READ REGI9,DMA MEMORY ADDR
+S:=;REGIF
AE IF ;STRT IF <11X .. XXXX>
CHR IF OBSI(7.1)-O,DEV REQ,AE IF 

PAGE 187
RICORD
NO

C S

ADDR

9710

0938

9~17

~ft~

0939

!J229
9211
9713

093A
0938
093C

'l?35
'l?17

',739
9741

'J;'43

9<>45

9:26 AM

COMMENT

JIc

••.

•••••• ••••••••••••••

••

...........

••

MASK REG#B(9:1);DMAM IF DMA.DRT3(14:1)=1

:*****.***.*********.*~~!~!!~~~l.2~~*~~*~~r.~r*~~r*~~~ .!!~~l~****.*.*

~~~~
9223
9224
92?S
9226

~~~~

JIll:

:*.*.** ••

~t}~

10/ 2/86

11: • • • • • •

/()If"

9~11

~~l~

CHANNEL PROGI~AM PROCESSOR
II . . . . . . . . . . .
ALU A ••
** •• * •••••••••• ALU B ."' •• ***JlfJII:III:III***
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
.. III
* If '" * III * * .. IIr III: * '" '" IIr III * * III III #I." III 111" '" III 11(.111 III III. * III * * .. * III 111" * * III * * *"1< III: * '" * III * * * III * *}I( '" III
JSB DMAM IF DRT3(14:1)=I,CP SUSPENDED WHILE
***.*IIr.*.**.*~~~~.~~!*r~~~~~~~.!~*~~~~~~~~*** ****_ ••• *** ••• :
~~~;.22~2.~~
~~~;
~~
~~1 !~; ~~e ~
?~~
CHECK DRT3(12:2);THERE IS ONLY ONE

~~ •••••••• !~~ .. e~~

.•••••• ~~ ••.••••••••••• !~~2.!~~ .. r~ •• ~~~~ ..•••• ~~~O

WRT REGIIF:=DEVU

MASK OFF THE DRT3(03),
& RETURN IT BACK
TO DRT3 ADDRESS,ENABLE RECOGNITION OF PHI
CONDITIONS BY WRITING REGII3 =%7FFF
JSB CRCI IF THE FIRST INSTR BIT8 SET,OTHERWISE,

****.*.*.***.*.****~~*~~r~~**~~~~~:~~*~~~~!~~.**.**~*. *********tIII*****

AE

onD
O'llE
09]F
0940
0941
0942

NRUN

CAD
ANDL
ADD
ANDL
JSB
JSB
XR4 JSB
SP4A JSB
JSB

EOOO XR4
SP2B
0040 SPIB
UBA

LSR

CRCJ
FCHI
NRNB
CHRA
EXMl

RG
XR4

ROB3
NZRO
ZERO
NF 1
ODD
UNC

UBA

XRl8
XR28
UBA
XRO
SP2B
SP2B
SREG
UBA
SP4A

JSB
ADD
ADD
JSB
INC
ADD
ADD
JSB
JSB

lOW

FCHO
CHR
CHRA

SP3B

WRS
DATA

SP2B
CFl

NZRO
NZRO
POS
ZERO

WRITE TO REGII3:-%7FFF
MASK DRT3;DRT3 ADDR
READ M( (POINT> ,-1) ; SAVE DRTJ
MASK;GO FETCH
DO CRCJ IF SPIB(9:l) SET;INC 
FCHl IF DRT3:.<10 .. XXXI>;
NRNB IF OBSI(7:l)=O,-1 FOR FCHO
HL T PGM IF <01X.0001> ;CHR IF
GO CONTINUE PROGRAM;HLT PGM IF

PAGE 188
RECORD
NO

C.S.
ADDR

*,. *

9248

III:

.*

9~49

9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9;:60
9262
9264
9266
9268
9270
9271
9272
9273
9275
9277
9278
9279
9280
9281
9282
9283
9285
9287
9289

CHANNEL PROGRAM PROCESSOR
~********** AlU A **_a_*.....
LABL RREG SREG FUNC SFNC STOR SPSK

0943
0944
0945
0946
0947

094A
0948
094C
0940

9:28 AM

STARTING THE CHANNEL PROGRAM,DRT3:-
1. ISSUE 'SlOP' FOR THE CHAN WITH BIT12 SET IN
DATA TO CLEAR THE CSRQ,
2. SET DRT3-%8000, REQUEST START OF THAT CHAN PGM
3. JSB AD IF NOT CONTROLLER IN CHARGE,
4. IF CIC, ASSERT 'REMOTE ENABLE' AND THE PAR ITY
LOCKUP, REGI6:=%0060,
5. THEN, ENABLE DEVICE PARALLEL POLL RECOGNITION
SET CORRESPONDING PPRNI IN REGI4,

XRI4 ADD
JSB
JSB

XR4 CFI
4000
ADDL
SP3B
lOW
UNC
0008 XR26 ADDL
RG
AD
EVEN 0060
ADDL
RG
~g~L R"'" XR2 UNC
0400 XR2I ~~gL lOW ~~~~
NZRO
III * til III * * JII*I.!III. *111 til III III * III III III *,. III * III III III III ** * III lit * * III #I: II: ** '" It III * * II,. * * II: * III #I * * *,. III * III III III III .. III l1li
XR8
0018 XR6

l1li:

10/ 2/88
COMMENT

* * III * * * * l1li *,. III * * * * * * * ** * * JII* * * III III * III * * * * * * III ** * ** til III: * * * III III,. * III * * * * * III III II: l1li III * *,.

*******************!**~~~*~~.*~~!*~~!~l~~!l:!********* *.* •• _*.* •• *.*.

STRT

III

0948
0949

a********.*** ALU B **********.***
RREG SREG FUNC SFNC STOR SPEC SKIP

r

*:

: * l1li *,. * III * III * * III III * .. ,. * III * ~~~~! ~ ~l :~l~~! 1~~!!~ *~~r~: !~~. it ~~~~!. III * * III * * II * * til
NRNB
UBB JSB CHR
POS
ADD
BKX6 SFI
•••••••••• ~~!~. ~~~. * ~~ r~ * * * * * * ~~~~ * * * * * * * ~~!~ * ~~~. * ~~ r~ *. * *. *. * * * *~~
CHECK THE CPVA ADDRESS.
IF < %40,NO INTERRUPT IS GENERATED IN CHR,
SINCE THAT WOULD WRITE INTO CPU RESERVED MEMORY
•
AREA ;OTHERWISE CONTINUE WITH INTERRUPT.
**********11:********.**************************111.**********_**_ •• **_**
CHR FFEO XR3 ANDL
OCOO
ADDL
SP3B
SREG ADD
WRX3
UBA JSB CHRI
ZERO
XRI3 JS8 lOW
DATA 0008 XR26 AODL
RG
CHR I
JSB CHRA
UNC
JSB· HL TP XR9
F1

SET DRT3:-%8000;SP3B:-%4000,SIOP CMD
SEND THE SlOP CMD
JSB IF NOT CONTROLLER;%0060

~~~I~i~E~~~WggET6oIR~~I~EGt4

CHR IF DRT310:2)-00;BKX6 FOR RMW RETURN
HLTP IF DRT3II2:4)-0 OR BITISel

TEST IF THE INTERRUPT IS WITHIN %20; REGIC
 AS ADDR;CHRI IF THE INT ADDR <%20
CPVA: -ERROR CODE ;WRITE TO REGIC: -X,0008+DEVI
CHRA IF CONTINUE W/O INT;HLTP RTN{XR9-CLFFJ

PAGE 189
RECORD
NO
9292
9293
9294
9295
9296
9297
9298
9299
9300'
9301
9302
9304
9306
9308
9310
9312

9314

9316
9318
9320
9322

C S.
ADDR

9: 26 AM

: .................. ~~~~.:.~!~~.!~~~!~!~!.~~!~!!~.~y.! •.••....•..•... :

0958

RRG

 AS ADDR;JSB TO READ THE REG
:-;REFETCH NEXT INSTR

0003 SP2B
SP2B
UBB
OPB
ITAB UBB
OPB
OFOO UBB
SPIB
FFEE RG

Jp

*************111:*****!;;;;;;;:;;:!:;;;;;:;;;:~:;;::;:;:: :!:::::::::;:!:
0959

9137

III

1fI:*

;.

9338
9339
9340

SP2B ADD
RG
ADD

WRX3
DATA

JSB
JSB

lOR
FCHI

UNIC
UNC

**JII. III ******IIIJ1IIiIIJIII iIIfillII:******* *_.111* 11111 ... III III 'It * III * *111 *:111** * **IIII11t • • 111* **111 III: III III 1II*1II:1IIJ11J11
READ-MODIFY -WR ITE INSTRUCTION

1-----------1-----------1-----------1-----------1·
I 0 0 0 0 1 0 l O X X X X REG.NUMBERI·
1-----------1-----------1-----------1-----------1"
I X X X X X X X X X X X S BIT NUMBERI·
1-----------1-----------1-----------1-----------1·
1111. III III .. * *,. III * *"*111111*111* *111111111 * 1II*.**IIIIl1I11* III ".11111"*,. "111'''" * 111**"**" ****11111
111111* ***111*

9341

9342
9343
9344
9J4r,

*itllt

O'l'i;·

934a
9150
91'i2

o "iO

9'Jt)fl

O'l',F

r~lc,4

10/ 2/86
COMMENT

INC POINTER BY 3
;INC POINT AND READ M«POINT>-l)
CHECK POWER FAIL ;READ M(  -1)
SEND ADDR TO RAR. RH: =OPB (LOWER BYTE); REGII
 ;
CPVA COUNTS;CHECK VALID I/O INSTR
SAVE M«POINT»;V TO ABORT IF INVALID INST

9329
9330

9 ~J t) IS

ALU B 1II111*1II:1II:.1II111111:****JIr

ADDL
SP2B
INC
ROX3
INC
SP2B ROA3
ADD LRZ RG
CF5B
ADDL LBL
ADD RLZ SP1B CF4B
ANDL
SP3B
SPIB CFl
CAD
ADDL
XR23
NEG
JSL V
UNIC
1II11r****** •• ******III.III*JtJlr.tII'******III:IIII11******IIt****JII:*IIIIItIll:III:IltJIIIIII*****Ic*****IIIJ11**1If
•
READ REGISTER INSTRUCTION
•
1-----------I-----------1-----------1-----------1·
I a 0 a 0 1 a 1 1 X X X X REG.NUMBERI·
1-----------1-----------1-----------1-----------1·
I
RETURNED WORD
I·

9328

911\6

111:**111111**111:111***111

RREG SREG FUNC SFNC STOR SPEC SKIP

FCH4
JSB FCHI
ZERO
FCHI
ADD
CF2
FCHO 0008 CPXl ANDL
UBA
JSB CPEX
NZRO
EOOI
ADDL
SP4A
UBB
ADD
WRX3
UBB ADD LRZ RH
RAR
XR5 ADD
RG
CF3A
0003 RH
ANDL
XRO
OPA ADD
SPOA RSB

9327

9334
9336

ALU A 111*****111111"'.111

094E
094F
0950
0951
0952
0953
0954
0955
0956
0957

9326

9332

••• ****l1li:*111*

INSTRUCTION FETCH ROUTINES
THIS ROUTINE FETCHES THE NEXT CHANNEL INSTRUCTION·
TESTS FOR POWER FAILURE INTERRUPT .CHECKS VALIDITY·
OF THE INSTRUCTION CODE AND BRANCHES TO THE
•
EXECUTE CODE THROUGH THE DECODE TABLE.
FCH4 ~ WILL INCREMEMT POINTER BY 3
FCHI • WILL INCREMENT POINTER BY 1

9323
9324
9325

9331

INSTRUCTION FETCH ROUTINES

L.ABL RREG SREG FUNC SFNC STOR SPSK

09t;C

(1'150
oqr,E

0'j60

~'MW

OOOF XR2
XR2
FF9F

ANDL
RH
ADD
ADDL
RH
ADD
JSB lOW
.JSB FCH1
JSB CHRX

UNC
F3A
UNC

JSB lOR
002F RH
CTR
SUBL
0010 UBA ANDL
RG
Rf.GN lOR
RG
UBB REGN XOR
RG
JSB CHRS
BKX6 JSB AD

UNiC
ZERO
UNC
F5B
NEG

MASK WD(12:4);JSB TO READ
ADDRESS
~I~5R=kgRW¥~~S~~~0~lT20US);SKIP IF CLEAR
JSB TO WRITE TO REGJ; RG: =RG WITH BIT CLEAR
FCHI IF FROM RMW; CHRS IF FROM INT /HLT (CIC)
CPXl IF FROM NRNB; FOR STRT RETURN
CTR:~MASK

PAGE 190
RECORD
NO
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9381
9383
9385
9387
9389
9391
9393

COMMAND HP-IB INSTRUCTION
C.S.
ADDR

****111.111:**** ALU A .**********

LABL RREG SREG FUNC SFNC STOR SPSK
III III III !Ie III III

III • • 111 III

**.********** ALU B 111****111*******-

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

* 1111 111 III III III * III: * * **._ *. III. III III * 111* * III III * III III. III III III * ** * III III * III III III III III III * 111 III III * III III * *"" 1111
COMMAND HP-IB INSTRUCTION

•

1-----------1-----------1-----------1-----------1·
I 0
0 0 0
1 1 0
1 X X X X X COUNT I·
1-----------1-----------1-----------1-----------1·
1
COMMAND NO.1
I
COMMAND NO.2
I·
1-----------------------1-----------------------1·
1
COMMAND NO.3
I
COMMAND NO.4
I"
1-----------------------1-----------------------1"
I
COMMAND NO.5
I
COMMAND NO.6
I'
1-----------------------1-----------------------1·
I
COMMAND NO.7
I
COMMAND NO.8
1*
1-----------------------1-----------------------1**
FIRST, CHECK IF FIFO EMPTY

*

THEN XFER POINTER TO SPOA, UNPACK THE COMMAND
WORDS, AND SEND THEM OUT OVER HP-IB VIA WRITING
TO REGISTERIO (FIFO DATA BUFFER)

•

* ** * III * III * III III ** **111 * III: III III * III * III _* * '* 111* *. * * * III III * 111*" III III * III * III III 11 * * * *" III III III lit". '" III 111111;*.l1li: * * III

0961
0962
0963
0964
0965
0966
0967
0968

CMD

SP2B ADD
JSB
CMDO
OPA ADD
OPA AOD
CMD1 SPOA
INC
JSB
JSB
ADD

SPOA
SUSP
LRZ
RRZ SP4A
SPOA
lOW
CM01

UNC
UNC
ROX3
UNC
NF 1

0007 RH
RREG

ANDL
INC
ADD
UBA RH
lOR
RH
SP4A lOR
FFFF SPIB ADDL
SP IB JSB FCH4
JSB CMOO

SPIB
SPIB
SP3B
RG
CFl
RG
SF 1
SP1B

NZRO
UNC
ZERO
UNC

;SKIP IF NOT 0
CHECK FOR FIFO ROOM; SP IB: ·8
SETUP LEFT BYTE CMO;REGIO
SETUP RIGHT BYTE CMO; RG: s (ATN+LBYTE ) ,CFl
NEXT MEM READ;RG:c(ATN+RBYTE),SFl
GO TO WRITE REG'O;DECREMENT COUNT
GET RIGHT BYTE IF NFl;FCH4 IF DONE
CMDO FOR THE NEXT BYTE

PAGE 191
RECORD
NO
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9436
9438
9440
9442
9444
9446
9448
9450

C.S.
ADDR

WAIT INSTRUCTION
*~~~~**.~** ALU A **~*.******
U\Bl RREG SREG FUNC SFNC STOR SPSK

*111.* ••• **.*** ALU B ************~*
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9 26 AM

COMMENT

WAIT INSTRUCTION

1- - -- - - - - -- -1- - - --- - - -- - I - - 1- - I - - -- - - - - I - - 1- - - - -I'

I 0

0

0

0

0

0

1

0 CC CI

X X X S

CPVAI'

1-----------1-----------1--1--1--------1--1-----1'
I 0 0 0 OISERIAl POll RESPONSl/INTERRUPT CODEI'
1-----------1-----------------------------------1'

THIS INSTRUCTION CAUSES A SUSPENSION OF THE
•
CHANNEL PGM EXECUTION UNTIL THE DEV AGAIN
REQUESTS SERVICE IT MERELY ALLOWS THE CHANNEL
TO START POLLING ALL THE DEVICES
1 FIRST UPDATE THE DRT TABLE;SAVING DRT310:3),
& SET BITlS,SAVE THE POINTER IN DRTO
IF DRT3=cOX .. XXXX>,JSB CHR;WHICH MEANS THE
THE PGM IS IN NON-RUN STATE AND TERMINATES
ITSELF WITH INTERRUPT CODE %AOOO
3. IF BIT13 OF INSTR. IS 1,THE CHAN WILL WAIT FOR"
WHATEVER CONDITIONS ARE SELECTED PRIOR TO THE '
WAIT INSTR TO CAUSE ASSERTION OF CSRQ (E.G.
DMA COMPLfTION OR SOME CONDITIONS SELECTED IN
REGI3 OF THE GIC) .THIS MODE IS INVOKED TO
FACILITATE OPERATING THE CHANNEL AS AN HP-IB
DEVICE.THIS IS ACCOMPLISHED BY WRITING
REG'F:=%0080+DEV • OF THE CURRENT CHANNEL PGM.
4. IF BITI3=0.AND IF IT IS NOT CONTROllER-INCHARGE,SAME AS 3.ABOVE,EXCEPT NO CHG IN REG F '
5. IF BIT13=0,AND IS CONTROLLER-IN-CHARGE ,THEN
THE CHANNEL WILL BE SET TO ISSUE CSRQ WHEN
PARAllEL POll,SRQ,SIOP,OR HIOP DEV REQ OCCURS
OR IF AN HP-IB STATUS CHANGE OCCURS ON THE
CHANNEL CONTROlLER,REG'3:=%80AO.
THIS WIll HAPPEN PROVIDED BIT8 OF 1ST INSTR
IS 0 AND OUTBOUND FIFO IS IDLE.
IF NOT, BITS8, 9 OF THE INSTR MAY BE USED TO
PERFORM CRC INITIALIZATION AND COMPARISON.
6. AFTER ALL THESE, WAIT ABOUT 2 USEC TO AllOW
PRIOR CSRQ TO UNASSERT BEFORE EXIT.

1II111****I111: . . III.*.**III******IIc*_***.IIIJ11J11J11J11.****.**JII**.III.*** ••• JII** •• 111**111111111*111***

0969
096A
096B
096C
0960
096E
096F
0970
0971

ADDl
RG
ADDl
SP4A
ADD
AND
INC
JSB CPX2
JSB SUSP
OOAO XR14 IORl
RG
CPX2 FFF6
ADDL
RH

W~IIT

0080
2000
RH
UBB

XR6
XR14
XRI0
XR4
UBA
XR8

WRS
DATA
EVEN
SFJA

UBA SP2B
RG
EOOO
0400 SPIB
XR30
RH
SPIB
XRl8

ADD
JSl
ADDl
ANDl
JSB
JSB
JSB
JSB
JSB

DATA

DCER
lOW

RH
SP3B

lOW

SP3B

CPX2
CRCD
CPXl

PO$
NZR:O
NZR'O
ZERO
PO$
NZR'O
ZER:O

%0080+DEV';DRTO:-cPOINT>-1
PGM IN NON-RUN STATE; SP4A: -ERROR CODE
DRTJ;MASK

g=t~.~~MA~~~t~~~~A~~~:~A:~~:i66~5~6Jv.

CPX2 IF NOT CIC;CPX2 IF INSTR(13:1)-1
S~~¥~ ~~F~~5:g~.I~o~b-1)CO (F3A)
Allow about 2 us to unassert prior CSRQ

PAGE 192
RECORD
NO
9453
9454
9455
9456
9457
9458
9459
9460
9461
9463
9465
9467
9469
9470
9472
9474
9476
9478
9480
9482
9484
9486
9488
9490
9492
9494
9496

IDENTIFY INSTRUCTION
C.S.
ADDR

* •••• ****** AlU A *********_.

LABL RREG SREG FUNC SFNC STOR SPSK
l1li III l1li III .. III .. III III

*

III..,. III III

*.~HII****I1111****

* l1li l1li.* l1li111 *" * * * * * * * * "" III" • • *. _* •• *_ * ** III *** **.* * * III III *" .. *,. * *
l1li

l1li

IDENTIFY INSTRUCTION

: .. * * l1li * * l1li .. l1li * . . III
001F

lOY
DSR

0976
0971
0978
0979
097A
097B
097C
0970
097E
097F
0980
0981
0982
0983

003E XR12 ADDL
ADD
TLK1
JSB
JSB
XR2 ADD
ADD
ADD
JSB
ADD
IDYB
SP2B ADD
RG
ADD
005E XR 12 ADDL
SPOA UBB
lOR
JSB

UBB

*

1-----------1-----------1-----------1-----------1·
I 0 0 0 0 0 1 1 0 )( )( )( )( )( )(
X Xl·
1-----------------------1-----------------------1·
1 FIRST RETURNED BYTE 1 SECOND RETURNED BYTE I·
* * * * * * !;;::;;;;;;:::;;::::::: :!: =::=:===: ::======== ;;:!:

0972
0973
0974
0975

ADDL
SP4A
JSB SUSP
UNC
ADD
JSB
IDYB
NZRO
RG
lOW
lOW

ZERO
UNC
RG

DSJB
RLZ
lOW

F3A
CF2
WRX3
SPOA
DATA
UNC

403F
ADDL
ADD
0004 OPB ANDL
*+1
XR23 JSB
JSB
ADD
4040 SP4A ADDL
4060 XRO ADDL
JSB
ADD
ADD
ADD
JSL
JSB
JSB
RG
ADD
UBA JSB
SP1B ADD

10/ 2/86

ALU B * •••• 111********

RREG SREG FUNC SFNC STOR SPEC SKIP

lOW

SP1B

ODD

SP3B
ZERO
SP3B PSHR
RG
RG
UNC
lOW
POPR
NF5B
RSB
UNC
SUSB
lOR
SP3B
ZERO
lOR
UNC
RRZ
UNC
lOW RG
SF4B
RG

C N, THEN A DISPLACEMENT OF 0 IS ASSUMED.
THIS INSTRUCTION HAS A VARIABLE NUMBER OF WORDS
& THE LEFT BYTE OF THE 1ST WD IS THE MAX RESPONSE'
& THE RETURNED BYTE IN THE 2ND WD(SP4A) IS •
READ FROM REGIO; THE SEQUENCE IS AS FOLLOWS
•
1. JSB DSRJ IF NOT FROM SUSPEND;DSJB IF FROM
SUSPEND(WHEN F2·1)
2. IF DSRJ,FIRST CHECK THE FIFO(SUSP ROUTINE),
THEN,ADDRESS THE DEVICE TO TALK ROUTINE(TLK),
3. THEN,ONE DATA BYTE IS RECEIVED FROM THE DEV
4.

098B
098e
098D
098E
09RF
0990
0991
0992

~~~~DF~~~~06F ~~~ ¥~~~~Bc~~6~ i~~M~~6~~NED

THE ENTRY IN THE JUMP DISPLACEMENT TABLE IS
FOUND,WHICH CORRESPONDS TO THE RETURNED DATA
BYTE, AND ADDS THAT 'REL DSP' WORD TO THE
ADDRE SS OF THE CHAN INSTR IMMEDIATE LY
FOLLOWING THE(DSJ). THE RESULT IS THE NEWADDRWHICH WILL BE EXECUTED NEXT.
•
HOWEVER, IF THE MAX RESPONSE IS LESS THAN THE
RETURNED BYTE, THE INSTRUCTION IMMEDIATELY
AFTER THE THE OSJ WILL BE DONE NEXT.

: .................• ~~.~!!.r?~~~!!r~~~!~~!~:~~~.~~.~?!~r~~~~~~~r~~ •.•

DSRJ

DSJB

UBB

ADD
JSB
SP2B ADD
RG
ADD
UBA SP2B INC
SP4A SUB
RH
RREG OPA ADD
ADD

DSR
RRZ

SP4A SF3A
NF'2
WRX3
SP4A DATA
ROX3
NEG
RH

0010

ADDL
ADD
JSB
405F
ADDL
JSB
403F
ADDL
JSB
RH
SP2B JSBI

lOR

XRO
SP3B CF5B

RG
RG
lOW
FCHI SP2B
lOW

UNC
UNC
UNC
NZRO

SP4A: -DEVI ; SEC ADDR
DSR IF NF2;ELSE DSJB,REGIO
 AS ADDR;JSB TO READ REGIO
RETURNED BYTE TO ;UNTALK CMD
READ ;SEND UNTALK CMD
MAX RESPONSE>RETURNED BYTE? UNLISTEN CMD
NO, RH. =M( +1+REL DSP); JSB UNLISTEN
,  =+1+N+REL DSP

PAGE 195
RECORD
NO
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9628
9630
9632
9634
9636
9638
9639
9640
9641
9642
9643
9fl44
9'-,4:,
9(,46

C S
A"IDR

INTERRUPT INSTRUCTION
111111"'.111:111111111111111111

ALU A

111111 • • • "''''**111111

UIBL RREG SREG FUNC SFNC STOR SPSK

JII"'lII**IIIJ11;.JllJllJII**

ALU B ••

101 2186

*.*.**.JII.*~I*

RREG SREG FUNC SFNC STOR SPEC SKIP

9:26 AM

COMMENT

INTERRUPT INSTRUCTION

1-----------1-----------1---1-------------1-----1"
I 0 0 0 0 0 0 0 1 RIH X X X X X CPVAI"
1-----------1-----------1---1-------------1-----1"
I 0 0 a 0
INTERRUPT CODE
I'
1-----------1-----------------------------------1"
THIS INSTRUCTION WILL CAUSE THE CHANNEL TO ASSERT"

AN EXTERNAL INTERRUPT REQUEST TO THE CPU ON
"
BEHALF OF THE DEVICE
1ST WD' BIT8 INDICATES WHETHER THIS INTERRRUPT
WILL CAUSE THE CHANNEL PGM TO HALT OR
CHANNEL PGM TO CONTINUE AFTER THE
INTERRUPT REQUEST IS INITIATED
6IT514-15 INDICATES CPVA LOCATION FIELD, "
THE CHANNEL PGM CAN SPECIFY INTO WHICH
OF THE R~SERVED FOUR WORDS THE INTERRUPT "
CODE WILL BE PLACED
2ND WOo 61TS4-15 INDICATES THE INTERRUPT CODE,
TO RELAY INFORMATION TO SOFTWARE ABOUT
WHICH TYPE OF INTERRUPTS
WHEN THE INTERRUPT CODE IS WRITTEN INTO
THE CPVA, BITSO-3 WILL SET TO 1000
THE SEQUENCE OF THIS INSTRUCTION IS AS FOLLOWS'
1. ~~e~ i~~ gb~~ ~egR~~S~g~~P~?~~Ni)tT IF
FROM CRC MISMATCH.
2. IF WO 1 BIT8=1,JSB TO CHECK THE FIFO;SAVE
THE +1 IN DRTADRO.

III __ I " III III III

0993
0994
0995
0996
0997
0998

]II ..

HITH
HIL2

UBA
RH

III " III III III III III III

* " 111 ~ *JIll ! ~ III ~ III ! .. ~!!!: ~ ~ ~~! III ~ ~ ~

SP1B ADD
JSB
XRO ADD
XR3 ADD
XR14 ADD

HBF2
NF2

SUSP

WRX3
DATA

'/I -. III: III

* • III " * III III III III lit III

111:

III III III

RREG UBB XOR
RH
XR23 JSBI INL2
ADD
XR27 ADD
XR30 ADD

*

III III III .. ::

CF5B

ZERO

WRS NF,'
SF4B F2

*~****JII*.*~!~.*~~~*.*****.*.JII.*.**.*.***JII~~~~*!~~************~er~***~

SET F2 IF INT/HLT;ERR CODE
CHECK FIFO IF INT/H;INL2 IF FROM CRCC
CPVA ADDR;
DRTl+CPVA COUNTS AS ADDR;DRTO AS ADDR
%8000+ERROR CODE;SKIP IF INT/RUN,F4 FOR FCH1
;DRTO:-+l

4. PLACE THE INTERRUPT CODE+%8000 INTO THE
CPVA LOCATION SPECIFIED BY WORDI (14 2)
ADDED TO THE CPVA ADDRRESS OF DRTADRI
SET INTERRUPT REQUEST
BY WRITING INTO REG'C=%0008+DEV' .

0999

..................• ~?~~r~~.!~.!r.!~.!~!~~~~~!!~~~i!~~!~:~~.~?!~!~~.~
0008 XR6

ADDL

RG

UBA

XR 18 JSBS lOW

SP3B

NZRO

REGIIC: =%0008+DEVII

PAGE 10 6
RECORD
NO

C S
ADDR

964'1

96',0
9651
9652
96S3
9654
9655
9656
9657
9658
9660
9662
9664
9666
9668
9669
9670
9671
9672
9673
9675
9677
9678
9679
9680
9681
9682
9683
9684
9686
9688
9690
9692

099A
099B
099C
0990
099E

099F
09AO

09A!
09A2
09A3
09A4
09A5

INTERRUPT INSTRUCTION
It.,..***.*_.* ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

.**.111 •••••••• ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

NOW IT IS THE INTERRUPT/HALT ROUTINE ,READY TO
CLEAN THE CHANNEL TO ABORT THE CURRENT CP CLEANLY·
1 READ THE REGIB.AND MASK BITS9-11 +DEVI,
•
2 &WRITE IT BACK TO REGIF,& SET REG'3: c%7FFF,
ENABLING PHI INTERRUPT
JSB TO CHRC IF IT IS CONTROLLER IN CHARGE,
111 * * .. * .. * .. * " lit III * 'III: * /II * * * III * 'III: ~ ~ ~~ III ~~~r! ~~~
'III: III .... III lit .. " * III * III * .... III III * .... II .. III * * * * * III II * JIll :
CHRA
JSB lOR
MEDJ OBOO
ADDL
SP3B
0070 RG
ANDL
SPOA
0300
ADDL
SP3B
CAD LSR RG
CF2
JSB lOW
UNC
SPOA XR6 lOR
RG
XR30 JSB lOW SP3B
NZRO
~~~ ~~~.*c;~~c;.*** ~~
~~!r.~~~
***.~~~~.c;~~~....
FOR HP-IB DEVICE(NON CONTROLLER IN CHARGE)
•
CLEAR DEVICE REQUEST BITS AND KEEP PARITY FREEZE,·
BY WRITING REG'6:-(BIT 9,PARITY FREEZE THE SAME).·
***_******************************JlI.*.".***JIt**********.t*.**._ •• _._ ••
JSB lOR
MEDJ
XR21 ADD
SP3B SF5B

;,

..........

••

••

••••••••

•••

*****~~~~*~~***~~~~******~~*************.*****~;~**!~************~~;

HALT SUBROUTINE
THIS SUBROUTINE SERVES BOTH CIC AND NON-CIC
1. ISSUE THE HIOP CHO WITH IT DATA BIT12c1,&
THE DEV. IN BITS 13-15.
•
2. SAVE DRT3(2:l) BACK TO DRT3
•
****************111.*******_.*.",.*._******-****************************
HLTP 0008 XR6 ADDL
XR2
6000
ADDL
SP3B
ADD
UBA JSB lOW RG
UNe
2000 XR4 ANDL
XR28 ADD
WRS
XR8 ADD
EVEN UBA
ADD
DATA
JSB RMW
CFl
0400
ADDL
SP3B

10/ 2/86

9:26 AM

COMMENT

READ REG.B
MASK REG'B(9 3) ;REG.3
WRITE TO REG.3:-%7FFF;
WRT REG.F: -REGIB (9: 3) +DEVI
JSB IF CIC;CF5B BEFORE CLFF ,REG'2(CHRC)

READ REGI6; SF5B FOR RMW RETURN
KEEP ONLY PARITY,CLEAR OEV REQUESTS ;WRT

%0008+DEV'SEND HIOP CMD WITH
SEND HIOP; %0008+DEV'

BIT12~1

~~¥~ ~~T~b~~616~~l~EAgR~g~~:!)
RMW IF CIC; REGI4 FOR RMW

PAGE 197
RECORD
NO
9695
9696
9697
9698
9699
9701
9703
9705
9707
9709
9711
9712
9714
9716
9717
9718

C.S.
ADDR

EXIT THE CHANNEL PROGRAM

*_***111111"".l1li1_ ALU A •• 111111111111*111***

******III*A*JlI*. ALU B

10/ 7./86

9:26 AM

*11111111111111***111*l1li**111:

09A6
09A7
09A8
09A9
09AA
09AB
09AC
09AD

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FONC SFNC STOR SPEC SKIP
".. III .. III III III III III " III 111 III lit It 1111_ III III III III * It III III " III III III III III: '" III '" * * III III • ,.. lit * III III III n lit * " 111 * III .. l1li III '" III III III III III * III III * III * * III
ROUTINE FOR EXITING THE CHANNEL PGM.
WRITE TO IMBI TO ENABLE THE CSRQ/IRQ MASKS.
'" 1Ir III III III " III: III III III III III III: III .. t_
* !II JII !II
III:
JII
* JII
III: '" *
JIf
JIll
JII
CPEX 0003 XR15 IINDL
RH
ADDL
1000
BKX5
DCOO
IIDDL
RG
INC LSL
CF2
FFF8 XR9 IIDDL
UBB REPC
RREG UBA IIDD
HBF2
UBB CSR
CFl F2
NZRO
UBB XR 15 lIND
XR15 ADD
BNKS
RG
IIDD
RG
FIHB
JSB lOR SP3B
ZERO
1000 STA IINDL
XR21 ADD LSL
BUSC
UBA ;rSl TSRT
UNC
RH
JSL CLLP
NlRO

09AE

CPU

.

COMMENT

II(

III III

;rSB

III III

III

CPEX

III III III III l1li III III

UNC

III ... JIr III III III III III

III '" " III

RH

III III " III III

III III

JSBI CPXl RH

III III III III III

III 111

III

NlR()

RH:=LOAD AND DUMP BIT; BKX5:=IMBI REGISTER
RG:=MASK TO ENABLE CSRQ ; UBB:=2,F2:=O
UBA:=MOOI-8; UBB:~l
REPEAT UNTIL MODI+ 'WAIT' ; TO REC 1ST WD
MASK FOR PARITY ITIMEOUT IDNV; TO REC 2ND WD
%40C3; CHECK VALID RTN
10ER IF ERROR; SAVE 2ND (LOWER) WORD
%40C3ISUSP),RETURN;JSB IF F4B,SET MEM BANK=O

PAGE 201
RlCCRD
NO

C S
ADlJR

0~~~

9R!'l7
9898
98!l9
9900
9901
9902
9903
9904
9905
9906
9907
9909
9911
9913
9915
9917
9919
9921
9923
9925
9927

SUSPEND CHECK ROUTINE
)11111111'#1111111111.111*11'

ALU A

fllItlltJltIll:1I:IIIJ1r_**

tlIJllJIf********Jll:JIr ALU B

10/ 2/86

IlI*JllJlrJlr.*IIIIIIJllJllIIlIIIIII

lABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP
!II: 111,1( 111''''111111111:111:111 111111 III
111:111****111 111:111" lit .. "It JIr.1I: lit III III III *111" * lit IIfIll III "'. III III ItIllJil: III III" 111"111111:111. III JlrIll:JllIIIJll:JII III It III It *
SUSPEND CHECK ROUTINE
•
THIS ROUTINE CHECKS THAT THE OUTBOUND FIFO IS
EMPTY BEFORE ALLOWING EXECUTION OF THE CURRENT
INSTRUCTION.IT IS CALLED BY EACH INSTRUCTION
WHICH WRITES TO REGISTERIO ON THE CHANNEL.
IF THE FIFO IS NOT EMPTY, THEN THE PROGRAM IS
SUSPENDED UNTIL THE FIFO IS EMPTY.
FIFO IS CHECKED BY READING THE REGI2 BITI4.
F2 IS SET IFF SUSB IS THE ENTRY POINT,WHERE
•
IT IS SUSPENDED TO WAIT FOR DATA TO ARRIVE.
•
III III III III * JIr It !III III JlIIII " III III III: III III: III III II!: * * III " if III * JIr III III " III ... III * It III III III .... III: II!: III III III: III * * 11: III " 111111 JII III JIll III It III: * III: III: III It
111111 III:
SUSP OOCI XR12 ADDL
XR 13
XR27 ADD
PSHR
UBB
ADD
WRS
XR 17 JSB lOR SP3B
NZRO
RG
XR13 AND
ZERO RG
UBA AND
RG
POPR NZRO
SP2B ADD
RH
NZRO
XR30 JSL SUSC
UNiC
RG
UBB ADD
RSB
EOOO SP2B SUBL
ADD SWAB SP4A POS
RG
RG
ADD
SPIB
EVEN
0200 RG
ADDL
RG
0100 SP2B ADDL
SP2B
SP4A ADD LSL
POS
SPIB ADD LSL
PClS
0080 RG
SP2B
ADDL
RG
0400 SP2B ADDL
RH
CAD
DATA
RH
SP2B
ADD
SP2B ADD
XR13 CFl
RG
JSB CHR
ZERO

9:26 AM

COMMENT

l1li:

Jill

09D8
0909
09DA
09DB
09DC
0900
09DE
09DF
09EO
09El
09E2

MASK BITS;ADJUST THE RAR,DRT3 ADDR
WRITE TO DRT3 ADDR;READ REGI2
SKIP IF ZERO;CHECK INTERRUPT BITS+FIFO BIT
SKIP IF REGI2(14:1)-0; SUSB IF ALL ZERO
RTN IF SUBROUTINE,REGIF(INTH);ERR CODE
SKIP IF NO STATUS CHG;SKIP IF DEV CLEAR
ERR FOR STATUS CHG;ERR FOR DEV CLEAR
SKIP IF NO HANDSHAKE ABORT;SKIP IF PARITY
ERR FOR HANDSHAKE ABORT; 
DRTO:=-I;RESTORE 
ERROR CODE;JSB TO CHR

PAGE 202
RECORD
NO

C S
ADDR

CRC INITIALIZE INSTRUCTION
**111*.***.** ALU A * •• ***.****
LABL RREG SREG FUNC SFNC STaR SPSK

*******._ .. **- ALU B **.****111****111..RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

<]'130

CRC INITIALIZE INSTRUCTION

9!U 1
'1932

1-- - - - -- --- - --- - - - -- - --- I - - --- - - - - - - - - - - - - - - - - - - I"
I 0 0 0 I 0 0 0 0 x x x x x x X XI"

9933

1-----------------------1-----------------------1"
I X X X X X X X X X X X )(
X X X Xl"

9!lJ4
993~

9916

1-- ----- --- - --- ---- - - - --I - - - - - - - - - - - - - - - - - - - - -- - I"

IT WILL FORCE THE CRC GENERATORS IN THE CHANNEL
CONTROLLER AND DEVICE TO A KNOWN INITIAL STATE.
THEN, THE GENERATORS WILL OPERATE ON ANY DATA
TRANSFERRED BETWEEN THESE DEVICES.
I IT WILL CAUSE THE CHANNEL CONTROLLER TO BE
EXAMMINED TO CHECK WHETHER THE CONTROLLER HAS
THE CAPABIlITY(REGI7(OI)) BEFORE PROCEEDING.
2 IF NOT CAPABLE, THEN UNLISTEN & REFETCH.
3,IF IT'S,THEN I ADDRESS THE DEV TO LISTEN,
II ISSUE THE SEC ADDRESS,
III. ADDRESS THE CHAN TO LISTEN,
IV. ISSUE THE SEC ADDRESS,

9911
!JO
~~~~Ol~l~)t~P~~~ENEW 0 P IF RH;READ M«POINT>+3I,MEM ADDR
~~~:B ~~~1~g~!6~+nShc~nL ~ II =1
~~¥'~:~~XJE~~~,~~~~+Rlg~::i=E~Ia2~RBITS ••
WRITE TO REG'9 THE MEM ADDR
REG.A:=BCOUNT
NEW +DEVI;DRTO AS ADDR,CF5B FROM TLK1
DRT3 ADDR;WRITE TO REGIB
SAVE DRT3(0:3,14:1-11;LEAVE ALONE TO FINISH

JIll:

111: ..

09FF
OAOO

OA01
OA02
OA03
OA04
OA05
OA06
OA07
OAOS
OA09
OAOA

ANDL
RH
ADD SWAB RH
ADDL
SP4A
ADDL
ANDL
RG
ADD
RG
ADD
RG
ADD
RG
ADD
WRS
INC
DATA

XR10
SP1B
0100 UBA
0900
UBA
SP1B
XR25
XR27
SP4A
0800

INC
ANDL
ADDL
ADDL
JSL
JSL
JSL
ADD
JSL
JSL

ROA3
lOW
lOW
lOW

RH
SPIB
SP3B
SP3B
SP3B

lOW

SP3B

CPEX

CF5B

ZERO
NZRO
NZRO
NZRO
NZRO
UNC

14

PAGE 205
RECORD
NO

C.S.
ADDR

10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
100'16
100Cl7
10098

1111II1II*lIItIr"'."' •• ALU A 111********111:111:

.111II1II111**** •• *** ALU B **JllIII**JllIlrIllIlrIllIl**

RREG SREG FUNC SFNC STOR SPEC

10/ 2/:86

9:26 AM

sin P COMMENT

EXECUTE DMA INSTRUCTION (INITIATION)
1-----------1-----------1-----------I-----------1"
I 0 0 0 0 1 1 lOX X X X X X X X]["

1-----------------------1-----------------------1"
I
BYTE COUNT / RESIDUE COUNT
I"
1-----------------------1-----------------------1"
I TERMINATE DISPLACEMENT BURST LENGTH (0 =256) I"
1-----------------------1-----------------------1"
IRB LR SP RW SA UD X X EXTENDED MEMORY ADDR. I"
1--1--1--1--1--1--1-----1-----------------------1"
I
MEMORY ADDRESS / RESIDUE ADDRESS
I"

1-----------------------------------------------1"
BIT ABBREVIATIONS:
"
~~
~ :~~~~~Do~Or~;t ~YTE:~U~S! ~~~~~T ON
RIGHT BYTE".
SP
READ
1· "TERMINATE ON ASCII LINE-FEED
(GIC ONLY)".
WRITE' 1 • HDO NOT TAG HP-IB END MESSAGE
TO LAST BYTE".

8

~~

1 OO't '1

1011)0
10101
1011)2
10103
10104
10105
10106
10107
10108
10110
10112
10114
10116
10118
10120
10122
10124
10126
10128
10129
10130
10131
10132
10133
10134
10136
10138
10140
10142

EXECUTE DMA INSTRUCTION

LABL RREG SREGi FUNC SFNC STOR SPSK

?~

:~~~gH~~UT1~l. ~ATA"~n~E~~~6r~T~~MOR'(:

ADDRESS".
"
1 = "DO NOT UPDATE INSTRUCTION WORDS AFTEI!"
EXECUTION".
"
JSB TO WRXD IF CRTL(3:1)-1,FOR OUTPUT(WRITE), "
JSB TO RREC IF CRTL(O:l)=O,RECODE MODE,
._ III III III lit lit 111111. III * III. II: lit,. III * III III 111 ;~~!!~~~ . . ~~ III ~~ III ~~~~! III ~~~
III III * * III" III: "'. III 1'1 III'" III III '" * 111 111 III
XDMA E002
ADDL
SP4A
USA
INC
XRI0 ROX3
CAD RRZ
SFl
SP2B ADD
RG
USA OPA AND
XRl NZRO
XR27 ADD
WRS
INC SWAB XR 1
RG
CAD
DATA
SPOA
ADD
XRO
OPS ADD
SPIB
ADD
USA JSL DCER
ZERO
DMA
XRl ADD
RG
1000
ADDL
SPOA XRl SUB
SP4A CRRV USS SPIB AND
XRl
NZRO
SPOA
ADD
XRl UNC
48FF SPIB ANDL
RH
UD

OAOB
OAOC
OAOD
OAOE
OAOF
OAI0
OAll
OA12
OA13
OA14

OA15
OA16
OA17
OA18
OA19

1\:

*

." *". * * * * * ~~!,' * ~~~ * *."""" ~~~~ *. * * * * * *"" * * ~~!". ~~~ •• ~~~~.""" ••• H

••

~:;~O

FOR INPUT(READ) BURST MODE WITH F2-1,
"
WRITE TO REG.O:· f~R~~~k}~:A~.ttNE-FEED,:
•
=%8000+ IF CRTL(2:1)=0. *
ill lit * III III III III III I 1I III * III " ie ,. III II 1ft III III III * III III III III til JIr lit lit III III • III 11 * III " III III: III III III III III III III III III '" III III III III lit '" III iii III • III * " III III III III 1_ III
XR8 ADD
SPIB ADD
NEG
USB USB ADD LSL
POS
UBA JSL RREC
UNC
XRl ADD
RG
UNC
UBS JSL OMaN
EllEN
UBA XR U lOR
RG
JSL lOW SP3B
ZERO
ADD
JSL DMON
UNC

ERROR CODE ;READ +2
MASK SITS; 
SKIP IF BURST<>O;DRTO ADDR
SET BURST:=%0100 IF O;:=
SAVE BCOUNT; 
CHR IF DATA CHAIN-O;
BURST LENGTH;MASK
~n~~T~~Bgg8~~~~c~¥~~T~~~I~El~ WRITE
SCOUNT:·SURST;WBXD IF 'WRITE'

PAGE 206
RECORD
NO
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10162
10164
10166
10168
10170
10172
10174
10176
10178
10180
10182
10184
10186

C.S.
ADDR

WRITE ROUTINE
• •••••••••• AlU A······ •• •••
LABL RREG SREG FUNC SFNC STOR SPSK

• •••••••••••• AlU B .* •• ** ••••••••
RREG SREG FUNC SFNC STOR SPEC SKIP

101 2188

9:2S AM

COMMENT

* III III * III III III III III III III III III III III III III III III III III It* III 111* III * * * **** * III * **,. ****** III * * III * * III * * ** III III III * * ***** III"
OUTPUT(WRITE) ROUTINE

t~~ ~~~~TI~~~?R~E:go~t8:8~~~~~~>gg~~~otE~~+~:

2.WRITE TO REGIS:-REGIS'AND'%0060,'

3. ~~¥~~2 to REGI3: -U002 ,SETUP PHI,:
4.IF DATA CHAIN-O,RH:-+%0010'
-EXTENDED MEM ADDR+L/R+S/P'
+R/W+S/A,
•
5.THEN JSB TO OMeN.
FOR RECORD MODE: IDENTICAL TO BURST MODE, EXCEPT

WRXI IF BCOUNT<-BURST LENGTH;TEST CRTL(2:1)
WRXI IF BC=BL;
 FOR BC>BL;
RECOVER BCOUNT;REAO REGI6
RH:=%lOOO+;SKIP IF DC:=O
MASK REGI6(PARITY FRZ+REMOTE ENABLE)
SETUP DMA+REN TO REGIS;
REGI3:-0MA CSRQ ON OUTBOUND FIFO IDLE
; JSB OMON
WRXE IF CRTL(lO:l):-O;WBXl IF XDMA INSTR
 ;
SET DC:-O
WBXl WITH 

PAGE 207
RECORD
NO
10189
10190
10191
10192
10193
10195
10197
10in9
10201
10203
10205
10207
10209
10211
10213
10215
10217
10219
10221
10223
10225
10227
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10255
10257

C.S.
ADDR

DMA REFETCH ROUTINE
***IIt**IIt**III~

ALU A

********111111*

111****111*******

ALU B

10/ 2/86

111111**** •• **.111111*

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
ill III III III III III III III III III III * III III 111 "f! III III III III ill III IIIr III * ill III III * III III III It. III III 111 til III JII " * III III III II: III .,. III * III III III !At III III III * III '" '" III III III III: * JII III: III !If
DMA ROUTINE-REFETCH DMA INSTRUCTION AND
*
CONTINUE EXECUTION
*
III III ." III III III * III: III .. '" III III * JIll :'" III III lit III III III III III III Jill .... * III III ill III ,.. * 'If III JIr .. " III III III III * . . III III III: III III III III • * '" '" III III III III III III III III III III *
III
DMRR
ADD
SPOA
JSB DMRI
UNC
DMAM
GAD LSR RG
CFl
XR18 JSL lOW SP3B
NZRO
OOOA
/~DDL
XRO
SP1B ADD LRZ XR9
RG
FFFD UBB ADDL
SPOA
OOOE UBB SUBL
NZRO
EOOI
ADDL
SP4A
SP1B ADD LLZ SPIB
SPOA XRO AND
XR2 ZERO
SP2B INC
SP2B ROA3
RG
JSB V
NZRO OOFO SPIB ANDL
SP1B
OPA JSB CGE2
UNC
SP3B BKX7 AND
XRO PSHR
SPOA XRl JSBS DMRR
NCRY
SP1B JSB DMRR
POS
DMRI
UBA ADD
SPOA
XR24 JSL lOR SP3B
NZRO
RG
ADD
XR1
XR25 JSL lOR SP3B
NZRO
SP2B ADD
SPOA WRX3 0400 SPIB ANDL
ZERO
SPOA RG
/~DD
SPDA CF2
JSB DMR2 RH
UNC
SPOA UBA XFRS
DATA BFFF SPIB ANDL
RG
RREG XRI0 ADD
WRX3
RH
ADD RLZ RH
XR 1 /\00
DA TO
ADD
RH
RG
ADD
DATA
ADD
RH
DMR2
XR2 JSB WOT
ZERO
XR9 JSB ROT
ODD
'" III III III III: III III III III ... III III * III III 1_ III III It III III III III lit * lit * * III III III III III lit * '" lit 1ft III lit III III: '" III III III III III III IIr III III III " til #I III III •
III III: III III III III III
*
DMA INSTRUCTION (TERMINATION FOR XDMA)
1.UPDATE REGI6,HP-IB CONTROL REG;CLEAR OUTBOUND
FIFO,RESET DMA DIRECTION,KEEP 'REN' AND PARITY.
I~ t:'=~~a~gy~~gT ~EFETCH & EXECUTE NEXT INSTR.
IF 'BURST' ,& BCOUNTaO,DO REFETCH & EXECUTE
NEXT INSTR.
IF 'BURST' ,& BCOUNT<>O,OO REFETCH & SKIP NEXT
INSTR.

9:26 AM

COMMENT

}II

OA28
OA29
OA2A
OA2B
OA2C
OA2D
OA2E
OA2F
OA30
OA31
OA32
OA33
OA34
OA35
OA36
OA37
OA38
OA39

)II

SET BCOUNT-O;JSB DMR1
WRITE REG.3:-X7FFF
MASK BIT;XRO(8:8):-lST INSTR(O:8)
TEST FOR READ,RCON,WRIT,WCON &XDMA
ERROR CODE(JSB V);NO DC/MODI-XDMA
SKIP IF READ/RCON/WRIT/WCON;  ,&READ
V IF NOT XDMA; MASK OFF DC BITS
CGE2 FOR DATA CHAIN UPDATE;MASK REGIB(5:2)
DMRR IF BCOUNT AS ADDR;TEST CRTL(5:1),UPDATE?
SPOA: -BCOUNT+ ;DMR2 IF UPDATE
STORE NEW BCOUNT TO ;
+3
+3:zMEM ADDR;RH:.O
WDT IF WRIT/WCON;RDT IF READ/RCON,XR9(CLFl)

)I[

.

'I~ ~~:g6~~~~r)D~~~(~~~~~00,REFETCH

OA3A
OA3B
OA3C

AND EXECUTE *
NEXT INSTR.
IF 'REOCRD' ,&DMSTI5:21=Xl,JSB DMAB FOR ABORT.
IF 'RECORD' ,&DMST 5:2 -10,REFETCH AND EXECUTE
THE INSTR INDICATED BY +TERM DSPL.
IF 'BURST', & DMST (5: 2) -00, REFETCH AND EXECUTE
NEXT INSTR.
IF 'BURST', &DMST(5:2!Bll,JSB DMAB FOR ABORT.
IF 'BURST' & DMST(5:2 -01/10,& IF BCOUNT<>O,
SKIP NEXT iNSTR ; HOWEVE ,IF BCOUNT-O ,REFETCH
AND EXECUTE THE INSTR INDICATED BY +
TERMINATE DISPLACMENT.
III III III III III III *"". lit III: III * * 11 III *_*.-_ III '" III III lie III III III ** III III l1li III 111111111 '" '" III • • • ,. III ~ III_ III III * lit III lit ** III 111111111 • • • III * III III
OPA lIDO LRZ RH
XR21 JSL lOR SP3B
NZRI)
0060 RG
IINDL
1000 SPIB ANDL
SPIB
UBA
)[NC
RG
SPIB JSL lOW CTX
UNC

RH:-TERMINATE DSPL;READ REGI6,HP-IB CONTROL
CLEAR FIFO,RESET DMA ,KEEP 'REN' ,PARITY
RETURN TO REGI6;

PAGE 208
RECORD
NO
10260
10261
10262
10263
10264
10266
10268
10210
10211
10272
10213
10274
10216
10278
10280
10282
10284
10286
10288
10289
10290
10291
10292
10294
10296
10291
10298
10299
10300
10301
10302
10303
10304
10305
10307
10309
10311
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10324
10326
10328
10330
10332

C.S.
ADDR

DMA TERMINATION ROUTINES
*111***_***** ALU A **.111*.111***- ****III***IIt**** AlU B _*111_* ••• ***.".
LABL RREG SREG FUNC St'NC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III l1li III _. * III III III III III III III III III * III III .. ", III * III III * III II" 111 III III * III: III JIll *" * III" * III III * III III II1II III * •• _ 111* ** * ". * * III III. * III III * III
•
DMA TERMINATION FOR XDMA WRITE(OUTPUT)
•
•
CRTL(3:1)-1.
•
It III * * III" III * ....... * * .. til * * III III III * III III III: III 111]11 III * III III III * III III III * III .. * * III * * III III * .. * III * III * III 111* * III"" III III III" * III.
SPIB JSB XTIN
ZERO
XRO ADD LSL SPIB
SPOA
JSB FCHL
ZERO
CTRS JSL FCH4
POS
JSB FCHL
UNC
0002 SP2B ADDL
SP2B
_******_*********************._.**.***IIIJII*************111.*****l1li********
DMA TERMINATION FOR XDMA READ(INPUT)
•
BURST MODE.

10/ 2/86

9:26 AM

COMMENT

l1li

OA3D
OA3E
OA3F

_**111***** ••• ***111 •••• ******111*****111.111*111.111.111*****111***111***********111******

OMO
OA41
OA42
OA43
OA44
OMS
OA46

OA47
OA48

OPA ADD
POS
BKX7 ADD LSR RG
FFOO RH
ADDL
RH
SP3B SPIB XOR
SPIB
RG
ADD LSR SP4A
SP1B ADD
POS
0600 UBB ANDL
RG
CTRS JSB XTIR
ZERO
UBA JSB FCHL
ZERO
SP1B JSL DMAB
SPOA
JSB FCHL
NZRO 0002 SP2B ADDL
SP2B
XTll
JSB FCHL
UNC
RH
SP2B ADD
SP2B
III III * III III III *,.." III III * * III * III: III. ** III .. III * * * * III * * * JIll III * * **. *JII * .. * III * * * * * * III * III III III III * III * III III" III * III III *_ III
•
DMA TERMINATION FOR XDMA READ( INPUT)
•
MODE.
•
•111111 111 * * .. III III III III III III III III III *,. .. III"CRTL(3:
l)-O,RECORD
* III * III * III III"".
* ....... l1li" III ill • • • * .. III '" _ .. III III _ * _.... III." . . . . . . - III __ • *
XTIR
RG
JSB FCHL
ZERO
BKX7 ADD SWAB
JSB XT11
UNC
UBB JSL DMAB
ODD
.. * * .. ** _* ..... * * *. * .. * .. III * ... III *. * ** * _.... * III * *. * * .. * .. * •• III 111;.", * * * ... * III III * ** .. * * * III" * *
DMA INSTRUCTION (TERMINATION FOR READ)
1. JSB TO RDTl IF IT IS RECORD MODE.
2.BURST MOOE TERMINATION:
I. JSB TO CLFF TO CLEAR THE FIFOS,
XTIN

SKIP IF TERM DSP>O;SHIFT RIGHT(2ND) REGie
TERM DSP IF .
**_******,,********** •• ******.l1li*"***.***************.*****_***IiI*******
RDTI
RG
ADD SWAB
SF2
XRO JSB RDEN
~~~O
RG
ADD LSR SP4A CF2
UBA JSL DMAB
OPA ADD LRZ
XR27 ADO
BIT8
ROAS
UBA
AOD
RH
UNC
NZRO
BKX6 JSB RDT3
FFOO UBA ADDL
RH
UNC
JSL ClFF
RDTA
JSB FCHL
UNC
RH
SP2B ADD
SP2B
•
III

OA49
OA4A
OA4B
OA4C

OA4D
OA4E
OA4F
OASO
OASI
OA52

~~~l(~~.~f~?R~6S~l~l~2/I~6~IB
ERR COOE FOR DMAB F2(RDEN);RDEN DMST(S:2)=00
ROBE IF OMST(S:2):-01;DMAB IF DMST(5:2):=lX

g~~~oI~IDMg~~~(g)~~i~e~~HI~R~~~Tb6D~):=00

SKIP IF TERM DSPL;RDT3 IF DC<>O
NEW  IF TD+TERM DSPL

PAGE 209
RECORD
NO
10335
10336
10337
10338
10339
10340
10342
10344
10346
10348
10350
10351
10352
10353
10355
10357
10359
10361
10363
10364
10365
10366

C S
ADDR

DMA TERMINATION ROUTINES
111111*111111111111111"'.111

ALU A

111111111111111111111****

UIBL RREG SREG FUNC SFNC STOR SPSK

.111.111*111**111.,,"'**

ALU B

10/ 2/86

*.IIIIII.*.III**IIIJ1111~111

RREG SREG FUNC SFNC STOR SPEC SKIP

9:26 AM

COMMENT

DMA INSTRUCTION (TERMINATION FOR READ)
TO CONTINUE THE EXECUTION BY SETTING UP NECESSARY·

OA53
OA54
OA55
OA56
OAS7
OA58
OAS9
OASA
OASB
OA5C

1II"IIIIII*****IIII11*IIII11*.*IIII11~~~!~r~~~*~~~.!~e~~~~~~III**III*III*.*.** ****111111.111*111****:

RDT3 08FF XR12 ADDL
RH
JSBI DCNB
RH
UBB AND
RH
R'rCL
ADD
JSB RDTA
111: ~I

XR2

UNC

DCPU

DMON

SP2B ROA3

XR9
RDTB RG

III III #I: III III III III III ...... III III III III III lit III III " JIll III III: III III .. ,.. III III III 111 III ... III " III III It III III III III III III ... III III III III III III III JIll It III III !II III III .. JIll

UNC
ZERO

F2
* III * III III

III l'

:"IIII11I11***IIII*******I111**~~e*!~~r~~~!!~~*!r~~~!~~!!~~*~?~*~~!r~l.IIII11I11******~

WCT

III _I III III III III ... III III

SPIB

n~ ~s~r

~~g

OPA

JSBIDCNB
ADD
XRO
ADD

UNC

DCER

~~~~ ~g~ DCPU

XR2
OOFO OPB

ROAS NZIIO
ADD
SP2B ROA3
ANDL
BKX6
JSB WRXD
UNC

* III III * III III ..... III III III III III lit 111 * III III III III III III III III III III JIll ... III III III * 111 " III III ... III III III * .. III III III III III III .. III III III III III III III III Ii:
DATA CHAIN ERROR WITH ERROR CODE:a%E002
111:

III _I III III ... III III III III III 111 III III III III III

OA5D

JSB
ADD
JSL
ADD
BKX7 JSB

UNC

~g~~ ~~ gg~~6: ~~~~ e5~~ FOR DCPU
DCNB FOR THE NEXT CHAIN,+l;READ NEW 
SAVE THE BCOUNT FOR WRXD;NEW DATA CHAIN
WRXD TO SETUP THE XFER

)II

* .. III * II III III III III * 111 III * 111 III III

SP4A ADD

%48FF;DATA CHAIN POINTER UPDATE
JSB TO NEXT DATA CHAIN BLOCK;NEW 
MASKED  ;DMON TO SET UP FOR XFER(SLOWJ)
CLEAR XR9 IF NOT FROM WAIT
RETURN FROM CLFF ROUTINE;RG =SHIFTED REG.B

.. III 111111 III

XRl3 CFl

* . . III "

III III ... III III "

* ..... III "

JSL

III III III III III 111111 III III III III .. till till .. III Ji

CHR

ZERO

DATA CHAIN ERROR,WITH ERROR %E002

PAGE 210
RECORD
NO
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10410
10411
10413
10415
10417
10419
10421

C.S
ADDR

EXECUTE READ INSTRUCTION
****111**111*** ALU A •••• *******
lABl RREG SREG FUNC SFNC STOR SPSK

*,,111 ••••

* ••••• ALU B

******11:**_**11:111

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

*JII*_ •••• *I111*******_.II",JII_._._****"' •• ***_* •• ************* ___ •• *."' •• "'_*._

"

EXECUTE READ INSTRUCTION (INITIATION)

1-----------1-----------1-----------1-----------1"
I 0 0 0 0 0 0 1 1 BLOCKS lEFT
MODIFIER I*
1-----------------------1-----------------------1·
1
BYTE COUNT / RESIDUE COUNT
I"
1-----------------------1-----------------------1"
1 TERMINATE DISPLACEMENT BURST lENGTH (0 =256) I"
1-----------------------1-----------------------1"
IRB lR SP XX SA UD X X EXTENDED MEMORY ADDR, I"
1--1--1--1--1--1--1-----1-----------------------1"
I
MEMORY ADDRESS / RESIDUE ADDRESS
1*

1-----------------------------------------------1"•
BIT ABBREVIATIONS
RB
lR

0 = "RECORD MODE", 1 • "BURST MODE".
0 .. "SlART ON lEFT BYTE", 1 • "START ON
RIGHT BYTE"
SP
READ
1 .. "TERMINATE ON ASCII lINE-FEED
(GIC ONLV)".
WRITE: 1 .. "DO NOT TAG HP-IB END MESSAGE
TO lAST BYTE"
RW
o. "READ(INPUT)", 1 • ·WRITE(OUTPUT) " ,
SA
1 . "SEND/REC, All DATA WITH SINGLE MEMORY"
ADDRESS",
"
UD
1 · "DO NOT UPDATE INSTRUCTION WORDS AFTER"
EXECUTION"
"
NOTES:
THE SEQUENCE AS FOllOWS:
I.CHECK THE DATA CHAIN BLOCK,
2 ,ADDRESS THE CHAN TO lISTEN & DEV TO TALK,
WITH SECONDARY ADDRESS FROM 'MODIFIER',
,SAVE BURST lENGTH ,& SET TO %0100
IF 0,
. JSB TO RRE 1 IF 'RECORD' MODE
,JSB TO DMA IF BURST lENGTH <>1
& CONTINUE TO RBVT IF BURST lENGTH=I,FOR
SINGLE BYTE DATA BURST WITHOUT USING THE DMA •
HARDWARE.
* * III III * * III " III lit III III '" III III * III * III: III III III III III It III III .. * III III " .. * " .. '" III * * III it • III III * .. III III III '" • '" III: III III III ,. * * * III: III '" • It III ."
READ
UBB JSB DCH
WRS
OOOF RH
ANDl
EFFF SPIB ANDl
XRO
FFEO XR26 ADDl
CAD lSl SP4A
UBA JSL TLKI SPIB
NF2
XRl ADD
48FF SPIB ANDl
RH
UBA
JSBC DMA
NZRO
SPIB JSl RRE1
POS
SPIB JSB RBVB
F2
XRI0 INC
ROA3
JIll

OA5E
OA5F
OA60
OA61
OA62
OA63

DCH TO CURRENT BLOCK DRTO AS ADDR;
UBB: -MODIFIER
MASK OFF CRTl.(J:l); FORM TALK CMD FOR DEV
lISTEN CMD FOR CHAN; SEND HP-IB CMOS IF NF2
UBA =BUSRT lENGTH, RH:=
DMA IF BURST () 1 ; RRE1 IF 'RECORD' MODE
RBVB IF F2, UBA: =CRTL
READ M«POINT>+3), MEM ADDR

PAGE 211
RECORD
NO
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10446
10447
10449
10451
10453
104~4

10456
10458
10459
10461
10463
10465
10467
10469
10471
10472
10473
10474
10475
10476
10477
10478
10480
10482
10484
10486
10488

C.S.
ADDR

EXECUTE READ - BYTE ROUTINE
~.~.--~-*~*

l1li:

OA64
OA65
OAti6
OA67
OA6B
OA69
OAGA
OA6H
OA6C
OA6D
OA6E
OA6F

RElYB

*************

ALU B

************~*

COOl
RG

OPA

ADDL
ADD
ADD LSL

101 2186

9:26 AM

COMMENT

III 11

II(

005F XR12 ADDL
RG
ADD RRZ

RG
SP4A

J'SL lOW
J'SL lOR
OOFF SPIB ANDL

HBF2

RG
RH

SP3B
SP3B
BKX4

ZEIIO
ZEIIO

SP4A ADD
XRO ROX4
SP2B INC
ROA3
OPB ADD I.LZ SP3B SF 1
RH
RH
JSB RBYA
NEG
RH
ADD SWAB RH
SREG ADD RRl SP3B CFl
RElYA 0002 SP2B ADDL
XRO
XRO ADD
WRX4
JSB BYRS
UNC
SP3B RH
DATA
lOR
ADD
RH
ZEIIO
JSL lOW SP3B
• ~I III: III: * ~~~~ * ~~!~ * e~~; III: III III .. III: * ~~!Ie III lit III '" III: 111:)1( 11 III: * III II! * III III III)IE III ~~~ III 1lI!~ III III III III. * III III: * III: * III ~~~:
1.DO UNADDRESS ROUTINE IF 'REORD' MODE
2.THEN,IF BCOUNT<>O,EXECUTE THE NEXT INSTR
3.& IF DATA CHAIN=O,ALSO EXECUTE THE NEXT lSNTR.
4.& IF DATA CHAIN<>O,DO DATA CHAIN POINTER UPDATE"
•
AND EXECUTE THE NEXT INSTR.
,..
III III III III • 111 III III: III: III: * III III III III III III * III III .. III III III III • 111 III: III • III: •
III III III
* III • * III III III III III: :II III III '#I III ....... * III: * III '* III * III III III: ,_"
NF ;~
RDEN
SPIB JSB RDEI
NEG
BKX6 JSB RDBE SPIB
005F XRl2 ADDL
RG
ZEIlO
JSL lOW SP3B
003F XR12 ADDL
RG
UNC
JSL lOW
RDEI SPOA
JSB FCHR
NZRO
XR27 ADD
ROAS
JSB DCPU
UNC
BKX6 JSB FCHR
ZEIIO
ADD
UNC
JSB FCHR
~I

OA70
OA71
OA72
OA73
OA74
OA75

ALU A ••• ***.*.*.

RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKXP
.. III III: III: III III III • III: III III \II
III • lit III III
* .. III III III III: • III: * III: It III: .. III #I * III .. * '" '" III .... III: • III III III: * III .. #I III • III .,., It '" 111 III '" III: .. III III '" lit' III:
•
THIS ROUTINE IS CALLED BY READ INSTRUCTION
TO DO SINGLE BYTE DATA BURST WITHOUT USING THE
DMA HARDWARE.
I.WITH INITIAL MEM ADDR FROM WORD 4&5,DATA FROM
DEV IS READY FOR TRANSFER .
. IF FROM SUSPEND,CHECK CRTL(2:1),LINE-FEED
DETECT.IF CRTL(2:1)=1,WRITE REGIO =%OOOl,ELSE
%COOl,TERMINATE ON 'END' ONLY.
3.READ THE BYTE FROM REGIO,.
4. READ THE MEM LOCATION SPECIF lED FROM THE MEM
ADDRESS;CHECK CRTL(1:1).
IF CRTL(l:l)=l,MASK OFF THE LEFT BYTE &SFl;
IF CRTL(l:l)=O,MASK OFF THE RIGHT BYTE & CFI.
& SWAP THE UPPER & LOWER BYTE OF .
.SEND THE +MASKED BYTE FROM MEM BACK TO
THE MEM ADDR
.JSB TO BYTE RESTORE (BYRS).
.UNADDRESS THE DEVICE.
:~ .. III: III: III: III: III III * .. **** III: III it * ~ III!~ *~~?~~! 1! ~;1:! ~~~~!!~~~* ~r *~~~~ ~ ~~~~ III: ~~~~ .. III **'~
UBA UBA ADD LSL
NEG
RG
ZEIIO
INC
L~,BL

II( ..

SKIP IF CRTL.(2:1)=I;
REGI: =%0001 , SLOW DOWN JSB
REGIO:=%COOI IF LINE-FEED; MEM ADD
SP4A:=M«POINT>+3); READ REGIO,MEM ADDR
~~~4~~E~~E~5~gOA66RI~A~~I, CF5B
RG,=UNTALK CMD; XRO:-ADDR, READ DATA
RH.=:-REGI.(8:8);

~~~~ ~~(0:8), SFI
RH,-; SP3B:=.(8:8), CFl
XRO:=+2; MEM ADDR
BYRS FOR BYTE RESTORE; + TO ADDR
; SEND UNTALK
RG:=UNLISTEN CMD; SEND

]I(

RDEI IF CRTL(O:I)-I;RDBE IF NF2(REGIO(I:1))
UNTALK
UNLISTEN
REFETCH IF BCOUNT:-O;READ DRTO(FOR DCPU)
UPDATE DATA CHAIN IF DC<>O; FCH4
REFETCH NEXT INSTR

PAGE 212
RECORD
NO
10491
10492
10493
10494
10496
10498
10500

10502
10504
10506

C.S
ADDR

EXECUTE READ - NO END TERMINATION
••• ******** AlU A 111 ••
******JIrI**III*tIt* ALU B * ••• **.**.**"'.
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

*._.",**.

10/ 2/86

9:26 AM

COMMENT

***************************************111*****************************

OA76
OA77
OA7S
OA79
OA7A
OA7B
OA7C

*******************~~*~;~~~*~;~~*!~~~!~~r!?~********** *.*** •• **.*.**.

ROBE

OPA

SPOA
FCHR
FCHL
FCRT

ADD
INC
JSB
JSB
ADD
ADD
JSB

LRZ RG
LSL RH
FCHR
DCPU

NZRO
UNC

FCHL

CF2
UNC

XR27
UBA
FFOO RG
SPIB
SP2B
RH
RG

ADD
ADD
ADDL
JSB
JSB
JSL
SP2B ADD

SWAB

ROAS

RG

FCRT
DCJP SP2B
FCH4
SP2B

POS
ZERO
UNC
UNC

TERM DSPL;READ DRTO ADDR
SET UP  TO SKIP; TEST TERMINATE DSPL
FCHR IF BCOUNT<>O;TERM DSPL
DCPU IF DATA CHAIN<>O; FCRT IF SPIB = 0
;DCJP FOR UPDATED 
FETCH NEXT INSTR ; FOR DC () 0
SETUP +TERM DSPL TO SKIP NEXT INSTR

PAGE 213
RECORD
NO
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10550
10552

C.S.
ADDR

EXECUTE WRITE COMMAND
**111111111***111** ALU A ***********
************* ALU B **********.*~.
U,BL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKXP
III II III lit III III 'If. III lit
III III III: 111 III: III * 111 III III lit III .. III III: III III * III • * III lit .. III III III III: .. ,.,
III III til III lit III • III: III * III III * III: III * III III III lit III .. lit * III: 'If. 'I
EXECUTE WRITE INSTRUCTION (INITIATION)

.

)I(

111:

RB
LR

OA7D
OAlE
OA7F

111:

1-----------1-----------1-----------1-----------1"
I 0 0 0 0 0 1 0 0 BLOCKS LEFT MODIFIER I"
1-----------------------1-----------------------1"
I
BYTE COUNT / RESIDUE COUNT
I"
1-----------------------1-----------------------1"
I X X X X X X X X X X X BURST LENGTH (0 -256) I"
1-----------------------1-----------------------1"
IRB LR SP XX SA UD X X EXTENDED MEMORY ADDR. I"
1--1--1--1--1--1--1-----1-----------------------1"
I
MEMORY ADDRESS / RESIDUE ADDRESS
IO
1-----------------------------------------------1""
BIT ABBREVIATIONS'
0

"RECORD MODE", 1 ~ "BURST MODE".
"START ON LEFT BYTE", 1 ~ "START ON
RIGHT BYTE"
SP
READ
1
"TERMINATE ON ASCII LINE-FEED
(GIC ONLY)".
WRITE: I z "DO NOT TAG HP-IB END MESSAGE
TO LAST BYTE".
RW
O. "READ(INPUT)", 1 = "WRITE(OUTPUT)".
SA
I
"SEND/REC. ALL DATA WITH SINGLE MEMORY"
ADDRESS"
"
1 • "DO NOT UPDATE INSTRUCTION WORDS AFTER"
UD
EXECUTION" .
• DON'T CARE
XX .
NOTES:
THE SEQUENCE AS FOLLOWS:
I.CHECK THE DATA CHAIN BLOCK.
2.ADDRESS THE CHAN TO TALK & DEVICE TO LISTEN, »
& WITH SECONDARY ADDRESS FROM 'MODIFIER'.
: ~~~ETgU~~~D L~~GT~E~~R~~I~ME~lE}S~OT6Ig~A IF 0::
IF BURST LENGTH <>1.
.IF BURST LENGTH-I,THEN CONTINUE TO WBYT,
ROUTINE FOR SINGLE BYTE DATA BURST WITHOUT
: II: lit III III III * III tit III lit III III III lit III III III III III: III III III ~~!~~ III !~~ III ~~e III: ~e~~,:e~~
III .111111111: III III * III III III III: III III: III: III III III III III III III n
W~:IT
UBB JSB DCH
WRS
OOOF RH
ANDL
1000 SPIB IORL
FFCO XR26 ADDL
XRO
SP4A
OOIE
ADDL
UBA JSL TLKI SPIB
UNG
0

~
~

...

10/ 2/86
COMMENT

9:26 AM

PAGE 214
RECORD
NO

C.S
ADDR

10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
105ti7
10'1f; 3

_*._*. -**--- ••. _._-

EXECUTE WRITE - BYTE ROUTINE
-*.**.*-* •• ALU A •••••
LABL RREG SREG FUNC SFNC STaR SPSK

.

10/ 2/86

9:26 AM

COMMENT

.**************JII******IIr.III****_*********._** ••• ********_._****_******_

THIS ROUTINE IS CALLED BY WRITE INSRTUCTION
TO 00 SINGLE BYTE DATA BURST WITHOUT USING THE
DMA HARDWARE.
1.WITH INITIAL MEM ADDR FROM WORDS 4&S,DATA IS
READY FOR TRANSFER STARTING AT THAT ADDRESS.

.~~~L~~R~~ ~~T~H6~K~~ET~R~~~~~~I~~LtH~~H~:K~~E

FROM LEFT(O) OR RIGHT(l) BYTE OF THE MEMORY
ADDRESS BUFFER
CRTL(2:1) WILL DETERMINE WHETHER SUPPRESS END
MESSAGE IS TAGGED
IF CRTL(2:1)-O,OR BCOUNT-l & DC-O,THEN WRITE
TO R[G'O:,xSOOO+;
OTHERWISE,REG.O:·.
 1
BURST LENGTH;CF5B FROM TLK1,BANK ADDR
~~~I~~> 1~ I A~5:~ S~~~ ~~D~R~tnD~ j ~~?L~~~ ~~n
SKIP CRTL(2:1)=I,TAG WITH 'END' ;RG=
1
RG.o,WORD>+%8000;
,WRITE TO REG.O: -RG
MASK OFF THE WRITE BIT
BYRS FOR BYTE XFER UPDATE;READ DRTO FOR DCPU

PAGE 215
RECORD
NO
10612
10613
10614
10615
10616
10617
10618
10619
10620
10622
10624
10626
10628
10630

C.S.
ADDR

EXECUTE WRITE - TERMINATION
~~~.-~ •• ~ •• ALU A •••••••• **.
*********~*** ALU B ***********~**
RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SIO,UPDATE  TO SKIP NEXT INSTR;*
2.& IF DC<>O.UPDATE DC POINTER;ALSO SKIP NEXT
•
INSTR
3.IF BCOUNT=O & DC=O THEN UPDATE  TO
~: " ' . III III * II 111:.,. ... III III III" 111 III III * * III III ~~~~~!~ III ~~~r" !~~r~ 111111111 Ill. III#(* '" III 111:.11: III III III,. III III. III '" III. III III Ie" '"
\~DTB SPOA
JSB WUN
NIRO
BKX6 ADD
SP1B
JSB WUNL
UNC
UBB JSB DCPU
NZRO
UNC
WUN
JSB DCJP
INC LSL RH
WUNL 0060
ADDL
RG
XR21 JSL lOW SP3B
NZRO
JSL lOW SP3B
003F XRIZ ADDL
RG
ZERO
JSB CRCS
XR10 ADD
ROX3
ZERO
I~ABL

111: ..

10/ 2/86

9: 26 AM

COMMENT

JIll:

111:

0,A8C
OA8D
OA8E
OA8F
OA90
OA91

WUN IF BC<>O;DATA CHAIN FOR DCJP
DCPU IF DATA CHAIN<>O;ELSE WUNL
DCJP TO END OF DC; RH :* 2
RESET DMA DIRECTION IN REG.6
TO UNTALK HP-IB
CHECK IF CRC SEND; READ 

PAGE 216
RECORD
NO
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10654
10656
10658
10660
10662
10664
10666
10668
10670
10672
10674
10676
10677
10678
10679
10680
10682
10684

C.S.
ADDR

DATA CHAIN SUBROUTINES

***11*]1[**_** ALU A ***********

LABL RREG SREG FUNC SFNC STaR SPSK

**#I:**,rr***_.** ALU B ************.*
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9,26 AM

COMMENT

DATA CHAIN SUBROUTINES
THIS ROUTINE CHECKS THAT THE OUTBOUND FIFO IS
EMPTY,THEN RESTORES THE INSTR POINTER TO MEMORY
AND COMPUTES THE ADDRESS OF THE CURRENT DATA
CHAIN BLOCK BEING EXECUTED.
SEQUENCE AS FOLLOWS
1.SPOA:=BCOUNT;CHECK FIFO IF FROM SUSPEND
2.SAVE -l IN DRTO ADDRESS.
3. INCREM~NT  OVER THE NUMBER OF DATA CHAIN"
BLOCKS INDICATED IN BITS 8-11 OF 1ST INSTR. &
READ THE NEW BCOUNT IN CASE THE 'OLD' BCOUNT=O.*
4.IF 'OLD' BCOUNT-O,JSB CHR IF DATA CHAINsO,OR
THE NEW BCOUNT IS ALSO O,WITH ERROR CODE=%E002.·
.IF 'OLD' BCOUNT<>O,OR IF DATA CHAIN 'AND' NEW
BCOUNT<>O, THEN MASK OFF THE MODIFIER BITS 12-15"
& FORM THE SECONDARY HP-IB CMOS; SAVE DATA CHAIN·

OA92
OA93
OA94
OA95
OA96
OA97
OA98
OA99
OA9A
OA9B
OA9C
OA9D

OA9E
OA9F
OAAO

•• """" ...... *. *. *" * * *~~r~. ~~. ~~H i ~ l ~ ~~~ *~~!~ ~: :~~~~~~~. ~~r~!. ~~

DCH

UBB
UBB

SP4A ADD
CAD
OPA ADD
CGE2 E002
ADOl
JSB
OPA JSB
CGET
SP2B INC
OPA ADO
CAD
UBA OPA AND
INC

XR2

DCJP
DCER

CF 1
DATA

SP4A

UNC
ZERO
SP4A ROX3
SPOA

RRZ
XRl
SWAB XR 1

NZRO

... :

SP2B ADD
PSHR
JSL SUSP
NF2
OOFO RH
ANDL
SP1B
UBA
JSB CGET
NZRO
SPIB JSl DCER
ZERO
ADD
CAD
RG
POPR
UBA INC
XR10 ROX3
RG
SP2B ADD
ROX3
OPB ADD
SPIB SFSB
0005 SP2B ADDl
XR2
CRRY

*****~~~~******~~~*******~~~********~~~~*~~~**~~~~******~~~~******~~~

ROUTINE FOR NEXT DATA CHAIN BLOCK
•
XRB2,·SP2B + 5 (SET UP IN DCH)
"
* * * ** *** ***. **** * II * Jill *" III III * * * III '111:* * * * * * * III: III * III * .. III * * * .. * * * * ** III,. * * * * * * * * * * * * * *
DCNB E002
ADDl
SP4A
UBB UBA INC
XRIO ROX3
OPA JSB DCER
ZERO RREG SREG SUB
ROX3
OPA ADD
SPOA RSB
OPB ADD
SPIB

MOD IF IER ; 
ORTO:=-l;SUSP IF FROM SUSPEND
BCOUNT;DATA CHAIN
DATA CHAIN ERROR;CGET IF BCOUNT<>O;
UPDATE DATA CHAIN POINTER ;DCER IF DC=O
CHR IF NEW BCOUNT-O;
~~e~ ~M~~i~~E:6) (~gf~¥~~~: 
%OOFF;READ M«POINT>-l)
&SKIP IF =O;,F5B(TLK1)
 IF <>ZERO;NEXT CHAIN 
BCOUNT;4
107;>6
107:.8
10730
10732
10733
10735
10737
10739
10741
10742
10743
10744
10746
10748
10750

C.S.
ADDR

DATA CHAIN S.UBROUTINES
111111111111***** • •

ALU A ***Ic******1Ic

111***111111111111111.111"111

AlU B

10/ 2/86

9:26 AM

III'#i.JII**IItJlcIllJII • • if.IIr

LABL RREG SREOi FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SteIP
~I 1It III * II III III III III 111111 III • III 111 • III 111 III 111 III 111 lit 111 III ." * 111 111 III * * III JII III • III * * III .. III III 111 * III * III III III * * III .. III * 111 III * III III' II! '" III * III: III If III
DATA CHAIN POINTER UPDATE ROUITNE
•
1.GET THE  OF 1ST INSTR FROM ;
& COMPARE IT WITH THE CURRENT 
2.IF >  ,THEN DATA CHAIN ERROR.
IF ~ ,MASK 1ST WD WITH %FFOF •
IF <  ,DO NOT MASK,THEN IT IS •
NOT IN THE FIRST BLOCK,JUST INCREMENT 
.IF DATA CHAIN BLOCK LEFT-%OOFO,THEN DATA CHAIN •
BITS TOO LARGE,& WITH DATA CHAIN ERROR.
.ELSE,RESTORE THE NEW DATA CHAIN TO 1ST WD OF
THE INSTRUCTION.

COMMENT

1I11t****1lI11r**IIIIIrIll********JIr.IIII11J11I11J11**IIII11J11*JII:*1II.Jll:IcItJlcJlc1ll*****1IIIl1J11I11I1rIIIJ11:*JII**Jll:lII****IIIJ'i1ll

OMI
OM2

[lCPU E002

OPA
OPA
UBA RG
FFOF UBB
0010

OAA3

OAM
OMS
OM6
OM7

ADDL
ADD
ADD
XOR
ANDL
ADDL

SP4A
RG

ROB3
WRX3
NZRO

SP2B ADD
CAD
RG
UBA JSBS DCER
OPB ADD
RG
OOFO SREG ANDL
RREG UBB JSBS DCER
UBB
UBB

NGRY
ZERO

.

"**JIc*~!~*JIc~~***~~~****.***.***~~!~**JIc*********~~~*****************~~~

DATA CHAIN ERROR; 
READ 1ST INSTR;-l(CURRENT POINTER)
C ADDR;DCER IF C < CP 
SKIP C~CP(POINT>;RG:=DATA CHAIN
RG:-DATA CHAIN (O);DATA CHAIN
INCR IF NOT IN 1ST BLOCK;DCER IF DC:=%OOFO
REWRITE NEW DATA CHAIN BITS;RETURN

BYTE RESTORE ROUTINE
THIS ROUTINE IS CALLED BY BOTH WBYT AND RBYT,
WHICH USE IT TO UPDATE THE VALUES OF 
(TOGGLE THE LEFT/RIGHT BIT),(DECREMENT
BY l),AND (INCREMENT BY 1 IF Fl,INDICATING •
LAST BYTE REFERENCED WAS THE RIGHT BYTE) AND
RESTORE THEM TO MEMORY. ADDRESS ROLL-OVER IS ALS()'

OMI8

OM9
OAM
OMB

OMC
OMD
OME
O,~AF

.....••.••.••.••••• ~~~~~~2.~!r~.~~~~~.~~~~.~~!~~~ .••.•.•••.••••••... :

BYRS SPOA
UBB
UBB

CAD
XRO ADD
XR 12' XOR
SP 1 B: AND

UBB
BYRI UBB XRO
SPOA

SPOA

WRX3
DATA
NZRO
SP4A DATA
WRX3
DATA

ADD
ADD
ADD

0400 SPIB ANDL
RREG SPIB XFRS
RREG
ADD LSL
XRO JSBI BYRI XRO
CAD LSL
ADD
E800
ADDL

ZERO
CF 1 RSB
PSHR
NFl
CFl
POPR

"•••• ~~~ ••••••• ~22 ••••••• !~!~.~!~ •••••..• ~~~ .. i!~ .• 2~~ ~ ••••••••••• ~~~O
l~ III 111 * III * III III III 111 III III III" III III lie lIIlII ~~~ III ~~ III r~; 111 ~~! ~ III ~~~; ~ ~~~~~
JIc

I)CJP

SPIEl
SPOA
USA UBB
UBB

ADD
ADD
ADD
ADD

LSR
LSR

SPOA
CRRY
SP4A RSB

SPIB
UBB
E002
UBA SP2B

'" III 111 111 III !It 111111 III III III" III 111 111 III III If III

REPN
ADD LSR
ADDL
ADD

* 1111_ :

0:1
DCTR CTRO
SP2B ROA3

BCOUNT-l;SKIP IF CRTL(5:I)=O
WD4 ADDRESS; CFI AND RETURN
~~~=L~~E~~T~?I~lt~f~; %0800, PUSH SUBR STK
XRO:-MEMADDR + 1, N6 WR IF NFl
SP4A:=MEMADDR + 1, STORE BACK; UBB:=-2, CFl
WRITE BACK THE BCOUNT; POP SUBR STK
~~~3~~~-~~~-¥~0~~6~ ~g~~-~e~~ OVER ERROR
SHIFT RIGHT;SETUP TO SHIFT RIGHT 4 TIMES
UBA:-4 X DATA CHAIN;UBB:=DATA CHAIN X 1
DATA CHAIN X 5;DATA CHAIN ERR CODE
ERR CODE (CGE2),RETN;READ NEW BCOUNT, 

PAGE 218
RECORD
NO
10753
10754
10755
10756
10758
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10772
10774
10776
10778
10780
10782
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10798
10800
10802
10804
10806
10808
lOB 10
10812
10814

C.S
ADDR

ERR~~.~;;~Y;~r ALU A •••••••••••
LABL RREG SREG FUNC SFNC STOR SPSK

•••• ****111 ••• * ALU B ••• *****._--**
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

1II • .r.*****"*********_*****JII ••• *****III****III.****IIi***III*********It*IIi:********

OAB4
OAB5

DAB6
DAB7
DABS
DAB9
OABA
OABB
OABC

:******************~~~~~*~~~?Y~~r*~;;r!~~************* _*111***111111*******

V

SP2B ADD
CFl
XR27 ADD
WRS
JSB DCER
UNC
UBA
CAD
DATA
********-*************-**111:**************************** ___
****_*.
THIS ROUTINE WILL ALLOW TO RELEASE THE HANDSHAKE •
AND THE SYSTEM TO PROCEDE NORMALLY FROM POINT OF "
LOCKUP(AFTER THE TIMEOUT ABORT INTERRUPT.
BASICALLY,IT WILL CHECK TO SEE IF OUTBOUND FIFO
IS LOCKUP, THEN INSTEAD OF CLEARING IT DIRECTLY
IT WILL TAKE PHI OFF-LINE TO THE HP-IB,THEN BRING"
ONLINE AGAIN BY ASSERTING IFC TO REGAIN CONTROL, "
•
CLEAR STATUS BITS AND CONTINUE.
•
****-***********._**_***111***_ •• *.*********************._************_
CHRZ
ADD
UNC
JSL IFC
ADD
RG
XR22 JSL lOW SP3B
NZRO
0069
ADDL
RG
XR21 JSL lOW SP3B
NZRO
0080 XR12 ADDL
RG
XR22 JSL lOW SP3B
NZRO
ADD
UNC
JSL IFC
CAD
RG
XR17 JSL lOW SP3B
NZRO

*._ ..

.. *. * * .... * III * * III * * * e~~ III ...... * .. * *,. * .. * * * * * * .. III .. III * .... III * "' .. ~~~ * III: ~~~ ~ * .. * * * .. ,. * III III ~~C

;DRTO ADDRESS
DCER;M«DRTADRO»:--l

ASSERT IFC TO CLEAR HP-IB
TAKE PHI OFFLINE
SELECT POLL REQ,REN,PARITY,CLEAR FIFO
GET ONLINE AND ENABLE CRC
ASSERT IFC TO REGAIN CONTROL AS CIC
CLEAR PHI INTERRUPTS
ALLOW CSRQ ONLY FOR PPOLL OR STATUS CHG

l1li

OABD
OASE
OABF
OACO
OACI
OAC2
OAC3
OAC4
OAC5
OAC6

IF SUSB IS THE ENTRY POINT OTHER THAN FROM SUSP,"
F2 WILL BE NORMALLY SET IT IS SUSPENDED FOR
•
WAITING DATA TO ARRIVE AT THE CHANNEL.
1. IF F2 SET: WRITE REGI3: s %8004,
WRITE REGIF:=%0080+DEVI,
SET DRT3(12:1):=1.
2. IF NF2
WRITE REG'3:=%8002,
WRITE REG.F:-%0080+DEVI,
SET DRT3(13:1):-1.
SAVE CHANNEL PROGRAM POINTER IN DRTO.
•
1IIt****Jfr:***III:III*****III*****_.JilJIIIfI:***_**III:****_**1I**_**IIrIll***************JII**_
SUSC
ADD
CF 2
ADD
SUSB
SP2B ADD
XR27 ADD
WRS
INC
CAD
DATA
UBA XR14 ADD
ADDL
SPIB
RREG USA ADD
JSL row SP3B
NZRO
0080 XR6 ADDL
JSL lOW SP3B
NZRO
EOOO XR4 ANDL
ADD
WRS F2
DATA UNC
ADD
ADD
ADD
ADD
DATA
ADD
JSL CPEX
UNC

CF2;
;DRTO AS ADDR
%0002;DRTO:=-1
IF NF2,WRITE TO REG'3:-%8002;%0004
IF F2,WRITE TO REG#3:=%8004;
WRITE REGIF: z%0080+DEV#
MASK DRT3(0:3);DRT3 AS ADDR,SKIP IF F2
;M«DRT3»:=DRT3(0:3)+%0004 IF NF2
;M«DRT3»:=DRT3(0:3)+%0008 IF F2
EXIT CHANNEL PROGRAM

PAGE 219
RECORD
NO

C S
ADDR

10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828

l1li: "

10~:j(")

In.:J1
10;""1-;

1(,,:::;-:
lOC-;"';4
1 G P,'~ c,

10,,16
10R3]
lOB:: R
10?'~:9

10840
10841
10842
10843

10880

1088?
10884
108 SF,
I O?, 8?'
If}?,'j[)
I fJ ?, '12

.

'"

START OF THE CHANNEL PROGRAM-1. SEND OUT SPOLL2 TO DETERMINE THE CHANNEL(S) REQUESTING
THE SERVICE.
2. ICHCK TO CHECK IF CHANNEL. 0 REQUESTS SERVICE; THIS IS
MAINLY FOR RUNNING THE DIAGNOSTICS WITH ADCC.
3. DO ROUND-ROBIN ON THE SPOLL2 RESPONSE AND THE CHANNEL
NUMBER LAST SERVICED IN XRA127
4. ISSUE OBSI COMMAND TO THE CHANNEL. TO OBTAIN THE TYPE
OF SERVICE REQUEST.
5.
READ REGI 1 TO DETERMINE IF THE CHANNEL IS CONTROLLERIN-CHARGE; IF NOT PROCEED AS NORMAL CHANNEL PROGRAM
6. IF CONTROLLER-IN-CHARGE CHECK IF THE OBSI RESPONSE IS
CHANNEL REQUEST ( DMA COMPLETION); IF TRUE PROCEED AS
NORMAL CHANNEL PROGRAM
7. IF NOT ( DEV REQ ). ENABLE THE PHI INTERRUPT MASK BY
WRITING '7FFF TO REG# 3.
DO ANOTHER OBSI TO DETERMINE IF THERE IS A TRUE SERVICE
REQUEST FOR THE DEV# FROM THE PREVIOUS OBSI.
9. IF OBSI'2.(8:1) - O. A TRUE REQUEST, SET BIT MASK FOR
THE DEVICE.; OTHERWISE IGNORE IT.
10. READ REG. a FOR THE PPOLL RESPONSE & 'OR' IT WITH THE
DEV BIT MASK IF ANY.
11. READ REG. B FOR THE DEVI LAST SERVICED; DO ROUND-ROBIN
AND DETERMINE THE NEXT DEV# TO BE SERVICED
12. PROCEED WITH THE NORMAL CHANNEL PROGRAM WITH
RG K OBSI RESPONSE
BKXS = CHANNEL DEVICE
CTR • REGN POINTER AT LAST CHANNEL SERVICED

10e?')

10844
10845
10846
10847
10848
10849
10850
10852
10854
10856
10857
108')8
10860
10862
10864
10866
10R68
10870
10872
lOR 74
10876
108H

....

ENTRY POINT FOR CHANNEL PROGRAM
.*~
**~* ALU A *** •••••• *.
*******A***** AlU B 111***.********",
LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
'" III * '" III III * ...... III III: iii lit 1_ * III .. JII .. III III III '" * III III: III: * III .... III .. * III JIll III JIr III '" III III M III III: III III III III III III III .....
III .. III III '" '" III III III * ....

OA.C7

OAC8
OAC9
OACA
OACB
OACC
OACD
OACE
OACF
O~,DO
0~,D1

DAD2
DAD3
OAD4
OAD5
OAD6
OADl

DADR

Ot'D'!
rJ/lr)A
OAr)£!

CSRQ OOFF

ADDL
ADD
00 OF REGN ANDL
ADD
ADD
ADD
OOOF
ADDL
RG
ADD
UBA CSL
UBB
ADD
OOFF
ADDL
0100
ADDL
0200 RG
ANDL
RG
ADD
0010 RG
ANDL
SPOA
ADD
CAD
XR12 ADD
ADD
,)POA
ADD
0007 RG
ANDL
UBA

RH
LSR

XR14 F1HB
XR12
RH

LSL
SP4A
SP4A
SPOA
LSR
RRZ

SFI

RG
SP4A
SP4A

CF2
HBF2

EOOO

SP3B
ADDL
UBA JSL lOR CTR
BNKS JSL GKCH XRlS
RH
RG
UBB
RH

RH
crRS
4000
UBA UBA
UBA
RG
SP4A
1300
USA
SP4A
UBA
SP4A
RG

ADD
REPC
eSL
ADD
REPC
AND
ADDL
ADD
JSL
ADD
JSL
ADDL
JSL
JSL
JSL
JSL
ADD
JSL

CTR
RG
eTR
l.SL
lOR
RRZ
IOR

SP3B
BKXS
CTR
BKXS
SP3B
SP3B

J'AUL
PAUL
lOR RG
IOR SP3B
SWAB
OBSO

UNC
UNC
CCTX
DCTR CTRO
DCTR CTRO
CF5B
ICTR F2
UNC
NZRO
ZERO
ZERO
UNC
NZRO
NEG
ZERO

10/ 2/86

9:26 AM

COMMENT

GET THE CHANI LAST SERVICED; SPOLL2 CMD
SF 1 ; SEND SPOLL2 CMD,
CHANI LAST SERVICED; I~~~~ ~FC~~N~HAN REQ
#CKCH FOR ADCC ONLY; SHOULD ALWAYS BE
CHANI 1, SAVE S-BANK
18000; SET UP eTR FOR LAST CHANNEL SERVICED
XRA12: z !4000; REPEAT LOOP LAST CHAN SERVICED
CIRCULAR SHIFT LEFT THE CHAN JUST SERV
RH:.!F; SET UP CTR
REPEAT LOOP FOR NEXT CHANNEL TO BE SERVICED
SKIP IF F2
SHIFT CHANNELl; OBSI CMD
MASK, CHANI IN BITS 9-12
SEND OBSI, SET CTR TO SAVE CHANI If" IPAUL
CHECK DEV REQ; CHAN#
SAVE OBSI RESPONSE; READ REG# 1
MASK CIC; WRITE REG# 3
RESTORE OBSI; IPAUL IF NON-CIC
17FFF. .PAUL IF DEV REQ
4000; WRITE REGI3:-7FFF
DO ANOTHER OBSI
RESTORE 'OLD' OBS! RESP; SKIP IF BIT 8 SET
RESTORE 'OLD' OBS1 RESPONSE

PAGE 220
RECORD
NO

C.S.
ADDR

10894
10896
10898
10900
10902
10904
10906
10908
10909
10910
10912
10913
10914
10915
10917
10919
10921
10923
10925
10927
10929
10931
10933
10935
10937
10939
10941
10!J43
10945
10947
10949

OADC
OADD
OADE
OADF
OAEO
OAE!
OAE2
OAE3
OAE4
OAE5
OAE6
OAE7
OAE8
OAE9
OAEA
OAEB
OAEC
OAED
OAEE
OAEF
OAFO
OAF 1
OAF2
OAF3
OAF4
OAFS
OAF6
OAF7
OAFS
OAF9
OAFA

ENTRY POINT FOR CHANNEL PROGRAM
* . . * * " . . " III * III * AlU A * ......... * III ... * " . . III **.111.****._.* ALU B **************
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
OOFF
OBSR RG
SPOA
OBOO
UBB
UBA
SPIB
UBA
0078 RH
OBSO
CRCS

0200 UBB
UBA

RG
UBB

UBB
005E XR 12
0040 XR6
0071 XR12
XR12
SPOA XR 12
0071 XR12
XR12

ADDL
ADD
ADD
ADDL
ADD
ADO
ADO
ADD
ADD
ADD
CSL
ADD
ADD
ANDL
ADD
10RL
ADD
ADD
ADD
lOR
ADD
JSB
ADDL
ADD
ADDL
ADDL
ADD
ADD
ADDL
INC
JSB

RRZ

SP4A

RG
UBA

RG
SPOA
CF2
HBF2

RG
RRZ
FCHL

LSL
LSL
FCHL

FFF8 CTRS
UBB
OOFF
UBA CTRS
0027 SP4A
REGN

RG
RG
SPOA
RG
RG
RG
RG
RG

UBB
SP4A
UBA
0007 RG
SP1B
UBB
UBA
BKX5

ZERO

1000 OPB
RH
SP2B
RG

UNC

XR22

JSL
ADD
lOR
JSL
JSL
ANDL
REPC
CSL
CAD
REPC
ADD
ADDL
ADO
ADDL
lOR
JSL
SUBL
JSL
ADO
JSL
ANDL
ADO
JSL
JSL
ADO
JSL
JSL
JSL
JSL
JSL
ADD

SP3B

ZERO

SP1B
PAUL CTR
lOR SP3B
CTR

NZRO
UNC
NZRO

lOR
RLZ

DCTR CTRO
SPIB DCTR CTRO
CTR
RH
ICTR F2
NEG
CTR
CTR
BKX5
PAUL
UNC
CTR
lOR SP3B
ZERO
ZERO

OBSR
lOW
lOR

row
row
row

lOW
lOW

SP2B
SP3B
SP3B
SP3B
SP3B

ZERO
NZRO
POS
ZERO
ZERO
UNC
UNC
UNC

10/ 2/86

9:26 AM

COMMENT
MASK; READ REOI 0
PPOLL MASK
RESTORE OBSI; IPAUL IF NO PPOLL RESPONSE
REOI B; IPAUL IF NO PPOLL, SET CTR (XRA127)
READ REOIB
MASK LAST DEV. SERVICED
REPEAT LOOP
CHAN DE VI
MASK CHANI; REGN POINTER
; CHAN DEVI
SETUP AS CHAN REQ; START CHANNEL PROGRAM
; MASK BIT
; READ REGI 0
PPOLL RESPONSE
DEV BIT MASK FOR ROUND-ROBIN
MASK  (3: 1)
IFCHL IF NOT CRC SEND; UPDATE POINTER
REGI 0 :a !405E
READ REG. 7
14040; SKIP IF CRC DISABLED
SPOA
REGI 0
!4071
REGI 0
!8000
!4040 + DEVI
REG. 0
REGI 0 .. ! 4071
REGI 0 .. !8002
FETCH N XT INSTRUCTION

..
..

PAGE 221
RECORD
NO
10952
10953
10954
10955
10956
10957
10959
10961
10962
10964
10966

C.S.
ADDR

CSRQ Measurement Routine
liIt'lllIilt*JII:**III:*IIIj1r

ALU A

111:*'111'111'111111***"'*

LABL RREG SREG FUNC SFNC STOR SPSK

..-:*-.:* •• *** . . " •• AlU B •• ***_*.III:**tII**
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9;26 AM

COMMENT

CSRQ Il.1easurement Routine
TCSQ
OPIFD

OAFE
OAFF

JSZ
ADD
REGN INC
ADD
ADD

UNC

TIME
REGN

OOM

ADDL
ADD

SP2B

REGN LINK
REGN
JSB GSRQ CTR
ADD

UNe

Add to normal execution count
Wait .1 clock to avoid XR store/read conflict
_TIME returns w/ CTR s A5
Increment _ of eSRQ's (XR37)
; JSB to handle eSRQ, eTR ;s 0
NOP to keep system happy
(2555)

PAGE 222
RECORD
NO
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008

C.S.
AOOR

-,,*---* •• -. RREG
... **----••••
AlU B --*---*-_._ ...
SREG FUNC SFNC STOR SPEC SKIP

MPl Reserved Area
••••••••••• AlU A
lABl RREG SREG FUNC SFNC STOR SPSK

* III III * III III * * III * * *

*. ""

···...

* * * *""." III III * * III: * * * * * III III III" III *.,. * * * * * * * * .. * .111." * * III" III III * __ • * III III

!OBOO-!OBIF is reserved for MPl

.111*.***************************-********* •••• ***.*****_.** ••• ___ ••• __
%OBOO
OBOO
OBOI
OB02
OB03
OB04
0805
OB06
OB07
OB08
OB09
OBOA
080B
OBOC
OBOO
OBOE
OBOF
OBI0
OBll
OB12
OB13
OB14
OBIS
OB16
OB17
OB18
OB19
OBIA
OBIB
OBIC
0810
OBIE
OBIF

0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001
0001

0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002
0002

000::
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
0003
OOOl
0003
0003
0003
0003
0003
0003
0003
0003

0004
n004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004
0004

CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON
CON

10/ 2/86
COMMENT

9:26 AM

PAGE 223
RECORD
NO
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11030
11032
11034
11036
11038
11040
11042
11044
11046
11048
11050
11052
11053
11055
11057
11058
11059

C.S.
ADDR

!~~.~~~~=I~ :~~tln~

•••.......

LABL RREG SREG FUNC SFNC STOR SPSK
1MB Message routine:

JII • • • •

*** ••

tr*tt

ALU B •••• 111.111

10/ 2/86

__ • • 111111111

RREG SREG rUNC SFNC STOR SPEC SKIP

9: 26 AM

COMMENT

send 32 bit msg to lOA

Entry:

XR9.(10:3)
TO code of desired lOA
F4
skip error c:hecks
SP3B
read/write + GIC reg number
BKX5
CDEV •
RG
lower 16 bits of message
(upper 16 bits of msg • SP3B lOR BKX5)

e:xit :

RG
= lower 16 bits of returned msg
BKX4, XROB destroyed

%OB20
OB20
OB21
OB22
OB23
OB24
OB25
OB26
OB27
OB28
OB29
OB2A
OB2B
OB2C
OB:lO
OB;?E

!OMS

0282 XR9
RG

WFMS
0090
0401

XR9

001D
UBB

INC
RG
IORL
ADD
JSZ MSTO
ADD
JSB WFMS
ADDL
INC
ADDL
ADD
ADDL
ADD

ZERO
MSGI
UNC

ADD
CAD

ZERO
CCA

ADD

RSB

SP3B BKX5 lOR
RG
ADD
UBA
ADD
ADDL
OC02
JSBI
RG
JSZI
RG
XRO ADD
ADD
UBA
UBA OPB JSZC
INC
UBA
ADD
RREG
UBA OPB AND
OPB
001C RG
UBB

BKX4 PSHR
WRX4
BUSC
XRO
*-1 RG
MESS
MRTO RG
ZEilO
BUSC
CCPX F4B
INVM
NZIIO
BUSC
BUSC
LSL
RG
POPR NZIIO
ADD
RG
ANDL
F4B
JSZ

IDEE

NZIIO

Setup timer; BKX4:- message command
Put modulel in command word; Data i f write

~~M I~nH~~o~~~~~ceFRMncMD busy

SKIP IF MSG RECEIVED;LOOP IF MESS NOT SENT
LOOP IF NOT TIMEOUT; MRTO IF MSG NOT RECE IVED
Mask to clear MSGINT; Read FROM code

~~~ ~pp~D~l~~~~~~M¥~I~~co~~~gTi~obiUSH

REC UPPER WD
MASK; REC LOWER WD
MASK I/O ERRORS & SKIP IF NOT ZERO
RG WILL CONTAIN I/O INFO

~~~PC~[ ~fOI5~R~~~6~~~:S~ERRORS

(2635)

SKIP ERROR CHECK IF COMING FROM FLUSH INSTR.
CHANGED SREGB TO RG.
(2635)
Return or aIOEE for ·1/0 errors

PAGE 224
RECORD
NO
11062
1106J
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11083
11085
11087
11089
11090
11092
11093
11095
11097
11099
11100
11102
11104
11106
11107
11109

C.S.
AD DR

~!!:~~:~.~~0=~6nx ~~!~!.~~:!!Uc!!~~:* •• *.*.* AlU 8 *.* •• ***.*.***
lA8l RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
,. III III * III _. III * .. III III * III * III * III III III iii III * .. III * III * * JIll 111 III"" III III III ... III _. III III III III III * III l1li III III,." III: III III 111.* * III III *,. III * III III
*

10/ 2/86

9:26 AM

C~ENT

*

64-8it Extended Floating Point instructions

*

Format of a 64-bit floating point number:
I 0 I

10

63

-----------------~---------------------------------

I S I

EXP

MAN

5
- sign bit
EXP - exponent, 9 bitl
MAN - mlntissa, 54 bits
III III III III III III *.* ** III **. III * * III III 11._ ,,*.111 III" III * * III'" * * III III III" * III III *_ III III" III III III * *,. * III" II * * III * .. * III * * * III

*

~lUT

INSTR-EXFP:O 010 000 100 OOx xxx, ENTRY·EXFP
ET8l
ADDl lBl
ANDl
WRD
0008
ADDl
ADD
RAR
ADD
AND
U8A JSZ TRP
INC

082F
OB30
OB31
OB32

EXFP 0007 CIR
UBA UBS
USB CIR

OB33

UBA

0834
OB35
OBJ6
OB37
OB38
OB39
OB3A
OB3B

CSR

XR8

SFI
SF3A

ADD
ADD
ADD

ETBl

0003
0004

ADD
ADDl
ADDl
ADD
ADD

RS8

SPOA
SPOA

8000

ADDl

UBA
ZERO
XR8

JS8
JS8
JS8

E8ND
E8ND
EBND XR3

UNC
UNC
UNC

JSB
JSB
JSS

EBND
ENEG
ECMP SP18

JSZ
JSZ

TRP
TRP

UNC
UNC
UNC
UNC
UNC

- CIR.I13:3); UBB :- address of jmp tbl
: ~~~PI~~ra~~; :~B~u~~ ~!~g!~ from YRA
UBA • 1; If CIR.II2:1) • 0 then old 3 word
EF instr so jumC to unimplemented trap
6
XR~~B8·:~1~lggg60RS
to jump table entry;
0: Ext Floating Point Add IEADD). set F1
1: Ext Flt Point Subt ract IESUB!. set F3
2: Ext Fit Point Multiply EMPY
3: ~:~eFtti~0~~~36i!fd~Si~D~~)·EMPY as scr)
4: Ext Fit Point Negate (ENEG), SPOA .• 3
5: Ext Fit Point Compare (ECMP), SPOA :. 4;
SP1B :. 0
6: Unimplemented instruction
7: Unimplemented instruction

~:~

PAGE 22S
RECORD
NO
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11136
11138
11139
11140
11142
11144
11146
11148
11150

C.S.
AC'DR

10/ 2/86

~~~~~=.~~~~k1~o ~O~!!~~.!~~.~AD~.~~~~.~~~~.~Dl~u B ••••••••••••••
LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SII.IP

9:26 AM

COMMENT

****"'111*******************************'/1(*************111*****************

EBND --

Called before doing EADD, ESUB, EMPY and EDIV.
Bounds check operands ( U and V I and result ( W ).
Also adjusts and empties TOS registers.

:

Entered with:

=~

~~:~:~~:~ :~~ !~l (DB+ r~lative)

RC • result adr
(WI
XRA3 • 2 (for SR check)
Bounds checking for U,V,W is: E)z DL and E+3 <= S-3
(the latter check prevents using the slacked
addresses themselves as operands.)
Exits with RA,RB • V,U absolute addresses,
stack emptied so all TOS can be used as scratch,
SR • 0, CTR • a and XRA3 • W absolute address.
OB3C
083D

EBND 0003
RA
DB

ADDL
ADD

RH
RA

OEl3E
OB3F
OEl40
OB41
0842

RC
RA
RB
UBA
RH

ADD
BNDE
ADD
BNOE
BNDE

RB

DB
DL
DB
OL
DL

XR3

JSL
ADD
FFFD
RC
SP3B
SP3B
SP3B

SM
DB
RA
UBA
RH

ADDL
ADD
BNDE
BNDE
BNOE

ADJS

CTR

CLO

SP3B
RH
CLSR

NF2

Adjust. valid TOS to 3; Slow down jump
RA :- V abs adr; CTR := 0
CLEAR OVERFLOW BEFORE GOING TO EADD ( 2635 1
ESUB, EDIV OR EMPY.
(2635
XRA3 : = W abs ad r; SP3B : = S - 6 (SR = 3)
BNDV if abs (V) < DL; RH :. W ab 5 ad r
RB : - U abs ad r; BNOV if abs (V I +
) SM BNDV if abs(U) < DL 0 r abs (U I + 3 ) SM - 3
BNOV if abs (W) < OL or abs(W) + 3 ) SM - 3,
SR :- ESR : - 0

PAGE 226
RECORD
NO
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11169
11171
11173
11175
11177
11179
11181
11183
11185
11187
11189
11190
11191
11192
11193
11194
11196
11198
11199
11201
11202
11204
11205
11207
11209

C.S.
ADDR

10/ 2/86

Fetch Routine for EADD, ESUB, EMPY, EDIV
**_******IIl* ALU A ****111******

LABL RREG SREG FUNC SFNC STOR SPSK

111******_***.* ALU B *111**.*.*******

RREG SREG FUNC SFNC STOR SPEC SKIP

9:26 AM

COMMENT

**-*****-******-***-*****-**************l1li._***_**_.111 .. -.*.*_**l1li*_*****

~~~dS~ri~A~~,S~~~~: ~~:~n:~1sE~~~ ~~n~~!~:.operands
Entered from .EBND with RA,RB • V and U absolute
addresses and CTR - O.
Fetches VO,Vl,V2,V3 and places them into RA,RB,RC,RD;
UO,Ul,U2.UJ and places them into RE.RF.RG,RH.

.

Exits with SP4A • 0 if V • +-0. SPIB • 0 if U • +- 0,

******************_*****III****IIl**_*********IItIll*************************

OB43
OB44
OB45
OB46
OB47
OB48
OB49
OB4A
OB4B
004C
OB4D

ADD
ADD
OPA ADD
UBA SP2B AND
ADDl
0003
INC
BNDl SPOA
FFFF XRO ADDl
OPA ADD
UBA SP4A lOR
XRO JSB BNDl
JSB ESUB

OB4E
OB4F

EFC3 003F RA
0040 UBA

RA

SPOA ROD
REGN
SP4A
XRO
SPOA ROO
XRO
REGN
SP4A
NlRO
F3A

7FFF
RB
0004

ADDl
ADD
ADDl
OPB ADD
UBB SP2B AND
FHD CTRS ADDL
SP3B
INC
0004 CTRS ADDl
OPB ADD
UBB SPIB lOR
UBB JSB EADD

SP2B
SP3B ROO
CTR
REGN
SPIB
CTR
SP3B ROO
CTR
REGN
SP1B
SP3B

Fl

~~k6t ma~l~~~ae~~(V)~i~~BOnd e:~~~~n!~ptu~~r~a~:a~i~~g~~~~r
RA

ANDL

XRO

OB51

ADD

XRl

OB52
OB53

AOD
JSB

0050

FFCO RA

ANDL
IORL

CIR

ED IV

003F RE
0040 UBB
UBB
CFl
ODD

FFCO RE
XRO

ANOl
IORl
ADD

RE

ANDL

XRO

ADD
ADD

SP2B

NF 1
RSB

UBA ". mantissa of V; UBB :- mantissa of U
RA :. man(V) w/ leadIng 1.
UBB • man(U) w/ leadIng
XROA • sIgn & exp of V.
RE • man(U) w/ leadIng 1

sa~~p~ui~ ~:~~'i~l~~t ~~omx~2gD:=E~bgn &
. Return if from EADD. ESUB
JSB if EDIV else fall thru to EMPY
SP2B (- SIGN .EXP (U)

(2635)

PAGE 227
RECORD
NO
11211
11212
11213
11214
11215
1121f'
11;'17

C.S.
ADDR

~~!Z~~z~.~~0:t6n2 ~~!~!.~~!!~PI~.!~!!r~;!!~~ ALU B ••••••••••••••
LABL RREG SREG FUNC SFNC STaR SPSK
EMPY - - W : = U •

RREG SREG FUNC SFNC STaR SPEC SKIP

v

v = RA,RB,RC,RD

V2 = RC,RDJ
U2 = RG,RHJ

U = RE,RF,RG,RH

11~' 18
11219

The partial products will be summed into XRI0, XRll, X and Z.
XR4 will contain 8 guard bits (for normalization and rounding.

11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264

~~:d~~}~0:~~9h:!a,~:~ :~:w:U!::dr!~~!i~~:h!C:v:e:::!;t!~: ~:rtial:
g~~~~~~st~!lreg~l!n(~~A, G~~~es~6l !n~U~~5Glle(E~~~e9~~~pt~~~~n •

112~O

11 ?IlS

11:'06

represents the contents of one of these registers]. The notation'
to the left of each partlal is the naming convention used to
•
designate ea,ch 16-bit part of that partial.

Vl'Ul*2"64
Vl'U2'2"32
Ul*V2'2"32
U2'V2
RESULT

OOXX XXX X XXXX XXOO
AO,Al,A2,A3
XXXX XXX X XXXX XXOO
BO,Bl,B2,B3
XXX X XXXX XXXX XXOO
CO,Cl,C2,C3
XX XXXX XXXX XXX X )(X DO,Ol,D2,03
( DD DDDO DDDO ODOO DD I
( 00 0011 1122 2233 33 I
--------------------------------------OOWW WWWW WWWW WWWW GGxx
WO , WI, W2 ,W3

~~!:~d~~~~~~I~~Ya1~~~ ~:r~~a}wo i12~~H ~~d~~7o'~~. in}~e a g~:;~i~itS
are kept in .KRA4. XRAI0, XRBll, X and Z forms the accumulator.
Upon completion WO = XRAI0, WI • XRBll, W2 = X and W3 • Z.

The algorithm Is:
:1
2.
2.1
2.2
.3

~~r~,~A~y~SPOA,SP3B

:=

Form Vl'IJ2
X,Z := X,Z + UBA,UBB
XRI0,XRll :- XRI0,XRll
XR4 :- SPOA

Form VZ*U2
X,Z = X.Z + LRZ(UBA)
XRI0,XRll = XRIO.XRll

« form A »
UBA,UBB,SPOA,SP3B
; WO, WI, W2 , W3
AO,Al,A2,A3
+

; sum BO,Bl into W2,W3
carry from 2 1
. n~~~g~~:r~abast~r~OB~l

; sum msbyte DO into W2,W3
+ carry from 4 I
; propagate carry to WD.WI
XR4 .= ~~4 + RLZ(UBAI
. sum lsbyte DO into guard
11 carr, 'rom 4 ~ then increment GcRY

lat e r

··
·
•

10/ 2/86
COMMENT

9:26 AM

PAGE 228
RECORD
NO
11267
11268
11269
11270
11271
11273
11274
11276
11278
11280
11282
11284
11285
11287
11289
11291
11293
11295
11297
11298
11300
11302
113r:l4
11306
11308
11310
11312
11313
11314
11316
11317
11319
11321
11323
11325
11327
11328
11330
11331
11333
11334
11335
11337
11339
11340
11341
11342
11343
11344
11346
11347
11349
11351
11353
11354

C.S.
ADDR

~:!:~~:~.~!0:t6nx ~~!~!.~~!!!Pl~.!~:!!~~!!~~ AlU B ••••••••••••••
lABl RREG SREG FUNC SFNC STaR SPSK
XRI0, XR11, X, Z

5.

OB54
OB55
OB56
OB57
OB58
OB59
OB5A
OBSB
OB,)C
OB5D
OBSE
OB5F
OB60
OB61
OB62
OB63
OB64
OB65
OB66
OB67
OB68
OB69
OB6A
OB6B
OB6C

EMPY

SP4A JSB

RREG SREG FUNC SFNC STOR SPEC SKIP

RC
UBA

OB6D

ADD
ADD
MPAD
ADD
ADD

EZRO
ZERO
do partial 'A'
SP4A
SPOA

UBA
UBA
UBA
XR4

ADD
MPAD
ADD
ADD RLZ
ADD

UBB

ADD

OB6E

ADO

OB6F
OB70

UBA ADD
XRI0 ADD

OB71
OB72
OB73
OB74

UBA
UBB

OB75

UBB

SPOA

RD

SP4A CTFl

SPOA CTFI
RA
FlTC

ADD

CF I

XRO
UBB
XRO

ADD
ADD
XOR

FIHB
HBFZ
XRO

UBA
XR9

REPN
LINK
ADD
ADD lRZ
ADD

UBB

XR3

ADD

Z

UBA

LINK

UBB

RH
LINK
XRll LINK

F ITC

XRl

ADO

9:26 AM

; carry from guard
XRI0,XRll,X,Z + GCRY

SPIB JSB EZRO
ZERO
VI • Ul
RA
ADD
SP3B
REPN
0017
RE
UBA
RF
UBB LINK
DCTR CTRO
UBA
XRI0
UBB ADO
XRll
SPOA
X
SP3B
ADD
Z
do partial 'B'
VI • U2
SP4A
RB
ADD
RA
ADD
SP3B
ADD
SPOA
REPN
0017
RG
UBA MPAD
RH
UBB LINK
DCTR CTRO
X
UBA ADD
X
CTF 1 Z
UBB LINK
Z
XR 10 ADD
XRIO FlTC
XR11 LINK
XRll
XR4
SPOA
ADD
ADO
do partial 'C'
V2 • Ul
RF
ADD
SP4A
RE
ADO
SP3B
ADD
SPOA
REPN
XR9
0017
RC
UBA MPAD
RD
UBB LINK
DCTR CTRO
X
UBA ADD
X
CTF 1 Z
UBA LINK
Z
XRI0 ADD
XRlO F lTC
XRll LINK
XRll
ADD
ADD
SPOA XR4 ADD
XR4 CTF 1
RG
ADD
SP3B
do partial 'D'
U2 • V2
RH
ADO
SP4A F 1 TC
XR9 LINK
XR9
RB

10/ 2/86
COMMENT

RH

SP3B
SPIB

ADD
7FFF XRO
XRO
C080 UBA

001F
DCTR CTRO

CTR

CCTX

ANDl
ADD
ADDL
JSB

ENRM

UNC

Result is 0 if either V or U • 0
Multiplier :. VI
SPOA
0; Repeat next line 24 times
Do VI • Ul
XRAI0,XRBll :. AO.Al
X. Z :. A2.A3
Multiplier :. VI
SPOA :" 0; Repeat next line 24 times
00 VI • U2

Sum BO.Bl into W2.W3
XRA4 ~~dB~ropogate carry into WO,Wl

Multiplier :. Ul
SPOA:=XRB9:-0 (for GCRY). rept next 24 times

00 V2 • Ul

Sum CO.Cl into W2.W3

wait ~~~ ~~~~~3:~e r~;r~re~n~~ ~~'~!ailable
XRA4 (ORO) :. XRA4 + C2. set Fl if carry;
MSmultiplier :. MS U2
lSmultlplier :- lS U2; If carry from guard
then increment GCRY
SPOA :~ 0; Repeat next 11ne 32 t1mes
Do U2 ~ V2
All we need from this MPY is UBA (AO)
UBA. (0: 8]., :. AO. (8: 8 ); RH. ( 8 : 8) :. AO. (0: 8 )
SU~B;S:! 36R*nto gUlrd. set Fl if carry;
If carry from gUlrd then increment GCRY;
; ~~~t~!ew~ !e8~~~~r link so that if a carry
is produced UBA will. 1. (else 0) and
subsequently be added to W2
SPOA,SP3B :- W2,W3 + Is (AO) + GCRY
and propogate carry to WO,Wl

Restore
CTR
UBA
UBA
F2
UBB
XRAO

ign.exp(U)
9n (U) );
) + extras
t

PAGE 229
RECORD
NO
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11381
11382
11383
11384
11386
11387
11388
11389
11390
11391
11392
11393
11395
11397
11399
11400
11401
11402
11403
11404
1140S
11406
11407
11408
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419

C s.
ADDR

1 ruc 1 ion
~~!:~~:~*~!o:~~n~ ~~!~!*~!~!~e ins
~*~ ••• ~~***** AlU B

LABL RREG SREG FUNC SFNC STOR SPSK

.

9;26 AM

10/ 2/86

111*111.**.*_*****

RREG SREG FUNC SFNC STOR SPEC SKlP

COMMENT

********************.***********.****.*******.** ...... *****-*******-***.
ED IV -- W ; c U / V

Vl,4 = RA,RB,RC,RD
Ul,4 • RE,RF,RG,RH
* * III til * " .. " .. III III III * '" III III III .. lit .. III III * III * JIll III III .,. III III "

III III ,.. III

*
OB7'6

III III III .. III III .. III .. III .. III

* .... III:

Iii: ..

* * * #I * * * III III * " * * III III

fir 5 1 check if U 0 r V is zero

EDIV

SPIB JSB

EZRO

ZERO

Ihen 5 hi f 1 V and U 10 lef 1
OB7'7
OB78
OB19
OB7A
OB7B
OBlC
OB1'D
OB7E
OB7F
OB80
OBBI
OR82
OB83

RC
UBA
RC
UBA
UBB
RD
RG
UBA
RG
UBA
UBB

SPIB
SPIB

UBB

XRO

OB84
OBnS
OBB6
OB87
OBlI8

RE
UBA RA
RREG
SP4A
UBB

08ng
OIlBA
OBB8
OBBC
OOIlD
OBBE

RC
UBA
UBA
SPOA
SPOA RG
UBA

UBB
SPIB
SPIB
SPIB

ADD
lOR
ADD
lOR
lOR
ADD
ADD
lOR
ADD
lOR
lOR
ADD
XOR

do divide

RLZ
LRZ
RLZ
RLZ
LRZ

RC
RB
RA
RD
SPOA
RF
RE
SP4A

HBF2

Ul,U2,U3,U4

ADD
CF1
DVSB
ADD LSR RG
ADD
RF
CAD
RE
CALCULATE IF REMAINDER >.
ADD
MPAD
ADD
RSUB
RSUB
JSB EDVL

SPOA
SPOA
SPOA CTFI
F lTC
RH
POS

SP4A JSB

EDVZ

ZH:O

bits

RD
RB
RB
RA
RH
RE
RA
UBB
RF
RF
RE
DOIA
XRO
RH

ADD
ADD
ADD
ADD
ADD
SUB
CSL
ADD
ADD
ADD
ADDL
ADD
ADD

LRZ
RLl
LRZ
RLZ
LRZ

SPIB
SP1B

RLZ
LRZ
RLZ

SPIB
SPIB

RLZ

/ ( Vl,V2
RF
REPC
UBB RB
LINK
RREG
LINK
SP3B
ADD
UBA
LINK
QUOTIENT" ( V3, V41

RD
UBB
UBB
SP3B
SP3B SP IB
4000

REPN
LINK
ADD
LINK
LINK
ADDL

SPOA RC
ADD
RH
ADD
RA
SP2B ADD

SPOA CTFI
RH
FlTC
RF

SP3B RD
LINK
SPIB LINK
RB
RE
ADD

~¥

zero trap
U• 0

if

V • 0 else result is

SPIB

CTR
SP3B

SPIB
XR6
SP2B

LBFS

ICTR

;

NF!iB

DCTR CHIO

OOtF
DCTR CHIO
SP3B
SP3B
SPIB CFl
XRIO

SINCE REMAINDER < QUOTIENT" ( V3, V41, THEN
THE CORRECT QUOTIENT : = QUOTIENT - 1, &
THE CORRECT REMAINDER.= REMAINDER + ( Vl,V2,V3,V4 I.
OBaF
OB90
08:31

Divide
zero

SP3B
SPIB
XR6

Sel FS if manlissa(UI < manlissa(VI
Sel counter for divide

Q: a ( SP3B,
RG, SPIB 1
RF:. SP4A; X~~~~ ~~3~:·
Q;a Q - 1 (IF REMAINDER < QUOTIENT*(V3,V41

JSB IF REMAINDER >a QUOTIENT'( V3,V4 1

PAGE 230
RECORD
NO
11420
11421
11422
11423
11424
11425
11426
114;'7
11428
11429
11430
11431
11432
11433
11434
11436
11437
11439
11440
11441
11442
11443
11444
11446
11448
11450
11452
11453
11454
11455
11456
11457

C S
ADDR

0892
OB93
0894

~~!:~~:~.~~o:tGnx ~~!~!.~!~!~@ !~:!!~~!!~~*.

LABL RREG SREG FUNC SFNC STOR SPSK

EDVL RH
U8A
UBA

ALU B ***** ••• ******
RREG SREG FUNC SFNC STOR SPEC SKIP

RC
UBA
UBA

9.26 AM

REPEAT THE SAME DIVIDE TO GET SECOND HALF QUOTIENT
BY ( CORRECT REMAINDER ) / ( VI, V2 )
ADD
CFl
SPlB REPN
0020
RA
DVSB
LINK
DCTR CTRO
UBB RB
ADD LSR XRS
UBB
LINK
XRS
CALCULATE IF REMAINDER ) = QUOTIENT

OB9S
OB96
OB97
OB98
OB99
OB9A
OB9B
OB9C

10/ 2/86
COMMENT

SP4A ADD
RG
ADD
SPOA
UBA MPAD
UBA ADD
XRS RSUB
POS
JSB EDLP
SP2B RSUB
ADD

SP3B
RD
UBB
UBB
UBA

UBB
UBB
XRS
RG

.

I V3,V4

ADD
REPN
LINK
ADD
LINK
INC
LINK
ADD

SP2B

OOlF
DCTR CTRO
CFl

RG
SP2B

JSB IF REMAINDER ). QUOTIENT'( V3,V4

)

Q: - Q - 1

(NFSB) ,
CALCULATE THE EXP(W) :- EXP(U) - EXP(VI + 256
:- EXP(U) - EXPIVI + 256 - 1 (FSB).
OR
OB9D
OB9E
OB9F
OBAO
OBAI

EDlP RG
UBB

ADO
XRO ADO
UBA SUB
SP2B ADO
ADO

SP4A
SPOA
SP4A

FlHB

XR6
7FFF XRO
SP4A
UBA XR 10
FFCO UBB

ADD
ANDL
ADD
ADO
ADDL

RE
SP3B CCTl( FSB
SP2B
UNC
SP2B

ABS EXP(V); ABS EXP(U)
EXP(W) ; SKIP IF FS
SPOA:· \0/3;
;SP2B:·EXP(W)

SHIFT WRIGHT 4 BITS
OBA2
OBA3
OBA4

UBA

ADO
RE
QAC;R
SP2B ADD

RA
XRO

UBB

RF

REPN
0003
LINK
SPIB DCTR CTRO
UNC
JSB ENRM CTR

XRAO :- @Kp(W); CTR :- 0,

go normalia

it

PAGE 231
RECORD
NO
11460
11462
11463
11465
11467
11468
11470
11472
11474
11476
11477
11479
11480

~~!~Z~~~.~!0:~6nx ~~!Z!.~!~:~e ~~.~:r~.!r~~. ALU B

cs.
ADDR

LABL RREG SREG FUNC SFNC STOR SPSK

OBA5

EDVZ

OllA6
0llA7
OIBA8
0llA9
OIlM
06AB
OIBAC
OIBAD

STA
UBB

VZRO OOOA

RD

ADD

SF3A

XR3 ADD
SP2EI ADD

WRD
DATA

RF
RG
RH

ADD
ADD
ADD
ADDL

DATA
DATA
DATA

XR3

ADD
JSZ

SPOA

*********111*111**

RREG SREG FUNC SFNC STOR SPEC SI(lP
SP1B JSB

003F RE
UBA
RD

RD

EZRO

ZERO

ANDL
ADD
ADD
ADD
ADD
ADD

CCA
LSL

ADD
UTRP

UNC

UBA

DB

SUB

RA

CLO

NEG

SOV

NEXT

INSR

10/ 2/86

9:26 AM

COMMENT
RD
status, set F3 (for IIEZRO r t n;
If U - 0 then write zero to W
Write at (Wl; Strip leading one from UO
M~I~~DS~8~ CO~~~C*n~EGwo and write it(2635)
Write WI; Set CCA on WO
Wr ite W2
Wr ite W3
SPOA :- %12 (dlv by zero parmI; Skip if use r
traps are enabled, clear overflow
UBA :s W abs adr; If user traps are not
enabled then set overflow bit & NEXT
Go to user trap routine; Push W adr onto stk

PAGE 232
RECORD
NO

C. S.
ADDR

11483
11484
11485
11486

~=!:~~:~.~!o:tGnl ~~!~!.~~~.~ S~~!!~~!.!Z:!!U~tGOB9 •.••••••••••••

LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9,26 AM

COMMENT

***********.***************************************************_.*-.*

ESUB - - W :. U - V

11487

11488
11489
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11502
11504
11506
11508
11509
11510
11511
11513
11515
11517
11518
11519
11520

11521

11523
11524
11526
11527
11528
11529
11~.10

11532

11533

11534
11536
11538
11540
11541

11542
11543
11545
11546
11548

OBAE

CF3A

RA

XR8

ADD

RA

Cl~:DDF3;

Complement the sign of V and do an

make sure neither U nor V is -0
OBAF
OBBO
OBB1
OBB2

EADD

ADD
SP4A ADD
ADD
ADD

SPOA NZRO
RA
SP4A

SP3B SP4A lOR
UBB JSB
SP1B ADD
ADD

EZRO

ZERO
NlRO

RE

, UBB ,·0 iff both U and V are zero
Skip if V () 0; If both are 0 result is 0
Make sure V is +0; Skip if U () 0
; Make sure U is +0

calculate abs(V) - abs(U) to see if V ) U
OBB3
OBB4
OBB5

RC
RA
UBA

OBB6

FFFC

OBB7

RG
RA
UBB

SUB
ADD
SUB

LSR

CTF 1
F lTC

ADDL
UBA

RD
RE
RB

RH
RE
RF

USA

XR8

CRRY

INC

LINK
ADD LSR
LINK

REPC

NCRY

ADD

DECN

Calculate exp(V) - exp(U); F2. sign(V) XOR slgn(U)
Strip Exponents, insert leading l's
OBB8
OBB9
OBBA
OBBB

JSB
XRO
UBA UBB
OEOO

EFC3

ADD
SUB
ADDL

SFl

RA

FIHB

7FFF XRO
UBA

RE

UBA

XOR

HBF2

ANDL
ADD
ADD LSL

Go split exp, man and insert leading l's,
set Fl so we can get back;
F2 :. sign (U) () sign (V)
UBA ,. exp (V); UBB := ex~ (U)

CTR
CTX

~~~.(2,~iP(~)56;ec~~u~~ ;x~ d~f~ IgrE~~7RM

Check for operands· 0 or difference in exponents) 56
OBBC

SP1B JSS

EVAN

ZERO

JSB

EVAN

ZERO

USA

SREG SUB

CRRY

V' anSIMer if orig U • 0; skip if exp diff is

UNC

V' answer i f original V = 0; V' answer
difference in exponents) 56

(0

OBBD

SPOA

JSB

EVAN

56

If Sign V () sign U then U :. -U

11550
115<,1
11554
11555

ADD

***************IIr****.IiI***************.******************* ••• *********
EADD--W:zU+V

11549
115'>2

ESUB

aBBE
OBBF

RG
RE

ADSB
ADSB

SPOA CTF 1
F HC

RH
RF

LINK
LINK

SP3B

SPOA,SP3B

0

ls(U) (for following QASR)

if

PAGE 23:1
RECORD
NO
11556
11557
11558
11560
11562
11563
11564
11565
11567
11569
11570
11571
11572
11574
11575
11577
11578
11580

11581

C.S.
ADDR

!:!:~!:!.~!0:t6nx ~~!~!.~!!.! S~~!!~~!.!~~!!U1t6°~S ••••••••••••••

LABL RREG SREG FUNC SFNC STaR SPSK

RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

Shift U right to align with V
OBCO
OBCl

UBA
UBA

ADO
QASR

now add' I~m up
OBC2
OBC3

SPIB DCTX CTXO
SPIB DCTX CTXO
+

man(U)

SPOA CTFI SP3B RD
LINK
SPOA RC
ADD
RA
FITC RB
SPIB LINK
RA
RE
ADD
F2
sign (W), check for 0 result, normalize

OBC4

SPOA UBA

lOR

OBC5

XRO

ADO

XRO

ADO

OBC6

RE
UBB REPC
UBB LINK
RE
(RA,SPIB,SPOA,SP3B)
manlY)

UBA

HBF2
LSR

XRO

SP3B UBB

[OR

UBA

UBB

lOR

UBB

JSB

SP3B
SPIB

SPOA,SP3B:- h(UI + ls(V), carry to Fl
RA,SPIB :- ms(V) + ms(UI + previous carry
CCTX

EZRO

RE,SPIB := ms(U); Skip if D.EXP = 0
Shift ms(U),ls(U) (RE,SPIB,SPOA,SP3BI right
and decrement 0 EXP until D.EXP = 0

ZERO

PAGE 234
RECORD
NO

C.S.
ADDR

~~~~~!!!:!!O~L~o~t!z:.!~r.~:! F!~=!!~¥.~~!~! !~~tB ••••••••••••••
LABL RREG SREG FUNC SFNC STaR SPSK

ENRM -- Normalize result of EADD, ESUB, EMPY and EDIV
~~r?: ~!~~itS~~c~V~o ~~~o~~dicators if neccessary
Set condition codes

11586

11587
11588

11589

11593

11603
11604
11606
11607
11609
11611

11613

11614
11615
11616
11618
11620
11621

******111***_**111******_.***********_.-.***** ••• **111******1t.**It* •• ****.*.

shift W left to BITS, round, shit t W right to BIT9
OBCl

ENRM

OBCS
OBC9
OBeA
OBeB

SPOA

RA

ADD

UBA

QASL

RA

RA
UBA

INC
ADD
QASII.

RA

BITS

SPIB REPC

BITS

UBB

SPOA CTFI
FlTC

SP3B

LINK

LINK
SPIB LINK
UBB LINK

UBA :. WO, skip i f al ready aligned to BITS;
UBB .• WI
Sh i f t WO , W1 , W2 ,W3 , W4 , W5 , W6 ,W7 unt i1 BITS;

SPIB DCTX

Ad~T~ ~~ ~~~w:dton~~~~~,b~~~~:;a~~ ~~;~~ing

SP3B

into upper two words (WO,WI)
and shift WO,WI,W2,W3 right to align to BIT9

SPIB

add in exponent adjustment, merge sign, check OVF, UNF
OBee
OBCD

RA

STA
XRO

ADO
ADD

RF

OBCE

UBA

UBB

eSL

SP4A HBF2

CTRS ASR
UBB ASR

RF
Add ::xSTeT~~ioS~A~t(~~pw~1iu~~~:n~ liy~tthe
exp Cits if no carrf from rOUndin?, else
it will have a 2.
hus we add I 0 the
exp for t he previous shift ri~ht and add I
if rounding produced a carry 1nlo the exp
bi Is.
~:?t: :hHfs ~dt ~~!m:~} u!r~:n~ h!s n~~:aliZing
aligned with the exp field in WOo

11622

11623
11624

11625

11626
11627

11628
11630
11631
11632
11633
11634
11635
11637
11639
11641
11643
11645

11647

11649

9:26 AM

Entered from EADD/ESUB/EMPY/EDIV with
F2 : sign of W
RA,SPlB,SPOA,SP3B = WO,Wl,W2,W3
XRAO = exponent of W, SP4A • guard bits
CTR = CTX z SR • 0
XRA3 = absolute address to store result at

11590
11591
11592

11601

.

10/ 2/86
COMMENT

******-********111.** •• ********* •• **-****'II1II*******l1li:***************1/1:******

11583
115R4
11585

11594
11595
11596
11597
11598
11599
11600

RREG SREG FUNC SFNC STaR SPEC SKIP

UBA

UBB

ADD

RA

F2HB

UB~dd·t~:~[~~ ~a~:Pa~d6vtc~~[6~F,it2u~~ti~or
;

OBCF
OBOO
OBDI
0802
OB03
OBD4
0805

write W back to memo r~H set ee,
XRJ ADD
WRD
RA
ADD
DATA
SPIB ADD
DATA
SPOA
ADO
DATA
RG
ADD
DATA
UBB SP4A lOR
NlRO
JSB EFOV
UNe

check for W ~ 0
ADD
RA
ADD
SP3B
ADO
RG
SP3B SPIB lOR
UBA UBB lOR
SP4A JSB EFOV
ADD

eCA
DeC
SF2

ODD
NEXT

RH
Wr
Wr
Wr
Wr
Sk
Un

UNF.
UBB :. WO + exp adj , s tore into WO, me rge
sign (WI into WO

: = W absolut e address
Ie WO; Set eCA on WO
te WI; RG : = W3
te W2; UBB : = WI 'LOR' W3
te W3; UBB : = WI 10 r W2 lor W3, set Dce
P if abs [W) ( ) 0; .EFOV if over/underflow
erflow if W = 0 (t ha t is not allowed I,
ump w/ F2 set; Else all done

PAGE 235
RLCORD
NO

C.S.
ADDR

11651
11552
116')J

11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11665
11666
11668
11669
11671
11672
11674
11675
11677

Overflow! Underflow Trap Routine
~.*-** •• ~ •• ALU A *_*** ••• *w*
* •••• **~*.**. ALU B •••••••••••• **
LAFlL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
Il ill 'It * lie III
* .. III * * III III: lit III: * JII III '" III III III III III III III III " III: * III: It III III '" * '" '" • III III: '" R * * III • lit * JIll III * * III 111111 III * III III * III JIt III * JIll III

.

]II

.

111:

Over/Underflow Trap

10/ 2/86

9:26 AM

COMMENT

Entered with F2 • 1 for underflow. RF • status. SR • 0
If use r t raps are not enabled t hen set ove rf low st atus bit.

:::~k~u~~~~ra:~~~;~o:a~~to~~~ :!a~:'t~=s~5=~r:~::e~a:~1:r.
OBD6

EFOV 0008

ADDL

RF

SPOA

OBD7

UBA

ADD

NF2

OBD8

UBA

ADD

CCA

ADD

NF2

OBD9
OBDA

SPOA

INC

SPOA

RF

ADD

CLO

LSL

ADD

UBB

NEG
SOV

ADD
RH

DB

RA

SUB
JSZ

UTRP

NEXT

INSR
UNC

SPOA :- %10 (overflow parm); Clear overflow
bi t .
(2635)
SKIP IF OVERFLOW; SKIP IF USER TRAPS (2635)
ARE ENABLED
(2635)
; If user traps not enabled then NEXT with
overflow bit set AND CC SET TO CCG (2635)
Skip if overflow; Place W address (DB+ re 1)
back on TOS
%11; Go to user
If underflow then parm
trap routine

PAGE 236
RECORD
NO
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11697
11699
11701
11703
11705
11706
11708
11710
11712
11713
11714
11716
11717
11719
11720

C S
AOOR

~:!:~~:~.~!0:L6nl ~~!~!.~:y:!e !~:!r~:!!~~ •• AlU B ••••••••••••••
LABl RREG SREG FUNC SFNC STOR SPSK

.

RREG SREG FUNC SFNC STOR SPEC SKIP

.

10/ 2/86

9:26 AM

COMMENT

_**111:** •• ******_.***.*****************111****************111*._ •• *_.* •••• *

ENEG -- V :- -V
If V () 0 then complement sign of
or CCl. else just set CCE.

V

anq set CCG

~:ei:l?~~~~hm *~e~Oc!:~~~m:~~ht~= ~~~~lo~ ~gn;~~ro
:~!!~ ~~ ~:;kV~~ m~fo~ll(V~ !~~ale~!~!eth~n ;:: ggE.
•

Entered with SPOA - 3

III: III: III: III • •

oeoe
oeoc
OBOO
OeOE
OBOF

111:._ ..

ENEG RA
UBA

lit. III

III: "III""

111:

_till

III:

*._ **_. * *

JSZ PUlM
ADD
RA
ADO
NEGl SPOA SPIB JSBS FINI
UBB SM
CAD

OBEO
OBEl
OBE2

RH

OBE3

RA

OBE4
OBE5

III III: III:

DB

Ol

RA
SM

BNOE
ADD
ADD

ZERO

WRD

ADD

•
* ... III: III: III III III: III III III 111111111 111*. *. III III IIIIJ1: * III III III .. III: 111:" **
CAD
ADO
ADD
RA
SP IB INC
SP3B UBB BNOE
SR

SM

REGN DATA

SPIB
SP3B
RH
CTR

SR

SUB

SP2B lOR
ADO

CTR

UBA :- RA. pull 1 TOS if SR - 0; SPIB
RA :- abs adr of operand; SP3B := S

[POP
ROO
TICB

SPIB INC
SPIB
8000 REGN ADOl
SP28
SREG JSB NEGl
SP3B RA

CAD

SP2B ADD
FINI

SRZ

III III:

1~i!
NZRO
ZERO

TICB
eeA
eCA

NEXT
NEXT

!o;

:=

-1

t~~nS~0!e6;O~~r~~eEt+E~~ ~~~dE~~MER

InB~g~ i1g~s~ess if E ) SM and E <= S;
BNOV H E < Dl; Increment x. skip if x () 0
. SP2B. - (VOl
YREGA :- VO abs adr; if Vx • 0 then examine
V(x+.ll. else faU thru to write negated
valul! back
CTR. 17 if not (E ) SM and E <- SI else
TOS REGN.
wr6~e(i~~ ::~~ l~ I~Sp~:v:=To~~~J~e~E~~A on
; VO w.s zero so just set CeE. NEXT

PAGE 237
RECORD
NO
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11739
11741
11743
11745
11746
11748
11750
11751
11753
11754
11756
11757
117')9
117fil
11763
11764
11765
11766
11768
11770

11771

11771
11 77';

11776

11778

CS.
ADDR

EMtended Compare instruction
**.*~III*III*~'*

ALU A ***11:.*****111

lABl RREG SREG FUNC SFNC STOR SPSK

* ••• 111111111111****111 Al.U B **JII'.JII*IJI:*lII:ft***1II

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:26 AM

COMMENT

EMtended Compare (ECMP) Instruction
U is compared to V and the condition code is set to CCG, CCl
or CCE to indicate whether ~ is 9reater than, less than or
equal to V.
Entered with SPOA • 4 and SPIB • 0
TOS
= V (DB-reI)
TOS-l • U (DB-reI)
OBE6
OBE?
OBE8
OBE9

ECMP

OBEA
OBEB

RH
ADD
CMPL SPOA SPIB SUB

UBA
RH

RB
DB
UBA
CIR

JSZ
ADD
JSB
lOR

PULM

SRL2

EFCH

UNC
CCA
HBF2

RH

RA
RH
RH

JSZ
ADD
ADD
XOR
ADD
SP4A SUB

DB
UBA
UBA

OBEC

UBB

JSB

DONE

NZRO

OBED

RB

JSB

EFCH

UNC

RH

JSB
JSZ
ADD

CMPL
NEXT

UNC
NF2

UBB

ADD
ADD
SPlB XOR

UBA
UBA

SPIB ADD
UBB SNDE

OBEE
OBEF
OBFO

DONE

OBFl
OBF 2
08F3

EFCH SR
UBB
RA
UBA

PUL2

SRZ
EPP2
CCZ

CAD
JSZ

RA
RB

POS
NEXT
CRRY

SPIB CCA
NEXT

ZERO
F2HB
CCA NEXT

~~ll;~ !~s~~ ~ ~Ae~:eaC~I~)l if SR • 1
Fetch VO & U~; RB ;. abS!U), pop 2
Set CCA on UO [CIR prevents CCE);
se~kt~ t~ ~5g~:g:{!v!~eN~~~eif signs differ
RH ; • • of words left to compare; Set CCZ on
UM - VM (CCG or CCE), skip if U ) = V
Go finish up i f result <> 0;
SPIB ;. -1 & set CCl if U < V
NEXT if no more words left to compare, else
go get the next pair
Go back to compare neMt pair
NEXT if both were positive; Bit 0 := F2
; Flip CC if bath were negative, NEXT

Fetch UM and VM

OBr 4

nOF,)
OHF6

RH

SM
SM
SPIB
SM

ADD
CAD
ADD
CAD

DL
BNDE
REGN ADD

RH
RH
SP4A

ROD

SP3B DL
RH
UBA

SNDE
SNDE

REGN ADD
SPIB INC

SP3B ROD
CTR TICB
CTR TICB
RH
RSIB
SP1B

RH .• S; SP3B. abs UM, read Ux
TOS check: (if (E) SM and E (= S) then
CTR. tos. else !F); BNDV if E) S
RH := abs VM, read VM; BNDV if abs Ux < DL

TO~T~h~~kios'i!I~~ ~F~~ ~~gvEi:=ES! ~hen

BNDV if abs V < DL; RH :. Ux
SP4A := UBA ;. Vx; Inc word ptr, RSB

PAGE 238
RECORD
NO
11781
11782
11783
11784
11785
11786
11787
11788
11790
11792
11794
11795
11796
11797
11798
11799
11800
11801
11802
11804
11806
11808
11810
11812
11814

C.S.
ADDR

101 2186

~!!~~~~~.~~o:tonl ~~!~!.~::~~t r~~H~::**.**
LABL RREG SREG FUNC SFNC STOR SPSK
III III III III. III III III III III III III III 1'1: III III III III III

tII«

III III

ALU B ••••••••••••••
RREG SREG FUNC SFNC STOR SPEC SKIP

.

9:26 AM

COMMENT

* III III III III 1It_._ III III III III III * JIII._ .•. III ** III. ** III III III III III III III III. III III III • • * III III.

EZRO -- Called when result
EMPY. I

(WI is zero,

(from EADD/ESUB, EDIV,

* III III. III III III III III * III III III III III III"" III III III 111* III III * 111*.* * III III 111* 111* III III III III III It • • • III III. 111.* ... III .. ,. * III III • • III 111._ III III" III

OBF7
OBF8
OBF9

·
·

EZRO

III III III

XR3

ADD
ADD
JSB

VZRO

REPN
ADD
ADD

WRD
DATA
F3A

* III" _ ... ,. III 111111 111.* III III III: * III ** III III III * III III III III * III III III ..... III III III III III III III

'l1li

1111111 .... III III

0003
DCTR CTRO
CeA NEXT

.

EVAN -- Called when V will be the answer (from EADD/ESUB. I

·

EVAN

"oeoo

uee

XR3
XRO
RB
Re
RD

ADD
ADD
ADD
ADD
ADD
ADD

WRD
DATA
DATA
DATA
DATA

003F RA
RB
RD

ueA
Re
uaB

ANDL
ADD
ADD
lOR
lOR
ADD

Go back to EDVZ routine if F3; Else NEXT
with CCE set

* lit III 111* III ** _. * III 111111 * III • •

111.**.*.****.** ••• ****.******.**.*.**.* ••• ** •• *** ••• * •• 111.*111* •••

OBFA
OBFe
OBFe
OeFD
oaFE
oaFF

~!!~! ~~~::s~ts!~I~c~epeat next line 4 times

*.* ••••

DCC

Write at
5i ~Wl; e~~ rt~t~e~gi~~do:~i~~OTt WO
Wi
Set eeA on WO
Write W2 Merge W2, WI
Set DCC on Wl,W2,W3, NEXT
Write W3
NOP to k ep system happy
(25551

~~r?:

eCA
NEXT

PAGE 239
RECORD
NO
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11833
11834
11836
11837
11839
11840
11842
11843
11845
11846
11848
11849
11851
11852
11854
11855
11857
11858
11860
11861
11863
11864
11866
11867
11869

I/O Instruction Look-up Table
C.S.
ADDR

111111111111111111 . . . . . . . 111

ALU A

111111111111111111111111111111111

U\BL RREG SREG FUNC SFNC STOR SPSK

• • • 111111111*111* • • • '"

ALU B

10/ 2/86

9: 26 AM

111*****111:111111**111111*

RREG SREG FUNC SFNC STOR SPEC SKIP

COMMENT

Look-up Table for I/O Ins t ruc t ions
All are two-word inst ructions
15

0

word(M)
word(M+1)

.

-------------------------------------%20302
-------------------------------------I/O op code
--------------------------------------

.1I1II1II1II*****JII******IiIIIII"JllIIIIIIIIIIII._*IIII11J11Il1I11'1tIllIll***IIII11J11J11*****Jllill:JllflliIt**111.111111111111111111111****_

JSB

SHIO

SF 1

01FF RB

ANDL

RG

OCOI

JSB

SHIO

UNC

01FF RA

ANDL

RG

OCOO

lOBS

0, SlOP, set Fl for SHIO; RG
START I/O PROGRAM
1. HIOP: RG :. MCDEVI
HAL T I/O PROGRAM
2, RIOC
unimplemented
READ I/O CHANNEL

OC02

ADD

JSZ

TI~P

UNC

OC03

ADD

JSZ

TRP

UNC

3WR~~~C I/O - cHX~AErlemen t ed

OC04

ADD

JSZ

TRP

UNC

4 RO~~:~ALL- c~~i~glement ed

JSZ

TRP

UNC

OCOS

ADD

OC06

JSB

OCCI7

ADD

JSZ

TltP

OC08

ADD

JSZ

TRP

JSL

DI~PX

RA

JSZ

DMPE RH

RA

ADD

OCCI9

SF3A

SHIO

XR15

0001 XR15 IORL

DIF8 RA

RA

OCCIA

,ADD

OCCIB

JSB

RCMO

UNC

OCOC

JSB

WCMO

UNC

ANDL

INC

RG
UNC
UNC
RH

UNC
UNC
HBF2

MCDEV.

5 / 0gtEAR- c~~glemented
t
6. INIT, set F3 for SHIO; RG :- MOD, CHANI
INITIALIZE I/O CHANNEL
7. MCS
unimplemented
MEMORY COMMAND and STATUS COMMAND
10. SEML
unimplemented
SEMAPIiORE LOAD
11. STRT, set load bit, RH := cold ld mcdevl
WARMSTART COMMAND
12ME~~~'D~~P:C~~~Dload mcdev I
13. RIOA; Set F2 i f global command
READ I/O ADAPTER
14. WIOA; UBB :- 1 (I TOS required - 2)
WRITE I/O ADAPTER

6

PAGE 240
RECORD
NO
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11890
11892
11893
11895
11897
11899
11900
11902
11904
11906
11908
11909
11911
11913
11915
11917

C.S.
ADDR

HPIB I/O Instructions
* ••• - •••• *- AlU A 111.** •• * •• **
lABL RREG SREG FUNC SFNC STOR SPSK

*_*******A.*. AlU B A** •••• I11* •••• 1
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/88

9:26 AM

COMMENT

Start of 2-word I/O Instructions
1.

2.
3.
4.

5.

Empty RO. go BUSY

g:tc~~:t~a~1~rto~~tfw~ur~ ;~g~e

Put DRTBANK. OFFSET into BKX3. XRAI

!ls!nr:l~~t!~~~~~C~!~~i~~e~h!~a~andle

else RSB to jump table entry

Entered from IRSW with no TOS adjustments
done and SPIB - 2.
* .. * ** III * * * * * * III III * *. *AA. * * .. III" * * * III" * .... * * * III. III .... l1li III * * * * .. " * .... " * *" * * * III III * III * .. ""

OCOD
OCOE
OCOF
OCIO
OCII

.

IOL T

OC02
0007
COOl

UBA

JSZ TRP6
ADDL
RH
ADDL
ADDL
ADD

RH

INC
ADD
RG
INC
SPIB ADD

OC12
OC13
OC14
OCIS
OCl6
OCl7
OClS
OCl9

STA

RA

OPA

ADD
ADD
JSZ
SP4A ADD

RH
SPOA
RG

POS

CCA

OPB

XRI
lSR SP4A RAR
MSGI
IRON
LSR SP4A RSB

BKX3
PSHM SP2B

SR7

UBA ADD
BUSC
lOBS SP2B ADDl lBl SPIB
OPB JSZ PULM
SRZ

ROB3
ROX3
WRX3

ADD
JSZ

0000

SP2B ADD
JSZ PULM
ADDL
SP3B
OPB ADD
BKX3 CF2

4000
ADDL
SP3B SP2B JSZC TRP
RA
ADO
ADD

SP2B
BKXS

NZRO
SRl2

NCRY
SF4B

Mode vio.lation?

BKX3 :- 0

RHSP2B9~.b~~~ (~~C~~~)ca!~pf~ :~S~~)~R • 7

RH :- 7 (for DRT & ISHiO); Go BUSY
SPOA :- !COOI Jfor ISHIO~; SPIB :- jump targ
se!n;C~6S(?~BSRo~c~s BUS completion). pull
Reid DRTBANK @8; Skip if not SlOP instr
; Pull one more TOS if SR ( 2 Ind SlOP
Reid DRTOFFSET @9; SP3B :- I valid instr + I
YR~~e~; I~m~ f!~b~~0~1dress; BKX3 :. DRTBANK.
XRAI :- ORTOFFSET; SP4A :- mask for DRT3
SP4A :- mcdevl &lsr(l); Trap if invalid inst
Handle MSGINT; BKXS :- mcdevl
SP4A :- mcdev' &lsr(2) for INIT instruction.
RSB to jump table entry; Set F4 (for STRT)

PAGE 241
RECORD
NO

C. S.
ADDR

Entry point for SlOP, HIOP and INIT instruction$
*JlilIII • • • JliljIr*lIi:*

L~,BL

ALU A *** •••

"'.*111:111

RREG SREG FUNC SFNC STOR SPSK

flllII • • • III* • • **1II1II

ALU B

10/ 2/86

9:26 AM

1II1II.1II******IIIIIIJllIII

RREG SREG FUNC SFNC STOR SPEC SKIP

COMMENT

11919

11920

Entry for SlOP, HIOP, INIT

1U121
11922
11923
11924

l.
2.

11925

11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11938
11939

11941
11942

11943
11944

11945
11947
11948
11950
11951
11953
11955
11957
11959
11961

3.
4.
5.

Entered with Fl set if SlOP, F3 set if INIT,
RG = medevl (me. if INIT), SP4A = mcdevl &lsr(2),
RH • 7, SPOA = !COOl, XRAI = ORTOFFSET

.

III ~l III III III III iii: III

OCIA

Translate l09ical 1MB. to physical MODI
Place COEVI 1nto BKX5 for use by IIOMS
Read ORT for specified MCOEVI,
set F2 if abort bil DRTJ (2 1) is set
~~~~tt~u:~ib~,C~~i~pi~~O.¥~~~ for INIT

* III: * III III III III III III .. III III II lit III III III III III III III III .. lit III 111 III .. .. III III !II

SHIO OOIE SP4A ANDL

OCIB

RG

RG

INC

III • III

* III III iii lit III !II III iii * * III III III III til: III: III !lit !II III * III III III 'III

JSL

SP4A
LSL

RG

RH

LTOP BKX4

JSZC NCHL

UNC:
NCFtY

SP4A. (11:4) :. channel I; BKX4.

0,

uBle~.ugR~~y:~~~!5~~d¥~:pli}ne~:~~ ~oO 1!~~~
works for modi. 0)

•••••• CHNLO CK SB DELETED FOR PR IMBI
OC.LC

UBA

OC.LD
OCIE
OC.lF
OC20
OC21

ocn

XRl

INC
JSB

S][Ol

SP4A
INIT

SP4A ADD
CAD
OPA JSBI BIDE
ADD
SPOA OPA AND
RH

007F RG
F3A
ROX3
DATA
ZERO
HBF2

UBA

BKX5

ANDL

SP4A ADD
BKX3 ADD
ADD
ADD
CAD
JSB

LSR

HIOP

Fl

SP4A :. DRT3 address;

SPIB SF5B

JS~Kn iNI~d!~:tr~k~~l~~(~~?~)

BKX6

~:~~r~~!35!~!~~~~~ ~:l~Yo~::~~hore (2319)

BKX6

set F5

Nfl.

:. channell,

§:~~ ~~}~ll~e~~~~o;~ir;e:e~~~h~~:

•

-1

RHHIopD~~3n!?:~ib~:1), set F2 if bit 0 • 1;

PAGE 242
RECORD
NO
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11989
11991
11993
11995
11996

SlOP Inst ruction
C. S.
ADDR

**III***JII**** AlU A **"'*****.**

lABl RREG SREG FUNC SFNC STOR SPSK

********* ••• * ALU B ****-********111

RREG SREG FUNC SFNC STOR SPEC SKIP

o

SlOP CMD--

9:26 AM

15

6 7

S-l

10/ 2/86
COMMENT

MCDEVI
CHAN PGM POINTER

l.
2.
3.
4
5.

If DRT3.(2:11 • I, exit with CCl.
(Set by
UOlT.)
If DRTJ. (0: 2) - 00, 0 r DRT3. (0: 2) • 01 wi t h
DRT3.(lS.1)· 1, set CCE.
Else set CCG.

~~Ei~n~!o;h~~st~:e~h~~~~!dP~~1r~~ti~e~alted,

,ggM

OC23 . SlOP 2000 SREG ANDl
OC24
UBA
JSB NEXS
USB SP28 XOR
OC25
OPA JSB SlOE
OC26

000

NEXS

UNC

OC27

JSB

•

serviced and the channel is in WAIT state.
t
I~eBRise .~~a~:~\~f~g ~ ~m
e r s!~la6~d
command to the channel to request CSRQ on
behalf of the device.

NZRO
NZRO

SP3B
ADDl
SPIB
ANDl
CCA
ADD
SPIB JSB SlOE

5000
COOO RH

INC

CCA

ZERO

Test DRT3. (2:1~; SP38 :- SlOP command
NEXT if DRT3.! :1) - I; Mask DRT3.(0:2)
~~igEilfDg~~3.?62~1(~ gA;o~et CCE
i f DRT3(0:2) - 01 and DRTJ.(15:1) = 1
NEXT (no change); Set CCG

PAGE 243
RECORD
NO
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12024
12026
12027
12029
12031
12033
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12046
12048
12049
12051
120S3
12055

C. s.
ADDR

..

HIOP Instruction
~.~.~~~*
#
ALU A •••••••••••
LABL RREG SREG rUNC SFNC STOR SPSK
III III ill: III • III " III '" III III III III III III 11 III !II

*.* •• * •• ~ •• A. ALU B *.111.111 •••• ***.RREG SREG FUNC SFNC STOR SPEC SKIP

* III III III III * III 111 III III III III III III lit III "It

111:

III III III III •

* III III :If III III

111:

III III '" III

* III III •

III III

.

9:26 AM

* • III III 'Ie • • III !Ii: * III

o

HIOP CMD--

101 2186
COMMENT

15
MCDEVII

1.

2.
3.

4.

OC28
OC29
OC2A
OC2B
OC2e
OC21D

HIOP RH

.

Set CCG if DRT3.(0:2,15:1) - <010> or <100>.
(Send HIOP command with DRT3 :- 14000 only
i f <100>.)
Else set CCE. Also send HIOP command only
for <101>, <110> &  with DRT3 := 14001
CCE indicates that the channel pr09ram was
halted or in a WAIT state when the
instruction was executed, or had been issued •
SlOP earlier but not yet serviced.
Then set DRT3 : = !4001 50 it looks like an
~!~~er~~~~s~O~~~~dt~~ ~~!Tc~~~~:i t~h~~quest •
service on behalf of the device.

SP2B ;rSBS NEXS
IIDD

OOOF OPA
UBA SP2B
UBB
0002 SP2B

III III *: • • III til III .. 111

ZERO
CCA

UBB

IINDl
INC
SPOA
;rSBI SlOE
ZERO
IIDDl
SPOA

* III 'lit 'It lit _I •

III III

* III * * III: • • III III '/( III .. III III:

JIll

SP2B ADD
CCA
UBB JSBI NEXS SP1B

7000
ADDl
SP3B
RH
SPlB JSBS SlOE
INC
CCA
ADD
CCA
III

* lit •

III III III III III: 11 ~ III • 11: III

NF2
ZERO

* " III * • III 111 .. III III III JIll * lit III 111 III III

JIll

NEXT (no change) if <010>; Se t CCG
NEXT wi t h CCE if <000>, <001 > or <011> ;
SPlB
!800l
Mask DRT3. (12:4); SP3B := HIOP command
!4000 + DRT3.(15:lJ; SlOE if <101> with CCE
SlOE if <100> with CCG
Send HIOP if <110> or <111> with CCE,
set up to set DRT3 to !4001

III

IISIOE 1s used by SlOP and HIOP to write DRT3 status
(and DRTO ptr if SlOP)
OC2E
DC2F
OC30
DC31
OC32

SII)E FFFD

IIDDl
SP4A lIDO

0007 RG
SPOA

IINDl
lIDO
CAD

WRX3
RG

UBA

ADD
SP4A ADD
RA

DATA

ADD
JSl
ADD

WRX3 NFl
IOMS

DATA

UNC

UBA :- -3
Write to DRT3 addr;
Write to DRTO addr, skip if HIOP
RG :s devil; Store chan pgm pointer to DRTO
Send SIOP/HIOP command
Write !COOO~!4001 to  (must be done
after 1110 S since this clears semaphore)

PAGE 244
RECORD
NO
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12072
12073
12075
12077
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12094
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12110
12112

C S
ADDR

I/O Inst ruct ion Common Routines
'********** ALU A ••• ,******. 111************ AlU B -*-**** •••••••
LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

INEXO is the common exit point for all I/O inst ruct ions
except STRT and DUMP
1.
2.
3.

4.

OC33

NEXO

OC34
OC35
OC36

Inc rement P and read next inst ruction
Pop 2 ros elements if FS is not set, else pop

G~l~N~U~~IOA does its own 1st pop)

Do NEXT

ADD
0400

ADDL
ADD
JSZ NEXT

EPOP

INC

RONP F5B

UNC

ADD
ADD
ADD

EPOP
BUSC

UBA

INEXS is used to clear a semaphore of DRT3 when it
deSired to change the contents.
1.
2.

OC37
OC38

NEXS

.

ADD
JSB

15

The contents of BKX6 are written to the
address contained in < BKX4.SP4A >.
Control is then passed to .NEXO for
instruction termination.

NEXO

UNC

SP4A ADD
BKX6 ADD

WRX3
DATA

****'111111**111*********l1li****************-*****************"'*'**",.,'"

OC39
OC3A
CC3B

BIDE

.BIDE is used to wait for a period of time. This is
used within the semaphore-wait loops of the
SlOP and HIOP instructions, and prevents the CPU
from accessing the DRT semaphore location so
~~:g~:n~~y g~~~t a~~:s~h~~n~ie~~o~~:ms~~~~~~~~r is
ADD
ADD
ADD

EPOP; Sot P and read instr after 2nd I/O
o
UB: ~~' !I~k~~BM/ ~~:::",~~~~ g~ ~~~\POP
; Send go UNBUSV message
NEXT in one clock

REPN
ADD
JSB SIOI

.

0020
DCTR CTRO
UNC

Set up address ...
... and write back DRT3 unchanged

PAGE 245
RECORD
NO
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12139
12140
12142
12143
12144
12146
12148
12149
12151

C.S.
ADDR

WIOA Instrvlction

JllJllJllJllJII.IkJIIJIIJIIIII ALU A 111**111*******

*.111********111* ALU B JII**1II:*JII***JllJllJllJIII"

lABl RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIt>

o

WIOA-S-2

10/ 2/86

9:27 AM

COMMENT

1 2 345 6 7 8 9 0 1 2 3 4 5

M M C C ceo 0 01
---------------------------------

S-lIBBBBRRRR

1

DATA
1.
2.

~:

This inst ruet ion sends command and data to
channel(s)
CCl if ORT3.(2:1) .1. an ABORT bit set.

i~Egi~b~lS~b~~~~~~ !~i~or~!e6~~3072:1)

test.

Entered frDm #IOBS with UBB = 1, eel already set, SR >= 1,
F2 cleared
RC

JISZ

OC3!)

RB

~IOO

OC31E
OC31F

WIOC

J'SB
SP2B JISB

OC40
OC41

WI04 RA

OC3C

WCI~O

~IDD

J'SB

PUl2

SRl2
HBF2

RWIO
NEXO
NEXO

EPOP
NZRO
RG

UNC

SR

UBB

JSZC PUlM

ZERO

UBA

JSl

NF2

LTOP RG

ANDl
007F RC
SPIB
SP1B JSB WI04 SP3B
RB
JSl
ADD

IOMS

F2
CCA

ZERO

If SR • 2 then pull one more TOS else if
SR = 1 then pull two more TOS

SelnF~Rk~ Y~~B~~ im~~U~~tb~~hP~~;~~~lwT~~#
GoU~:a~ ~~J3! m:: l~m~p[gr:~GJdev#
NEXT if DRT3.(~:1) • 1; #WI04 if global
SP3B :- RB + edev' (command)
RG :- the data; Send out the 1MB command
NEXT; Set ceE

PAGE 246
RECORD
NO
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12175
12176
12178
12180
12182
12184
12186
12188
12190
12192
12194
12195
12197
12199
12201
12203

C.S
ADDR

RIOA Instruction
**** ... ***** ALU A *******11**111
LABL RREG SREG FUNC SFNC STOR SPSK
RIOA--

* •••••••• _*.,. ALU B ***_***.111***.*
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

0123456789012345

S-l

M M C C C COD DI
IB B B B R R R R

1.

2.

3.
4.

This instruction 5~nds command from TOS to
channel(sj
CCL i f DRT3 (21 j = 1, an ABORT bit s~t
I7E9i~b!15~~~~!~~~ ~~i~0~~!e6~~30~2'lJ test.

Entered from .IOBS with SR ). 1, CCL already set
OC42

RCMO

OC43
OC44
OC45
OC46
OC47
OC48
OC49
OC4A
OC4B

007F UBA
RWIO RG
RG
UBA XRl

RB

OC4C
OC4D
OC4E
OC4F

RI04

ANOL
INC
INC
JSB
2000
ADOL
UBB
INC
2000
ADDL
RWIX
SP IB JSB
UBB
JSB
UBB

JSZ

ADD

ADD
ADD
JSB
JSB

LSL
RWIX

SP4A

F2
ROB3
F2
NZRO

WIOC
NEXO

NZRO
NZRO
CCA

RI04
NEXO

ODD
UNC

UBA

JSL
FFFB
ADOL
RG
JSZC
ADOl
1000
OPB REPN
OPB ADD
OPB JSBI
UBA OPB AND
RA
SP4A JSB
XRO
XR8
RG

PULM SPIB

SRL2

LTOP RG
XR8
NCHL
BKX5

SRNZ
F2
ZERO

RWIO

SP2B
RI04 SP3B
IOMS BKX5

JSl
ADD
JSBI '+1
ADD

XR8
RB

0020
OCTR CTRO
ZERO
F2

SF5B

ZERO
EVEN
ZERO

UBA:=RB (PUlM WILL ALSO RTN W/UBA=RBj
~ IF SR<2 THEN PUlLl, SPIB:-O FOR RIOA
P4A := cdey" XLATE 10¥lcal 1MB' to &hrS
ORT2 AODR; XR6:-RETRY C .tSKIP IF GlO A
READ OR1'3; IF MCOEV'-O TH N TRAP

~~t~r!~S}o~f,~~ix~~X~.~te'~~O~l~~~~.WIOAJ

if unlocked; ... if semaphore locked
~~~C; I~O~~IH ~~~PhO re locked
NEXO IF DRT3(2:1J:sl; RI04 IF GLOBAL CMO
~nB CC~~I s~~g t~~ iM~O~~ I
;SKIP IF NOT DNV
READ DATA AGAIN IF NOT YET TIMEOUT
JSB FOR NEXT INSTRUCTION; RB =DATA
SF5B INHIBITS SECOND EPOP
Ski~

PAGE 247
RECORD
NO
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
1?:?l6
12:: 17
12218
12219
12220
12221
12:.:22
12223
12224
12225
12226
12227
12228
12229
12231
12233
12235
12237
12239
12240
12241
12242
12244
12246
12248
12249
12250
12251
12253
12255
12257
12259
12261
12263
12265
12267
12269
12271
12273
12275
12277
12279
12281
12283
12285

C.S.
ADDR

INIT Instruction
'111:'111111'111111_111"'111111111

ALU A

1II**IIII*'iII**I1I*1II

***111:111*111111111111**111

ALU B

'II;

l1li:

111:

o

INIT--

2.

3.
4.

)I(

12

7 8 9

15

.

9:27 AM

COMMENT

M M I CHAN II I

S

1.

101 2186

**""'111.111*111**111**

l.ABL RREG SREG FUNC SFNC STOR SPSK RREO SREG FUNC SFNC STOR SPEC S~:rP
_1'111 JIr III !III III: III III #I: III III III III III III III * III III '" III III lit
III 'It. III III III
* III III :III III: III: III * 'III .. .,. III lit III III III III III 'III III * III III * * III III III III III lit III III '" III til III

Send INIT to specified 1MB, channel.
Clear channel's bit in interrupt mask words, •
( ! 01A-01D I .
Clear the DRT3 entry for devices 0-7 on this •
channel.
Initialize channel:
Assert PPOLL res~onse, go online to HPIB,

~!~~r~J~c a~~tRC~E irl!ri:161~n~~rH~~~,
else set CCG and take it offline again.

"

Ent e red from IISHIO wi t h

SP4A~DRT3

III III III III ,. III III 'It III lit III III III • ". III 'III .. III 'III III III ,. III III III JII III III III III:

ad r, RGcMCDEVlI, SP IBECHNLII

'* !If 'III III III III III * III III 'itI III III ... l1li111: * * III III .. tit •

'" III

* III 'III III: * III * * 'III III It III

Reset channel's bit 1n mask, send IOCL
OGSO
OCS1
OC52
OCS3
OCS4

INIT RG
UBA

RG
UBB

3000
UBB OPA

ADD LRZ
ADD
ADD
ADDL
AND

RH

ROX4
DATA

001A
ADDL
002F SPIB SUBL
CTR
ADD
REGN CAD
UBA JSL IOMS SP3B

~g~:~~:S~ILO~~~~6~~~tA~:~~~:~~H~t~~ ~?f~i

NZRO

RH· =0·
UBA: ~ iNIT CM!). ; SRGB. (CHNL: 11 : "1, COMPLEMENT
RESET CHNL'S BIT IN MASK,WRltE; SEND IOCL

Clear DRT3 entries for devices 0-7 on this channel
OCSS
OCS6
0(;57

0004
INIA RH

SP4~1

ADDL
ADD
ADD

RH
SP4A WRX3
DATA

FFF8
SP3B

ADDL
SP3B
ADD
JSBI INIA SP3B

NZRO

Initializt channel
OCS8
oe59
01C5A
OCSB
oesc
01C5D
OCSE
OCSF
OC60
OG61
OC62
OC63
OC64
OC65
OG66
OC67
OG68

OC69

0008
ADDL
SPOA
1000
ADDL
SP4A
RG
SP4/1 AND
ZERO
JSB NEXO
CCA
0100
ADDL
SP4A
SPOA RG
AND
NZRO
JSB NEXO
UNC
0008
ADDL
RG
ADD
RG
UBB ADD
0030
ADDL
RG
INIR 1200
ADDL
0020
ADDL
RG
CAD
RG
0010
ADDL
RH
1700
ADDL
ADD
RG
JSB NEXO
UNC

OEOO
FDFF
0100

ADDL
JSL
ADDL
ADDL
JSL
ADDL
ADD
JSL
ADDL
JSL
JSL
JSBI
JSL
JSL
JSL
AND
JSL

1600
UBB SP4A
RH
8080
SPIB
RH
SP2B
UBA
SP2B
SP4A
RH
RG
UBA
RH
SP2B SUB

IOMS
IOMS

SP3B

UNC

SP2B
SP3B

RH
SPIB CCA
IOMS SP3B
IOMS
IOMS
INIR
IOMS
IOMS
IOMS

SP3B
SP3B
SP2B
SP2B
SP3B
SP3B
SP2B
IOMS SP3B

UNC
NZRO
NZRO
NZRO
NZRO
UNG

CCA

NZRO
NZRO
NZRO
NZRO

MASK; REGII E
MASK; READ REGII E

g~~~ I~ ~6~-~~~~+y~~M~~A~~~L~S~~~~I~G IFC
MASK; READ REGIIl FOR SYS CONTROLLER ??
SKIP IF SYS CONTROLLER;WRITE TO REG#6
SET CCG IF NOT SYS CONTROLLER & EXIT;REG07
REGII6:-0008,PPOLL RESPONSE

~~~~~~~4g~g,~SDo~rI~~-5~N~p_IB

RE006:-0030,ASSERT IFC,REN ON HP-IB
REGII2 ;ALLOW 100USEC TO ASSERT IFE & REN
REG#6:-0020,REMOVE IFC,KEEP REN
REGII2:-%FFFF,CLEAR ANY HP-IB INTERFACE ERROR
MASK;READ REG#l,FOR CIC OF HP-IB
WRITE TO REG#7;SKIP IF HP-IB CONTROLLER
REGII7:=O,TAKE OFFLINE AGAIN
EXIT & SET CCA

PAGE 248
RECORD
NO
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12"') l
12: ,)~.
J 2:; '1:'
t.'1u"

1.'305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327

C.S.
ADDR

Enhanced LST /SST COMMENTARY
**111111*111****" ALU A *****)11*****
LABL RREG SREG FUNC SFNC STOR SPSK

.

lit III It III III

***

*. *

_-.**_.* •.

************* AlU B ** ••
RREG SREG FUNC SFNC STOR SPEC SKIP

* * * * * III III * III,.. III * III III * * * * .. * . . III III * * III * * III * * .. III * * * * * * III * * * * III * * *.* * * * * III * III *

Enhanced (performance wise) LST/SST Commentary
This set of instructions (2 to be exact) implements the enhanced
version of LST/SST. The instructions themselves are called

~fT~{~f!~s~oId:~~;~?U!~~tt~~~ !~~mo}h:t~r~~~::ri~)oth6~Sp!:~r~~p

or boot (etc.) the system defaults to use the older slower ones, •
~~! ~~:ni~~fre~fi~~~n11~ys!!T 1~!e~Ti~~s5t~r~ ~!si~e~~a~O~~)~se •
it will execute an ENPF instruction Yenab1e performance) and the
LUT entry wlil get changed to point to LSTX/SSTX
See all the
right places for more lnformation (isn't that obnoxious?).
~~~~o~~~:n&eC~nt

(the switch) brought to you by me Eric B. Decker:

The new LST/SST instructions and support code have been
incorporated into microcode sets CX2603A and later
This code
has been changed in order to increase the speed at which the

~~~s~n~2~sI.~1!t~~~~t~~: !~~~U!:ten~~~sc~~ ~~~!s~~r;a~~~182the

through XRB117. This eliminates the memory references in the
case where K in the instruction field is in the range %1-%17.
The instructions were also optimized for these cases by
eliminating unnecessary memory references that were done in the
old code in order to economize on WCS space.
The change in the LST/SST instructions Ilso called for a way in
which to initialize the extended registers. Thus, the ISTR
special hardware instruction was born! It can be found
immediately following the LST/SST code.
8/15/85

MRG

10/ 2/86
COMMENT

9:27 AM

PAGE 249
RECORD
NO

C.S.
ADDR

12329
12130
1233 t

Enhanced LST Instruction
~*~******** ALU A **.**.***.*
LABL RREG SREGi FUNC SFNC STOR SPSK
Jt

* III III * lit lit * III III III III III III III III lie 'It * III III •
LST

12132

12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12355
12356
12358
12360
12362
12364
12366
12368
12370
12371
12372
12373
12374
12375
12376
12:177

III III III III III III 1\ III III III III III III III III ..

* * III III III: III III III III "It III •

III III:

*

III III III III III

* It lit

111 Ie III

i

1

9:27 AM

* * l1li tt It

"

from System Table) Instruction -- Enhanced version

!

10/ 2/86
COMMENT

7

~ ~! ~ 5 5 s! ~~' t ~ ~ r [~f ~ ~ ~ e c ~ ~~: ~ ~ ~ ~ y v ~ ~ i ~ n d ~ ~ c ~ ~ ~ t ~ ~ ~ ~ s : ~ ~ c t ion.
enhancements. The following is pseudocode for the new LST.

bey!~p

ta mode violation if not privileged

Y1tt~~~,!en~~~~~r<~K6 :~~~ opcode

el~~a1t~:~I~S~oi~~~rp~t~i XRB(102 + table number)
get table number from TOSA
read table pointer from MEMORY(%lOOO + table number)
extract table bank from table pOinter (bits 11 .. 15)
extract table base from table ptr (bits O.. 10 left justified)"
:::di~~:Xt~:let:n~~;e to point to requested table entry
:
push dota on TOS and set Condition Code
end
III: III II III

OC6A
OC6B
OC6C
OC6D
OC6E
OC6F
OC70
OC71

LSTX

* III III III III III III III: III 'I III" • * III III III .. III * * III * III III: III Ie II III III: :III: III lit * * III: * * lit III III :II III III lit III III * lit III III III ,... III
DSPI. ADD

JSZ

ADD
RH
DSPI. JSB LSTL
JSZ PSHM
0200 RH
ADDL
ADD
ADD
ADD
III 11: " 11: " III III " " " " III " __ "

ZERO
SR7
EPSH

00E6
0200
001F
FHO
UBB

* * * 1\ III *" III III " III *)\ " " III: l1li " * * * * III •

UBA

ADDL
ADDL
REGN ANDL
REGN ANDL
UBA ADD
ADD
OPB ADD

III • " it

)I[

III III: III:

* * * 11 ,,:111: III:

TRP6 BKX3

NI~RV

CTR
SPIB
BKX3
ROX3
RH

CCA

* * A: 11: " III * 111 III iii: 111 "" " " III * 111111

LST long Pllt h

111:

III

NI~Xl

Get K From Instr / Set Bank=O, TRP If NoPriv
Changed label to LSTX
Get X For Later / Set Up CTR To Read Ptr Reg
Take Long Path If KsO / Get %1000 Ready
Push One If TOS Full/Get Bank From Ptr Reg
~~:h %~~og~\~~a~~e~ g~~e Tib6~ ~~~r/ R~~/t r

D~Mp~~ER~~~itW~~T~~~,F~:tR~~~:

NEXT

* 11: * ill III

"

If the LST instruction gets here, we know that K from the
ope ode is o. In this case, we will ~Ull the top of stack
~ ~~be rOSAw;~ f t ~:~es: r{ h: n a~ ~:n :?~ t e ~S~ r~~ r MtMR~ a~~~
use that pointer Yo read the taCle entry we want (indexed
by X). Th~ performance of the LST 0 case was sacrificed
In order to optimize the LST %1-%17 cases which account for
around 90% of all LST's performed.

r

12~78

123 7 <)
12·JRu
12301

12382
12383
12384
12385
12387
12389
12191
12393
12395
12117
12399

(Loa~

********.**** ALU B ***********~**
RREG SREG FUNC SFNC STOR SPEC St(IP

OC72
OC73
OC74
OC75
OC76
Oe77
OClS

OC79

1

***JII'****III*****JllIII****III ••• IIt***III***III*IIII11I11*IIr*IIt*iC**IIIIII**JllIII1II:****tII***IIII11:III***1I1II*
LSTL RA
ADD
JSZ PULM
SRZ
ADD
UBA SPIB ADD
ROX3
ADD
ADD
ADD
OOlF OPB ANDL
BKX3
0200 RH
ADDL
FFEO OPB ANDL
ADD
UBB USA ADD
ROX3
ADD
ADD
ADD
OPB ADD
RA
CCA NEXT

Get TOS - > UBA / If TOS Emp t y Ge t One
/ Read Table Pointer From Memory (UBA-TOSA)
HOW BORINGI WAITING FOR THE READ TO FINISH
/ Get Bank From Table Po i n t e r
Get %LOOO"'X / Get Addr From Table Pointer
/ St a rt Read Of (Table Addr)+%lOOO+X
OH BOY, WE'RE WAITING FOR A READ!
/ Put Result On TOS, Set CCA, NEXT

PAGE 250
RECORD
NO
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12429
12430
12432
12434
12436
12438
12440
12442
12444
12445
12446
12447
12448
. 12449
12450
12451
12452
12453
12454
12455
12456
12458
12460
12462
12464
124n"

12468

CS.
ADDR

Enhanced SST Ins true t ion
*******WIII*JII ALU A *** •• ******
LABl RREG SREG FUNC SFNC STOR SPSK

************* ALU B •• ****** ••• ***
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

SST (Store to System Table) instruction -- Enhanced version

~~!~5!ss!~et~:r[~fi~~~ec~~~:~~:~yV~~;i~nd~!C~~~t~~~ ~~s:~~ction.

enhancements.

be?~~p

The following is pseudocode for the new SST.

to mode violation if not privileded

~~tt~~~!en~~~~~r67
12568
12569
12570
12571

C.S.
ADDR

LSTRETRO - ENPF ENlble PerFormlnce Enhancements
••••••••••• ALU A··········· ••••••••••••• ALU B··············
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
********************111" •• ************.***********-******111**111.111**_**."'*

• LST/SST & Performance enhancement ret rofit.
• 10/25/85 ebd (Erie B. Decker) Microcode & Co.
available in version CX2603A and beyond
• This retrofit includes code to make the current level of microcode
• fully compatible with all versions of the operating system IMPE)
• back to but not including VIP (aka MPE IV with disc clching)
When the system first powers up, all performance enhancements are

1~:~~1:~e m~~1irI:s~~gi~fe~~iii~St~~i~:~f!{e~f;!~!idt~~tL~~~SST.
enhanced LST/SS~ uses that need to be set up prior to the first
invokation of LST/SST.

If this doesn't occur the system will die

~~r~!~l{ties!h~e~~~t!~:t ~~C!~~~ ~~!~ !~e u:1~b~~ !~~ ~~!~~tt~gf~~:~em

use of the instruction LST or SST.

• Other performlnce enhanceml!}lts (namely the OS into microcode stuff)
also make use of the values in these registers to get a tad more
performance out of this tired old beast. So it also imperative
that the LST/SST registers be set up prior to execution of any
of these instructions. At this date of writing these additional
instructions Ire ERON, ERXT, XGDB, MSTA,TIMR, and TMRQ.
•
•
•
•
•

Not all of the above instructions require LST/SST to be set up
But to supply an encapsulation wall, we are disabling all of these
instructions until the ENPF, enable performance enhancements,
instruction is executed. This instruction should not be executed
until III initilizltion needed is complete. This includes the
execut Ion of ISTR.

• ENPF currently doe. the following:
1) Changes the LUT entry for LST from the non-enhanced
verSlon to the enhanced version.

5\ ~~~~V~:s
t~~/~Imi~t t~,'~~u~~!w~~~m~n:~ r~~Hons
performace (OS into microcode) instructions at

to enable
%30 & up
4) sets %1220 bit 13 to on. This tells other routines that
we ire running Performance microcode. Zoooooom
5) Puts four words into the SysGlob Extension area, %21-%24
The first three will be zero (reserved). The fourth word
(%24) will have a bit set for every microcode routine
(performance) that is implemented. Currently we have
LOCATION. SYSGLOB EXTENSION %24
ERON
bit 15
ERXT
14
XGDB
13
TIMR
12
TMRQ
11
MSTA
10
Reserved
0-9

101 2186

COMMENT

9: 27 AM

PAGE 253
RECORD
NO
12573
12575
12576
12578
12579
12581
12583
12584
12586
12587
12589
12590
12592
12593
12595
12597
12598
12600
12601
12603
12605
12606
12608
12609
12611
12612
12614
12615
12616
12617
12618
12619
12620
12621
12622
12624
12625
12627
12628
12630
12631
12632
12634
12636
12637
12639
12640
12642
12644
12645
12647
12648
12650
12651
12651

C.S.
ADDR

ENABLE PERFOR'~ANCE INSTRUCTION
_~~~_~***n*
ALU A ~*******.**
L.I'IBL RREG SREG FUNC SFNC STOR SPSK

OC92

ENPF

ADD

OC93

ENP 1

JSZ

OC94
OC95

ADD
ADD
ADD

OC96
OC97

UBB

OC98
OC99
OC9A
OC9B

LSTX

ADDL LBL

SPOA

JSB
ADD

ocec
OC9D
OC9E

UBB

OC9F

RH

.

* III "

UBB
III III l1li III III III

GTPR

ADD
003B

ADDL
BNKP ADD

WRX3

3000

ADDL

DATA

0038

ADDL

UNC

OPB

UNG
CTR
BKX3
CTR

REGN WRX3

ADD

ZERO

RONP

GTPR

UNC

ADD
ADDL LBL

LSTX

ADD

ADD
0010

ICTR

ADDL

REGN WRX3

I. III III ......... lit

ISTR

ADD
ADD
JSB

ADD

OCAI
OCA2

UBB

i_ ..

lit III lit " III .. III III • III III III III III

ADDL

0038

ADDL

SPOA

JSB
ADD

RH

OCA6
OCA7
OCA8

LUTO ADD

SP4A

SPOA RH
XOR
LUll ADD

RH
SP4A

UBB

* .. " *

3000

OCA4
OCA5

OCAB

III III lit it " III A

DATA
SP4A

UBB

*

WRX3

ADDL LBL

RH

lit III ......

ADD

SSTX

OCAA

* lit .. ill "

ADD

OCA3

OCA9

9:27 AM

COMMENT
GO SET UP SYSGLOB CACHE FIRST
FLAG2 IS SET SO WE RETURN HERE
MAKE ROOM FOR TWO TOS ENTRIES IF FULL
THIS IS WHERE ISTR RETURNS TO
POINT CTR AT LUT PARITY OFF
DISABLE LUT PARITY
BKX3 (- BNKP NO WRP BUT WRX3
GET BNKP AND P (2ND WRD OF CUR INST)
PUT LST INSTR ON UBB FOR NEXT LINE
STUFF OUT THE LST INST AT 2ND WORD
POINT REGN AT LUTO
GET LSTX LABEL TO SP4A FOR GTPR CALL
GET LST INTO NIR TO ADDRESS LUT (@P)
CALL GTPR TO CALC PAR ITY
STASH THE RESULTANT PARITY
AND MAKE SURE NIR IS VALID
GET THE FIRST HALF OF THE LUT FOR PAR
GO CALC PARITY ON IT.
CALC COMPOSITE PARITY IF 1 CHANGE
GET THE PART WITH THE PARITY BIT
GET THE ADDRESS OF THE NEW PART
STASH THE NEW LABEL IN THE LUT
BUMP CTR SO IT POINTS TO LUll
CHECK FOR ZERO IF SO NO PAR MOD
GET A WORD WITH BIT 27 SET (PARITY)
FLIP THE PARITY BIT AND STASH IN LUT

* . . III III III ... III * * * " . . III III III III ... " * III III * " * III ...... III * " " * . . III III * "III" III " " * III ... III: III ill

• At this point we have succeSSful1~ set up the LUT to point at the
: enhanced vertlion of LST (LSTX).
ow let's do it for SST.
III .. ,. ....... III " " III " " III III

10/ 2/86

ALU B *1t_._"'JII***III"':II!.JII:

ADD

SP4A
RH
SP4A

SP4A XOR

* " . . III "

JSL

SRG5

SP4A
RH

JI!'k**

SF2

REGN

ADD

LUTO ADD
SPOA RH
XOR
LUll ADD

OCAO

PSM2

1111II1II1It • • • JlI. ...

RREG SREG FUNC SFNC STOR SPEC SKIP

GTPR

III III III JII: III III

** .. " ..

OPB

RONP

ADD
ADD
JSB

SSTX

····

*_

CTR

ADD
UNC

III lit III III III

GTPR

UNC

ADD
ADDL LBL

ADD

REGN WRX3

ADD

ZERO

0010

ADDL

SP4A XOR

REGN WRX3

0027

ADDL

ICTR

ADD
CTR

POINT AT THE MEM CELL BEING USED
PUT A SST 0 INSTR ON UBB FOR NXT LNE
WRITE THE SST 0 INSTR OUT
RESET CTR BACK TO LUTO
PUT NEW LUT VALUE IN PARM FOR GTPR
MAKE NIR PNT AT THE SST LUT ENTRY
GET FETCH NIR FOR LUT POINTER
GO CALC PARITY ON NEW LUT ENTRY
STASH RESULT PARITY IN SAFE PLACE
ALSO MAKE SURE NIR IS VALID
GET THE OLD LUT ENTRY
GO CALC PARITY ON IT
IF 0 NO PAR CHANGE, 1 YE P CHANGE PAR
GET THE LUT ENTRY WITH PARITY SAFE
GET WHAT TO MAKE THE FIRST LUT ENTRY
STASH THE NEW VALUE INTO THE LUT
AND BUMP CTR TO LUTI FOR NXT IF PAR
CHECK FOR ZERO IF SO NO PARITY MOD
GET THE BIT TO CHANGE FOR PARITY SW.
SWITCH PARITY AND PUT BACK INTO LUT
POINT CTR AT WCS PARITY DISABLE

PAGE 254
RECORD
NO
12655
12656
12657
12658
12659
12660
12661
12662
12663
12665
12666
12668
12669
12671
12673
12674
12676
12678
12679
12681
12683
12684
12686
12687
12689
12690
12692
12693
12695
12696
12698
12699
12701
12702
12704
12705
12707
12708
12710
12711
12713
12714
12715
12716
12718
12720
12722
12723

C.S.
ADDR

0...... 0...

ENPF cont.
AlU A...........
lABl RREG SREG FUNC SFNC STOR SPSK

0............

AlU B ••••••••••••••
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

• At this point both the lUT entries for lST Ind SST hive been
• modified. Now let's go enlble the double word performance inst.
: by changing the jump table index check .t ClKX in ClKI.
***!If III III **111*"* III ** * ** * ** III III !If. * *_ 111** III III III * III * III * * III * * * * *** •• * * III *111 III III * III * III * III III * III III * *
OCAC

ADD

WRX3

OOOE

ADDl

OCAD

UBB

ADD

DATA

ClKX

ADDL lBl

OCAE
OCAF

UBB

ADD
ADD

WRX3
REGN RAR

003B

ADD
ADDL

P

OCB2
OCB3

ADD
JSB
ADD
ADD

OCB4

ADO

OCBO
OCBl

MEDJ

• ... 2

UBB

IFFF UBB

ANDL

SP4A

OCB6

SPOA

ADO

RH

OCB7

0010

ADDl

SP4A

OCB8
OCB9

SPOA RH

XOR

UBB

ADO

OCBA

CLKX

ADDl LBl

OCBB

0001 UBB

XORl

SP4AADD

OCBD

ADD

OCBE

SPIB ADD
ADD
JSB

oeBr

OCCO

RSB

ADD
SREG ADD

OCB5

OCBC

CTR

ADD
REGN'ADD

JSB

GTPR

ANDl

RH

0010
0023

ADDl
ADDL

SP4A

UBA

JSB

WRX3
RAR
REGN WRX3
• ... 1

LSR

COOl RH

LSL

MEDJ

RH

ADD

SPIB lOR

UNC
SPIB

GTPR

UNC
CTR
SPIB

RH

ADO

UBA

ADD

SP1B

ADD

RH

ADD
ADD
ADD

ZERO
EPSH

RSB

POINT AT WHERE TO RESTORE THE INST
THE DATA TO PUT BACK (ENPF INST. I
~5~l~~~ l~~RO~1G~~~~EI~gTCH!~~l OUT
STICK YREGA WITH THE ADDRESS
KICK WCS PARITY OFF ON • ... 3
POINT CTR (REGN) AT WCS3 FOR READS
WAIT FOR A BIT. NEW CTR VALUE RESTS
BEATS ME. A STRANGE INCANTATION TO
GET THE WCS READ SET UP
THIS IS WHERE THE READ STUFF GOES.
HOLD THE DATA AND GRAB IT INTO A REG
WE CAN USE.
GET RID OF PARITY. WE WANT THE
CONSTANT FIELD BY ITSELF.
STRIP TOP TWO BITS OF WCS3 AND STASH
FOR GTPR. THEN CAll THE BEAST
STASH THE PARITY RESULT IN SAFE PLACE
ALSO GET THE BITS THAT STAY
CALC PARITY ON NEW VALUE
AND OF COURSE MUST CAll THE ROUTINE
PRODUCE WHETHER PARITY NEEDS CHANGING
GET THE NEW VALUE TO STICK OUT
POSITION DATUM PROPERLY
POINT AT WCS3 FOR WRITES
GET ADDRESS OF WCS TO CHANGE
COMBINE THE DATA TO GET REAL STUFF
BUILD FLIPPED PARITY VERSION IN CASE
CHECK TO SEE IF WE SHOULD FLIP PARITY
STASH THE ADDRESS IN YREGA
IF NOT KIllED BY PREV LINE STASH
NOW GET IT INTO RAR
STACK WILL HAVE ONE MORE ITEM
ZERO WHAT WILL BE TOS-l
WAIT FOR THINGS TO SETTLE DOWN
AND STASH OUT IN WCS
WAIT FOR THINGS TO SETTLE DOWN
JSB OVERRIDES RSB.
RSB FORCES RAR ON VBUS DURING RANK 1
THIS SURE IS RANK ISN'T IT.

PAGE 255
RECORD
NO
12725
12726
12727
12728
12729
12730
12732
12733
12734
12736
12737
12739
12740
12741
12743
12744
12746
12747
12749
12751
12753
12755
12756
12757
12758
12759
12760
12761
12763
12764
12765
12767

C.S.
ADDR

L~,BL

ENPF cont.
~***~****** ALU A ***********
RREG SREG FUNC SFNC STOR SPSK

**********.** ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKI P COMMENT

10/ 2/86

9:27 AM

• WCS SHOULD NOW BE WRITTEN
LETS MODIFY %1220 TO TEll THE S/W
• THAT WE ARE RUNNING PERFORMANCE MICROCODE
WHEN ·THAT IS DONE SET
• UP THE SYSGLOB EXTENSION AREA TO TEll WHICH ROUTINES ARE PRESENT
OCCl

0290

ADDl

OCC2

UBA

ADO

OCC3

0004

ADDl

OCC4

UBA

OCC5

OCCB
OCCC

·

003A
DATA

lOR
ADD
ADD
ADD
ADD
ADD

OCC6
OCC7
OCC8
OCC9

OCCA

OPA

ROX3

BKX3 EPSH

INC

RONP

ADDl

02FF

REGN

ADD

PREPARE TO ADDRESS BANK 0, ABS %1220
ZERO BKX3 TO GET BANK 0
AT NEXT HAVE TWO MORE WORDS ON STACK
GO GET THE MONSTER (%12201
BUMP P TO POINT CORRECT AND GET NIR
GET A WORD WITH JUST BIT 13 SET
AND WAIT FOR THE READ TO HAPPEN
POINT AT 3A TO TURN lUT PARITY ON
AND SEND THE WORD WITH BIT 13 BACK
UBA (- PTR TO SYSGLOB EXT AREA
TURN LUT PARITY BACK ON'
READ SYSGLOB EXT BASE INTO OPB
UBB (- OFFSET TO XP'FEATURE'MASK WDI
SET UP TO WRITE INTO XP'FEATURE'MASK
CLEAR WORD 1
CLEAR WORD 2

CTR

ADDl
UBB

0211
UBB OPB

ADD

ROX3

ADDl
ADD
ADD
ADD

WRX3
DATA
DATA

The A side of the next line determines what we tell the software
to 3F says we have set up
If more routines are added,
this number will have to be changed acco rdingly.

~~O~~E~x*~M~w~n~~: TM~~~ r:~~l~s~~~
003F

ADDL
ADO
ADD

UBA

ADO

DATA

ADD
ADO

DATA

NE),T

UBA <- MASK THAT ENABLES ERON,ERXT ,XGDB
TIMR,TMRQ and MSTA
CLEAR WORD 3
WORD 4 (- MASK
GO TO THE NEXT INSTRUCTION

PAGE 256
RECORD
NO
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12794
12796
12797
12799
12801
12803
12805
12807
12808
12810
12812
12814
12815
12817

C.S.
ADDR

LST Inst ruct ion ... non-enhanced
*********** AlU A *********** ***111*.****.** AlU 8 **************
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

LST (Load from system table) Instruction
Slow version - non-enhanced
This is the original version of LST/SST. It is the non-perf.
enhanced version. It is here for backward compatibility. See"
ENPF (LSTRETRO LST retrofit), LSTX, and SST X for details
A system that does not do the right things will fail if the new"
LST/SST instructions are executed (note other performance inst."
11 so make use of the LST/SST registers). To avoid this the old"
verlion of the instruction is executed until the Operating Sys "
tells the microcode that it is okay. This makes all this stuff"
~~~~~a~~o;o~c~~tbt~:'ne!h~n:t~~;tr~~s~~p~ (~hl~~ ?~il:tt~gi~Ys :
is okay) so it can't tell us it is oklY·
:
III * * * * * * lit * * * III * * * * * III * * * III * * * * * * * * * III *,. III III III * * * * III ** * ** * * * * * * * * * * * * * * III'" * * * III * III
SlUT INSTR-LST:O 011 000 000 00,DSPL-4,SR-O,ENTRY-LST

OCCO
OCCE
OCCF
OCOO
OCD1
OCD2
OCD3
OCD4
OCOS
OCD6
OCD7
OC08

"
LST

DSPL ADD
RA
JSZ
UBB ADO
OSPL ADO
JSB
OSPL ADD
JSB
ADO
ADD
JSZ

LSTS

LSTO

OPA

ADD
ADD

PULM

SP4A NZRO
SRZ
RH

LST5
LSTO
PSHM
RA

JSZ TRP6 BKX3
AOOL
SP3B

0200

ZERO
UNC
NZRO
UNC

UBB
RREG
OOlF
FFEO
RH

SR7

00lF OPB AHOL
FFEO SREG ANDL
RH
UBB ADD

EPSH
CCA

UBA
SP4A
OPB
SREG
UBe

ADO
ADD
ANDL
ANDL
ADD

JSL
ADD

BKX3

NPRV
ROX3
ROX3
ROA3

BKX3
ROA3
LWP2

UNC
NEXT

0i

Skip if K ()
BKX3 :- 0, trap if NPRV
UB~P3B ~~)UBGu:! ~?goAf K - 0 and SR • 0;
RH :- X + %100~~E:~adK!i~60~)%1000)
JMP IF K<>O
;eKX3-~ABLE BANK
(CSTX)
Skip if K () 0; Mask to address on UBB(CSTX)
JSB if K • 0;
(CSTX)
Read IX + %1~~2s~ ~bS6A~K%~~og~~3
(CSTX)
;MASK TO ADDRESS ON UBB (CSTX)
JSB if SR • 7;
(CSTX)

PU~~~dJ~~ i@"~ra~2~ (~H+:!lg~2~)CCA)
(S) :- OPA, eCA; NEXT

PAGE 257
RECORD
NO
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12833
12835
12837
12839
12841
12843
12844
12846
12848
12850
12851
12853
12855
12856

C. S.
ADDR

SST Instruction
III !II III * III III III III: III l' III
ALU j,.. ~*~~~;~~~~~ce~******A***** AlU B III l1li III til'. III *",. III III '" * III
Lr.BL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
... III .. III .III III '" III III III III III III III I~ III III III III III
III III III * lit III .... III III Itt III '" III III III III III III * * III * A: III III III III * III * III III III
III III 111 ... III * III III *

.

)II

.

l1li:

SST (Stor!! int 0 system table) Ins t ruc t ion

10/ 2/86

9:27 AM

COMMENT

SST non-e~hanced (performance wise) . See LST, LSTX, SSTX, :
ENPF for more info.
... III III III III * III JII tit .. l1li III III III lit III ... III III * III III III III #I III III III !II III III * III III III III ,. '" III III III iii III III III III III III III III III III: * III II: III
lit III III III III *
l1li: ,.

.

SLUT INSTR-SST :0 011 000 011 Olx

OCD9
OCDA
OeDB
OCDe
OeDD
OCDE

SST

OCDF
OCEO
OeEl
OCE2
OCE3

SST8
SST9

0200

KKK,

DSPL-", SR-l, ENTRY-SST
NPRV
JSZ lRP6 BKX3
ADD
ROX3
ADD
ROX3
ANDL
BKX3
ANDL
WRX3
ADD

ADDL
SP4A
DSPL ADD
ADD
DSPL ADD
ZERO
SP4A ADD
UNC
[POP
JSB SST8

RA
UBA
001F
FFEO
UBA

ADD
SP4A ADD
RA
JSB

001F OPB ANDL
FFEO SREG ANDL
UBA UBB ADD

RB

ADD
ADD

SST9

[POP
[POP
NEXT

UBA
SP4A
OPB
SREG
UBB

UBA

JSZ
ADD

BKX3
WRX3
PULM

DATA

SRL2

SP4A . - %1000; BKX3 : - 0, trap if NPRV
; Read ( (S) + %1000)
UBA=K
Read (K + %1000)
SKP IF K-O; MASK'TO BANK & PUT IN BKX3(CSTX)
~~A=~+;~~O~~~A~~ ~O.AgDRESS ON UBB
Ig~~~l
W~ITE (X + %1000 + ~(S) + %1000))
;MASK TO ANK & PUT IN BKX3(CSTX)
UBA- +%1000 ;MASK TO ADDRESS ON UBB (CSTX)
(CSTX)
(S), pop 1, JSB;
UBA
Re d X + %1000 + M(K + %1000)
UBA
(S-l) ; Pull 1 TOS if SR ( 2
NEXT Write (S) or (S-l ) if K = 0

.

PAGE 258
RECORD
NO

GTPR - GET PARITY
C.S.
ADDR

*111***** •• ** ALU A **111********

LABL RREG SREG FUNC SFNC STOR SPSK

**111.111******** ALU B

10/ 2/86

9:27 AM

iii • • • • • • • • • • • • •

RREG SREG FUNC SFNC STOR SPEC SKIP

COMMENT

12858

12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12872
12873
12875

• Get

Parity - GTPR

This routine takes a 16 bit input and determines i f i t
or odd parity.
If even i t returns 0, i f odd 1.
Input:
Output:

OCE4
OCE5
OCE6

SP4A - word to be worked on
SPOA - parity indication 0 -

GTPR

ADD

GTPI

SP4A JSB
SP4A ADD

even,

SPOA
GTPX

1 -

odd

ADD
ZERO
EVEN

is even

ZERO THE PARITY ACCUMULATOR
INCREMENT RAC SO WE REMEMBER WHR FRM
IF WE ARE ZERO QUIT
CHECK FOR SP4A(15:1) BEING SET
GET THE 0001 TO XOR WITH RESULT
IF SP4A~15:11 IS SET SWITCH THE SENSE

PSHR

ADD
ADDL

0001

12877

12878
12880
12881
12883
12884
12886
12887

OCE7

SPOA UBB

XOR

SPOA

SP4A ADD

LSR

OCE8

UBB

ADD

SP4A

UBB

GTP1

OCE9
OCEA

GTPX

JSB

ADD

NZRO

ADD

ADD

RSB

ADD

NZRO
POPR

~~~~~B~R4~H~I~~¥;{EgNSA~S~E RIGHT
(2502)
AND TRY AGAIN BUT ONLY IF NEEDED
SLOW DOWN THE RETURN SO POPR CAN TAKE
POPR SO WE POINT AT CORRECT RETURN
AND RE TURN TO CALLER

PAGE 259
RECORD
NO
12890
12892
12893
12895
12896
12898
12899
12900
12902
12903
12904
12905
12907
12909
12911

CYlo~.;.~~~~:.reit~t~r.!~~!r~~!~~n

C.S.
ADDR

LABL RREG SREG FUNC SFNC STOR SPSK

OCEB

CVCL RA

OCEC

UBA

OCED
OCEE
OCEF
OCFO
OCF1
OCF2

NCYC

JSZ

PULM

SRZ

ADD
,ADD

REGN EPOP

,ADD

REGN

.... 1iII1II1\.IIII11**III:***

003C

ADDL

0030

003E

ADDL

10/ 2/86

111111:111111:**l1li:111***111:111*

CTR

INC

WRX3

DISABLE PERF DISPLAY
,ADD
,liDO
REGN
,1\00
lIDO

ALU B

RREG SREG FUNC SFNC STOR SPEC SKIP
RONP
CTR

ADD

NEXT

ADDL
CTR
JSL NEX1
ADD
ADD

UNC

9:27 AM

COMMENT
GET THE VALUE 'TO PUT THERE. GET IT
IF NEEDED. PNT eTR AT PERF REGISTER
GET NEW PERF VALUE INTO VREGA
BUMP P AND GET NEXT INST. IN NIR
OKAY STICK IT OUT INTO THE PERF REG
REMOVE THE DATA FROM THE STACK
POINT eTR AT THE DISPLAY PERF LOC
MAKE SURE DISPLAYING PERF REG
POINT AT DISP CIR
KICK SO CIR DISPLAYS
NOP to keep system happy
NOP to keep system happy

PAGE 260
RECORD
NO
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12930
12931
12933
12934
12936
12937
12939
12940
12941
12943

C.S.
ADDR

Double Word CPU %020104 Decode
• •••••••••• AlU A *******....
LABl RREG SREG FUNC SFNC STOR SPSK

******"'-****** ALU B * •••••• * ••• **.
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

%ODOO

*****111 ••• ******-********** •• ***************-************ ••• _****111***.

look up routine for machine dependent instructions

•

Entered from .MBlA with privileged mode alJeady checked.
WARNING: If

~ou

add instructions at the end of the table be sure

l~e~han¥~eE~o~s~~ntte:~:~!~SI:h~~KX ~~~~l~i~~tY~~ ~~~n~~~.execute

0000

ClKI 0015

0004

SP4A

ADD
ADD

0002
0003

ADDL
UBB

0001

WRX3

UBA

CAD

AOOl lBL

0019

ADDl

SPOA RAR

SP4A ADD

ClKX

CTAB OPB

ROX3
RH

RSB

CRF
CRRY

SUBL
JSZ

SP4A :- %21, (addr of lR);
UBB :- indexed entry into jump table
YRGA :- table entry;
CTR :- DCUSTORE (for CNTl 'B' instr)

CTR

ADO
0010 OPB

•

TRAP

UNC

~i~~r:RFr:GaT~~e~e~~ esa~:Ri~=e~~~A

Read LR; Skip if 2nd word is <= %20
ADDEO LABEL CLKX FOR ENPR MOO
NOTE: 20 GETS CHANGED BY ENPF
RH :" %20, vector throu9h jump table;
Unimplemented instructlons > %57

(2553)
(2553)
(2553)
(2553 )
(2553)

PAGE 261
RECORD
NO
12945
12946
12947
12948
12949
12950
12951
12953
12954
12956
12957
12959
12960
12962
12963
12965
12966
12968
12969
12971
12973
12975
12977
12979
12981
12983
12985
12987
12989
12991
12993
12995
12997
12999
13001
13003
13005
13007
13009
13011
13013
13015
13017
13019

C.S.
AOOR

DOUBLE WORD JUMP TABLE

JII***IIIJlrIllIll**JII AlU A *111*****111111**

LABL RREG SREG FUNC SFNC STaR SPSK

.

1If*****lIIlIItI:**III:. ALlJ B JllII'"I1:*.**III*JllJllJllJIIIII

RREG SREG FUNC SFNC STaR SPEC SKIP

.

101 2186

9:27 AM

COMMENT

**"'*****JII***III****IIIJIr:**JllJII.IIII*****IIt***JllJllJllJllJII*JII:******JlcJII:JII*lIIh* •• JII*JII:**IIIJII***JII:*JII

0005

Jump table for machine dependent instructions

CTAB

OPA

JSB

RCCR

UNC

UBA

CAD

ROX3

0006

OPA

JSS

SCLR

UNC

USA

CAD

ROX3

0007

FF7F XR15 ANOL

0009

0003

ADDL

SP4A

JSL

MCMO

UNC:

LR;
0.) READ CLOCK instruction, UBA
Read TR
1.) SET CLOCK instruction, UBA := LR:
Read TR
2.) TOFr instruction, clear bit 8'
Read next instruction
3.) TON instruction;
Read next instruction
4.) MESSAGE COMMAND instruction, SP4A

OOOA

1000

ADDL

SP4A

JSL

FLSH BKX5

UNC

5.)

JSL
JSL
JSBI
JSL
JSL
JSL
JSL
JSL
JSL
JSL
JSL
JSZ
JSZ
JSZ
JSZ
JSZ
JSZ
JSZ
JSL
JSL
JSL
JSL
JSL
JSL
ADD
ADD

MLOG
CCPP
SINC P
SSF
SSL
DOE
RDCU
ISTR
ENPF
CYCL
NeyC
TRP
TRP
TRP
TRP
TRP
TRP
TRP
ERON
ERXT
XGDS BKX3
TIMR
TMRQ
MSTA BKX3

UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNC
UNG
UNG
UNC
UNC
UNG
UNC
UNG
UNC
UNC
UNG

0008

OOOB
OOOC
0000
OOOE
OOOF
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
001A
001B
ODIC
0010
ODIE
001F
0020
0021
0022
0023
0024

JSB

0005
0004

ADD
ADD
ADD
ADD
ADD
ADO
ADD
ADD
ADO
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADO
ADO
ADD
AODL
ADD
AODL
INC
ADD
ADD

XRl5
TON

JSS
UNC

SFI

CFl

SPOA
RH

CCA

NEXl

INC

UNC
RONP

~r~~~eln~fr~~ii~~~U~~~~):= !1000,
BKX5 := 0
6.) Microcode Logging instruction
7.) Communicate w/Channel Program Processor
10.) S I NC ins t r u c t ion, P :.. P + 1
II.! Set Bounds Fla9 (PRIV bounds checking)
12. Set Bounds Limlt (PRIV bounds checking)
13. Enable/Disable CNTL 'B'
14. Read DCU log instruction
15. Initialize System Table Registers(2553)
16. Enable Performance...
(2553)
~~: ~~~~nOffc~cf~n~erf Reg.
!~tgg ~~ ~~l
21. UnimPlemenled instruction (PFL on 37)
22. Un imp lemen ted ins t r. (F IRMVER on 37)
23. Unimplemented instruction (OSSIG on 37)
24. Reserved for non-68 expansion ...
25. Reserved for non-68 expansion ..
26. Reserved for non-68 expansion.

I

~~:

~~~~~~~d r!~t i~~nf~~ ~~~anSion.

31. Errorexit routine for MPE
32.) ExchangeDB routine for MPE
33.) TIMER routine for MPE
34'j TIMEREQ routine for MPE
35. MMStat routine from MPE
Nop to keep the cpu happy
Nop to keep the cpu happy

(2553)
(2553)
(2553)
(2553)
(2553)
(2553)

PAGE 262
RECORD
NO
13024
13025
13026
13027
13028
13029
13031
13033
13035
13037
13039
13041
13043
13045
13047
13049
13050
13052
13054
13055
13057
13058
13060
13061
13062
13064
13066

C. S.
ADDR

Clock Instructions
* ••• *111* •••• ALU A _*111 •• * •••••
LASL RREG SREG FUNC SFNC STOR SPSK

=~~ ~ ~ *

III III III III III

... -.... .....

_
• •••••••••••• ALU S
RREG SREG FUNC SFNC STOR SPEC SKIP

* * * * III * * * lit * * * III III III III • * * * * III III III III III ... III * * * * * * * * III III * * III III "

III III III:

9: 27 AM

10/ 2/86
COMMENT

* III * * * * * III III * III *

*****~~~;~.!~:!~~~!!~~~********.********************** ******* ••• _***:

0040
0041
0042
0043
004l

0045
0046
0047
0048
0049

OD4A
OD4B

TON

0080 XR15 IORL
XR15
POS
STA ADD LSl
NEG
XR15 JSZ CSNC
ADD
NEXT
RCCR
ADD
UNC
JSB NEX1
SCLR
ADD
WRX3
SP4A ADD
JSB NEX1
DATA
RA
UNC
NEX1
JSZ NOP

SINC

0007

OD4C

STA

0040
OD4E
OD4F
0050

UBB

RH

ADD
ADDL

SP4A

RONP

ADD

LSL

POS

JSZ

INT9

SF2

XR15 lOR
ADD
ADD

XR 15 NEXT

USA
UBB
UBA
UBB

ADD
ADD
ADD
ADD
XR31 JSZ
OPB ADD
XR31 JSZ
OPB ADD
RA
SUB
P
INC

8000

SP4A INC
ADDL

UBB

OPB

8COl

SR7
PSHM SP3S
RH
EPSH
PULM SP3B
SRZ
DATA
XR31 EPOP
P
RONP
RH

lOR
ADDL

SP4A ADD
ADD
ADD

ROA3
DATA

SP1B
CCPX

SET TON;
SKIP IF INT IS OFF
SERVICE INTERRUPTS
NEXT
; SP3B:.UBB:·LR + CR, EMPTY RG IF SR " 7

~S~~3~~~u~~I~LAL~ ~R~R~I~LT~A ~~S~R " 0

ADDR OF LR; TR:· (LR

+

CR

l

+

~~~t ~~O·~~66K~RFOR(~lxT;POP

TR

p:.p + 1, READ NEXT INSTRUCTION
READ NEXT INSTRUCTION; READ STAT
SP4A:=MASK TO SET DINTFF;
RH:=UBB:-BIT 0 MASK
SKIP IF INTERRUPTS ARE OFF;

SEA~I~ll INTE~~3~~ I~R I~n~0~TS

UNT9;
SPIB:.EXTERNAL LABEL
SET SINCBIT, NEXT; SET DINTFF
NOP to keep system happy
NOP to keep system happy

ON, SF2 FOR

PAGE 263
RECORD
NO
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
1:1 112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13L'5
13126

C S.
ADDR

ERON Commentary

****111111*111111111* ALU A *1II:*111#{***,,,II.

LABL RREG SREG FUNC SFNC STOR SPSK
j~OD80
'I III 111 lie !II

111:**.**111*111***111 ALU B **IIr******** .... "

RREG SREG FUNC SFNC STOR SPEC

* III III III III III 111111 '" " III III III * III '" " '" 11 III III lit III III III 111111 III ,. '" if III " III III •

III " '" '" III '" III

S~;IP

* • III III: ... * III III 111 III: '" III " III * III III III III 'III "

ERON - REPLACEMENT FOR THE MPE PROCEDURE ERRORON
Macro-assembly code: %020104,%000030 (doubleword op)
available in version CX2603A and beyond
This microcode routine replaces the MPE procedure ERRORON,
which turns off traps, and if the caller is not a system
routine increments the procedure's error level count, clearin9 •
that error level and possibly the one above it. If the count
exceeds six the counter is still incremented every call, but
•
that's all - the (non-existent) levels above 6 are not cleared •
This routine hard-codes the offsets of all the locations it
uses as they are defined in U-MIT, specifically:
Current PCB number in absolute(41

=~~~t:~ ::tr~ef=~F~~:~ta~!aP~:s(~r_~TT 3
Errc,rlevel, followed by 6 error words, at PXFIXED+35
System code bit for process at offset PCB+3(1:1)
Process type bit for process at offset PCB+9(6:1)

+- - - ---- - - .. --- - -* * * *. * * *. * WARNING * *" * •••••• - - - - - - ---- - - - --+
IF AN" OF THE OFFSETS OR BIT POSITIONS USED BY THIS CODE I
I
~~o~~gI~~:~G6RI~l~I~~Ecn~~I~~Swg~l~~6pJ~~~.CODE MUST

I

+--------- .. _--------------------------------------------------+
This rout ine also makes use of t he enhanced LST /SST code,
assuming the value for LST 3 to be in XRBlOS (!E9).
The or1ginal source in SPL which this is taken from is
defined in the module CHECKER, and is as follows:
< >

10/ 2/86
COMMENT

9:27 AM

PAGE 264
RECORD
NO
13127
13128
13129
13 130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
131' ,
131 'Ii
1311"1
13180

C.S
ADDR

ERON COIINnentary

•• ** •• 111.* •• ALU A **l1li111****111'**

LABL RREG SREG FUNC SFNC STOR SPSK

********.**** ALU B * •• * ••• - ••••••
RREG SREG FUNC SFNC STOR SPEC SKIP

IF PROCSTATE .SYSTEMPROCFLAG THEN RETURN;
PXFIXED;
TOS: .PXFXERRLEVEL;
IF • THEN STKINFO.INSYSTEMFLAG :. 1;
TOS :. TOS+l;

;~~~~~~t~e~r:~~6~:

END;

INDEX:=TOS;
TOS =TOS-6;
IF ) THEN RETURN;
IF < THEN
BEGIN PXFXINTRERR:·O;
INDEX:-INDEX+l;
END;
PXFXINTRERR: -0;

«uses index»

Whe r\~~c~[e~M~~~~ defined obj ec is are:
DEF~~~B-3;
ISYSGLOB ENTRY 1 OF START OF PCBS *
CURPRC-ABSOLUTE (4)1; ! FIXED LOWMEMI OF CURRENT PCB
EQUATE
!STACK DST NUMBER
STKINFOWORDNUM-3 ;
DEFINE
STKINFO-LPCB( PCBPT+STKINFOWORDNUM)I;
DEFINE
INSYSTEMFLAG-(l:l)l; !IF EXECUTING SYSTEM CODE
EQUATE
PROCSTATEWORDNUM-9 ;
DEFINE
PROCSTATE-LPCB (PCBPT+PROCSTATEWORDNUM)';
DEFINE
SYSTEMPROCFLAGs(6:1)1; !SYSTEM PROCESS TYPE
INTEGER
SO=S-O;
ARRAY
INT~~~~R~~~; ~ • Q+O;
QAM2(*) - Q-2;
ARRAY
QP35(*) " QARRAY+35;
DEFINE
PXFIXEDsPUSH(Q,DL) ;
« TOS • DL - Q »
PXFIXEDLOC := TOS-QAM2(SO)I;
« (DL-Q) - content s of (DL-2) »
DEFINE

~~~~i~~~~~~~Q~~n ~~n~:6~6g~I~6EX)';

«INDEX must be defined in process»
« I NDE X mu 5 t s tar tat 1 »

10/ 2/86
COMMENT

9:27 AM

PAGE 265
RECORD
NO
13182
13184
13185
13187
131.88
13190
13191
13193
13194
13196
13197
13199
13200
13202
13203
13205
13206
13207
13208
13210
13211
13213
13214
13216
13217
13219
13220
13222
13223
13225
13226
13227
13229
13230
13232
13233
13235
13236
13238

ERON Instruction

C. S.
ADDR

LABL RREG SREG FUNC SFNC STOR SPSK

111 • • * ••• * •••• *
ALU B 1II1II1II**IIIJ1c*_*****
RREG SREG FUNC SFNC STOR SPEC SKIP

OD80

ERON

00E9

OD81

1II***.IIIJ11J11I11I1tJl!

ALU A

INC
0004

ADDL

0082

UBA

ADD

0083

0209 UBB

AOOL

OD84

ADD
ADD

OD85

UBA
UBB

0086

OFFF

OD87

UBA

OD88

OPA

RH

ADDL

CTR

ADD

BKX3

ROX3

FFEO REGN ANOL

ROB3

001F REGN ANOL
FFFF Q
ADDL

ROS

BKX3

INC
0200 OPB

ZERO

ANOL

NEXT
OPA AND
DATA FFFE Ol
AOOl
The next 6 lines are very dependent on each other and 5 hou Id
NOT be modified without careful study, especially the reads.
FFFA
ADDL
UBB
ADD
ROAS
0023 OL

OD8A

UBA

OPA

OD8B

ADDL
SUB

RH
RH

UBB

INC

DATA

e~~F~fu~~aYk66ldependent code.

UBA

ADD

NEG

0090

ADD

NEXT

0091

ADD

ADD

ROX3

RH

IORl

SP1B

ADD

SP3B

10/ 2/86

9:27 AM

COMMENT
Read next instruction into NIR
Set up for LST 3
Set up for CPCB read (absolute 4)
Use bank zero for absolute read
~~~~i~~C~f~=~~o}~~eL~{ ~nto OPA
Get final offset for LST 3
Get the bank number from the LST 3
Get PROCSTATE-(·(LST 3)+ ·(abs4)+!209)
Get pOinter to status (Q-l) to mask
Read the status to mask user traps
Increment P so it points to next inst.

~::~ ~~bc~~~TEt~~~T~~~~6~F~1~t~~tOff

Write masked status back out
Get Dl-2, return if system process
Get

(-6 )

for STKINFO address cales

~:~dD[~~2~)a:o~a~~R~~l~~~6R[~~~~t:~~~n
Read STKINFO into OPB for flag set

ADD
4000 OPB
OPB

ADD

OD8D

UBA

ROBS

ADD

ODSC

OD8F

RONP

ADDl

OD89

ODSE

l1li:**111111111111111111 • •

R!~~r~R~W~6~r~~Et~t(Dr~B.(g~~2t~ ~~j)

N2:RO

SPIB ADD

DATA

UBA

ADD

WRS

UBA

INC

Set STKINFO.INSYSTEMFlAG,but we will
not write it til we check ERRORlEVEl
Tes t ERRORLEVEL for zero,as well as
saving it in SP3B for later checks
Increment ERRORLEVEL and write it out
Write modified STKINFO if ERRORLEVEl.O
Compute

POS

ADD

DATA

ADD

DATA NEXT

(Ori~

ERRORLEVEL)-6 for tests

~:!tU~R~gRLtV~~~~~R~~~ W~!!1si}n1:~:~

Test ERRORLEVEL<6 so s~ip extra clear
Return if ) 6, thus not clearin9 any
Conditional clear PXFXINTRERR, lnc ptr
Always clear one PXFXINTRERR if <- 6,
and then return from routine

PAGE 266
RECORD
NO
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295

ERXT Commentary
C. S.
ADDR

*****111***** ALU A -111111*_ ••

*...

LABL RREG SREG FUNC SFNC STOR SPSK

.

.. * * * * III III: III '* .. III III .. III"" * .... * III III ........ III * 'III. III III .. III III"" l1li .. ,. .. III * III III"" *. * * *. * * '* ...... 'III" *,. 111111 * '* '"
ERXT - REPLACEMENT FOR THE MPE PROCEDURE ERROREXIT
Macro-assembly code. %020104,%000031
(doubleword op)
available in verion CX2603A and beyond
This microcode routine replaces the MPE procedure
ERROREXIT.
All the offsets to the locations used by this
routine, and the different bit positions accessed by it, are
hard coded as they are defined in U-MIT
The routine is built on top of the new LST/SST inst ructions which store the first 16 table pointers in the extended •
registers !E6 through IFS.

+---------------..........
WARNING •••••••••• ---------------+
IF ANY OF THE OFFSETS OR BIT POSITIONS USED BY THIS CODE I
SHOULD CHANGE IN FUTURE VERSIONS OF MPE,

THIS CODE MUST

I

BE MODIFIED OR IT WILL CEASE TO WORK PROPERLY.
+I _____________________________________________________________
+I
The original SPL source code,
CHECKER
as follows :

.5

101 2/86

.***** •• 111111*** ALU B •••• 111 ••••• -_ ••
RREG SREG FUNC SFNC STOR SPEC SKIP

IS defined in

the module

«RUN TIME (ABORT) ERRORS.
IF STOV FLAG SET THEN ABORT
IF ERROR LEVEL <-I
IF INTRINSIC '-99 THEN IGNORE CARRY AND NO ABORT
IF ERRWORD<)O THEN (ERROR)
-INSERT ERRWORD
-IF INTRINSIC '=0 DO NOT ABORT
-IF ERROR LEVEL <=0 THEN ABORT
RESET Q :·Q-DELTAQ
CARRY BIT IN STATUS:- 1 IF ERROR
: - 0 IF NO ERROR
DECREMENT ERROR LEVEL
EXIT THROUGH THIS PREVIOUS STACK MARKER
USING PARAMETER COUNT (N)
INTRINEXIT.(0:10) = INTRINSIC ERROR'
.(10:6) - PARAMETER COUNT (N)
ERRWORD.(0:8)
= PARAMETER
. (8 8)
= ERROR BYTE
PARAM = ADDITIONAL INFO IF ABORT OCCURS

»

·PROCEDURE ERROREXIT (INTRINEXIT.ERRWORD,PARAM);
•
VALUE INTRINEXIT, ERRWORD. PARAM;
•
LOGICAL INTRINEXIT.ERRWORD,PARAM;
OPTION PR IVI LEGED, UNCALLABLE ;
BEGIN
EQUATE TYPE-I, MARK=2. MODE=[8/MARK.8/TYPE];
EQUATE SOTYPE-O. SOCODE=20, SOMODE-[8/MARK,8/S0TYPEj;
EQUATE CPCB=4,
SYSL-3.
SYXL=9,
STOVL=9;

•III

COMMENT

9:27 AM

PAGE 267
RECORD
NO
13296
13297
13298
13299
13300
J3301
13302
13303
13304
13305
J3306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13312
13333
13134
13335
13136
13337
13338
13139
13340
13341
13342
13141
13344
1314<;
13346
13147
1314R

11149
c

11'f }(J
111'11

C.S
ADDR

ERXT Comment ary

111111111"111""' •• "'.111. ALU A 111 ......... 111111...

*JllIIIIIII1I:III.**1II11I:** ALU B ***********1_111111:

LABL RREG SRE(I FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SIABORT->
DEBUG->ERROREXIT MUST RESULT IN ANOTHER CALL
TO ABORT STOVABORT BIT IS LEFT ON TO ALLOW
YOU TO GET INTO DEBUG. WE COUNT ON LAST CALL
TO ERROREXIT TO CATCH STOV AND GO TO ABORT;

g~g~~~~tE.STOVFLAG:=O;

«MUST TURN THIS OFF»
RESABORTINFO.STOVABORTFLAG:=1;

~:~~~~ ~OMOOE, SOCODE ,0) ;
END;
CONTX: TOS.-ERRWORD;
«ERROR WORD»
IF • THEN GO TO CONT;
«NO ERROR»
KAR~iY.·l;

ASSEMBLE (XCH, DUP) ;
IF TOS> =6 THEN
BEGIN DEL;
TOS =5,
END,

10/ 2/86
COMMENT

9 :2'7 AM

PAGE Z68
RECORD, C,S.
NO
. ADDft
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407

ERXT Conlltentary
••••••••••• ALU A···········
LABL RREG SREG FUNC SFNC STOR SPSK

CONT:

••••••••••••• ALU B··············
RREG SREG FUNC SFNC STOR SPEC SKIP

~~~~~T~~t!tos;
«PUT ERROR WORD»
ASSEMBLE (TEST) ;
IF > THEN GOTO CONT;
«NESTED ERROR»
IF INTRINEXIT.IFLD-O THEN GOTO CONT;
ABORT (MODE . INTRINEXIT. PARAM);
10S:-%031400;
«EXIT INSTRUCTION»
TOS:-TOS LOR INTRINEXIT,NFLD;
lOS: -KARRY;
TOS:-INTRINEXIT.IFLD;
ASSEMBLE (SED 0);
~g~~
TAQ;
TOS:-TOS-TOS;

rgH

END;

¥P}g~~99 THEN DEL ELSE STATUS CFLD:-TOS;
ASSEMBLE(XEQ 0);
« EXIT N »
HELP;
«DEBUG LINKING CALL»

where :
Current PCB number 1n absolute(4)

~~~~t~~ ~~t~~F~~EDlt~r1Dr!2)CB'S in LST
Errorlevel at PXFIXED+35
Stack information for process at offset PCB+3
Process state information for process at offset PCB+9
Abort information for process at offset PCB+O
IDENTIFIER
CLASS
TYPE
ADDRESS

•
•
•
•
•
•
•
•
•
•
•
•
•
•

CFLD
CaNT
CONTX
epCB
DELTAO
ERRWORD
IFLD
INDEX
INTRINEXIT
KARRY
MARK
MODE
NFLO
PARAM
PCBPT
PXF I XEDLOC
QARRAY
SOCODE
SOMODE
SOTYPE
STATUS
STOVF
STOVL
SYSF

DEFINE
LABEL
LABEL
EQUATE
SIMP.VAR
SIMP. VAR
DEFINE
SIMP. VAR
SIMP.VAR
SIMP.VAR
EQUATE
EQUATE
DEFINE
SIMP.VAR
SIMP.VAR
SIMP.VAR
ARRAY
EQUATE
EOUATE
EQUATE
SIMP. VAR
DEFINE
EQUATE
DEFINE

PB+165
PB+134
LOGICAL
LOGICAL

Q-005

Q+OOO

INTEGER
LOGICAL
INTEGER

Q+002
Q-006

Q+004

LOGICAL
INTEGER
INTEGER
LOGICAL

0-004
0+003
0+001
0+000

LOGICAL

0-001

(5: 1)

VALUE-U
(0:10)
VALUE-%2
VALUE2%1001
(10:6)

VAlUE=%24
VAlUE=%1000
VALUE=%O
(5

1)

VAlUE=%l1

(111 )

10/ 2/86

CCM4ENT

9:27 AM

PAGE 269
RECORD
NO
13408
13409

134~.0

1341]
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426

C.S.
ADDR

ERXT Commentary
*~*iJI.IIk:*.fI*.

ALU A 111"'11:**111:***111*

LABL RREG SRE >
ENABLE;
IF LCiGICAL(DST(X:"X+l)).ROCFLAG THEN
BEGIN
IF GCLASSENABLEDMASK.CLASSO THEN
BEGIN «MEASURE RECOVERV OF DATA SEa BV PROCESS»
TOS:-MEASSTATXDSBANK;
TOS:-MEASSTATXDSBASE;
TOS:-TOS+COSUBO'SEGRELOFF+C'DATARECOVERV;
ASMB ( LSEA ) ;
TOS:"TOS+l;
ASMB(SSEA;DDEL);
END;

10/ 2/86
COMMENT

9:27 AM

PAGE 274
RECORD
NO
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725

C.S.
ADDR

XGDB Comment ary
*******IIr**1II ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

_••• "'*****111 •• ALU B •• ***********.
RREG SREG FUNC SFNC STOR SPEC SKIP

RECOVEROC(OBJ,DESCSTINX,OD);
END
ELSE
BEGIN «REALLY ABSENT»
QueueOnObject(OBJ);
PDISABLE;
END;
IF PMBCF IRMWARE

THEN

BEGIN
X . - DESCSTINX;
< < SET X - TO DST ENTRY > >
GET' XDSEG ' LIMITS;
XFER'XDSEG'LIMITS;
END;
X :. DESCSTINX;
TOS:- DST(X:- X+2);
TOS:-DST(X:-X+l];
ASMB ( XCHD) ;

DSTT~~~CSTINX).REFERENCEDFLAG:-l;

END;
PENABLE;
END «PROCEDURE EXCHANGEDB»;

And now for the microcode procedure.

****_**********************_.****_.IIiI*****_********************* ••• *

10/ 2/86
COMMENT

9: 27 AM

C.S.
AOOR

;(GDB Ins t ruc ti.on
** •• * •• * •• ~ ALU A ********...
LAI3L RREG SREG rUNC SFNC STOR SPSK

** •• *******~* ALU B *************~
RREG SREG FUNC SFNC STOR SPEC SKI!?

13727
13729
13730

ODCC

XGDB UBA

ROX3

00E9

SR7

UBA

13733
13735
13736
13738
13739
13741
13742
13744
13745
13747
13748
13750
13751
13753
13754
13756
13757
13759
13760
13762
13763
13765
13766
13768
13770
13772
13773
13775
13776
13778
13779
13781
13783
13784
13786
13787
13789
13790
13792
13793
13795
13796
13798
13799
13801
13802
13804
13806
13R07
13809

ODCE

0202 OPA

IIDDL

OOCF

UBA

UBB

IIDD

OODO

SPOA

Q

~tSUB

OPA

JISB

OPA

~.ND

PAGE 275
RECORD
NO

13732

CAD

ODCD

~ISB

0001

XDIE

WRS

BKX4

3FFF

RH

ADDL

NEG

XDIE

DATA

INC
7FFF OPB

0003

COOO OPA

~.NDL

SPOA

UBB

OD04

01FC

~,DDL

RG

OOED

SP4A ADD

UBB

JSB

WRX4

RH

SPOA UBB

lOR

DATA

FFEO REGN ANDL

ODD7

UBB

~.DD

ROB3

001F REGN ANDL

ODD8

UBA

CAD

ROB3

ODD9
ODDA
OODB

RH

ODDC

1000 UBA

CCPX UNC

UBA

ADD

CCPX

00E8
0200

ADDL
ADDL

CTR
SP2B

FFEO REGN ANDL

SP3B

001F REGN ANDL

BKX3

UBA

UBB

~IDD

UBB

UBA

~IDD

ODE2

0003 SREG JIDDL

00E3

OPA

00E6
00[7

UBA
XO[E

JISB

LSL
ROX3
RG
XDIE

J:OR

DB
BNKD

SP3B SP2B ADD
NEG

IIDDL
OPA

CCA

ADD

ODEO

ODES

ADD

UBA

~IDD
~IDD

DATA

ZER()

OPB

JSB

JIDD

INC
ADD

Set uE for LST 2 of XCHD.save in XRO

00,8

/IOD

~Ol']

/IDD

ADD
ADD

UNC
CCA

~:~ ~~S!~~~?i:o~t~~~ji~~~ ~~~pc~i:~r

ft~:difS~if
P~S

XFIN

Mask for offset of LST 7/2 (ICS/DST)
First full LST read (ICS or DST)
Mask LST for bank to read from
Second LST read of ICS or DST
Clear condition code for good return
Put results of first read into DB
Put results of second read into DBANK
Set up !4000 for possible FSS set
Check BNKS • BNKD for split stack mode

~~~~ t~l ~ J~~Tb~~~C~~ ~~!dri~gT)

ROX3

JSBS XDIE

MD

Jump off to handle XDS if WHERE <> 0
Offset of LST 7: ICS(-ICS ABSTKOBCELL)
Set up for LST 7 access to REGN
Set up for SST 3 write (DBXDSINFO)

Return to caller. but not before ...
~!~a~ F~~r(E~~i~ ~!:~kID~i)not skipped
Get (eHERE « 2) for LST 2 (DST)
Get %1000 for SYSGLOB relative address
Add %1000 to (WHERE « 2) for SYSGLOB
Mask offset for LST 2 IDST)

FFFF SP1B ADDL
UBB

~:~~ ~t?hl~;tbi~sW~~R5BX~~~N~Oi~0~P6~F

~~~~eW~~~E3f(DB~~~I~F~~~D~6~T~~Et~l
BKX3

UBB

SP2B

2000

SPIB AND

INC

ODE!

ODE4

NZRO

CTR

lOR L
NEXT

GO: >
DOUBLE MS. NUM'OF'TICKS, NUM'TICK'PER'DAY
9447100000;

10/ 2/86
COMMENT

9:27 AM

PAGE 277
RECORD
NO
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908

C.S.
ADDR

TIMR Comme n t a ry
111111111111111111111111111*'"

ALU A

**111111111111**.**

LABL RREG SREG I"UNC SfNC STOR SPSK
REAL

111111111111111*111."****

ALU B

TICK'TO'MS:- 9.14566375E-2;«CONVERT TICK TO MS»

DISABLE;
PUSH(STATUS); TOS.(2:1):=0; SET(STATUS);

~~M'b~C~!;SE~;E~~13CP¥H:N»

BEGIN
S33 :. IFALSE;
NUM'TICK'PER'DAY :- MS'PER'DAY;
END;
TOS : - 0;

~~M~~~CC~MN
BEGIN

i

19~B ls:~H~MPLR)

;

« COUNT REG VALUE »

«LAST UPDATED COUNT REG VALUE »

E~g~

:_ TRLDTIMEl;
TOS :- TRLDTIME2;
ASMB(DADD; DDUP);
NUM'Of'DAYS :- TRLNUMDAYS;
TOS := NUM'TICK'PER'OAY; «CHECK If OVER A DAY»
~~M~!DS¥~~NDDEL);

BEGIN
NUM'Of'TICKS := TOS - NUM'TICK'PER'OAY;
NUM'Of'DAYS :- If NUM'Of'OAYS • 23 THEN 0 ELSE
NUM'Of'OAYS + 1;
END ELSE NUM'OF'TICKS:= TOS;
MS :- IF S33 THEN fIXR(REAL(NUM'OF'TICKS)"TICK'TO'MS)
ELSE NUM'Of'TICKS;
TOS :- OOUBLE(NUM'OF'OAYS)"MS'PER'OAY
LSW . - TOS'

+

101 2186

"#1:*111:*111**111111:111111111111

RREG SREG fUNC SFNC STOR SPEC SKIP

MS;

ENO~SW ~~/n~~f~~);
•

us!~i~ai~~t!~~ ~!/~~! ~::~! ~~ ~:k~a!~~~ ~~a~h;Ru:e~s, but

..... III III

* III III III III III: III 11111( III III III .. lit III III III II III III III III 111111 III III 111111111111 III III III 111111 III 111111111111 III 111111 111111 III III III !, 111 III 111111 111111 III III III ..

if a •
\I{

III III III III III

COMMENT

9:27 AM

PAGE 278
RECORD
NO
13912
13913
13915
13916
13918
13920
13922
13923
13925
13926
13928
13929
13930
13932
13933
13935
13937
13939
13940
13942
13943
13945
13946
13948
13949
13951
13952
13953
13955
13956
13958
13960
13961
13962
13964
13966
13967
13969
13970
13972
13974
13976
13978
13979
13981
13982
13984
139R5
139~6

13987
139H9
139'l1
1399J
13')94
13935

C S.
ADDR

TIMR Inst ruct ion
.********** ALU A .*********lABl RREG SREG FUNC SFNC STOR SPSK

••••••••••••• AlU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

OEOO

%EOO
TIMR

OOFO

OEOI
OE02
OE03

ADD
0015
0013
UBA

SPOA

ADDl
ADDl
ADD

ROB3

OE04

OPA

0[05

FFFF UBB

ADDl

RH

OE06

FFFE UBA

ADDl

SP4A

0[07
OE08
OE09

ADD

ADD
ADD
SP4A ADD

OEOA

SP2B ADD

OEOB

OPA

ADD

OEOC

OPA

ADD

RB

ADD

OEOD

UBB

OEOE
OEOF
OEI0

UBB
RD

DEll
OE12
Of 13
OE14
Of 15
DE 16
OEl7
OEl8

RH

ROX3

ADDl

BKX3

0206 UBB

SP2B

ADDl

UBA

XR31 ADD

UBB

OPB

ADD

001F REGN ANDl
ADD
RH
ADD
ADD

ROX3
OPB
UBA

RA

LINK

UBA

ADD

RD

SCOO

UBB

ADD
SUB

SP4A

0526
RC
UBA

ADDl
lINK

UBA
UBA

ADO
JSB

FFE9

ADD
ADDl

UBB

ADD

RH

INC
ADD
ADD
ADDl

TIMI FFFB Q
UBA

OE 19

ADD

NEG
ZERO

RH
RH

RA

NZRO
RB
FFFC Q
WRS

UBB

ADD

OElA
OElIl
or lC
OEiD
OElE

SPOA
RD
UBA

OEIF

UBA

URA
UBA
UBA

MPAD
AD£)
AO!)
ADO
ADD
ADD

RH
SP3B
RC
DATA

UBB
UBB
RA

ROA3

ROX3

SP2B
RONP

ADD

ADDl

RB

RB

RC

~gB(~-YM~~~~R'DAY(lSW)

UBB,UBA = SP3B,SP4A <- MS'PER'DAY
Perform a double subtract, where
Z • Y - MS'PER'DAY
RA (- Z(lSW)

SP3B
RA

t

ADD

RC

ADD
ADD
ADD
ADDl

RD

ADD

WRS

REPN

OOIF

LINK
ADD
ADD
ADD
LINK

DCTR CTRO

ADD

9:27 AM

SPOA <- 0 for the multiplication
Set up for lST %12
Set up for reading TR; Read from bank 0
~:!/rR f~~t~e~~~ng LR; Read TR into OPA
Partial offset for lST %12
UBA (- TR
UBB (- of f set for TRlDTIME2
UBA (- offset for TRlDTIMEl
UBB (- TR+CR, whe re CR is 10 aded into XR31
by the TClK routine.
SP4A <- offset for TRlNUMDAYS
RA (- SYS ClK CTR z TR+lR+CR
Get bank number for lST %12
Read TRlDTIMEl into OPB
Read TRLNUMDAYS into OPA
RB <- 0
Read TRLDTIME2 into OPA
SP2B <- 0, for the multiply
RH <- TRlNUMDAYS
Inc rement P and put the new value in NIR.
UBA <- TRlDTIME2
UBB (- TRlDTIMEl
Perform a double add, where
Y • O,SYS ClK CTR + TRlDTIME1,TRlDTIME2
RC <- YllSW)

RA
BKX3

INC

RH

TIMI

CTR

ADD
ADD
UBA
FFEO REGN ANDl

10/ 2/86
COMMENT

RA
DATA
NEXT

~~ /6~sr~mp to TIM1
UBB <- -23
If NUM' OF ' DA YS • 23, skip nex t line
RC (- RA
NUM'OF'DAYS ( - NUM'OF'DAYS + 1
NUM'OF'DAYS (- 0
RD (- RB
UBA (- POINTER TO Q-S
UBB (- POINTER TO Q-4
Set up to write at Q-5
Sl!!t up to write at Q-4
a mult iplicat ion
T=5M~~;~Dly~!~;~p~~~&:~m

RA (- NUM'OF'DAYS*MS'PER'DAY(LSW)
UBA (- NUM'OF'DAYS*MS'PER'DAY(MSW)
Perform a double add. where RESULT
(NUM'OF'DAYS*MS'PER'DAY)+MS, whe re MS=RD, RC
Q-4 (- RESULT(lSW)
Q-5 (- RESULT(MSW); [M i t I

PAGE 279
RECORD
NO
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
140 t2
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023

14024
1402')
It.O;'fi

14027
14n~8

140:'9
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053

C.S.
ADDR

TMRQ Commenll a ry
1II.,..Jlli:JlltIc**,_**

ALU A

JllIIIIII*III:IIII11I1U'*JIt

111"'111:111111111111**111111"'111

ALU B

,

l1li: ..

TMRQ - REPLACEMENT FOR THE MPE INTEGER PROCEDURE TIMEREQ
Macro-assembly code: %020104,%000034 Idoubleword op)
available in version CX2603A and beyond
This microcode routine replaces the MPE procedure TIMEREQ
only for the series 64 machines.All the offsets to the locations'
used by this routine and the different bit positions accessed
by it are hard coded as they are defined in U-MIT.
This routine is built on top of lhe new LST/SST instructions
which store the first 16 table pointers in the extended regs.
'E6 through !F5
+ _______________ 111111******111111
WARNING 111111***111111111** _______________ +
IF ANV OF THE OFFSETS OR BIT POSITIONS USED BY THIS CODE I
SHOULI> CHANGE IN FUTURE VERSIONS OF MPE, THIS CODE MUST I
BE MO!>IFIED OR IT WILL CEASE TO WORK PROPERLY.
I
I

+--------_ .. _--------------------------------------------------+

This rout ine set s up a time request. It accept s time up to
2'°32-1. The most prioritary request is always first in the
list. All header entries are table word offsets. Entry II in
entf~i~Sr!~;i~:m:!:oO!e:~~n~e:~ !~I;~~r value to location Q-%10
Upon exit, it sets the condition codes 1n the following manner:
CCG· go to SUDDENDEATH IN), where N is already placed in TOS
CCL • go to MPE'TABLE'FULL IN), N already in TOS
CCE. regular exit.
NOTE

bg~d~ER~~R~~NS~R~E~gO~~AN~~~E~~~~SM5T!N~) SH~e~D H~~~NGE
TO REFLECT THE NEW VALUE.

The SPL code is as follows :
'INTEGER PROCEDURE TIMEREQICODE,REQ,TIME);
'VALUE CODE,RE:Q,TIME;
'DOUBLE TIME;
'INTEGER CODE,REQ;
:OPTION UNCALLABLE,PRIVILEGED;
:BEGIN

l~l~3~~

~~L~'s~6 Tsi·.8~_1·

INTEGER MST· Q-~, LST = Q!4;
INTEGER TFILPTR;
TIME
TOS
TOS
ASMB
TOS

:- TIME+IOOD;

= 0;
TOS:= MST;
= 100;
=

LDIV);
LST;

101 2/86

"'.JllIIIIJt********1II

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP'
III .. III III III III
* III * III .. I~ * .. III * * III * * 111111 III III III 111111 • III .... III .... III III III: III III .,. it 111111 !II: III .. III III III' III ]Ie III III If .,. * ..... III III .. III * * III '"

«

TIME »

«

FIGURE TICKS »

COMMENT

9:27 AM

PAGE 280
RECORD
NO
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109

C.S.
ADDR

TMRQ Commentary
**'IiII:*III***III.** AlU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

************* ALU 8 ******IIII1t._****
RREG SREG FUNC SFNC STOR SPEC SKI P

TOS :~ 100;
ASMB( LDIV,DEL I;
DISABLE;
TRLX :- TRLFREELISTP;
IF
•
THEN SUDDENDEATH(JI;
IF NOT(%14 <- TRLX <= TRLNUMENTRIES • TRLENTRYSIZEI THEN
SUDDENDEATH(25);
« if this is last TRL entry,
TRLPTR :- TRLX;
TOS : .. TRLPTRNEXT;
if - then

TR~~~~~~~~~~F~~L~~~~

report TABLE'FULL

»

~~ ~P6~T~i~~~Tr;giN}~~!»)

TIMEREQ :- TRLX&ASR(21;
00
BEGIN
«FIND POSITION IN LINE»
TRLPTR :- T;

~OS !R~:[~~~~HMEl;

- :
TOS :. TRLSERVTIME2;
ASMB( DSUB I:
END
UNTIL T .. 0 OR Sl < TRL(T+2)
LOGICAL ( TRL (X: -X+lll ;
:S :,. TRLPTR;

OR

AND

LOGICAL(SO)

« BUILD ENTRY»
IF REQ=O THEN SUDDENDEATH(261 ;
TIME :,. TOS;
TRL(TRLXI :- %100000+COOE&LSL(101+(T/TRLENTRYSIZEI;
TRLPTR ... X;
TR LREQUEST :. REQ;
TRLSERVTIMEI :- MST;
TRLSERVTIME2 : - LST;
TRLPTR :'" S;
TRLLINK : - TRLX&ASR (21;
«CONVERT TO ENTRY I »
«

CHECK FOR TIME ADJUST IN T »
T <> 0 THEN
BEGIN
TRLPTR :- T;
TOS :- TRLSERVTIMEl;
TOS : .. TRLSERVTIME2;
TOS : = TOS- TIME;
TRLSERVTIME2 :. TOS;
TRLSERVTIMEI := TOS;
END;
IF

« IF SIO TIMEOUT, DITS. ((COOE LAND U 71 : 1)
TOS . '" CODE;
TOS . ( 11 : 1) :. 0;
IF = THEN DEl
ElSE
BEGIN « S10 TIMEOUT »

,. 0 »

<

10/ 2/86
COMMENT

9:27 AM

PAGE 281
RECORD
NO
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128

TMRQ Commentary
C.S.
ADDR

111111""'.111*11111*-':

ALU A

111111111111111*111*#11*111

LABL RREG SRECI FUNC SFNC STaR SPSK

1It**III***Jll:Jllwlllllll1l

ALU B

TOS :- F(%1010+REQ);
ASMEI( XBX;
TRBC O,X;
XCH,STAX;) ;
F (Xl : z TOS;
END;

TRL TRACEWORD

:END;

%10000 + TRLX;

« T I MER E Q

10/ 2/86

*****IIIf1:JllJllJIII*,_1II11I

RREG SREG FUNC SFNC STaR SPEC SI94
1429',
14;>9f)
14<"H
142'J8

C S
ADDR

TMRQ Instruction
JIIlfiI*JflJllIltIll:III:IIl ftlll

OE43
OE 44
DE 45
OE46
OE47

RB

OE48
OE49
OE4A
OE4B
OE4C
OE4D
OE4E

ALU A

111.*l1li*111.111:111;l1li1111

LABL RREG SREG FUNC SFNC STaR SPSK

Ll

UBA ASL
ADD
OPA SUB
UBA ADD
SPlEl JSB

RF

UBB

RB

OPA

ADD
ADD
ADD
SUB

RC
RD

JSB
JSB
ADD

UBA

Ll

RB

1II***.*tlIIIIII(III**1II ALU B

ADD
ASL
OPB LINK
UBB ADD
0002 SPIB ADDL
UBA
RA

ZERO
ROX3

UBA
RA

LUPI
DY26

OPB

POS
ZERO

RF

ADD
ADD
SPiEl ASR
SP2EI ADD

WRX3

OE53

UBB

RG

ADD

DATA

OE54

RC

ADD

DATA

OE55

RB

ADD

DATA

UBB

OE56

RA

ADD

DATA

03FF UBB

OE57

FCOO OPA

ANDL

OE58

SPlEi JSB

OE59
OE5A
OE5B
0E.5C
OE5D
0F:5E

RF

UBB
OPA

ADD
ADD
ADD
ADD
ADD

UBA UBB
8000 UBB

LUP2

ZERO
ROX3

RE

UBA

SUB
ADD
ANDL

OE61

0208 RC

ADDL

0[62

UBA

ADD

OE63

FFFE

ADDL
ADD
ADD
ADD
CSL
ADD
ADD

UBB
UBS
UBB
USB

UBA

0[64
O[fll)

Orrif)
OF f, 7
OF fj 8
Of f)'l

I~SK

UBA
USA
UBA
USA

UBA

ROX4

If

RF

ADD

0009
RG

DCTR CrRO

ROA3

ASR
ANDL

UBB

ADD

UBB

lOR

DATA

0002 SPIB ADDL
ADD
UBA
INC
ADD
OPB ADD

UBA RB
UBA
LUP2 0010 RD

DATA

UBA

ASL
ADDL
ADD
ASR

G~BT(: ¥+~o to Ll
Read TRL(T+2) into OPA
Read TRL(X:mX+1) into OPB

ROX3

SP2B ASR

0[60

DE ',F

ADD
INC
ADD
LINK

UBB

RA

UBA

JSB

OOOF RD

ANDL

OOOF UBB

SUBL

UBB

JSB
ADD
CAD
JSB
ADD
ADD

UBB

ROX3

LINK
ADD
ADD

DATA
BKX4
LUP3

9:27 AM

COMMENT
Read TRLSERVICETIME2 into OPB
UBA (- TRLLINK"2
SPIB (T) (- TRLPTRNEXT
RB,RA (- TIME - TRLSERVICETIMEl,2

SPIB
RA

ADD
ADD
REPN

OE4F
OE50
OE51
OE52

101 2186

'" JII JII JII III III: 111111 JllIIIIIII: 11 III III

RREG SREG FUNC SFNC STOR SPEC SI(IP

ZERO
NZRO

NMSK

UNC

MSK

NZRO

S-0,S-1
LUPI.

)

. TRL(T+2),TRL(X: sX+1)

go to

If REQ • 0 go to DY26
UBA (- CODE
Set up for CODE&ASL(10)
UBB (- CODE&ASL(10)
RG (- %100000 + CODE&ASL(lO)
UBA (- T12
Set up to write into TRL(TRLX)
UBB (- T/TRLENTRYSIZE
TRL(TRLX) (- %100000+CODE&ASL(10)+T/TRLENTRY
Read from TRL(TRLPTR) into OPA
TRLREQUEST (- REQ
UBB (- TRLX&ASR
TR LSERVICETIME 1 ( .• MST
UBB (- TRLX&ASR(2)
TR LSERVICE TIME 2 ( - LST
UBB (- TRLX&ASR(2) . (6: 10)
UBA (- TRL(TRLPTR).(0:6)
~7BT(: ~R;~&~~RLB~2(6:10)
TRLLINK (- TRLX&ASR(2).(6: 10)
UBB (- TRLPTR + 2
Read TRLSERVICETIMEI int 0 OPA
Read TRLSERVICETIME2 into OPB
waiting for the reads to complete
UBA (- TRLSERVICETIME1
UBB (- TRLSERVICETIME2
TRLSERVICETIME1,2 (- TRLSERVICETIME1,2-TIME
UBA (- CODE.(ll:l)
BKX4 (- 0
UBA (- REQ + %1010
If CODE.(11:1) • 0 go to LUPJ
Read abs(REQ+%lOlO) into OPA
UBB (- CODE.(ll:l) : ~ 0
The next 4 lines will set up the mask to
clear the correct bit in the TRBC O.X
inst ruet ion.
The mask is already set uP. so go to NMSK

PAGE 284
R{CORD
NO
14299
14301
14303
14304
14306
14308
14309
14311
14313
143tS
14317
14319
14321
14323
14325

C.S
ADDR

TMRQ Instruction
••••••••••• AlU A ****111**.**"
lABl RREG SREG FUNC SFNC STOR SPSK

••••••••••••• AlU B *111******111*111***
RREG SREG FUNC SFNC STOR SPEC SKIP

OE611
OE6B

NMSK UBA OPA
lUP3 0009 /IF

AND
ADDl

DATA

ADD
1000 SP2B ADDl

OE6C
OE6D

UBA
RH

ADD
ADD

WRX3
DATA

OE6E
OE6F
0E70
OE71
OE72
0E73
0E74
OE75
OE76

DY03
DY2S
DY26
TBFL FFFF

ADD
ADD
ADD
ADO
ADD
ADD
ADD
ADDl
ADD

ADD
JSB
0003
UBB
0019
UBB
001A
UBB
0004
UBA

ADD
ADDl
ADD
ADDl
ADD
ADDl
ADD
ADDl
ADD

RH
TBFL

Fl
RA
RA
RA
RA

ceA

NEXT

CCA

NEXT

CCA

NEXT

CCA

NEXT

CCA

NEXT

10/ 2/86

9:27 AM

COMMEN·r
Clelr ~it. write it blck to abs(REQ+%lOlO)
UBA <- Iddress of TRlTRACEWORD
UBB <- TRlX + %10000
Set up to write into TRlTRACEWORD
TRlTRACEWORD <- TRlX + %10000
IF Fl. GO TO TBFl
SET ee TO eCE AND EXIT
Store] in TOS
Set ec to CCQ Ind exit
Store 25 in TOS
Set CC to CCQ and exit
Store 26 in TOS
Set ec to CeG and exit
Store 4 in TOS
Set CC to eCl Ind exit

PAGE 2115
RECORD
NO

C.S.
ADDR

MSTA Commen'l ary

*_**111***,_111l1li ALU A 111***111*111:111*111111

JltJlr:III ••• "**RIII •• ALU B *1II11C*1II****JlrJlt_*1JI

LABL RREG SREc:J FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SI >
SPAGE ·SYSTEM TABLE MANAGEMENT : GET SYSTAB ENTRY·

DOUBLE SUBROUTINE CONVERT'POINTER'TO'DOUBLE'ADDRESS(PTR);
VALUE PTR;
LOGICAL PTR;
BEGIN
TOS :- ABSISYSBASE + PTR).(1l:5); « extract bank»
TOS :- ABS~X) LAND %177740; « extract address»

gS~~ERT,~gI~TER'TO'DOUBLE'ADDRESS
END;

«

:- BASE;

« subrou1ne CONVERT 'POINTER 'TO'DOUBLE 'ADDRESS »

IF A PROCESS IS EXECUTING, GET ITS PIN

PCBPT : - CURPRC;

« IF THE EVENT NUMBER IS POSITIVE THEN »
»

<<

«
«

«
«
«
«

«

IF THE EVENT NUMBER IS NEGATIVE THEN

(<
(<

«
«

CHECK EVENT VALIDITY
DISABLE INTERRUPTS
XCHD TO SYSDB
LOG THE EVENT TO MONBUF

MAKE IT POSITIVE
CHECK ITS VALIDITY
DISABLE I~TERRUPTS
XCHD TO SYSDB

«
Turn off traps »
PUSH (STATUS) ;
TOS . (2 : 1) :. 0;
SET(STATUS) ;
TOS :. EVENT;
IF >- THEN
BEGIN «POSITIVE EVENT»

»
»
»
»
»

»
»
»
»
»
»

»

10/ 2/86
COMMENT

9:27 AM

PAGE 287
RECORD
NO
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495

C.S.
ADDR

MSTA Commentary
.*********~ ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

*********** ••

ALU B

IF EVENT ) MAXEVENTNUMBER THEN
RETURN;
DISABLE;
push(z); I)ush(s);

assemble(subl;

if TOS<34 then return;
TOS

's

«MMstat cant stand a stack overflow»

SYSBASE 0;

ASSEMBLE (:~CHD) ;
SAVE' DB :,. TOS;

«

Save prol:inx, event,

and parms into MONBUF »

SMONBUF (SII1ONDIX)
SMONBUF (X : - X +
SMONBUF(X:-X+1)
SMONBUF(X:-X+11
SMONBUF!X:.X+l
SMONBUF X :- X +
SMONBUF (X : - X +
SMONBUF(X :- X +

IF THE EI~D OF THE BUFFER HAS BEEN REACHED, > >
SET THE I~UFFER INDEX TO THE START OF THE
>>
BUFFER AI~D RESET THE TIME STAMPS IN THE
>>
FIRST ENTRY.
THIS ENTRY CONTAINS TWO TIME»
« TIME STA'''PS INDICATING THE LAST TWO TIMES »
< ( WRAP AROUND HAS OCCUR ED .
TIME STAMPS ARE
>>
« TWO WORDS IN LENGTH.
»
<<
<<
<<
«

IF (SMONI>IX :- SMONDIX + SMON'ENTRY'SIZE) >SMONI~UFSIZE THEN
BEGIN «MONBUF WRAP AROUND> >
SMONDU : - SMON' ENTRY' SIZE:
TOS : - TIMER;
<  >
TOS :- SMONBUF\O):
«GET OLD TIME STAMP»

~~N~UI" ~~~~~~

SMONBUI" (X: -X-l
SMONBUF!X:-X-l)
SMONBUI" X:-X-l)

END;

X

~ :X~6~ ~

: - TOS;
:- TOS:
:- TOS:

«SAVE OLD TIME STAMP»
«SAVE NEW TIME STAMP»

«MONBUF WRAP AROUND»

END <  >

10/ 2/86

**************

RREG SREG FUNC SFNC STOR SPEC SKI P

•

COMMENT

9:27 AM

PAGE 288
RECORD
NO

14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551

MSTA COlllllenhry
C.S.
ADDR

***._ •• **** AlU A

a_*........

LABL RREG SREG FUNC SFNC STOR SPSK

* ••

*.*._ .• * ••

ElSE
BEGIN «NEGATIVE EVENT»
TOS :- -EVENT;
IF (EVENT :- TOS)
RETURN;

> MAXEVENTNUMBER THEN

DISABLE;
TOS : - SYSBASE 0;
ASSEMBLE ( XCHD) ;
SAVE'DB :- TOS;
END;

«
«
«

«NEGATIVE EVENT»

IF A MONITOR RUN IS REQUESTED THEN LOG THE EVENT »
TO THE MEASBUF DOUBLE BUFFER SET AND CALL MEASIO > >
WHEN A BUFFER IS FILLED.
»

IF (TOS:-MEASFLAG) THEN
BEGIN «MEASUREMENT ENABLED»

TOS :- EVENT/10;
ASSEMBLE(TRBC 11);
TOS :- IF - THEN MEAS'MSKO ELSE MEAS'MSKl;
ASSEMBLE(STBX;

«

«

«

TBC

a,x;

DDEL);

IF THE EVENT IS ENABLED FOR MONTIORING, DUMP IT
»
TO THE CURRENT MEASUREMENT BUFFER.
IF THE BUFFER > >
IS FILLED, CALL "MEASIO" TO WRITE THE BUFFER TO
»

< < TAPE AND SWITCH TO THE OTHER BUFFER.

IF () THEN

>>

«TEST ENABLE FLAG»

BEGIN «EVENT ENABLED»
ASSEMBLE (TBC 14);
«TEST GROUP FLAG»
OFFSET := IF = THEN 0 ELSE MEASBUFSIZE;
TOS . = TIMER;
ASSEMBLE (XCH) ;

10/ 2/86

ALU B *** •• *A • • • ** ••

RREG SREG FUNC SFNC STOR SPEC SKIP

COMMENT

9:27 AM

PAGE 289
RECORD
NO
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607

C.S.
ADDR

MSTA Commentary
~*********~ ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

********~**** ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

MEASBUI' ( INTEGER (MEAS' lOX) + OFFSET) : - TOS;

~~:~~~~!=:7~+A)+

MEASBUF(X:=X+l)
MEASBUF(X:-X+l)
MEASBUF(X:=X+ll

ii

T~S~CBPT;

EVENT;
:= PI;
:= P2;

~~:~~~~!=:7~+A +
~~;P4:
MEASBUF (X :. X + 1) : - P5;
MEASaUF (X :. X + 1) : - P6;
IF (MEAS'IDX :- MEAS'IDX + MEAS'ENTRY'SIZE) )MEASBUFSIZE THEN

ii

BEGIN «WRITE BUFFER»
MEAS' lOX ; '" 0;
ASSEMBLE (TCaC 14; DUP);
MEASFLAG :- TOS;

~g~

:::.

TOS
TOS
TOS
TOS :=
TOS :-

~tAS'LDEV:

«SWITCH BUFFER FLAG»
«SAVE IN CASE INTERRUPTED»

~~~~~~Ll~~v»

1;
< >
CONVERT'POINTER'TO'DOUBLE'ADDRESS(MEASBUFPTR);
TOS + OFFSET;
MEASBUFSIZE;
«MEASaUF SIZE»
MEAS'PLAB;
«MEASIO PLABEL»

I~~EMBLH~g~~~Dg~L) ;
ASSEMBLE (PCAL 0);

<>
»

MEASFLAGI12:11
MEASFLAG 13:1
MEASFLAG 14: 1
MEASFLAGI15:1
DEL;
IF 0

-

TAPE ERROR
END OF TAPE
BUFFER SE LEeT
MEASIO ENABLE

< >
THEN

«TEST TAPE STATUS»

8EGIN «TAPE STATUS»
> THEN TOS. 113: 11 :. 1
ELSE TOS.112:1
1;
TOS. (15: 1) :. 0;
U

END; «TAPE STATUS»
END; «WRITE BUFFER»

«END OF TAPE»
«TAPE ERROR»
«CLEAR MEASIO ENABLE»

•

10/ 2/86
COMMENT

9:27 AM

PAGE 290
RECORD
NO

14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625

MSTA Comment ary
C.S
ADDR

***.JIII**.*** AlU A ._111.*111*****

*.* ••••••••• * ALU B **************

LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

END;
MEASFLAG

«EVENT ENABLED»

= TOS;

< N f ~ND~~ e (§: !~rOb %34)

Get pOinter to LST %11 (SMON BASE)

MMXT

ADDL

9: 27 AM

COMMENT
Make sure that we can use the last five TOS
Inc rement and read from P - doubleword inst r
Get address of MEASFLAGS to see if tape on

ROS

OOEF

OE84

OE8D

RONP

ADDL
Q

10/ 2/86

111111111****111111111111.**

INC

CCA
SPOA

ALU B

UBB

SPOA

OE 89

111,,111111" • • 111111.

OOOA

.ADD

OElO

OE81

JSB

111' • •

RREG SREG FUNC SfNC STOR SPEC SKIP

SRG2

,/IDD
ADDL

OE7C

OE7F

1II • • "*Jlllllllllft**

•
•
•
•

ADDL
BKX4 ADD

OOIF REGN ANDL
FFEO REGN ANDL

CTR
BKX5
BKX4

Set up for reads of LR and TR

~:!dU~Rf(~i~~Ts~~~e(I:~tB~~~lware timer intI
Save queue bank register for later
Read LR (s~stem clock limit reyister)
~:: ¥R ~~~m ~:~~~~er for LST % 2 (TRL BASE)
Get offset of LST %12 (TRL BASE)

PAGE 292
RECORD
NO
14706
14708
14709
14711
14712
14714
14715
14717
14718
14720
14721
14723
14724
14726
14727
14729
14730
14732
14733
14735
14736
14738
14739
14741
14742
14744
14745
14747
14748
14750
14751
14753
14754
14756
14757
14759
14760
14762
14763
14765
14766
14768
14769
14771
14773 .
14775
14/77

C S.
ADDR

MSTA Instruction
*********** ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

OE8E

0205 UBB

OE8F

UBA

OE90

FFFE UBA

ADDL

UBA

INC

OE91

2EOO

ADDL

SP4A

UBA

ADD

ADD

SPOA

SP3B OPB

LINK

SP4A

0526

OE92

OPA

OE93

ADDL

•• *. *. *. *. * * * ALU B ****11*******111.
RREG SREG FUNC SFNC STOR SPEC SKIP

SP4A ADD

OE94

SPOA UBB

OE95

UBA

JSB

OE96

UBA

ADD

OE97

LSL

UBA

OPB

UBB

XR31 ADD

RG

SUB
MMTM

NEG
SPOA

SPOA

OE9A
OE9B

ADD

SPOA

ADD

RE

OE9D

UBA

MPAD

UBA

ADD

SP3B

OPB

ADD

RF

RF

ADD

RG

ADDl

RF

INC

RF

RD

REPN

OOlF

LINK

DCTR CTRO

UBe

ADD

SP3B RG

LINK

ADD

OE9F

RD

INC

ROX4

UBA

ADD

OEAO

SP2B ADD

DATA

OPB

ADD

OEAl

UBB

ADD

DATA

OEA2

OPA

ADD

DATA

RH
ADD
SPIB ADD
ADD
ADD
ADD

WRX3
DATA

or A<;

DEA';

OE"j

MMXT

SP2B
DATA

ADD
0008

ADDL
ADD
ADD
ADD
ADD
ADD

9:27 AM

Compute offset of TRLDTIMEI
Partial SYS CLK CTR • TR + lR
Read TRLDTIREI Into OPA
Full SYS CLK CTR • TR + LR + CR (from XR31)
Compute offset of TRLNUMDAYS
Read TRLDTIME2 into OPB
LSW of MS PER DAY; shifted right one bit
Read TRLNUMDAVS into OPB
Perform doubleword add, where NUM TICKS =
SPOA,RG • O,SYS CLK CTR+TRLDTIME1~TRLDTIME2
Get lSW of MS PtR D~Y (!5COO) into SP4A
Get MSW of MS-PER-DAY into SP3B
Perform doubliworif subtract, where Z =
UBA ,RF • NUM TICKS - MS PER DAY
If Z ( 0, lesi than a dai hai passed - skip
Put TRlNUMDAYS into RF
ticks
S; ~ r N~~T~Ie~~d; n~~ 1 ~~~e (S~O~~~~
NUM OF DAYS. TRLNUMDAYS - 23, skip next line
if-NUR OF DAYS is zero (0)
Otherwise TTRlNUMDAYS-23 (> 0) increment it,
since we have subtracted a day's ticks

f

i

i!::!r~U:h:PO:e:~~5t~:n=P~:mt:'e~ultiP1Y
Put MSW of N3M TICKS into R~ for safekeeping

ROX4

UBB

SPOA RE

MMDN

ZERO

BKX4

ADD

OE9E

OEA3
OEM

ROX4
RG
RF

BKX5 ADD

RF

ROX4

lINK

ADD

OE9C

SP3B

ADDl

OPB

ADD
MMTM

ADD

UBA

FFE9 OPB

ADD

OE98
OE99

ROX4

ADD

10/ 2/86
COMMENT

SPIB

Read old time stamp MSW from entryO(O)
Set up for multiply - 32 bits wide
givin
total nllmber-of-ms since load-(mod 24 daysY
Need this line for the multiply to work
correctly - pipeline effects
Perform doubleword add, where RESULT =
UBA,SP28 • (NUM OF DAYS*MS PER DAY)+NUM TICK
Read old time sTamp (LSW) Trom-entryO(lT
Write now time stamp (MSW) into entryO(O)
Write now time stamp (LSW) into entryO(l)
Get old time stamp (MSW) from OPB
W~l:~i~l:o!!~et~!a~~d(~~~~pi~~Os~n~;y~~~~ 2
Write old time stamp (lSW) into entryO(3)

M~H~~1~R~3~,~~Eg~y; ~p~~,~~~BD~~4~0

~:: ~~~d~~~~= ~~ ~JNenM/f~rW!r1r:pped

NEXT

Write SHON INDEX back (possibly wrapped)
Return to caller!!!
Nap to keep system happy
Nap to keep system happy

PAGE 293
RECORD
NO
14782
14783
14784
14785
14786
14787
14789
14791
14793
14795

C.S.
ADDR

RSW Inst ruct 10n

*111:**111***111.11: ALU A *"111*******111

lMl RREG SREG rUNC SFNC STOR SPSK
%01'00
III

*

.
•

:111:

III III III

* III lie

l1li:

****JII:* ••

***~*

ALU B ***111.****111***111:

RREG SREG FUNC SFNC STOR SPEC SKII'

* III it * 111 III .... III III It * * III III III * III 111 III III III 'III JII III * * * III " III * * III 11: .... III III * * III * 111 * * * • III III •
RSW - READ SWITCH REGISTER INSTRUCTION
* 111 * III lit III * III III lit .. III III III iii ,.. III #I: III JIll III lit 1\ III III ,.. * '" III III * III III III III III III * •III

III III III III III III III III

j,:

III III It '" )II: III III III III III III l1li: III III III ~I III: III 111 " III:: III III III III: III III III It III

OFOO
OF01
OF02

OF03

OF04

;rsz

lIDO

1\00
1\00
1\00

PSHM

SR7
EPSH

0082

SP4A JSl IOlT
ADDl
CTR
ADD
REGN ADD
RH
ADD

ODD
CCA

NEXT

10/ 2/86
COMMENT

9: 27 AM

PAGE 294
RECORD
NO
14797
14798
14799
14800
14801
14802
14803
14804
14806
14808
14809
14811
14812
14814
14815
14817
14819
14821
14823
14825

CS
ADDR

WARMSTART CODE
*******-*** AlU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

.***********. AlU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

* •• *I11******* •• ***Iir**I111******************_***_*** •• ********* ••• _*******

•
•

WMST

*

this routine resets any extra IOAs that may be
installed on the system.

*******-**.************************111***************.****************.

OF05
OF06

WMST OC02
0054

OF07

WMSI

OF08
OF09
OFOA
OFOB
OFOC
OFOD

ADDL
ADDL
RF

ADD

UBA

JSB

1000

XRO

UBA

ADDL
ADD
JSL

*+3

ADD
XRO ADD SWAB RG
0080 RF
ADDL
RF
XR15 ADD
JSZ CLDE

NEG

BOOO

SF 1

0180 RF
UBB
UBA

XRl

XR 1
L2PF BKX5

BUSC
UNC

ADDL

SP3B

JSl
JSL
SUBL
JSB
JSL

IOMS SP3B
IOMS

UNC
UNC

WMSI
DUMP

NZRO
EVEN

UBA • go BUSY cmd; XRBI :% write command
XRAO :" enable masks cmd (will be swapped);
Go BUSY
UBA. ( 11 : 2 ) . 1MB. ;
Do~~~5r~;e~'iluTgAt~0?e~r~~~~t~al lOA •
SP3B. IOCl command
; SP3B :" write IMBI reg. 0, flush lOA
RG :- enable masks command, enable masks
RF :" next lOA '; UBB = 0 if done
UBA :- load or dump? Jump back if not done

JUT~hlgi~u~Ce~~:~mj:m~o~~I!O~~pp~~~ ~; l~ad

PAGE 295
RECORD
NO

C.S.
ADDR

14827
14829
14831
14832
14833
14834

OFOE
OFOF
OF 10
OF 11
OF 12
OF 13

CHANNEL CHECK ROUTINE
.1II.1II.1I!1c*~f**

ALU A

IIllllii1l:lIttltlll.lJfllltllf.,.

lABl RREG SREG FUNC SFNC STaR SPSK
Z
RAR:-VRA; FS:-SPLIT STACK; SKIP IF SO

~~NDg~c~5E~~6:~~A~g~;s~~~~ ~~~g~DMSg~D

OPCODE BRANCH TABLE: ALGN (%020460/1)
ABSN (%020462/3)
UNIMPLEMENTED INSTRUCTION (%020464/5)
UNIMPLEMENTED INSTRUCTION (%020466/7)
EDIT 1%020470/1)
CMPS (%020472/3)
XBR (%020474): PARC (%020475)
ENDP ~%020476):

OP.

PAGE 299
RECORD
NO
14954
14955
14956
14957
14958
14959
14960
14961
14962
14(163
14964
14965
14966
14968
14970
14972
14974
14976
14978
14980
14982
14984
14986
14988
14Q90
14'~92

14'J'l4
14~q6

14998

COBOL [I FIRMWARE INSTRUCTION SET - ENTRY POINT
c.s
111 • • 111.111111111110"111111
ALU A 1IIIII:IIIIIIIIIJllIIIIII***
111111*111111111**** • • • ALU B 111111111111111111111****"111*
ADDR I_ABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC St(lP
I' III III III III III 'Ie III III III III III III ii\ III if III III III III: * III * III III III .. III JIlt III III III .. III III • III
III III lit 'Ie III 'Ie It III III l1li 'It. 'It III III III * III III III lit
If III * III III III: lit 'Ie n III!

.

l1li:

111:

If the single word opcode is %020477, then the second
word of the opcode is decoded here. P is incremented for
the seco~d word of the opcode. Second word opcodes greater
than %51 are invalid. Flag 2 is set to bit 14. This table
is indeK~d in groups of four to decode most instructions
which have a multiple of four opcodes. All instructions
have at least two opcodes and Flag 2 is used to determine
these cases.
II III III III

* III III III III III III III III III .. III JlI III: * III III III III III III III .. III III: * JlI

100F
002A
1010
SP 18·
UBA
1011
1012
UBA UBB
1013
1014
SP18
1015 GOB2
1016
1017
1018
1019
10 J A
1018
IOIC
J OLD

10 IE
10lF

ADDL
ADD
ADD
ADD
ADD
ADD
ADD
JSZ
ADD
ADD
ADD
ADD
ADD
ADD
JSB
JSB
ADD

LSR
LSR
SP4A
TRP

LOW
TR

JIll III III .. III III III 'Ie III III '" III III III !It III .. III '" III ..

WRX3
RAR
NF2

NF2
NF2

P
INC
UBA SP1B JSZC
COB2
ADDL
SP1B CSR
UBB CSR
ADD
JSZ
JSL
JSB
JSB
JSL
JSL
JSL
JSL
JSB
JSL
JSL

* III III .. III * III III III '" * III '" III •

TRP
LBL
TRP
CMPT
TCCS
TCCS
CVND
CVND
CVND
CVND
LDDW
ABSD
NEGD

RONP

101 2186

9:27 AM

COMMENT

~r III

NGRY

HBf2 TICB
RSB
UNC
F2
U~IC

UNC
UNC
UNC
UNC
UNC
F2
F2
NF 2

INCREMENT P FOR DOUBLE WORD INSTRUCTIONS
MAX VALID OPCODE = %51
TABLE INDEX; TABLE START
YRA:=TABLE START + INDEX
RAR:=YRA; F2:=OPCODE.(14:1)
RANDOM INDEXED BRANCH
UNIMPLEMENTED INSTRUCTIONS(%0/3)
UNIM.(%4/5);COMPARE STRINGS TRANSLATED(%6/7)
TEST CONDITION CODE AND SET TOS(%8/11)
TEST CONDITION CODE AND SET TOS(%12/17)
CONVERT NUMERIC DISPLAY(%20/23)
CONVERT NUMERIC DISPLAY(%24/27)
CONVERT NUMERIC DISPLAY(%30/33)
CONVERT NUMERIC DISPLAY(%34/37)
LOAD WORD(%40/41); LOAD DOUBLE WORD(%42/43)
:~~~~~~T6~E~~~~U~0'~~) DECIMAL (%46/47) ~gi~

I

PAGE 300
RECORD
NO
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029

C.

A··.·······

COBOL II FIRMWARE INSTRUCTION SET - LOAD FROM BYTE ADDRESS
S.
_.......... ALU
* ••• - * ••••• * * * ALU B • * * * * ••• _•••••
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
111*******111*******.****111****_*******l1li**_*********_***.*******.*IlI**.****

LOW
1.

2.

3.
4.

5.
8.
7.

8.

Pull the RBA plrlmeter into the TOS regilters if it does

~~~ :~!e:gI ::~:!eter if the SDEC - 1.
Cilculite the effective blnk Iddre.s (EAI.
PUSH I TOS re~ister to memory to mike room for the word
to be 10lded 1f necessary.
Perform bounds checking DL <. EA <- SR+SM if not in split
stick mode. If the bounds test flils in DB-S arel, then
32k 11 Idded to the effective Iddress to check the DL-DB
~!~~ha~~eb:~~~Sa~h~~=i:?f!~t~~!f:d:~=S:glin.

Determine whether the effective address fils in memory
or I TOS register, Ind pilce the appropriate vllue in

~~;u~~t~~nt~:r:;~t~~·even.

Inc rement the effective Iddress Ind fetch the follow1ng
word. Bounds check the new effective Iddress.
10. Determine whether the new EA falls 1n memory or I lOS
reyhter. Combine the left byte of the apporpriate value
:~i~ht::I~!g~~eb{!: :~r~:ea~de~t:~! i~r~h!Or!~~~nl word
pi rlmet e r.
11. Done.
III III III III III * •••• _III III III III III III • • • • • • • • Ii *111 til III • •
* III III III III III II III" *_ III III III III III III III III III III III III II III 1III ... III III III III * III
9.

*_.

)IIt

10/ 2/88
COMMEN1f

9:27 AM

PAGE 301
RECORD
NO
15031
15033
15034
15036
15037
15039
15040
15042
15043
15045
15046
15048
1'>049
150') 1
15052
15054
15055
15057
15058
15060
15061
15063
15064
15066
15067
15069
15070
15072
15073
15075
15076
15078

LOAD WORD INSTRUCTION

C.S.
ADDR

LABL RREG SREG FUNC SFNC STOR SPSK

1020

LOW

.*111***111111:111"* ALU A ***111*111*.**111

ADD

CFl

ADD

1021
1022

RA

1023

UBA

ADD
DB

1024

SPIB ADD
LSR

ADD
JSBS LDWC

RH

OPA

ADD

UBB

SM

CAD

1029

RH

SP2B ADD
INC

102A

UBA

102B

UBA

1026
1027
1028

102C
102D
102E
102F

SF 1
RH

SP3B

ROD

RH

NCRY
SP4A
EPSH

SP3B RH

l.DWl SP2B
JSB "+2
JSBS LDWC

RH

ADD

NEXT
ROBD

RH

ADD

CAD

SP3B UBA

BNDE

ADD

OPB

ADD

ADD
ADD

REGN ADD

ADD
SM

SP2B lOR

SP3B POP

JSL

SP3B UBB SUB
SP4A ADD
REGN ADD

ODD

EVEN

CAD
RA

ADD
DL

1025

••••••••••••• ALU B 1II**III***.1ItIltlltllt**
RREG SREG FUNC SFNC STOR SPEC SKIP
SR
SM
JSl PULM SP3B
SRl

SR7
NF5B
NCRY

CTR

TICB

RH

UNC

RH
IlLl

RH
CTR

TICB

LRl

SP2B

UNC

LRl

SP2B

ADD

9:27 AM

DEFAULT EVEN RBA
GET PARM FROM MEMORY~ IF NEEDED
SDEC • 0 OR l?
ODD RBA
POP IF SDEC • 1
EFFECTIVE ADDRESS
MAKE ROOM FOR RESULT; SAVE RBA
SKIP TESTS IF SPLIT STACK
BOUNDS TEST EA ). DL
BOUNDS TEST SM >. EA
VALUE IN MEMORY OR TOS REGISTERS?
EVEN OR ODD RBA?
VALUE IN MEMORY
DONE IF EVEN RBA
VALUE IN TOS REGISTERS
FETCH NEXT WORD
LEFT: -F IRST WORD ODD BYTE
VALUE IN MEMORY TO TOS REGISTERS? SM

)=

RIGHT: =MEMORY EVEN BYTE
RIGHT:-TOS REGISTER EVEN BYTE

ADD
RH

10/ 2/86
COMMENT

NEXT

COMBINE LEFT AND RIGHT BYTES FOR RESULT
DONE

EA?

PAGE 302
RECORD
NO
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114

COBOL II FIRMWARE INSTRUCTION SET - LOAD FROM BYTE ADDRESS
C.S.
• •••••••••• ALU A··········· •••••••••••• - ALU B -_ •• _--_ •••• -.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
LDDW
1.

2.
3.
4.

5.

6.
7.

8.
9.

10.
ll.
12.
13.

14.

PULL the RBA parameter into the TOS registers if it does

~g~ :~~e~gx ~:~:!eter if the SDEC - 1.
Calculate the effective bank address (EAI.
PUSH 2 TOS registers into memory to make room for the
double word to be loaded if necessary.
Performs bounds checking DL <- EA <. SM+SR if not in split stack mode. If the bounds test fails in the DB-S area.
then 32k is added to the effective address to check the
DL-DB area and bounds checking is performed again.
Fetch the word at the effective address.
~~~e~T!~: r~:t~~~r~~~i;~ef~!t~ei~nm~~~rli~~taw!~~ ~;gt~!er

return parameter
Increment EA. bounds check. and fetch the neMt word in
the bank.
Determine whether the second word falls in memory or a TOS
register and place the appropriate value in the second
word of the return parameter.
Return if the RBA is odd.
Increment EA again. bounds check. and fetch the next word
of the bank.
r~:b~~~0~~ew~~3h:obl~~mf~ ~~: ft~:: :~~~.and l.ft byte of
Determine whether the new effective address falls in
memory or a TOS register. Combine the left byte of the
appropriate value with the right byte of the second word
to form a new second word.
Done.

10/ 2/88

COMMENT

9:27 AM

PAGE 303
RECORD
NO
15116
15118
15119
15121
15122
15124
15125
15127
15128
15130
15131
15133
15134
15136
15137
15139
15140
15142
15143
15145
15146
15148
15149
15151
15152
15154
15155
15157
15158
15160
15161
15163
15164
15166
15167
15169
15170
15172

CS
ADDR
1030

LOAD DOUBLE WORD INSTRUCTION
ill • • III 111111*111:111111111

1031
1032

RA

1033

UBA

ADD
ADD
DB

III 111111:111:11 ""11 III IIIJIIr*

RH

SF 1

LSR
RH

ADD

SM

SP3B

ROD

DL

NCRY

JSBS LDWC
ADD

SP4A EPSH
EPSH

1038
1039

UBA

INC

SPOA ROBD

OPA

UBA

103B
SPOA

INC

NEXT

1030

UBA

I!!,DD

ROBD

103E

UBA

SP3B POP
l[)W2 SP2B
*+2

SP3B RH

JSBS LDWC

RH

ADD
CTR

SP3B UBB SUB
SP4A AOD

RH

RG

UNC

ADD

LRZ

RH

UBA

IOR

RH

1042

UBB

SP2B lOR

RG

RG

BNDE

RH
CTR

TICB

SP2B

UNC

REGN ADD

LRZ

SP2B

ADD

Rl.Z

OPB

RG

RG
Rl.Z
UIZ

SP3B UBA

1041

VALUE IN MEMORY OR TOS REGISTERS'

OPB

REGN ADD

ADD

ADD

DEFAULT EVEN RBA
GET PARM FROM MEMORY IF NOT PRESENT
SDEC • 0 OR I?
ODD RBA
POP IF SDEC • 1
EFFECTIVE ADDRESS
MAKE ROOM FOR RESULT IF NEEDED; SAVE RBA

TICB
UNC
TICB

RH

9:27 AM

SKIP BOUNDS TEST IF SPLIT STACK
BOUNDS TEST EA ) c DL
BOUNDS TEST SM ). fA

RH

ADD

10/ 2/86
COMMENT

NCRY

CTR

I~DD

1040

SRG5
NF5B

REGN AOD
BNDE

CAD
I~DD

JSL

SRZ
EVEN

CAD
RA

ODD

103C

SM

PlJLM SP3B

SP3B UBA

CAD
SM
SP2B ,!!,DD

103F

JSZ

JSB

CAD
,ADD

103A

SR

SP1B ADD

UBB SM
RREG

1036
1037

••••••••• **** ALU B 111111111:111**111***"111:111111
RREG SREG FUNC SFNC STOR SPEC SKIP

ADD

1034
1035

ALU A

LI.\.BL RREG SREG FUNC SFNC STOR SPSK
CFl
ADD
LDDW

NEXT

FIRST WORD IN MEMORY
FETCH NEXT WORD
FIRST WORD IN TOS REGISTERS
VALUE IN MEMORY OR TOS REGISTERS?
EVEN OR ODD RBA?
SECOND WORD IN MEMORY
DONE IF EVEN
SECOND WORD IN ros REGISTERS
FETCH THIRD WORD
LEFT BYTE FIRST WORD
VALUE IN MEMORY OR TOS REGISTERS; S

)=

EA?

RIGHT BYTE SECOND WORD IN MEMORY
RIGHT BYTE FIRST WORD FROM LEFT BYTE SECOND
RIGHT BYTE SECOND WORD IN TOS REGISTERS
FIRST WORD
lEF T BYTE SECOND WORD FROM RIGHT BYTE SECOND
SECOND WORD
DONE

PAGE 304
RECORD
NO
15174
15175
15176
15177
15178
1517(1
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198

COBOL II fIRMWARE INSTRUCTION SET - LOAD FROM BYTE ADDRESS
CS.
• •••••••••• ALU A··········· ••••••••••••• ALU B··············
AOOR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
.. l1li III III III,. Ill .... III" III * **" * •• *** III III III
111l1li 111._ III" III III "" 1It** •• 1111 * *111 III III 111* III III III III III III. * ** 111#1 "will _. III III
l1li:

LOWC
1.

2.
3.

LDWI
1.
2.
3.
4.
5.
LOW2

OL-OB Bounds test and fetch
Add 32K to effective address and refetch.
Bounds test SM ). EA ). DL.
Return.
Make room for 1 105 register in LOW
Increment SM.
Write bottom 105 register to SM+1.
Check for stack overflow
Reread ALUA operand.
Return.
Make room for 2 lOS re9isters in LODW

Add 2 to SM.
2. Write bottom two TOS registers to SM+1. SM+2.
3. Check for stack overflow.
4. Reread ALUA operlnd.
•
5. Return.
*
*111111*"111111 •• ***"*-*"*** ••••••••• ".*._**.* •• * ••••• ** •• * ••• 111.111.111**"**.*"*"
1.

10/ 2/86
COMMENT

9:27 AM

PAGE 305
RECORD
NO
15200
15201
15202
15203
15204
15205
15207
15208
15210
15212
15213
15214
15215
15216
15217
15219
15220
15222
15223
15225
15226
15227
15228
15229
15230
15231
15233
15234
15236
15237
15239
15240
15242

COBOL II FIRMWARE INSTRUCTION SET - LOAD FROM BYTE ADDRESS
** •• ***.***** ALU B ****#1:111*** •• ***
~******.*** ALU A *******~***
C.S.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

DL-DB BOUNDS CHECKING
1043

LDWC

1044
1045

UBB
RH

DL

ADD

8000 RH

ADDL

BNDE
ADD

SP3B UBB

BNDE
ADD

ROD

RH
RSB:

EXTENDED BOUNDS CHECK FOR DL-DB
ADD 32K TO EA
BOUNDS TEST S )- EA AND EA )- DL
(2527)
FIRE UP MEMORY AND RETURN W/O SKILL (2527)

MAKE ROOM FOR ONE TOS REGISTER TO BE LOADED
1046

WW1

1047
1048

INC
SM
QDWN ADD
RH
ADD

WRS

SM

DATA

SREG JSZC ST02

ROD

ADD

INC

SM

DCSR
NEG!
RSB:

WRITE AT SM+1
SM <- SM+1; SR <- SR-1
STORE LAST TOS REGISTER
CHECK FOR STACK OVERFLOW
REFETCH WORD
RETURN

SREG JSZC ST02

NEGi

ADD

RSB

WRITE AT SM+l
SR <- SR - 1
STORE LAST TOS REGISTER
SM <- SM + 2; SR <- SR - 1
STORE NEXT TO LAST TOS REGISTER
CHECK FOR STACK OVERFLOW
FETCH WORD
RETURN

MAKE ROOM FOR TWO TOS REGISTERS TO BE LOADED
WRS

104B

SM
INC
QDWN ,ADD
QDWN ,ADD

104C

RH

,ADD

ROD

1049
104A

LDW2

ADD

DATA
DATA

UBA
Z

INC

DCSR
SM

DCSR

PAGE 306
RECORD
NO
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15261
15262
15264
15266
15267
15269
15270
15272
15273
15275
15276
15278
15280
15282
15283
15285

COBOL II FIRMWARE INSTRUCTION SET - PERFORM
c.s
****111****** AlU A *****JllJII*JII**
***111:.****.111** ALU B **111***"*******
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

PARC
1.
2.
3.

4.
5.
6.
7.

8.

1040

Get at least 3 valid TOS refisters.

~:~~ui:?:e~!w'~s.~~ ~~1c~T~h~Si~:?~~~1Io~nd S-1.
Calculate current delta P and store in S-3.
If the code segment
Ire not equal,
then goto CSEG -- the code segment set up routine.
Bounds check PB ( s new P (. PL.
Update P
Next instruction.

"s

STA

PARC

ADD

RRZ

SPOA

0003
SR
UBA

1050

STA

ADD

STA

ADO

RB

UBA

PB

SUB

RC

3FFF RC

1051

ADDL
JSZS PUlM

JSZ

104E
104F

NCRY

llZ

RB

1052

RH

1053
1054
1055

ADD
UBB ADD
SPOA
SPOA SPIB JSBS CSEG
NZRO

1056

JSB

CNXT

UNC

PUL2

ADD
ADD
ADD
UBB

SRL2
RH

RRZ

SP1B

lOR

SP2B

ANDL

SP3B

4000 RC
ANDL
UBB ADD
UBB XR12 JSBS CSEG
SP3B PB

ADO

NZRO
RONP

EXTRACT CURRENT SEGMENT NUMBER FROM STATUS
NEED VALID RA, RB
GET ANOTHER TOS REGISTER IF SR < 3
RH :- CURRENT P
CURRENT STATUS INFO
SPIB. NEW SEGMENT ,
RB :- CURRENT STATUS
SP2B. NEW STATUS
RC • CURRENT DELTA
SP3B. NEW DELTA P
;UBB • NEWMAP FLAG
SPOA = NEWMAP FLAG
EXTE NAL BRANCH?
EXTE NAL BRANCH IF PHY MAP <) NEW MAP
JUMP TO BNDS CHECK AND NEXT
READ NEXT INSTRUCTION IF INTERNAL BR

(CSTX)
(CSTX)
(CSTX)
(CSTX)
(CSTX)

PAGE 307
RECORD
NO
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
1531)5
15306
15307
15308
15309
15310
15311
15313
15314
15316
15317
15319
15320
15322
15323
15325
15326
15328
15330
15332
15333
15335
15336
15338
15339
15341
15343
15344
15346
15348
15349
15351

..

COBOL II FIRMWARE INSTRUCTION SET - BRANCH
• •• *~.~
*- ALU A *********** ************* ALU B **************
ADDR LABL RREG SREG IFUNC SFNC STOR SPSK RREG SREG FUNC SF'NC STOR SPEC SKIP

C.S.

10/ 2/86

9:27 AM

COMMENT

ENDP
1.

Get at least 2 valid TOS registers - the test paragraph
and the return paragraph II.
Pop the test para9raph II from the stack.
Next Instruction 1f the paragraph II's are not equal.
Pop the return paragraph number.
Perform an XBR with the parameters remaining on the stack.

2.
3
4.
5.
XBR
6.

7.
8
9.

Get at least two TOS registers - the segment II and
delta P.
Calculate new P and fetch the instruction.
Pop the two parameters from the stack
If the code segment II's are not equal, then goto CSEG

10.

11.

12.
1057

ENDP RB

1058

RA

E~U~~~ ~~~~ks~em~~tn!!tpu~=rp~tine
Update P.
Next instruction.
PULM

SRL2

JSZ

JSZS NEXT

NZRO

ADD

POP

1e59

ADD

CF1

ADD

POP

105A

ADD

105B

JSZ

XBR

105C
105D
105E

UBB

105F

RB

1060
1061
1062
1063
1064
1065
1066

JSZ
UBA

RB
STA

ADD
AND
ADD
ADD

PULM
LLZ

CNXT UBB
SPOA

PB

ADD
ADD

SRL2

JSZ
4000

SPOA

RA

SP4A

UBA

RRZ

SPOA
ADD
UBB SP1B JSBS CSEG
ADD
UBNE

SRZ

ADD

ADD
STA

PUL2

UBB

3FFF UBA
NZRO

UBA

PUL2

SR2

ADDL
ADD
ADD RRZ

SP1B POP

lOR

SP2B POP

ANDL

SP3B

UBA ADD
XR12 JSBS CSEG

SP3B PB
PL
UBB

SREG ADD
UBA ADD

~:~~ ~B ~~~ ~~g~~~6E'tR:~PH:~DLING

NZRO

ADD
UBNE

RONP
P

XR12

GET 1 TOS REGISTER IF ALREADY 1
GET 2 TOS REGISTERS IF CURRENTLY NONE
NEXT INST IF PARAGRAPH IS DON'T MATCH
POP CURRENT PARAGRAPH II
F 1: .ENDP
POP THE TERMINATION PARAGRAPH II
ONE CLOCK NEEDED TO MAKE SR TESTS VALID
AFTER THE POP
GET 1 TOS REGISTER IF 1 ALREADY EXISTS
GET 2 TOS REGISTERS IF NONE CURRENTLY EXIST
;UBB:- NEWMAP FLAG
(2324)
SPOA:- NEWMAP FLAG
(2324)
EXTRACT USER INFO FROM STATUS REGISTER

NEXT

SP2B :- NEXT STATUS; POP RB
EXTRACT CURRENT SEGMENT NUMBER
SP3B := DELTA P WITHOUT TRACE BIT
UBA:- NEWMAP FLAG; UBB:- CURRENT SEG II(CSTX)
SEG SETUP NEEDED FOR EXTERNAL BRANCH? (CSTX)
SEG SETUP NEEDED IF PHY MAP <) NEW MAP(2635)
;READ NEXT INSTRUCTION IF INTERNAL BR (CSTX)
BOUNDS CHECK PB <- NEW P
BOUNDS CHECK NEW P <= PL
UBA:= NEWMAP; NEW P
(CSTX)
XRB12:. NEWMAP FLAG, NEXT INSTRUCTION

PAGE 308
RECORD
NO
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
153dO
15381
15382
15303
15384

gO~OL II FI~~~~L!~~rR~gI2N.~n.;.~~~ S~~~~~r.Hr~~. ALU B ............ ..
ADDR

LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

.

!Ir*Ir*JIi:**III************III****************************************111*******

CSEG
1.

2.
3.
4.

S.
6.

7.
8.

9
10.
11

12.
13.
14.
15.
16.
17.

Determine whether segment entry is in CST «192) or in
extended CST (>192)
Read pointer to the CST table (0,0) if CST; (0,1) if CSTX.
Read CST table length contained in the first word of the
CST table.
Read new P bank contained in the third word of the table

~~~~YA~RTL~~eC~~?~i~!d

in first word of the table entry
for the segment.
If CST table length. 0, then CST len~th violation abort.
f~e~et~~n!i~~~~i~nza~0~t.se9ment • > ST table length,
Get new P bank.
~::c~e~~r!~~:t~~~ t~rA~:~~'~ta~~o~e~~!t~o~~~ :~~~'Of the
A:~I~e!n~[Yzf~B !hjLi:I~:n~ nd get new PB.

r

~~~~p~~vT~~;e~i~~~t}~~ ~!wm~~;m!~tSI~T~~i!i1!~!~r

15
Jymp to Absence/Trace handler if the code segment is
absl'nt or i f calls and returns are being traced.
Read next inst ruet ion
Bounds check PB (. new P (z PL.
Update P, BNKP, PB, PL, and STATUS registers.
Next inst ruet ion

10/ 2/86

COMMENT

9: 27 AM

PAGE 309
RECORD
NO
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15398
15400
15402
15404
15406
15408
15410
15412
15414
15416
15418
15420
15421
15423
15425
15426
15428
15430
15432
15434
15435
15437
15438
15440
15441
15443
15444
15446
15447
15449
15450
15452
15453
15455
15456
15458
15459
15461
15462
15464
15465
15466
15468
15469
lS470

COBOL II FIRMWARE INSTRUCTION SET - CODE SEGMENT SETUP
~~~*-~***** ALU A **111*.******
***.********. ALU B 111*************
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III Ie * * " .. * III * .. III .. lit III III lit III " III III III * 111111. .. 111 * III: III III: III III III * * III III III III .... III III III * III .. * III :11 lit III ,.. .. III III III .. III .. III III .... '"

C.S.

.

9:27 AM

III;

]I(

.. 111:

10/ 2/86
COMMENT

• CST EXTENSION CHANGES FOR COBOL INSTRUCTIONS PARC, ENDP, XBR
EXPECTED SPIB:= NEWSEG, SPOA:= NEWMAPFLAG

• RETURNS OPA:- ABS(O) OR ABS(l), RH:= SEG NUMBER
111* III: * *,.. * III ** ** .. III III * *** III III JIt**. III ***JII* III if* III: III III
* III 111111 III 111** * III llI: • • * _•• *** * 1ft * **** * **11

1067
1068
1069
106A
106B
106C
1060
106E
106F
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079

.

'111

CSEG 0292

ADDL
ADD
ADD
SPOA
JSB
UBB
CAD
SPIB ADD
INC
UBB JSB
UBB ADD
UBB JSB
OPA JSZ
UBA ADD
ADD
SPIB ADD
UBB SPIB JSZS

ROX3
NZRO

CONT
CONT
*+2
CSTV

RH

LSL
CSTV

ADD
ADD
ADD
ADD

CONT SPOA

107A

RH

ROX3
ZERO
ROX3
NZRO
ZERO
NCRY
ROX3

SPOA FIHB

OPA

ADD

ROX3

UBB

ADD

SP4A ROB3

107C

RREG UBB

ADD

1070

OPA

JSZ

107E

OPA

ADD

107F

2000 UBA

107B

UBA

CTLV

ADD
ADD
SPIB JSZ CSTV RH
ADD
UBB INC
ROX3
UBA ADD
ROX3
UBA OPB JSBS CONT
NCFtY
0292
ADDL
OPB ADD
UBB ADD
BKX3
ADD
UBA ADD
ROX3
ADD
OPB ADD
UBA RH
ADD
ROX3
BKX3
ADD
OPB JSZ CSTV RH
ZEliO
SP4A ADD
XR3
UBA ADD
BKX5
RH
RH
INC LSL
CF 1 NPFtV
RH
RH
ADD LSL
SFI
RH

ROX3

UBB

ZERO

OOFF OPB

ANDL

RH

JSZC CSTV

RH

IORL

1080

UBA

ADD

1081

OPA

ADD

UBA

JSZ

CSTV

ZEFtO
XRO
CRItY

SP4A INC
LSL

ROX3

DATA

OFFF UBA

ANDL

HBF2

UBB

UBB

ADD

OPB

ADD

XRl

UBA

ADD

XR2

1082
1083

UBB
RH

CAD
CSL

1084

USA

JSZC CSTV

ZERO

JSZ

10B5

Sf'OA

ADD

HBF2

BKX5 ADD

SP4A
UBB

LSL
Nf2
NF :[

TRP6
XR 12

UBA-%1222
(2319,2334)
NOP FOR POSSIBLE TIMING PROBLEM
(2336)
READ ABS(O); RH:. SEG, JUMP IF SEG- 0 (2319)
JUMP IF NEWMAPFLAG(>O; UBB:=0292 (2320,2334)
UBA:= 291; READ NRPGMSEGS (ABS %1223) (2320)

~~~Ds~g~R~A~ J8~~ ~~N~E~A~SN~~~~~tGS I~~~gl

JUMP IF !E6.NPRGMSEGS; UBB:=292 (2320,2336)
RD LSTT ADDR(ABS %1222); UBB:-LSTT BNK(CSTX)
JUMP If LSTT BANK (> 0; BKX3:-LSTT BNK(CSTX)
JUMP TO CSTV If LSTT ADDR • 0
(CSTX)
RH:- LSTT; READ LSTT(O)
(CSTX)

~~~~·T~Eg~~~ ~~BSEGL~Tl~~~(o)
~~~g ~~~Tb~~G~~~3:. 0

Ig~+~l
Ig~+~)

;RH:- LS~T(SEG'2), JMP TO CSTV IF ZERO(CSTX\
UBA:- NEWMAP FLAG; DELTA P FOR ENDP
(CSTX)
SAVE XBR,PARC (1)/ ENDP(O) ENTRY FLAG
BKX5 :- NEWMAP FLAG
(2635)
READ CST ENTRY LENGTH
~~~gIN~w4~ BA~~IFI := NON PRIVELEGED MODE
(SEGI * 4); Fl :- PRIVELEGED MODE FROM STA
READ AMRTL/4
CST VIOLATION If SEGI - 0
CST LENGTH VIOLATION If CSTL • 0
SE T NEW P BANK
RH :. AMRTL/4
CST VIOLATION If SEGI > CSTL
TURN ON REfERENCE BIT IN AMRTL/4
READ PB LOCATION FOR NEW SEGMENT
REWRITE AMRTL/4 WITH NEW REFERENCE BIT
MASK Off L/4
F2 : _ MODE BIT FROM CST
CODE SEGMENT LENGTH
CODE SEGMENT LENGTH - 1
SET NEW PB FROM CST ENTRY
(2635)
GE+H~Il~g)6FW8~~(0) OF CST ENTRY IN
(2635)
SET PL :- NEW PB + LENGTH - 1
GO TO CST VIOLATION IF TRYING TO
(2635)
ACCESS A FREE ENTRY
(2635)
MODE VIOLATION IF CODE=PRIV AND STA=NONPRIV
F2 := XBR,PARC (1)/ ENDP(O) ENTRY FLAG

PAGE 310
RECORD
NO
15472
15473
15475
15477
15478
15480
154~

I

154P-3
154R4
1548f
154R7
154:;q
154',0
154&:'
15493
15495
15496
15498

COBOL II FIRMWARE INSTRUCTION SET - CODE S~~~~~r.~n~~.
•• *****.*** ALU A ***.*******
C S
ALU B ***Jfr:**III:JTr:***fII**
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
1086
1087
1088
10ag

ADD
AND

UBB

RH

UBA

JSB
SP4A ADD

10dA

ADD

108B

SP2B ADD

NF2
NZRO

CABT

9000
XR3
RH
UBB

JSB

SP3B

ADD

UBA
STA

ADDL
lOR

UBB

UBNE

XRO

ADD

F2
CABT

NEG

BNKP

lOBe

ADD

SP3B XR 1

ADD

1080

ADD

XRl

ADD

PB

108E

ADD

XR2

ADD

PL

NEXT

RONP

10/ 2/86

9:27 AM

COMMENT
(2635)
XRB12 : '" NEWMAP FLAG
MASK FOR CST ABSENCE AND TRACE BITS
(2635)
MASK WITH CST ABSENCE AND TRACE BITS
HB : ~ ABSENCE FROM CST OR TRACE FROM DEL.
ABSENCE/TRACE FOR XBR,PARC
ABSENCE/TRACE FOR ENDP
SEGMENT LENGTH (PL-PB)
DELTA P
BOUNDS TEST SEGMENT LENGTH >= DELTA P
NEW STATUS
SET NEW P BANK
NEW P LOCATION; FETCH
SET NEW PB
NEXT INSTRUCTION
SET NEW PL

PAGE 311
RECORD
NO
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15517
15518
15520
15521
15523
15524
15526
15527
15529
15530
15532
15533
15535
15536
15538
15539
15541
15542
15544

COBOl II FIRMWARE INSTRUCTION SET - ABSENCE/TRACE TRAPS
~~~~.**~ft*~
ALU A ~~~******** III III: III III'" III 111 III III" • It III ALU B **.********~II:**
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SIUP
III III III .. III III III * III: * ...
it '"
* l1li 'Ie * .. '" III 111 JIll II: .. III 'If. III * • 11 • III III * III III III * ~ III III II III .. * III III III 111 III III III: III III III III III III III III III III '" III:

10/ 2/86

C.S

111:

9:27 AM

COMMENT

:11:

111: '"

CABT
1.

2.
3.
4.

~1:a~r~~a~araT:~etr::O~o~;i~:ro.

Write all TOS relisters to memory and set SR = O.
Write a 4 word sack marker to memor~ containinx X, new
delta P (from RB for trace bit i f EN PI, new ST TUS, and
deltll Q.
5. Update SM and Q.
6. Jump to the interrupt handler with either the abscence
or hace label.
!II III III III
III: III III III III '" 1'1: III '1 III: III ,.. III III III lit III III * III: '" III III III: 111 III III III 1\ III * III * III III 'It * ~ III * 11 III * III
III III: III III 111 III III III III III " * III: III
II( III
CABT
ADD
SPOA
ADD
CFl F:2
OPA ADD
HBF2
XR3 ADD
SP3B
l1li:

108F
1090

111: 111:

INC

1091

SM

1092

QDWII ADD

DATA

1093

ADD

DATA

1094

UBB

ADD

UBB

SP2f1 ADD
Q
SUB

1095
1096

WRS

RD

SR

REPC

SM

1111:

DCSR

SI~Z

ADD

DCSR

SI~L2

SP3B

ADD

CLSR

DATA

0004 SM

ADDL

SM

DATA

UBB

ADD

Q

DATA

SM

111:

ADD

INCN

1097

JSZ

IR1

F2

9F01

ADDL

SP1B

1098

JSZ

IR1

UNC

AD01

ADDL

SPIB

TRAP PARAMETER • 0
~~R <~A~~!MNg~ ~~~P~~~ AMRTL/4
DELTA P WITH TRACE BIT FOR ENDP
WRITE TOS REGISTERS AT SM+1,2,.
NEW SM
EMPTY TOS REGISTERS TO MEMORY
UNTIL NO TOS REGISTERS ARE LEFT
X .. > STACK MARKER
DELTA P; NO TOS REGISTERS LEFT
DELTA P => STACK MARKER
ACCOUNT FOR NEW STACK MARKER WITH SM
STATUS -> STACK MARKER
POINT Q TO NEW STACK MARKER
DEL TA Q -> STACK MARKER
ABSCENCE TRAP
ABSCENCE LABEL.
TRACE TRAP
TRACE LABEL

PAGE 312
R!:.CORD
NO
1.5546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15568
15569
15571
15572
15574
15575
15577
15578
15580
15581
15583
15584
15586
15587

COBOL II FHMWARE INSTRUCTION SET - TEST COND CODE & SET TOS
****I1IJ1r;***** ALU A * •• ,.*.**** ****_ •• 111* •• *. ALU B **************
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

C S

.

10/ 2/86

9:27 AM

COMMENT

.

SNOWARN
"'_*********************************************11******.111*************
TCCS
1.

2.

3.
4.

5.

6.

1099

Make room for the return parameter in RH to be pushed
on the stack.
Default return parameter - FALSE (0);
Check for undefined condition code in the STATUS
register. If so, then nellt instruction.
Construct a G-E-L 3 bit mask from the two bit condition
code contained in the status register. Land E map to
the same bits, but G must be specifically set when the
condition code is zero

;~s:~ym~~~~.i~h!~es;IAI~; ~=~~~~e~a~::e~~~01~ ~;~;L
Nellt ins t ruc t ion

* * III *.* ** * * * * * III * * III ** * III *_ * * * * III * * * * III * * * * III III * * * * * III * * * ** * III III * III III * * * * * * * * * III * * *
ADD
RH
JSZ PSHM
TCCS
SR7

109A

0300 STA

ANDL

109B

FCFF STA

IORL

109C

UBA

INC

NZRO

ADD

NEXT

ADD

ZERO

ADD

109D
109E

RG

SP2B AND
CAD

109F
SWARN

0007 SPIB ANDL

RH

UBA

ADD

0004

ADDL

ADD

RG
SWAB SP2B EPSH NZRO
SP2B

DEFAULT RETURN VALUE IS FALSE
PUSH 1 TOS REG FOR RETURN VALUE IF FULL
MASK OFF STATUS CONDITION CODE BITS
MASK OFF INSTRUCTION G-E-L FIELD
'lI.FFFF IF UNDEFINED CONDITION CODE
G-E-L MASK FOR L & E CONDITION
TEST FOR UNDEFINED CONDITION CODE
G-E-L MASK FOR G
FALSE AND NEXT INST. IF UNDEF INED CON. CODE
ANY BITS IN THE G-E-L MASKS MATCH?

NEXT

TRUE (-1) IF ANY BITS MATCH
NEXT INSTRUCTION

PAGE 313
RECORD
NO
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15603
15604
15606
15607
15609
15610
15612
156L3
15615
15616
15618
15619
15621
15622
15624
15fi25
15626
15628
15629
1563L
15632
15634
15635
15637
15638
15640
15641
15643
15644
15646

COBOL n FIRMWARE INSTRUCTION SET - COMPARE STRINGS
111****111:***111. ALU A 111111111 ••• *111111111*
C.S.
* !II III III **** * *IIIJiI:* AlU B ******l1li****)1:**
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
II: III lie III: III 111 111 .... lie '" III .. III III * * III .. III III '" .. JII III III 111:111 lit ...... 111 111 III 111 * II! * ...... III * III .... III .. * III * III III .. * III .. III III III: lie III 111 * III III II 111

10/ 2/86

9:27 AM

COMMENT

CMPS / CMPT

-----------

JI III

2.

1.

Adlust the number of TOS registers (4-CMPS,5-CMPT).
!~t~!~l~~eo~aD3e~et~~~v!fi~~~get length) 0 using

3.
4.

~~;~~~lt~ea~~~~~~i;t~Oc~~p~~~~~~ ~~~?l~e~

* #I III III .. III lit .. 111111 .. III III III ,. It III III: III * It" * It III *

10AO

CMPT 0005

10Al

CMPS

ADDL

10A3

RA

10M

RC
SM

10A5
10AS

RD

10A7

UBA

DB

UBA

DL

LOA8

RH

SP4A ADD

10A2

10A9

CMSO RD

10M

CMSl RB

O.
* III III * III III: III III * 111 III III .. III III 111111 JI III lie * .. III III .. III JIll " .... " .. * II' III:
ADD
SF4B UNC
EVEN 0004
ADDL
RH

JIll III III 111 III III:

ADD
lOR

SF3A

ADD

SPOA

JSB

CM18

ADD

LSR

ADD

NF3A

0020

JSLZ ADJS
ADDL
RF

UBA

JSB

CM21

RC

JSB

CMSI

BNKD ADD
RH

ROD

SM

JSBS CM19

NCRY

UBB

CSR

HBF2

RH

10AB

UBA

DB

ADD
ADD

LSR

10AC

UBA

DL

JSBS CM19

lOAD

RH

ADD

10AE

RC

JSB

ROD
NCRY

XRO

UBB
RB

ZERO

ZERO
ZERO
BKX4

"+2

NF5B

SP3B

JSBS CM19
ADD

RA
RH

CM12

UBA

JSB

UNC

NCRY
XRO

JSB

CM30

SM

JSB

"+2

UBA

JSBS CM19

ROX4
ZERO
NF5B
NCRY

ADD

CFl

ADD

SFI

EVEN

NEED 5 TOS REGISTERS FOR COMPARE TRANSLATED
F4 SIGNALS TRANSLATION NEEDED
PB/DB TARGET STRING?
NEED 4 TOS REGISTERS FOR COMPARE STRINGS
F3A=DB RELATIVE TARGET STRING
ADJUST THE NUMBER OF TOS REGISTERS
ARE BOTH SOURCE AND TARGET LENGTHS ZERO
BLANK FOR FILL CHARACTER
UPPER LIMIT FOR SOURCE BOUNDS TESTS
DONE IF BOTH LENGTHS ARE ZERO
PB RELATIVE TARGET?
TARGET LENGTH • 07

l~~gJTR~~'~ IS DB RELATIVE
FETCH FROM TARGET BANK ADDRESS
SKIP BOUNDS TEST IF SPLIT STACK MODE;
UPPER LIMIT FOR TARGET BOUNDS TESTS
BOUNDS TEST TARGET ADDRESS ) = DL
BOUNDS TEST TARGET ADDRESS <- SM
F2 DETERMINES EVEN OR ODD TARGET BYTE
TARGET OPERATIONS PERFORMED IN ALUB
SOURCE RBA/2
(0903)
SOURCE LENGTH • O?
FETCH FROM SOURCE BANK ADDRESS
SKIP BOUNDS TEST IF SPLIT STACK MODE
BOUNDS TEST SOURCE ADDRESS )- DL
BOUNDS TEST SOURCE ADDRESS <- SM
SOURCE OPERATIONS PERFORMED IN ALUA
F 1 DETERMINES EVEN OR ODD SOURCE BYTE
TARGET LENGTH • 07
ODD SOURCE BYTE

PAGE 314
RECORD
NO
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15662
15663
15665
15666
15668
15669
15671
15672
15674
15675
15677
15678
15680
15681
15683
15684
15686
15607
1S£) :sq
1 ,. 9':
15692
15693
15695
15696
15698
15699
15701
15702
15704
15705
15707
15708
15710
t~

COBOL II FIRMWARE INSTRUCTION SET - COMPARE STRINGS
*****IIr:*lIr:Jli:lt1l ALU A * ••• ******111: ************* ALU B··············
C.S.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
,.. III

.

10/ 2/86

9:27 AM

COMMENT

* * III * III * ** * III III III * III III III III 111* III II!: III II!: III III II!: I: * III * III * * III ** * III * * * * * III * * * * * * * * * * * * * III * * * III * II * * *
LOOP
l.

Ext rac t the appropriate source and target bytes.

2.
3. ¥~~~!!.:~e s~~~~~ :~~/~~nY!~~~t bytes i f CMPT.
4
Compare source and target bytes.
5. Fetch next source and/or target word i f needed.
6. Check for interrupts.
WHILE source and target lengths are both> O.

******************JII**********************JII***********************111***

lOAF

CMS2

OPA

ADD

LRZ

RG

lOBO

CMS3

OPA

ADD

RRZ

RG

NFl

OPB

ADD

LRZ

SPIB

OPB

ADD

RRZ

SPIB

NF2

EVEN SOURCE BYTE
EVEN TARGET BYTE
ODD SOURCE BYTE
ODD TARGE T BYTE
DECRE~IENT SOURCE LENGTH

lOBI

RA

CAD

RA

ADD

10B2

RB

INC

RB

ADD

INCREMENT SOURCE RBA

10B3

RC

CAD

RC

ADD

DECRE~'ENT

10B4

RD

INC

RD

JSB

lOBS

RA

F4B

CM15

JSB

CMS7

ZERO

RG

SPIB JSBS CM20

NZRO

10B6

JSB

CMS4

Fl

RC

JSB

ZERO

10B7

JSB

CMS5

F2

ADD

10B8

JSB

CMS3

UNC

ADD

SF2

ROD

ADD

CFl

SF2

JSB

10B9

CMS4

10BA
10BB

SPOA UBA
CMS5

10BC
lOBO
lOBE
10BF

XRO

CMS6

INC

XRO

BNDE
JSB

CMS6

TEST

JSB

CMS2

F3A

SP3B UBB

XRO

JSB

CMS2

UNC

SP3B SREG UBNE

IRDN

ZERO

FFFF P

ADD
JSZ

INC
BNDE
ADD
ADDL

CMU
SF1

CMS2

F2
UNC

XRO

ROX4
CF2
NF4B

TARGET LENGTH

INCREMENT TARGET RBA
TRANSl.ATE IF CMPT
SOURCE LENGTH - 01
ARE THE SOURCE AND TARGET BYTES EQUAL?
FETCH NEXT SOURCE WORD?
TARGET LENGTH • O?
FETCH NEXT TARGET WORD?
SIGNAl. ODD SOURCE BYTE
NEXT ITERATION FOR BOTH ODD BYTES
SIGNAl. ODD TARGET BYTE
FETCH NEXT SOURCE WORD
SIGNAl. EVEN SOURCE BYTE; FETCH TARGET TOO?
BOUNDS TEST EA (. SM; SIGNAL ODD TARGET BYTE
NEXT ITERATION IF ODD TARGET BYTE
INTERRUPT PENDING?
FETCH NEXT TARGET WORD
NEXT ITERATION IF DB RELATIVE TARGET
BOUNDS TEST EA <- SM; SIGNAL EVEN TARGET
NEXT ITERATION
BOUNDS TEST EA <- PL IF PB RELATIVE
LOCAL INTERRUPT HANDLER
CMPS/CMPT?
SLOWL Y TO SYSTEM INTERRUPT HANDLER
DECREMENT P FOR CMPT (DOUBLE WORD OPCODE)

PAGE 315
RECORD
NO
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
157'::'
15 7 ~ J

COBOL II FIRMWARE INSTRUCTION SET - COMPARE STRINGS
.~******~** ALU A •••• *****.*
******** •••• * ALU B ******.****~**
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SI0

UBA

ADD

LRZ

SPIB

RREG

ADD

RRZ

SPIB

ADD

UI~C

TRANSLATION TABLE INDEXED BY SOURCE BVTEI2
SAVE RETURN ADDRESS
FETCH FROM TABLE BANK ADDRESS
SKIP BOUNDS TEST IF SPLIT STACK
BOUNDS TEST TABLE EA >- DL
BOUNDS TEST TABLE EA <- SM
TABLE WORD CONTAINING TRANSLATED BYTE
EXTRACT EVEN OR 000 BYTE?
REFETCH THE SOURCE WORD
EXTRACT THE EVEN BYTE
PB OR DB RELATIVE TARGET?
EXTRACT THE 000 BYTE
RETURN IF TARGET IS PB RELATIVE
TRANSLATION TABLE INDEXED BY TARGET BYTE/2
SAVE RETURN ADDRESS
FETCH FROM TABLE BANK ADDRESS
SKIP BOUNDS TEST IF SPLIT STACK MODE
BOUNDS TEST TABLE EA >- DL
BOUNDS TEST TABLE EA <- SM
TABLE WORD CONTAINING TRANSLATED BYTE
EXTRACT EVEN OR 000 BYTE?
REFETCH SOURCE WORD
EXTRACT EVEN BYTE
EXTRACT ODD BYTE
TRANSLATIONS FINISHED

PAGE 318
RECORD
NO
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15890
15891
15893
15894
15896
15897
15899
15900
15902
15903
15905
15906
15908
15909
15911
15912
15914
15915
15916
15917
15919
15920
15922
15923
15925
15926
15928
15929
15931
15932
15934
15935

COBOL II FIRMWARE INSTRUCTION SET - COMPARE STRINGS
CS
* •••••••••• ALU A··········· ••••••••••••• ALU B •••••••••••• ~.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
SNOWARN
III III" * III III III III III" * III • • III
* It III III III **** III * III III ** •• III * l1li * **.* ****** * * III III III * * •• 111 * It It * III III l1li *111 III""

10/ 2/86

9:27 AM

COMMENT

l1li:

Translate target byte.
1.
2.
3.
4.

5.

Translate source byte.
1.

2.

3.

4.

Use source byte I I an index into the translation table.
Fetch the word containing the translated source byte.
Extract left/right byte.
Return for comparison.

* ••• * ••• ***** ••• * •••••••••••••••• * ••••••••••••••••••••••••••••••••••
.*
10E4

CM16

10E5
10E6

CM26 RE

10E7

UBA
UBA

10E8
10E9
10EA

ADD

F3A

ADD

ADD

RSB

ADD

SPIB ADD

ADD
RH
JSBS CM19

OPA
XRO

ADD
ADO
ADO

10EC

ADO

10ED

CM17 RE

10EE

UBA

10EF

UBA

10FO
10F 1
10F2

RG

ADD

DB

ADD

XRO

ADD
ADD

SWARN

RRZ

JSB • +2
JSBS CMI9

ROO

RE
UBA

SPIB ADD
ADD

LRZ

POPR 000
SPIB
UNC

ADD

RRZ

SPIB

NCRY

ROO
NCRY

RG

SM

PSHR
*+2

UBB

UBA

JSBS CM19

RE

RG

ADD

UBA
ROD

JSB

ADD
ADD

LRZ

TRANSLATION TABLE INDEXED BY TARGET BYTE/2
SAVE RETURN ADDRESS
FETCH FROM TABLE BANK ADDRESS
SKIP BOUNDS TEST IF SPLIT STACK
BOUNDS TEST TABLE EA >= DL
BOUNDS TEST TABLE EA (& SM
TABLE WORD CONTAINING TRANSLATED BYTE
EXTRACT EVEN OR ODD BYTE
REFETCH THE SOURCE WORD
EXTRACT THE EVEN BYTE
EXTRACT THE 000 BYTE
TRANSLATION FINISHED

ADD
ADD

RH

JSBS CM19

UBA

SM
UBA

LSR

ADD

NF5B

UBB

RSB

DL

PSHR

ROO
NCRY

RREG

OPA

PB RELATIVE TARGET NEEDS NO TRANSLATION

ADD

LSR

DB
DL

lOEB

PB OR DB RELTIVE TARGET?

NF5B
NCRY
POPR ODD
RG
RSB

TRANSLATION TABLE INDEXED BY SOURCE BYTE/2
SAVE RETURN ADDRESS
FETCH FROM TABLE BANK ADDRESS
SKIP BOUNDS TEST IF SPLIT STACK
BOUNDS TEST TABLE EA ) = DL
BOUNDS TEST TABLE EA (. SM
TABLE WORD CONTAINING TRANSLATED BYTE
EXTRACT EVEN OR ODD BYTE?
EXTRACT ODD BYTE
EXTRACT EVEN BYTE
REFETCH THE SOURCE WORD
TRANSLATION FINISHED

PAGE 319
RECORD
NO
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15958
15959
15961
15962
15964
15965
15967
15968
15969
15970
15972
15973
15975
15977
15978
15979
15980
15982
15983
15985
15986
15988
15989
15991

COBOL II FIRMWARE INSHUCTION SET - COMPARE STRINGS
••• ~******h ALU A ***********
********ft**~* ALU B **************
AOOR LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

C.S,

9:27 AM

COMMENT

PB relative target.
1.

Initialize PB relative target info

OL-OB extended bounds test.
1. Add 32k to bank address and refetch
2. Re-per'orm bounds tests.
3. Return
FINISH.
I. Set CCE if the strings are equal.
2
Set CCO/CCL if the last bytes compared are not equal.
3. Pop all TOS register parameters.
4. Next instruction.
10F3

lIDO

CMI8 RO

IOF4

UBA

PB

10F5

UBA

PB

IOF7

CMI9

10F8
10F9

UBB
RH

PL
RH

IlBNE
;rSB

10F6

LSR

lIDO

PL
CMSO

UBA

UBNE

lIDO

8000 RH

ADOL

IINDE
lIDO

UBA

BNOE
ADD

ROO

CM;2Q

1\00

UNC

1\00

CCA

1\00

;rSB

RG

UBB

RH

CMS9

RG

SPill SUB

CCA

ADO

UNC

JSB
ADO

EXTENDED BOUNDS CHECK
ADO 32K TO EA FOR DL-DB BOUNDS CHECK
RSB

CLSR

ADO

1\00

TARGET RBA/2
UPPER LIMIT FOR BOUNDS TESTS OF TARGET
PB RELATIVE BANK ADDRESS
TARGET BANK IS PB RELATIVE
BOUNDS TEST TARGET EA ). PB
BOUNDS TEST TARGET EA (= PL
RETURN TO INITIALIZATION PHASE

ADD

SM

CMH
CM:)O RF

BKX4

DL

10FB
10FD
10FE

SP3B

UNC

10FA
10FC

ADD
BNKI' ADD

NEXT
CMI7

F4B

~~~~DBpT~~~~~ ~o ~~FE~~H)ANgLRETURN 12527)

WITHOUT KILLING S

12527)

SKIP CCE SETTING FOR EQUAL STRINGS
SET CCQ/CCL BASED ON LAST COMPARISON
SET CCE FOR EQUAL STRINGS
POP ALL PARAMETERS
NEXT INSTRUCTION
RG:- RF: JUMP TO CMI7 IF F4
JUMP TO CMS9

(0903)
(0903)

PAGE 320
RECORD
NO
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16013
16014
16016
16017
16019
16020
16022
16023
16025
16026
16028
16029
16031
16032
16034
16035
16037
16038
Ib040
H,(,~:

16043
16044
16046
16047
16049
16050
16052
16053
16055
16056
16058
16059
16061
16062
16064
16065
16067
16068

COBOL II FIRfo«,IARE INSTRUCTION SET - TRANSLATE STRINGS
C,S,
•• *.* •••••• ALU A··········· ••••••••••••• ALU B··············
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
"111111 III • • • • ,,"" III: "* l1li * * III" * * 111111** III III * III * III III III"''' III" * III" III" III" III III III III" III III III III III III * 1It.* III III III" III" ** * III
TRANSLATE
1,
Get 4 valid TOS registers containing the length. the source
byte address. target byte address. and the translation
table address,
2. If the length· O. then do the next instruction.
3, ;d~~:~!e!~ef:~~h~ea~~db!~~3:tt:~~:S to effective bank
4. Initialize table pOinters with PB or DB relative
information.
5. Determine whether the translation is to be rippled or not
so a different algorithm can be used,
*
•
* III III. * * III * III *111 **. *. *"" III * III III III III III III * 111** * * III * 111111 * * III *" •• III""" l1li" * III **111 III III" 111* III III III III • • III III
%10FF
CF2
RH
ADD
ADDL
TR
0004

10/ 2/88

9:27 AM

COMMENT

111:

10fF
1101
1102

ADO

RB
UBA

DB
DL

1103

UBA

1104

RC

1105
1106

UBA
UBA

1107

RH

1108

UBA

ADD

SP3B UBA

JSBS TR8

JSB

RF

SPIB JSB

SPOA

BNKD ADD

SP4A

UBA

DL

SUB
JSB

110C

ROO

NCRY

RD
SP3B UBA

TRN2

UNC

PB

ADD

SP4A

SM

ADO

SPOA

PB

TRN2 RC
RC

EVEN

ADO
ADD

SFI

JSBC TR55

ZERO

RB
OPB

NF5B
NCRY

RE

ROD

·+2

NF5B
NCRY
EVEN

TRNI
BKX3
LSR

ADD

SF4B
SP2B
TICB

SUB
SP2B
BKX3 CF4B

8000 SP2B ADDL
BNKP ADO
PL

ADO

1111

ADD
DB

ZERO
SP3B

JSBS TRS

RH

ADD

110B

RB

*+2

SM

ADO

1112

TR7

JSB

JSBS TRS
ADO
ADD

1110

RH

UBB

JSL

ADD

DB

1l0E
110F

LSR

RA
SM

DB
DL

DL

TRNI

ROO

NCRY

JSBS TRS
ADD

UBB

1109

RH

UNC

JSLZ ADJS

LSR

ADD

110A

110D

CFl

ADO

1100

ADD

SP2B

ADO
CSR

SP3B

ADD
ADO

RG

ADJUST THE NUMBER OF TOS REGISTERS
TARGET RBA/2
LENGTH • O?
EFFECTIVE TARGET ADDRESS: FETCH
SKIP BOUNDS TESTS IF SPLIT STACK
BOUNDS TEST TARGET EA ). DL
BOUNDS TEST TARGET EA (. SM

¥~~~~f ~~~k~TIONS PERFORMED IN ALUB
EFFECTIVE SOURCE ADDRESS; FETCH
SKIP BOUNDS TESTS IF SPLIT STACK
BOUNDS TEST SOURCE EA ). DL
BOUNDS TEST SOURCE EA (. SM
SOURCE OPERATIONS PERFORMED IN ALUA
PB/DB RELATIVE TRANSLATION TABLE
SOURCE/TARGET UPPER BOUND
DB BANK FOR TRANSLATION TABLE
LOWER BOUND FOR TRANSLATION TABLE
TRANSLATION TABLE RBA/2; F4 := DB RELATIVE
EFFECTIVE ADDRESS OF FIRST WORD IN TABLE
TABLE BASE IS DB RELATIVE
BOUNDS TEST TABLE ORIGIN ) s DL
BOUNDS TEST TABLE ORIGIN (. SM
ADJUST TABLE BASE BY 32K FOR OL-DB
LOWER BOUND FOR TABLE
PB BANK FOR TRANSLATION TABLE; F4:=PB REL

~2~~~E'l~~G~~ ~:P~~L~~~~~

HBF2
LLZ

NEED 4 TOS REGISTERS FOR TRANSLATE

UPPER BOUND FOR TRANSLATION TABLE
EVEN/ODD TARGET RBA?
F2:·EVEN /000 SOURCE RBA
F1: =000 TARGET RRA
SAVE LEFT BYTE OF FIRST TARGET WORD
SPECIAL CASf FOR RIPPLE TRANSLATION

PAGE 321
RECORD
NO
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16'191
160u3
16094
16096
16097
16099
16100
16102
16103
16105
16106
16108
16109
16111
16112
16114
16115

16117
16118
16120

16121
16123
16124
16126
16127
16129
16130
16132
16133
16135
16136
16138
16139
16141

COBOL II FIRMWARE INSTRUCTION SET - TRANSLATE STRINGS
~* •• * •• * •• ~
ALU A··········· * •••••••••• *. ALU B ••••••••• * ••• *
ADDR LABL RREG SREG I=UNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
SNOWARN
• If! III * * III III III III .. * III III III *
JIll • III III III III 111 III III .. III 'II III III III III III III: III III III * III * * III * III .. III *
III JIll ,. II
III III .. III III • * • * Ill: '" • III: III III III

c.s

:11:

II(

10/ 2/86

9:27 AM

COMMENT

~

Translate 'st rin9
while COUNT) 0
loop
ext rlct left/right source byte.
1.
2,
dec r'ement count
increment source and target RBA's.
3.
4,
fet c h t ranslat ion t able word cont aining the translated
byte and bounds test the table address (PH/DB relative),
5.
ext ract the translated byte.
6,
write the target word and bounds test if both the left
and right target bytes have been filled.
7. fetch next source word and bounds test if the source
RBA is even.
end loop
1113

1114

OPA
OPA

TRI
TR2

ADD
ADD

LRZ
RRZ

1115

RA

CAD

1116

RH
UBA
UBA

RD
I~DD
LSR
SP2B I~DD
SP4A IBNDE

1117
1118

lllA

RREG SP4A IUBNE
OPA ,~DD

111B

UBA

I~DD

lllC

RF
RH

1'00

1119

1110

TR3

1121
1122
1123

TR4

RA

AOD
JSB

ROX3

RB
RC

ADD
INC
JSBI *+2

UNC

SP3B UBA

BNDE

LEFT SOURCE BYTE
TR7

ZERO
RB
RC

NF4B
UNC

SP3B SREG UBNE
RH
LRZ

RH

RLZ

RG

,'DO
INC

SPOA RE

JSB TR5
ISNDE

RF
SPOA UBA

INC
'SNDE

1120

NFl
SFI

RA

RE

111E
I11F

I~DD

RH
RH

RD

UBA
ROD
SF2
SFI

RE

RF

CF2
TEST
ROD
CF1

RG

RH

ADD

EVEN

ADD

RRZ

JSB

TR3

JSB

TR4

JSB
lOR

TR2

RH
F2
Fl
UNC
DATA

UBA

ADD

RA

JSB
JSB

TR2
TR7

JSB

TR1

ROO

F1
UNC
ZERO
UNC

RIGHT SOURCE BYTE
LOOP UNTIL COUNT - 0
DECREMENT COUNT

l~a~~~E~¥As~u,a~L~B~YTE OFFSET)/2
TABLE EFFECTIVE ADDRESS; FETCH

~~5~5~E~~s~A~~~lER~~;>~Bb~B(~~L~~[X~I~~~LE?

BOUNDS TEST TABLE EA <- SM (DB RELATIVE)
BOUNDS TEST TABLE EA >- PB IPB RELATIVE)
BOUNDS TEST TABLE EA <- PL PB RELATIVE)
TRANSLATION TABLE WORD
INDEXED TABLE RBA EVEN/ODD?
LEFT BYTE FOR EVEN RBA
RIGHT BYTE FOR ODD RBA
REFETCH SOURCE WORD
STORE NEXT TARGET WORD?
LEFT BYTE OF TARGET WORD; SIGNAL LEFT
FETCH NEXT SOURCE WORD?
SIGNAL LEFT SOURCE BYTE
NEXT ITERATION
INCREMENT TARGET EFFECTIVE ADDRESS
WRITE TARGET WORD OF TRANSLATED BYTES
TEST FOR INTERRUPTS
FETCH NEXT TARGET WORD, IN CASE IT IS LAST
BOUNDS TEST TARGET ADDRESS
NEXT ITERATION
INCREMENT SOURCE EFFECTIVE ADDRESS; FETCH
DONE IF LENGTH ~ 0 (SKIP BOUNDS TEST)
BOUNDS TEST NEXT SOURCE WORD
NEXT ITERATION

PAGE 322
RECORD
NO
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16163
16164
16166
16167
16169
16170
16172
16173
16175
16176
16178
16179
16181
16182
16184
16185
16187
16188
16190
16191
16193
16194
16196
16197
16199
16200
16202
16203

COBOL II FIRMWARE INSTRUCTION SET - TRANSLATE STRINGS
111:.********* ALU A -**-****.** •• " •• *_fl.III_** AlU B ********111***111.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

C.S.

10/ 2/86

9:27 AM

COMMENT

.**.*****.***It**IlII11.********ItJII._*********_**_._._.*****.***_111_********

RIPPLE TRANSLATION
extract left/right starting source byte.
while COUNT ) 0
loop
1. dec rement count.
2. increment source and target RBA's
3.

~~~c~o~~~~s~:!~orh!a~!~I:o~~d~~~!at~~/8Bt~:~:}~~:1.byte

4. extract the translated byte
5. write the target word and bounds test if both left and
right bytes have been filled.
end loop

1125

*****************IIiI •• ********.****iI*************.****** •••••••• _* •• * __
OPA ADD LRZ RH
NF 1
ADD
TR55
UNC
OPA ADD RRZ RH
ADD

1126

TR6

1124

1127

RA

JSB

RA

CAD

ZERO

RH

RC

UBA

SP2B ADD

ROX3

112A

UBA

SP4A BNDE

UNC

112B

RREG SP4A UBNE
OPA

ADD
JSB
INC

TR6

RE

JSB

TR5

BNDE

RG

RB

INC

RB

RC

JSBI *+2

RC

SP3B UBA

BNDE

RH
LRZ

SPOA RE
SWARN

RLZ

NF4B
UNC

SP3B SREG UBNE

ADD

1130
1131

LSR

UBA

112E
112F

ADD
ADD

1128

112C

RH

RA

1129

1120

ADD

TR7

RH

F2

RE

CF2

RG

TEST

UBA

RC

UBA

ADD

UNC

EVEN

ADD
RRZ

lOR

SF2
DATA

ADD

ROO

ADD
RH

RH

JSB

TR6

UNC

LEFT INITIAL SOURCE BYTE
RIGHT INITIAL SOURCE BYTE
SKIP LEFT BYTE ASSIGNMENT ON FIRST ITERATION
LOOP UNTIL COUNT • 0
PREVIOUS BYTE IS LEFT BYTE
DECREMENT COUNT

i~~~~~E~¥ASOU~~~L~B2YTE OFFSET)/2
TABLE EFFECTIVE ADDRESS· FETCH
INCREMENT TARGET RBA; PB/DB RELATIVE?
BOUNDS TEST TABLE EA ). DL (DB RELATIVE)
BOUNDS TEST TABLE EA <. SM (DB RELATIVE)
BOUNDS TEST TABLE EA ). PB (PB RELATIVE)
BOUNDS TEST TABLE EA <0 PL (PB RELATIVE)
TRANSLATION TABLE WORD
INDEXED TABLE RBA EVEN/ODD?
LEFT BYTE FOR EVEN RBA; STORE TARGET WORD?
RIGHT BYTE FOR ODD RBA
NEXT ITERATION
INCREMENT TARGET EFFECTIVE ADDRESS
WRITE TARGET WORD OF TRANSLATED BYTES
TEST FOR INTERRUPTS
FETCH NEXT TARGET WORD IN CASE IT IS LAST
BOUNDS lEST TARGET WORD
NEXT ITERATION

PAGE 323
RfCORD
NO
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16222
16223
16225
16226
16227
16228
16230
16231
16233
16234
16236
16237
16239
16240
16242

COC:OL II
C_S

I-IDDR

FIR~ARE INSTRUCTION SET - TRANSLATE STRINGS
~*~*~*****~ ALU A *******~***
************* ALU B **************
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG rUNC SFNC STOR SPEC SKIP
III '/( III: III III .. '* III III III III * * .. * ,. III ill III III * III III * *
* III * III * * * * III III • * * * '* III * * * !III * III: III III III III: .. '* * III * III III III III III III * 111 III
)If

JIr.

.

111: '"

INTERRUPT HANDLING

10/ 2/86

9:27 AM

COMMENT

~: g~~~::e~:S~ ::er!:r~~: :~:r=:~bl~S!o:lor=:iruction.

3.

Branch '0 the interrupt handler.

TRANSLATION FINISHED

~: =::r:lt~;~et;b~e:e:~~1e:n=a~::~1:r:est if
3.

Next

* '" J\ * III III * III: I. III * .... III .. III 11111 III III III: III * III It * .. III III III " III * '" JIll II ~ JII III #I JIr III * III III JII III "
FFFF
SPOA RE
I3NDE
ADDL
UBB ADD
.1SZ IRDN
ZERO

" III III III It lit III

1132

TRS

1133
1134

TR7

1135

1138

1139

;/II "

}II:

RE

INC

SPOA UBA

I3NDE

1136
1137

needed.

in~truction.

RE

NF2
UBB

OPB

ADD

RG

lOR

I~DD

UBB
RH

DL

13NDE

I~DD

ROD

8000 RH
SP3B ueB

ADDL
BNDE
ADD

III III ]II ]Ie ,,)Ie III: III

111:

111

BOUNDS TEST TARGET ADDRESS JUST STORED
DECREMENT P SINCE IS IS TWO WORD OPCODE
SLOW JUMP SO THAT P GETS UPDATED FIRST
RESET P FOR SECOND WORD OF DOUBLE OPCODE
EPP4 NF2

RRZ

DATA
NEXT

ADD

I~DD

TR8

]II

RH
RSB

INC TARGET EFFECTIVE ADDRESS; EVEN RBA?
EXTRACT RIGHT BYTE OF LAST WORD; EVEN RBA?
BOUNDS TEST TARGET EFFECTIVE ADDRESS
UPDATE LAST TARGET WORD WITH LEFT BYTE
NEXT INSTRUCTION
DL-DB BOUNDS CHECKING FOR BYTE ADDRESSES
ADD 32K TO EFFECTIVE ADDRESS
BOUNDS TEST SM )- EA. EA >= DL
(2527)
FIRE UP MEMORY AND RETURN W/O SKILL (2527)

PAGE 324
RECORD
NO
16245
1624fl
16247
16248
16249
16250
16251
16~52

16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276

_*.-

COBOL II FIR"""ARE INSTRUCTION SET - ABSOLUTE NUMERIC

C S.

ADDR

*********111* ALU A •••••••• ** • • * •• _••••

LABL RREG SREG FUNC SFNC STOR SPSK

ABSN

Get two valid TOS registers containing the source length
and the source RBA
If the source length is zero. then next instruction.
3. f~e~h~i~~~~C:nl~~y!ha~ T:~~T~mt~~~ ascii digits) or ( 0,
4. Convert the source RBA to an effective address and bounds
t es t .
5. Initialile the source pointers and flags.
2

6

~~~0~~!lf~~:1i~~Ngi~~~Sdi9its

10/ 2/86

AlU B **.111_*_*.*** ••

RREG SREG FUNC SFNC STOR SPEC SKIP

loop
extract the current byte (left or right)
i f the byte is not an ascii blank, then exit the loop.
replace the blank with an ascii zero.
if the current byte is the right byte
then rewrite the source word,
fetch the next source word, and
bounds test the new source address.
endif
end loop
7. If the loop was exited on a non-blank character
then
back up the counter since the byte wasn't blank
rewrite the last source word if the left byte was zero
filled
endH

COMMENT

9:27 AM

PAGE 325
RECORD
NO
16278
16280
16281
16283
16284
16286
16287
16289
16290
16292
16293
16295
16296
16298
16299
16300
16302
16303
16304
16305
16306
16307
16308
16310
16311
16313
16314
16316
16317
16319
16320
16322
16323
16325
16326
163~8

16329
16331
16332
16333
16334
16335
16336
16337
16339
16340
16342

COBOL II FIRfoofWARE INS1'RUCnON SET - ABSOLUTE NUMERIC
.~.*.*.***~
ALU A *.*****.* ••
••• **111.111"'**,,* ALU B .*********111111111
C. S.
ADDR LABL RREG SREG F'UNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKI'P
113A ABSN
JISZ PULM
SRL2 SR
SM
JSZ PUL2 SP3B
SRZ
RA
113B
ZERO FFE3
ADDL
"ISB ABS2

10/ 2/86

9:27 AM

ill:

113C

RA

UBB

~ISB

1130

UBB

DB

lIDO

113E
113F

UBA
RH

DL

;rSBS AEBC
NCRY
lIDO
SP4A

OPA

lIDO
CSR

1140
1141

RB

CRRY

ABS2
RH

RB

ROD

ADD

LSR

JSB

"+2

SP3B UBA

JSBS AEBC

SF3A

RA

CAD

HBF2

UBA

ADD

SF4B
NF51B
NCRV

ADD
CTR
LLZ

COMMENT
NEED 2 TOS REGISTERS CONTAINING THE SOURCE
STRING LENGTH AND RELATIVE BYTE ADDRESS
DONE IF SOURCE LENGTH • 0
MAXIMUM LENGTH IS 28 DIGITS
ILLEGAL LENGTH TRAP IF LENGTH ( 0 OR ) MAX

~g~~g~ ~~~t~+I~~G~~~R~~~~G~~T~~NGTH

SKIP BOUNDS TESTING IF IN SPLIT STACK MODE
BOUNDS TEST SOURCE EA )- DL
BOUNDS TEST SOURCE EA (- S
SOURCE EFFECTIVE ADDRESS
WORD CONTAINING LEADING BYTE
NUMBER OF DIGITS EXCLUDING SIGN BYTE; RESET
ILLEGAL SOURCE LENGTH FLAG
F2 DETERMINES IF SOURCE BYTE IS EVEN OR ODD
SAVE LEFT BYTE IN CASE RIGHT STARTING BYTE

CF4B

SPIB

ZERO FILL LEADING BLANKS
1142

OPA

lIDO

LRZ

RH

NF2

ADD

1143

OPA

lIDO

RRZ

RH

SF2

JSB

UBA

IIDDL
;rSBS ·+5

1144

0020

1145

RH

1146

0030

1147

UBA

1148

ADDL

UBB

ADD

UBB

JSB

DATA

SPIB IOR
SP4A :tNC
;rSB

1149

NZRO

IIDDL

3000

UNC

DCTR F2
"-3

SPIB

UNC

ADD

SP4A ROD
·-7

EXTRACT EVEN SOURCE BYTE IF EVEN RBA
CTRO

ABSO

ADD
SP3B UBA

BNDE

CF2

EXTRACT ODD SOURCE BYTE IF ODD RBA

~~N~~~~iSF~~M~~~6~~G·B~AN~H~g~p~~~~O~YTE

ZERO FILL FOR LEFT BYTE REPLACEMENT
IS CURRENT SOURCE BYTE A LEADING BLANK?
DECREMENT • OF DIGITS REMAINING
ZERO FILL FOR RIGHT BYTE REPLACEMENT
SAVE LEFT BYTE ZERO FILL AND ITERATE IF EVEN
COMBINE AND WRITE LEFT AND RIGHT BYTES
INCREMENT SOURCE EFFECTIVE ADDRESS; FETCH
NEXT ITERA nON
BOUNDS TEST SOURCE EA ( a S; SIGNAL EVEN RBA

CLEAN UP lIFTER LEADING BLANK FILL
114A

RH

114B

UBA

SPIB :tOR
I~DD

NF2
DATA

ADD
0039

ADDL

ICTR
SP2B

COMBINE LEFT AND RIGHT BYTES OF LAST WORD
RETRV LAST SOURCE BYTE AS A DIGIT
REWRITE LAST WORD IF CURRENT BYTE IS ODD
CONSTANT ("9") FOR RANGE TEST

PAGE 326
RECORD
NO
16344
16345

16346

16347
16348
16349
16350
16351
16352
H353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373

COBOL II FIRMWARE INSTRUCTION SET - ABSOLUTE NUMERIC
*"********* ALU A * ••••• *-* •• ************* AlU B *111********** ••
lABl RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

C.S

ADOR

.

*************J1I.********JlI**III"III:*******************_.JII**_*.*************

ABSN (continued)
1. Validate the remaining digits.
for the each remalning digit
loop
extract the current byte (left or right).
i~e~h;obt~et~! ~~~pa~x~~cil digit
If the current byte is the right byte
then
rewrite the source word.
fetch the next source word, Ind
bounds test the new source address.
endi f
endloop
2. Strip the possible overpunch from the last byte.
3. Test the stripped byte for invalid ascii digit.
4. Set the condition code for CCA blsed on the sign of the
source (only positive CCG or negative CCl).
5. Rewrite the last source word containing the stripped sign
byte
6. Perform proper SOEe
7. Clear overflow bit in the STATUS register.
S. Check for il1egll ascii digit trap or illegal operand
9.

~:~?t~n!t~~ction.

10/ 2/86

COMMENT

9:27 AM

PAGE 327
RECORD
NO
16375
16376
16377
16378
16380
16381
16383
16384
16386
16387
16389
16390
16392
16393
16395
16396
16398
16399
16400
16401
16402
16404
16405
16407
16408
16410
16H 1
16412
16413
16414
16416
16417
16419
16420
16422
16423
16425
16426
16428
16429
16431
16432
16434
16435
16437
16438
16440
16441
16443
16444
16446
16447
16449

COBOL II FIRMWARE HISTRUCTION SET - ABSOLUTE NUMERIC
c.s.
*111111**111111**** ALU A .*****111111:***
*l1li********111** ALU B **-**** •• ***1111ADDR LABL RREG SREI3 FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKII'

10/ 2/86

9: 27 AM

COMMENT

VALIDATE NUMERIC DIGITS FOR REMAINDER OF SOURCE STRING
114C

OPA

ADD

LRZ

RH

NF2

ADD

114D

OPA

ADD

RRZ

RH

SF2

JSB

114E

0030

114F

RH

ADDL
UBA

EXTRACT EVEN SOURCE BYTE IF EVEN RBA
ABSI

CTRO

SP2B ADD

JSBS ABS2

NCRY

1150

JSB

NF2

1151

SP4,1\ INC

1152

JSB

·-3

UBB

RH

JSBS ABS2

RH

ADD

SP4A ROD
·-6

UNC

DCTR
RLZ

NCR"
SPIB

ADD
SP3B UBA

BNDE

CF2

NEXT ITERATION
BOUNDS TEST SOURCE EA < S; SIGNAL EVEN RBA

1155

CLEAN UP AFTER LEADING BLANK FILL AND CHECK FOR LAST BLANK BYTE
ABSO
ADD
0020
ADDL
ADD
RH
UBB SUB
NZRO
ADD
0030
ADDL
RH

1156

ABSI

1153
1154

EXTRACT ODD SOURCE BYTE IF ODD RBA
IF DIGITS REMAINING z 0, CHECK SIGN BYTE
CONSTANT ("0") FOR RANGE TEST
DECREMENT II OF DIGITS REMAINING; ("9")
ILLEGAL ASCII CHARACTER IF BYTE < "0"
ILLEGAL ASCII CHARACTER IF BYTE ) "9"
NEXT ITERATION IF CURRENT RBA IS EVEN
SAVE EVEN BYTE
INCREMENT SOURCE EA AND FETCH NEXT WORD

BLANK FOR LAST BYTE COMPARISON
IS CURRENT CHARACTER A BLANK
ZERO FILL LAST BYTE IF BLANK

STRIP OVE!RPUNCH AND TEST VALIDITY
ADD

1157

0030

1158

RH

1159

JSB

ADDL
UBA

JSBS ABS2

OPA

ADD

RA

ADD

RRZ

NCRY

UBB

SP4A CF3A

STPO

UNC

RH

JSBS ABS2
INC

CCA

CAD

CCA

115A

RB

115B

RH

SP1B lOR

DATA

115C

RB

RA

ADD

EVEN

115D

UBB

SP4,1\ lOR

DATA

ADD

CIR

ADD

EVEN

ADD

EPOP

ADD

EPOP

ADD

CLO

115E
115F

ABS2

1160

JSZ

1161

ADD

000

TRPA

F3A

NCR"
F2

ADD

JSZ
ADD

RLZ

TRPR

~~~~T~b~H6RB~~aAT~S~E6v~~~G~c~~GI~EiR~~G

IS SIGN IN LEFT OR RIGHT BYTE OF LAST WORD?
SET CCL IF SIGN WAS NEGATIVE OVER PUNCH
OLD LEFT BYTE AND STRIPPED RIGHT BYTE

ADD
RH

STRIP POSSIBLE OVER PUNCH FROM LAST BYTE
CONSTANT
FOR NUMERIC RANGE TEST
CONSTANT "9"' FOR NUMERIC RANGE TEST
ILLEGAL A CII CHARACTER IF BYTE < "0"
ILLEGAL ASCII CHARACTER IF BYTE ) "9"

1"0")

ADDL

0039

REWRITE LAST WORD IF RIGHT SIGN BYTE
SHIFT STRIPPED SIGN BYTE TO LEFT BYTE
STRIPPED LEFT BYTE AND OLD RIGHT BYTE

F4B
NEXT

SDEC a 0 OR 1 (LAST BIT OF OPCODE)?
POP HIE LENGTH PAR-AMETER
POP HIE RBA PARAMETER IF SDEC'1
CLEAR THE OVERFLOW BIT IN STATUS WORD
ILLEGAL ASCII DIGIT TRAP?
ILLEGAL OPERAND LENGTH TRAP?
NEXT INSTRUCTION

PAGE 328
RECORD
NO
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16467
16468
16470
16471
16473
16474
16476
16477
16479
16480
16482
16483
16485
16486
16488

gO~OL II FI~';;'tz'~~t!~nR~t~12N*~H*;.~H~N ~~~~~!~~ ••• ** ALU B ••••••••••••••
ADDR

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III * * III: III: III: ** * * III: ** III: III: * * III: III: III: III: III: III: III: ** * * III: III: III: * III: III: III: III: III: III * * '" III III ill: III * III: * III: * III: III: * ** 111:" III: III: III: III: III: '" III: III: * III * *

.

ALGN

10/ 2/86

9: 27 AM

COMMENT

1. Get 4 valid TOS registers containing the source length,
source RBA, target length, and target RBA.
2. If either the source length or the target length are zero,
then next instruction.
3. t!~;?~la ~~u ~c ~81~~9: ~e t ~~~ r~! ~! !~1 ~g t ~e s~~~~~e l~~9: ~ r~~ t
the target leading) target length.
1162

ALGN 0004

ADDL

RH

ADD

1163

FFE3

ADDL

SP4A

JSLZ ADJS

1164

RA

ADD

RRZ

1165

UBA
RA

JSB

ALG2

ADD

LRZ

1166
1167

SPOA CF3A

SPOA UBA

1168

JSBS ALG2
RREG SP4A JSB ALG2

1169

SPOA XR1

SUB

RC

ADD

RRZ

JSB

ALG2

SF3A

UBB
RC

ADD

LRZ

JSBS ALG2

ZERO
XRl

XRO

NEED 4 TOS REGISTERS CONTAINING OPERANDS

NCRY

SP3B UBB

CRRY

RREG SP4A JSB

CF3A

SP3B XR1

SUB

UNC
SP3B CF4B
ZERO
XR1
NCRY

ALG2

CRRY
XRO

MAX SOURCE/TARGET COUNT LENGTH " 28 DIGITS
ADJUST THE • OF TOS REGISTERS
EXTRACT SOURCE COUNT; CLEAR LENGTH TRAP FLAG
EXTRACT TARGET COUNT; CLEAR ASCII DIGIT TRAP
DONE IF SOURCE COUNT s 0
DONE IF TARGET COUNT • 0
EXTRACT SOURCE TRAILING; SET LENGTH TRAP
EXTRACT TARGET TRAILING
SOURCE TRAILING ( SOURCE COUNT?
TARGET TRAILING ( TARGET COUNT'
SOURCE COUNT ( MAX COUNT?
TARGET COUNT ( MAX COUNT?
SOURCE LEADING, TARGET LEADING
(2635)
(2635)
RESET LENGTH TRAP FLAG

PAGE 329
RECORD
NO
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16507
16508
16510
16511
16513
16514
16516
16517
16519
16520
16522
16523
16525
16526
16528
16529
16531
16532
16534
16535
16537
16538
16540
16541
16543
16544
16546
16547

gO~OL II FI~~~~t!~lnR~nI2N.~n.;.~H~N ~~~~~!;~ ••••• ALU B ••••••••••• " ••
ADDR

LABL RREG SREGi FUNC SFNC STOR SPSK
~'NOWARN
II • • III !If III

)I[ ..

III ~ '" '" '" III. III: III

* III III III l1li •

III III '" •

RREG SREG FUNC SFNC STOR SPEC SI(IP

* '" III: * III: III III ;. * '" III • * * * 11: III III It III III III: * '" • III: • * III '" III * III III

}Ie '"

10/ 2/86

9:27 AM

COMMENT

.

* * 111 III 1_ !If

ALGN (con,t inued)
1. Convert the RBA of the last source byte to an effective
address, fetch, and bounds test.
2. Save the last source word. so that it may be restored.
3. ~!~~~t: f~:st~!1 ~~~~~~n~~t!r~Tt~hIt!a~~s~~~;~ev~r~:.and
4. f~:el~:; ;:~~~; ~;,: ~~~=i!i~~:n~or use in overpunching

U6A

SPOA

116B

RB

UBA

ADD

116C

UBA

DB

ADD

116D

UBA

DL

JSBS AEBC

OPA

ADD

116E

CAD
LSR
RH

116F

UBA

ADD

1170

RH

ADD

1171

RF

JSB

·+3

ADD

RRZ

1172

OPA

1173

UBA

1174
1175

UBA

1176
1177
l.WARN

UBB

lOR

OPA

ADD

UBB

LRZ

SM

ADD

RB

UBA

ADD

RG

UBA

JSBS AEBC

NCRY
EVEN

ROD
NCRY

JSB

RG
RF
·+2

NF5B

XR3

RF

ADD

RH

UBA

ADD

RRZ

JSB

STPO

UNC

-iSB

·+5

NF 1

RH

ADD

RLZ

JSB

·+3

RH

ADD
ADD

RRZ

XR4
ODD

DATA
LLZ

lOR

DATA

CAD

XR2

ADD

XR2

F2

RH

UNC

ADD

XR2

CAD

XR2

F:L

SOURCE COUNT - 1
MAKE SM AVAILABLE FOR BOUNDS TESTING
RBA OF LAST SOURCE BYTE/2
RBA OF LAST SOURCE BYTE
EFFECTIVE ADDRESS OF LAST SOURCE WORD
SKIP BOUNDS TEST IF SPLIT STACK MODE
BOUNDS TEST EA >= DL
BOUNDS TEST EA <= SM
SAVE CONTENTS OF LAST SOURCE WORD
LEFT OR RIGHT SIGN BYTE?
EXTRACT LEFT SOURCE BYTE
EXTRACT RIGHT SOURCE BYTE
SAVE ADDRESS OF LAST SOURCE WORD
STRIP POSSIBLE OVERPUNCH FROM SOURCE BYTE
LEFT OR RIGHT SIGN BYTE?
DO NOTHING IF ALREADY UNSIGNED
RIGHT SOURCE BYTE
STRIPPED LEFT SIGN BYTE
REWRITE LAST SOURCE WORD
ELSE
LEFT SOURCE BYTE
STR I PPED RIGlH SIGN BYTE
REWRITE LAST SOURCE WORD
SOURCE
SOURCE
SOURCE
SOURCE

IS
IS
IS
IS

POSITIVE
SIGNED
NEGATIVE
UNSIGNED

(2310)
(2310)

P~~~o~go

gO~OL II FI~~~~~.!~~!R~I~I2N.~~!.;.~~!~N ~~~~~!;~ ••••• ALU B ••••••••••••••

NO
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16564
16565
16567
16568
16570
16571
16573
16574
16576

ADDR

LABL RREG SREG FUNC SFNC STOR SPSK
* It. *. III *. III * * III *. III III III III * III III *JIt III * ** III III III III III

*.

Jill

*

RREG SREG FUNC SFNC STOR SPEC SKIP
III III III Jill III III III"" III III III * III III * III III 111* III: * III 111:" * III * III." III It *

9:27 AM

ALGN (continued)
Initialize the target pointers, bounds test, and set up
for all target store/fetch operations to be performed
in ALUB.
Initialize the source pointers, bounds test, and set up
for all source store/fetch operations to be performed
in ALUA.

1178

RD

1179

UBA

DB

117A

UBA

DL

117B

RB

117C

UBA

DB

ADD

1170

UBA

DL

JSBS AEBC

117E

RB

ADD

LSR

ADD

RD
RH

JSBS AEBC
ADD

CSR

ROD
NCRY

LSR

JSB
RG

UBA

NF5B
NCRY

JSBS AEBC

RH

ADD

ROD

RH

JSB

NCRY

RG

ADD

ODD

RH

ADD

CF1

RH

HBF2
*+2
RF
• +2

ROD

XR4

NFSB

If)~77

16578
16579
16581
16582
16584
16585
16587

10/ 2/86
COMMENT

117F

UBA

JSBS AEBC

OPB

ADD

ADD

NCRY
RE

LRZ

SP3B SF 1

TARGEr RBA/2
F2:-EVEN/ODD TARGET BYTE
TARGET EFFECTIVE ADDRESS
SKIPS BOUNDS TESTS IF SPLIT STACK
BOUNDS TEST EA )z DL
BOUNDS TEST EA ( z SM
SOURCE RBA/2
TARGET OPERATIONS IN ALUB
SOURCE EFFECTIVE ADDRESS
SKIP BOUNDS TESTS IF SPLIT STACK
SAVE EFFECTIVE ADDR. OF FIRST TARGET
BYTE IN XR4.
BOUNDS TEST EA ). DL
BOUNDS TEST EA (- SM
EVEN OR ODD SOURCE RBA?
SAVE SOURCE EA
F I-EVEN/ODD SRC BYTE
SAVE LEFT TARGET BYTE

(2635)
(2635)

PAGE 331
RE.CORD
NO
16589
16590
16591
16592
16593
16<,94
16'J95
16~96

16587
Hi ','1 8
16C,'l'l

16600

COBOL II FIRMWARE INSTRUCTION SET - ALIGN NUMERICS
c.s
**~~~**~**~ ALU ~ ***********
************* ALU B **************
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
ALGN (continued)
1. Def ine t he valid digit
by

3.
4.

f~e~h~on~T~~;ro~ !~a~lin6t~~~~i~ea~~n:~~~=tw1t~l16.differs, •
If the number of trailing target digits> trailing source

11)1)09

9.

16f,10
16611

10.

16614

~lg1~:,n~~~~rl~~oI1~1tnlh!a;~~!s~iY!~~i~gl~~~~~I ~~~r~:.
~lgl~:.n~~~~rv~li~:~~l~~es~~~~~sdi~!~~n~ !~~~~~gdl;rI:t

~~~lt~h~r~~Nl~~a!~~~~eS~~~~~ ~~g~~~':~~~!tnri!~~get digits) •

161)06

16612
11)613

range '0' .. '9' and blank fo r filling •

~~~rdt~~ r~~at~~;;tO~i!~~ leading digits from the source

lfif,OI
161>02

16f,03
11)1)04
1 f) fi 0'>

11)607
16608

. 0' .

2. f~e~h~on~T~~;ro~ ~~a~ingt~~~~~~ea~~n:~~~=tw1}~i~S differs,

1;g:~:'n~:=:rl~JOt:!lli~:es~~~~~sdl~rt!i~gt!:rY!~gdt:~ ::i

diglts, then validate the excess trailing source digits
If an ille<;lal ascii digit is encountered. then go to the
trap handllng section.

101 2186

COMMENT

9:27 AM

PAGE 332
RECORD
NO
16616
16618
16619
16621
16622
16624
16625
16627
16628
16630
16631
16633
16634
16636
16637
16639
16640
16642
16643
16645
16646
16648
16649
16651
16652
16654
16655
16657

COBOL II F IR"""ARE INSTRUCTION SET - ALIGN NUMERICS
*********11:* ALU A *.Ic •••••••• ***********_. ALU B *t •• *I11.* ••• **.
C.S
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
1180
ADDL
0039
SPOA
0030
ADDL
SPIB
1181

RF

1182
1183

UBA

CAD
XRO

ADD

UBB

JSBS FILL

1184

RF
NCRY

ADD

1185

XRO

1186

UBA

1187

RREG UBB

XRl

ADO

ADDL

0020
UBB

XRO

ADD

UBA

JSBS VLB

SP3B
SP4A

XFRS
SUB

NCRY

SP2B

JSB
XR1

ADD

XRO

ADD

BKX7

ALGI RH

~CRY

F4B

SP3B

SP3B UBA

SUB
SREG ADD

NCRY

1188

SREG ADD

1189

ADD

RH

ADD

SP3B

118A

ADD

SP3B SP4A JSB

VMLB BKX7

NZRO

ALGI

F4B

118B
118C
1180

UBA

SP4A

XRl

ADD

UBB

JSBS FILL

NCRY

ADD

CF3A

UBB

SP3B

XRl

JSB

UBA

JSBS VLB
JSB

ALGI

BKX7

NCRY
F4B

10/ 2/86

9:27 AM

COMMENT
UPPER BOUND FOR ASCII DIGIT TEST
LOWER BOUND FOR ASCII DIGIT TEST
SYNCHRONIZE TARGET BYTE EFFECTV ADDR (2307)
USED FOR LEADING BLANK COMPARISONS
NUMBER OF LEADING SOURCE DIGITS
NUMBER OF LEADING TARGET DIGITS
ZEROFILL TARGET IF TL ) SL
VALIDATE SOURCE IF SL ) TL
DONE IF ASCII DIGIT TRAP OCCURRED
DEFAULT MIN IS SOURCE LEADING LENGTH
DEFALUT MIN IS TARGET TRAILING LENGTH
RREGA:·SOURCE LEADING; UBA:-SOURCE TRAILING
UBB:-TARGET LEADING
MIN(SOURCE LEADING. TARGET LEADING)?
MIN(SOURCE TRAILING. TARGET TRAILING)?
MIN IS TARGET LEADING LENGTH
MIN IS SOURCE TRAILING LENGTH
RESTORE LAST TARGET BYTE
VALIDATE AND MOVE SUM OF MINIMUMS
UBA-SOURCE TRAI LING; UBB-TARGET TRAILING
DONE IF ASCII DIGIT TRAP OCCURRED (2307)
ZEROFILL TARGET IF TF ) SF
VALIDA TE SOURCE IF SF ) TF
RESET LENGTH TRAP/LEADING BLANK FLAG
DONE IF ASCII DIGIT TRAP

PAGE 333
RECORD
NO
18659
16660
16661
16662
16683
16684
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16678
16679
16681
16682
16684
16685
16687
16688
16690
16691
166'13
16694
16696
16697
16699
16700
16702
16703
16705
16706
16708
16709
16711
16712
16714
16715
16717
16718
16720
16721
16722
16724
16725
16727
16728
16730
16711
16733

COBOL II FIRMWARE INSTRUCTION SET - ALIGN ~~~~~!;~ ***
~*~.******* ALU A ***********
ALU B *l1li*11:********111*
C.S.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III * III III III III * '" 11: 11: 11: 11: 11: 11: III * III * 11: 11: III III: 'III:
* * III III: III III III * * III 11:" III III * III 11: III III '" 11: 11: III III III * ~ 11: 11: III III III III 11: 11: 11: 11: * III 11: * 11: III III

••

.

10/ 2/88

9:27 AM

COMMENT

111: ..

ALGN (continued)
l. If the source field was signed, then overpunch the last

target field byte with He Slgn obtained from the last
source byte.
2. Write the last target word.
3. Rewrite the last source word to restore its overpunched
sign.
4. Perform the proper SDEC.
5. ~~e~~l!~~le~~~~~n~fl!~~t~issible traps (illegal ascii digit
8. Next instruction.
III II 11: III 111 * III III 11 III 11: 11: 111111: III "
lit " .. 111 III III 11111 III
l1li

118E
XR2

118F

JSB
ADD

*+5

JIll:

J1I III: III III lit III

* III III. •

HBF2

1190

ADD

1191

ADD

1192

JSBS *+9

UNC

XR2

ADD

HBF2

UBB

BNDE

1193
RG

1194

11: III 11: III III III: III ... III )\ 11: JII: III III I' 11:

F2

XR2
RF

RLZ

UBB

ADD
INC

SWAB

JSB

*+4

NF2

RF
SP3B

UBB

ADD

119B

~ILGI

XR4

119D

XR3

ADD

LLZ

JSB

ALG2

ROD
U~IC

ROD

ADD
ADD

UBB

lOR

DATA

XR4

ADD

ROD

UBA

UBB

JSBS *+3

OPB

ADD

UBB

lOR

RRZ

OVER PUNCH LAST CHARACTER
TARGET LEFT BYTE
DONE
REWRITE LAST TARGET WORD
POSITIVE OR NEGATIVE OVERPUNCH?
READ LAST TARGET WORD
BOUNDS TEST LAST TARGET WORD
OVER PUNCH LAST CHARACTER

LAST TARGET BYTE
RIGHT TARGET BYTE
LAST TARGET BYTE
EFFECTIVE ADDRESS OF LAST SOURCE BYTE;
~6~~J~~~SIFT:~~~lT1$~DADDRESS OF LAST ~6~~~J
BYTE AND FIRST TARGET BYTE DO NOT OVERLAP
(2635)

W~ITE

NtRO

RRZ

LAST BYTE LEFT OR RIGHT?
SOURCE SIGNED OR UNSIGNED?
POSITIVE OR NEGATIVE OVER PUNCH?
READ LAST TARGET WORD

TARGET RIGHT BYTE
DONE
REWRITE LAST TARGET WORD
EVEN OR ODD LAST BYTE
FETCH LAST TARGET WORD
BOUNDS TEST LAST TARGET WORD

DATA

OPB

ADD
ADD

119C

III

U~IC

UBA

RLZ

ADD

JIll

NEG

DATA

ADD

RH

U9A

lOR

OPB
UNC

1199

RH

OVPN RH

*+5

BNDE

LLZ

INC

JSB
UBB

OVPN RH

ADD

JSB

1196
1197
RG

JSB
OPB

RF

ADD

III III III III 11: 11: III

ROD

SP3B

1195

1198

* III: III III JII III •

~+9

ADD

SP3B
UBB

JSB

.

~~+ ~~~~Ts~~~g~TB~~~t

119F

XR4

ADD

WRD

ADD

JUMP TO REMOVE PARAMETERS;REWRITE OVERL~~~~l
SOURCE AND TARGET WORD
(26351
EFFECTIVE ADDRESS OF LAST SOURCE BYTE

11AO

XR3

ADD

DATA

ADD

REWRITE WORD CONTAINING LAST SOURCE BYTE

119E

UNC

UBA

DATA

PAGE 334
RECORD
NO

COBOL I I FIR~ARE INSTRUCTION SET - ALIGN NUMERICS
••••••••••••• ALU B ****,,*.,,**.**.
•• - •••••••• ALU A · · · · · · · · · · ·
C s.
ADDR
LABL RREG SREG fUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

16734
16736
16737
16739
16740
16742
16743
16745

HAl
llA2

ALG2

CIR

ADD

ODD

ADD

EPP4

ADD

EPSH

ADD

CLO

llA3

JSZ

llA4

ADD

TRPR

F3A

JSZ
ADD

TRPA

F4B

10/ 2/86

9:27 AM

COMMENT
SDEC • 0 OR 11
POP ALL 4 PARAMETERS
LEAVE TARGET RBA ON STACK I f SDEC·O
CLEAR OVERFLOW BIT
ILLEGAL OPERAND LENGTH TRAP?
ILLEGAL ASCII DIGIT TRAP?

NEXT
NEXT INSTRUCTION

PAGE 335
RECORD
NO
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16758
16759
16761

gO~OL II FI~t:"::'~~~.!~~!R~gI~N.~~!.:.~~!~N ~~~~~:~~ ••••• ALU B ••••••••••••••
ADDR

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III: JII III III III lit iii: III III: '" lit * lit III III til .. III III III III * lit III III III It * !II III III III • III * III * * * * * * * III * * III * III * * III ,_ .. III 111 * it III III * IIr III * III * * * III

.

101 2186

9:27 AM

COMMENT

EXTENDED BOUNDS CHECK (DL-DB)
Bounds test an effective address that may be in DL-DB after
it has failed the DB-S inline bounds test.

llA5
llAS
llA7

AEBC
UBB
RH

DL

,I\DD

8000 RH

ADDL

BNDE
,ADD

RG

BNDE
ADD

ROD

UBB

RH
RSB

EXTENDEn BOUNDS CHECKING FOR DL-DB
ADD 32K TO THE EFFECTIVE ADDRESS
BOUNDS TEST EA (. SM, EA ) = DL
(2527)
RETURN IF OK WIO S KILL, FIRE UP MEM (2527)

PAGE 336
RECORD
NO
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16786
16787
16789
16790
16792
16793
16795
16796
16798
16799
16801
16802
16804
1680S
16807
16808
16810

COBOL II FIRMWARE INSTRUCTION SET - VALIDATE, MOVE, AND FILL·
C.S.
• •••••••••• ALU A · · · · · · · · · · ·
••••••••••••• ALU
ADDR
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

B··············

* 'l1li""" ** ****111111'* lit *
III

'l1li • • "

10/ 2/88

9:27 AM

COMMENT

* III **._ III III III'" * .... III""'" III .. "" * III""" 111111 III 111**" *111 111:'" III" Ill .. III. III JIII._ *

*

VALIDATE LEADING BLANKS

1. Bounda teat the first byte.
2. If the Sisnificance trig~er hu already been nt, then
3. ~~~t e~~~i s:~~c!hbyf:mainlng digit I.
loop
e.tract the source byte from the current source word.
decrement the count.
if the source byte is not a blank, then exit the loop.
fetch the next source word and bounds test if needed.
end loop
4. If all source bytes were processed, then return.
S. Set the significance trigger and increment the number of
bytes remalning since the current byte is non-blank
*********************111:._******111**************************************
llA8

VLB

RG

RE

llA9

BNDE
JSB

F3A

BKX7 SUB
ADD

llAA

OPA

ADD

LRZ

RH

NF 1

llAB

OPA

ADD

RRZ

RH

SFI

llAC

llAE

JSB

ADD

llAD

JSB
RE

JSB

llBO

ADO

Nfl

*-2
RE

*-5

RH

ROO
UNC
SF3A

RG

CTRO

VRET
DCTR

NZRO

SP2B JSBS *+3

ADD
UBA

CFl

BNDE
ADD

BOUNDS TEST
SAVE THE RETURN ADDRESS
LEADING BLANKS ALLOWED?
COMPLEMENT AND TRANSFER THE COUNT
EXTRACT LEFT SOURCE BYTE

CTR

ADO

INC

llAF

PSHR

ADO
VLD

ICTR

CTRO

EXTRACT RIGHT SOURCE BYTE
ANY BYTES REMAINING?
DECREMENT BYTES REMAINING
NEXT ITERATION FOR RIGHT BYTE
LEADING BLANK?
FETCH NEXT SOURCE WORD
SIGNAL LEFT BYTE
NEXT ITERATION
BOUNDS TEST
NON-BLANK ENCOUNTERED
RESET COUNTER

PAGE 337
RECORD
NO
16812
16813
16814
16815
16816
16E17
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16829
16830
16832
16833
16835
16836
16838
16839
16841
16842
16844
16845
16847

COBOL II FIRMWARE INSTRUCTION SET - VALIDATE, MOVE, AND FILL
c.s
*1III*1iI1III1II1II*".]iII[I~
ALU A 111**111.111111"111**
*****I11I11.III*IIIJllIII ALU B JII**III._.IIt*IIII11J11*Jlt
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

VALIDATE LEADING DIGITS
1. For each source byte
loop
Extra£t the source byte from the current source word.
Decrement the count.
Validate the ASCII digit
Fetch the next source word and bounds test if needed.
end loop
2. Return;
11Bl

VLD

11B2

OPA

ADD

LRZ

RH

NFl

ADD

OPA

ADD

RRZ

RH

SFI

JSB

1183
1184

I~DD

SPOA RH

11B5

1186
11B7

RE

EXTRACT RIGHT SOURCE BYTE
VRET

CTRO

EXTRACT LEFT SOURCE BYTE
ANY BYTES REMAINING?

NCRY

ILLEGAL ASCII DIGIT TRAP?
ILLEGAL ASCII DIGIT TRAP?
NEXT ITERATION FOR RIGHT SOURCE BYTE
DECREMENT BYTES REMAINING
FETCH NEXT SOURCE WORD
SIGNAL l.EFT BYTE
NEXT ITERATION
BOUNDS TEST

ADD

JSBS VTRP

NCRY

.JS8

·-3

NFl

INC
.JSB

·-6

RE

ROD
UNC

RH

RG

SPIB JSBS VTRP

UBA

ADD

DCTR

ADD.

CF 1

BNDE

CTRO

PAGE 338
RECORD
NO
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16873
16874
16876
16877
16879
16880
16882
16883
16885
16886
16888
16889
16891
16892
16894
16895
16897
115898
16900
16901
16903
16904
16906
16907
16909
16910
16912

COBOL II FIRMWARE INSTRUCTION SET - VALIDATE, MOVE, AND FILL
.*.** ••••• * AlU A **.*.*****. 111111111111111111* • • • • • • ALU B lIiI.************
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
* * III .. lit III III III III III III III * .. * III" * III * III"" III III .. III. III * III III * * III III III * * III III * * * * * .. III III" lit * * .. * .. 111._ III .. * * * * III III *

C.S

ADDR

.

10/ 2/86

9:27 AM

COMMENT

l1li

VALIDATE AND ZERO FILL LEADING BLANKS
1. Bounds test the first byte

2. If the significance trigger has already been set, then
3. ~~~te~~~i~~~~c!h~y~:mainlng digiti.

loop
extract the source byte from the current source word.
decrement the count.
i f the source byte is not a blank, then exit the loop.
place a zero in the next target byte.

~~t~~ :~: ~:~?e!o:~~~ ;~r~o~~db~~~~d~at:S~e~~ ~!!~:~:

end loop
If all source bytes were processed, then return.
S. Set the si9nificance trigger and increment the number of
bytes remalning since the current byte is non-blank.
4.

11B8

VMLB RG

RE

BNDE
JSB

11B9

RH

ADD

SP3B
VMLD

ADD

llBA

OPA

ADD

LRZ

RH

NFl

llBB

OPA

ADD

RRZ

RH

SFI

RH

JSB

VRET SP3B

UBB
RH

ADD

RLZ

!lBD

ADD
JSB

*+4

F2

11BE

JSB

*-3

NF 1

INC
JSB

*-6

llBC

llBF

RE

llCO
llCl

RF

llC2

RG

llC3

RE

RE

INC
UBA

llC4
1ICS

ADD

RE
*-A

NZRO

SP2B JSBS *+8
RH

SPIB ADD
UBA

JSB

ROD

ADD
BNDE

UNC

RG
SP3B

UBA

CTRO

BNDE

CF2

SF3A

SF2
CF 1

ADD
RG

CTRO

SP3B DCTR

SP3B SPIB lOR

RF

BNDE
INC
JSB

ROD
UNC

BOUNDS TEST
SAVE RETURN ADDRESS
LEADING BLANKS ALLOWED?
TRANSFER LENGTH TO COUNTER
EXTRACT LEFT SOURCE BYTE

PSHR

CTR

BKX7 ADD

F3A

ADD

DATA FI
*-7

UNC
CF 1

LRZ

RH

ICTR

CTRO

EXTRACT RIGHT SOURCE BYTE
ANY BYTES REMAINING?
DECREMENT BYTES REMAINING
WRITE TARGET WORD?
LEADING BLANK?
NEXT ITERATION FOR RIGHT BYTE
REPLACE BLANK WITH ZERO
FETCH NEXT SOURCE WORD
SIGNAL LEFT BYTE
NEXT ITERATION
BOUNDS TEST
INCREMENT TARGET ADDRESS
WRITE TARGET WORD
BOUNDS TEST
NEXT ITERATION FOR RIGHT BYTE
FETCH NEXT SOURCE WORD
SIGNAL LEFT BYTE
NEXT ITERATION
BOUNDS TEST
NON-BLANK ENCOUNTERED
RESET COUNTER

PAGE 339
RECORD
NO
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16933
16934
16936
16937
16939
16940
16942
16944
16946
16947
16949
16950
16952
16953
16955
16956
16958
16959
16961
16962
16964
16965
16flf>7
16g68
16:)70

COBOL II FIRMWARE INSl"RUCTION SET - VALIDATE, MOVE, AND FILL
**111111111"111.111'11111 ALU A 111111111*******111:
*III*III**III*~**III* AlU B ****111** •• ****.
C S.
ADDR LAIBL RREG SREG rUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
'* * .. JII: '* * • III * III III * * '* * 11 * III lfI: III III III III ,.. JIll 111 III '* III JIr * III III * '" '" * III: * III '" '" III III tI: JII R III III III III III III: * * * III ,.. III III '" III '* III JllIII: III III
*
VALIDATE ArID MOVE LEADING DIGITS

101 2186

9:27 AM

COMMENT

Jill:

l. For each source byte

loop
Extrad the source byte from the current source word.
DecreMent the count
Validate the ASCII digit.
Place the source byte in the next target byte
filled.
~~::~ :~: ~::?e!o:~~: !!r:o~:db~!:=d:a;:S~e!~ needed.
endloop
2. Return;
**III********III***n*************1I:III*J\lIIl11l11*JllIII:***III:*JII***************11:********

OPA

lIDO

LRZ

RH

NFl

11C7

OPA

lIDO

RRZ

RH

SFl

11C8

XR3

lIDO

LLZ

11C9
llCA
11CB

UBB XR4
RH
UBB
SPOA RH

llC6

VMLD

11CC
llCD

JSB

ROD

ADD

INC

1101

RG

1102

RE

RE
*-9

UNC
RF

BNDE
INC
.JSB

NCRY

RE
• -0

RG

UBA

CFl

CTRO

DATA Fl

lOR
JSB

ROD

ADD
UBA

UNC

*-6

BNDE

CF2
RG

NCRY
DCTR Fl

ADD

SP3B RH

UNC

CTRO

VRET SP3B

ADD
UBA
SP3B
ADD RLZ SP3B
RH
SPlB JSBS VTRP

SF2

RF

1103

INC

lIDO

1100

UBA

RF

F2

:tNC
;rSB

llCF

JSB

SUB
;[OR
XR3
.rSBS VTRP
;rSB *+4

RE

11CE

NZRO

EXTRACT LEFT SOURCE BYTE

ADD
RH

BNOE

UNC

*-A
CFl

CTRO

EXTRACT RIGHT SOURCE BYTE
ANY BYTES REMAINING?
MASK LAST WORD OF SOURCE TO HI ORDER
ADJUST RF TO BE SAME AS YREG A
(2307)
NOP IF NOT SHARED SRCE/TARGET WORD(2307)
IF SHARED,MERGE;SAVE JUST LEFT BYT(2307)
ILLEGAL ASCII DIGIT TRAP?
ILLEGAL ASCII DIGIT TRAP?
WRITE TARGET WORD?
DECREMENT BYTES REMAINING
SIGNAL RIGHT TARGET BYTE
NEXT ITERATION FOR RIGHT BYTE
FETCH NEXT SOURCE WORD
SIGNAL LEFT SOURCE BYTE
NEXT ITERATION
BOUNDS TEST
INCREMENT TARGET ADDRESS
WRITE TARGET WORD
BOUNDS TEST
NEXT ITERATION FOR RIGHT BYTE
FETCH NEXT SOURCE WORD
SIGNAL LEFT BYTE
NEXT ITERATION
BOUNDS TEST

PAGE 340
RECORD
NO
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16989
16990
16992
16993
16995
16996
16998
16999
17001
17002
17004
17005
17007

COBOL II FIRMWARE INSTRUCTION SET - VALIDATE, MOVE, AND FILL
C.S.
_.* •• ** •••• ALU A ******** •• '" 111******.*111*** AlU B .*111.**********
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

FILL
1. Bounds test the next source byte.
2. For COUNT iterations
loop
Place the fill byte in the next target byte.
Write the next target word if both bytes have been filled."
Dec rement count
end loop
3. Return
11D4

FILL RG

RE

BNDE

1105

JSB

1106

SPIB ADD

1107

ADD

1108

RH

ADD

1109

RF

INC

UDA

JSB

ADD

SP3B
"+3

F2
RH

RH

JSB

SF2
RLZ
"-4

JSB

CF2

UBA

SPIB lOR

UNC

RG

UBA

BNDE

PSHR

CTR
"+2

SP3B

ADD
RH

RF

RH

BKX7 ADD

CTRO
DCTR

VRET SP3B

CTRO
DATA
DCTR

BOUNDS TEST
SAVE RETURN ADDRESS
EVEN OR ODD STARTING BYTE
TRANSFER LENGTH TO COUNTER
FILL BYTE CONTAINED IN SPIB
(23101
ANY BYTES REMAINING
SIGNAL RIGHT BYTE
DECREMENT BYTES REMAINING
LAST BYTE IS LEFT BYTE
ANY BYTES REMAINING?
~~~~~LTkij~~TB~6ij6 INCREMENT TARGET ADDRESS
NEXT ITERATION
BOUNDS TEST AND DECREMENT BYTES REMAINING

PAGE 341
RECORD
NO
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17025
17026
17028
17029
17031

COBOL II FIRIofWARE INS'rRUCTION SET - VALIDATE, MOVE, AND FIl.L
**********~ ALU A .***.***.**
*.**** ••••••• ALU B *-", •• * •• *****.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
* * * * JIll • * #I. III * * III: III * * I. * III lit III * III * * III III III III: III it * III .* lit III * 111 III III • * III III " III 'Ie :II III III * III " III * * * * III JII * * • III: • III 111 !III III

C.S.

.

JIll

VTRP - Trap for ILLEGAL ASCII DIGIT
1.
2.

10/ 2/86

9:27 AM

COMMENT

Set illegal ascii digit flag.
Return.

VRET - Return from the V routines.
1.

2.

Restor~

Return.

the return address

11DB

VTRP

i~DD

llDC

VRET

,JSB

llDD

I~DD

*+1

MEDJ

ADD
ADD

RSB

ADD

SF4B
POPR

ILLEGAL ASCII DIGIT FLAG
FORCE RSB AFTER POPR
RESTORE RETURN ADDRESS
RETURN

PAGE 342
RECORD
NO
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17058
17060
170£2
17064
17066

COBOL II FIRMWARE INSTRUCTION SET - OVER PUNCH BYTE
*.lIIt**.*.** ALU A •••••• IiI.III •• **111********** AlU B *111 ••••• _••••••
ADDR lABl RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
SNOWARN
IIIIC**_****.III**************************** •• ****************************
OVPN (overpunch ascii digitI

10/ 2/86

C S

.

9:27 AM

COMMENT

.

Qverpunch an ascii digit corresponding to the table below.

!~~nst~np~!i:~~eor~r~~A~h2i~sdt~~!~i~t~e~~i~~Art2is ~~~ative.

Original

Positive overpunch

o

B
C

l

E

M
N

o

7

F
G

a

8
9

H
I

Q

6

11E2

!K

2

3
4

5

11DE
llDF
11EO
11E 1

Negative overpunch

(
A

1

P

R

*** •• *111************** •• *************** ••• ****111******111111_*111_**.* •••• _ ••

OVPN 0030
UBA RH
UBB
SWARN

ADDl
SUB
ADD
ADD
ADD

RH

ZERO
RSB
RSB

0010 RH
0019 RH
007B
0070

ADD
ADDl
ADDl
ADDl
ADDl

RH
RH
RH

F2
F2

'0' FOR COMPARISON
SKIP FOR SPECIAL 0 OVER PUNCH
OVERPUNCH POSITIVE OR NEGATIVE 1-9; RETURN
POSITIViE 0 OVER PUNCH
NEGATIViE 0 OVER PUNCH

PAGE 343
RECORD
NO

COBOL J:I FIRMWARE INSTRUCTION SET - STRIP OVER PUNCH

C.S

ADDR

17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
170 7 8
17'17Q

17080
17082
17084
17086
17088
17090
17092
17094
17096
17098
17100
17102

111111:111 • • • 111:.*11.

ALU A

**Jll:III,*IIIJII:****

IIIJltIllIlrIll***Jll:IiI:**1II

10/ 2/86

ALU B

#(

111:

111: "

l1li: •

111:

111:

111:

111:

111:

111:

111:

STPO (Strip overpunchl

Stri~s the overpunch from an ascii ~~af:t~~ri~n~h:~:h~~::t!r
1~ ~n~~g~:dtheI~h:i~~!~~ ~EA~i~ni~ set to TRUE if positive,
otherwise it Is set to FALSE.
•
NOTE: This routine d~es not check for invalid overpunch.
'1 * JII .. "
* III * III III * III '" it III * III III lit lie *
* 111 III III * * 11111: III III III: III lit II!: III: .,. * lie * 11: III III III III * IIr III
ADD
CF1
STPO 0040
ADDL
ADD
SF2
SUB
NCRY
UBA RH
RSB
0049
ADDL
ADO
NCRY FFFO RH
ADDL
UBB RH
SUB
ADO
RH
RSB
ADO
SFI
UBB
ADDL
0030
ADDL
FF85 RH
ADD
UBA
ADO
RH
UBA
CF2
FF83 RH
ADDL
UBA
ADD
0052
ADDL
UBA
ADD
RH
NCRY FFE7 RH
ADDL
UBA RH
SUB
RSB
UBB
ADD
RH
ADO
ADD
CF1
ADD
SF2
111:

llE3
llE4
11E5
11E6
11£7

liE 8

llE9
llEA
llEB
llEC
llED
llEE

111: 111:

111: 111:

111: 111: 111:

JII:

111:

111:

111: 111:

111: l1li:

S:27 AM

III*JII:#lIll'liIllJII'lc.*'I**

I.ABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STaR SPEC SttIP
~I
JII: III '" III lie III
III it III til 111
It It 111111 lit
Ie 'Ie '" III * III * III
III 'If. til III '" * * 'Ie III III It
III
III III * III III III * III ..
III: lie
JII: lilt 111111111:
tit
~I III:

111:

111: 111:

11111

.

COMMENT

111:

'@';

DEFAULT UNSIGNED QUANTITY

~~¥~R~FI~HNbT'~~tR~5~~~kJ;P9¥;TIVE

NZRO
RSB
NZRO
RSB
RSB

SKIP IF RH ) 'I' ; 'A-I' z ) 'I-S'
POSITIVE 1-S OVERPUNCHED
'0' ; SKIP IF RH <> ' ( '
POSITIVE 0;
NEGATIVE; SKIP IF RH <> ' j '
'R' ; NEGATIVE 0
SKIP IF RH ) 'R' ; 'J-R' ) ( -I 'I-S'
NEGATIVE I-S OVER PUNCHED
INVALID- DEFAULT UNSIGNED POSITIVE

..

PAGE 344
RECORD
NO
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17117
17119
17l2t
17123
17125
17127
17129
17131
17133
17135
17137

gO~OL
ADDR

.••.

II FI~~~~~.!~~rR~I~I2N.~~r.;.~r~!p ~¥~~~~~~~
ALU B ••••••••••••••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKI P

.

III III

* * * III 11: ** * III * III III * * * * * * III III * * * III: * * * * III * III" III * III:

111:

III

.

10/ 2/86

9:27 AM

COMMENT

** III III * * * * * * III * III III *. III * *111*111 * * * * * * * *

REMO (Remove overpunch)
Strips the overpunch from the ascii digit, but does not set
FLAGS 1 and 2.
NOTE: This routine does not check for invalid overpunch.

llEF
UFO
UF 1
11F2
UF3
llF4
llF5
UF6
UF7
UF8
llF9
llFA

**********************._.*********JII.**********************JIiI.********.

REMO 0040
UBA RH
UBB RH
UBB
0030
UBA
UBA
0052
UBA RH
UBB

ADDL
SUB
ADD
SUB
ADD
ADDL
ADO
ADD
ADDL
SUB
ADO
ADO

RH

RH

NCRY
RSB
NCRY
RSB

NCRY
RSB

0049
FFFO RH
FF85 RH
UBA
FFS3 RH
UBA
FFE7 RH

ADD
ADD
ADDL
ADDL
ADD
ADDL
ADD
ADDL
ADD
ADDL
ADO
ADD

'@';

DEFAULT UNSIGNED QUANTITY

~~~~R~F I~H N~T '~~~R~~~~~~6; P
NEGATIVE; SKIP RETURN IF RH

~~~N

(>

'.'
(>

RETURN WITH INVALID ASCII DIGIT

PAGE 346
RECORD
NO
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17189
17190
17192
17193
17195
17196
17198

17199
17201
17202

17204

17205
17207
17208
17210
17211
17213
17214
17216
17217
17219
17220
17222
17223
17225
17226
17228

COBOL II FIRMWARE INSTRUCTION SET - CONVERT NUMERIC DISPLAY
C.S.
J/r*******J1c** ALU A
]1[******* ****1I:**lII:iII***JII: ALU B **.***_******111:
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27

AM

111 • •

COMMENT

CVND (Convert Numeric Display)

•

1. Get three valid TOS registers including the source count,
2. ~;ur~: ::e~c:n!e::r~elsR~:~o, then neMt instruction.
3. f!~e?~1)0~8rand length trap if source length ( 0 or source
4. Ini?ialize the target pointers, bounds test, and set up for
all target fetch/store operations to be performed in ALUB. •
5. ;~tt!~~~~: ~:~C~/~r~~eP~~~~:r~on~O~~d~et~!~fO~~~ds~: ~eulor
6. Define the valid digit range ('0' -) '9') and blank for
filling by zero.
*

*************************************IiI*************JII**!II1t* •• ",.*.***.*.

1203

CVND 0003

RH

ADDL

1204
SM

1205

ADD
ADD

RG
LSR

JSLZ ADJS

UNC

RA

JSB

COUT

ZERO

RA

SP2B JSB

COUT

CRRY

1206

RC

1207

UBA

DB

ADD

SF 3A

1208

UBA

DL

1209
120A

RB
UBA

JSBS CEBC
ADD LSR

DB

ADD

120B

UBA

DL

JSBS CEBC

NCRY

RG

120C

RB

ADD

ODD

RC

1200

ADD

CFl

120E

ADD

RH

RH

JSB

ROD
NCRY
CF3A

SP2B

ADDL

HE3

ADD

RG
RH

UBA

UBA

NF5B

JSBS CEBC
ADD
RF
JSB

ROD

*+2
ROD

·+2

NF5B
NCRY

JSBS CEBC
HBF2

CSR
OPB

NCRY

RF

CAD

ADD

LRZ

SP3B SF 1
RF

120F

RH

ADD

RE

0030

ADDL

SP 1B

1210

0039

ADDL

SPOA

0020

ADDL

SP2B

CVND HAS 3 TOS REGISTER PARAMETERS
THE MAXIMUM SOURCE COUNT IS 28
ADJUST THE NUMBER OF TOS REGISTERS
SAVE SI'~ DL
BOUNDS TEST SM ) ~ EA
EVEN/ODD SOURCE RBA?
F2 (- LEFT/RIGHT TARGET BYTE
F1 (- LEFT/RIGHT SOURCE BYTE
SAVE LEFT BYTE OF TARGET WORD
SYNCHRONIZE TARGET ADDRESS
SOURCE OPERATIONS PERFORMED IN ALUA
LOWER BOUND ("0") FOR NUMERIC TEST
UPPER BOUND ("9") FOR NUMERIC TEST
USED FOR LEADING BLANK TESTS

PAGE 347
RECORD
NO
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17248
17249
17251
17252
17254
17255
17257
17258

17260
17261
17263
17264
17266

COBOL H FIRMWARE HISTRUCTION SET - CONVERT NUMERIC DISPLAY
C.S.
*********** ALU A 111**111*******
*111:111*111***111**** ALU B 111*********.'1**
ADDR I.ABL RREG SREGi FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC StlIP

10/ 2/86

9:27 AM

COMMENT

CVND (continued)
1. Determine which of the five types of source field exist
based on the bits 12.13.~4 of the second word of the opcode.·
o - Leading Si<,ln Separate
1 - TraIling SIgn Separate
2 - Le ading Si<,ln ave rpunch or Unsi<,lned
3 - Trailing SIgn Overpunch or Unslgned
4-7 - Unsigned
2. ~lg~~:i?~e1h~0~~~~~~ :~~)ie~~~~lTOt~eat!a~~~gS~~~~:s.
SP4P. ADD
ADO

1211
1212

LSR
ZERO

UBA

JSBC CTSS
JSBC CLSO

UBA

JSBC CTSO

ZERO

1213

UBB

1214
1215
1216

ADD

1217

ADO

0007 UBA

ADD
ANDL

UBB

JSB

CLSS

Z[RO

EXTRACT SOURCE TYPE BITS
TRAILING SIGN SEPARATE
LEADING SIGN SEPARATE
LEADING SIGN OVER PUNCHED
TRAILING SIGN OVERPUNCHED
SOURCE CHARACTER COUNT
UNSIGNED
VALIDATE AND MOVE (SOURCE CHARACTER COUNT)
RESET SIGNIFICANCE TRIGGER
FIXUP LAST TARGET WORD FOR UNSIGNED

ADD

ZERO

CF3A

SECOND WORD OF OPCODE

RA

ADD

BKX7

JSL

VMLB

UNC

JSB

CUNS

UNC

PAGE 348
RECORD
NO
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17299
17300
17302
17303
17305
17306
17307
17308
17309
17310
17311
17313
17314
17316
17317
17319
17320
17321
17323
17325

COBOL II FIRMWARE INSTRUCTION SET - CONVERT NUMERIC DISPLAY
C.S.
• •••••••••• ALU A··········· ••••••••••••• ALU B··············
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

CCM1EN1'

NBAF INext Byte Addresl Fetch)
if the fetch flag IFl) is false
then
::~ rr~! t:t~hbn:g IFl) to true
else
:::rr~! f!V~~ ~r!; IFl) to false
fetch the next source word
endif
NBAS INext Byte Address Store I
if the store flag IF21 is false
then
deposit the left byte
set the store flag IF21 to true
else

~~rb~~: !~~~ea~~a~iYH)bT!e;alse

store the next target word
bounds test
endif
1218

NBAF

OPA
OPA

1219
121A

121B

RE

NBAS

121E
12lF

INC

LRZ
RRZ

RH
RH

NFl

RE

ROO

ADD

121C
1210

ADD
ADD

ADO
RF

INC
ADO
ADO

RF

Fl

ADO
ADD

SF 1

RSB

ADD

CF 1

RSB

FZ
RSB

RH

ADO

SP3B

ADD

CF2

UBB

RH

lOR

RG

UBA

BNDE
ADO

CURRENTLY RIGHT BYTE?
SAVE FOR NEXT LEFT BYTE
RETURN IF LEFT BYTE
LAS BYTE IS LEFT; SIGNAL RIGHT BYTE
:~~tET~~~~~TWS~~6 SIGNAL LEFT BYTE
TICB TO SLOW DOWN RSB

SP3B
RLZ

EXTRACT LEFT BYTE
CURRENTLY RIGHT BYTE?
EXTRACT RIGHT BYTE
SIGNAL RIGHT BYTE; RETURN
FETCH NEXT SOURCE WORD
SIGNAL LEFT BYTE; RETURN

SFZ
DATA
RSB

( 1000

Mn~~ BUT SLOWLY
(1010
BOUNDS TEST ADDRESS OF WORD BEGIN WRITTEN

PAGE 349
RECORD
NO
17327
17328
17329
17330
17331
1731?
173J1
17:<',4
173 "
17116
In,l
17118
173Jg
17140
17341
17342
17343
17344
17145
17146
17147
17148
17349

COBOL II FIRMWARE INSTRUCTION SET - CONVERT NUMERIC DISPLAY
~.~ •• **.~** ALU A *111******.**
************* AlU B .*************
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC S~,IP
***III •••• ************JIIIcIcIlllIlt*JllIII: ••• JllIIi****JI!:JllrJII#c****III •••• liflfl#l:JII • • JIIr*******Jll:Jll:JII ••

c.s

CVND (continued)
if leading sign separate
then

!:l~:al:~ ~:~::~'l~i~~db~::ea~=es~::at~der of the source
field to the target
else
validate, zerofill, and move the first N-l digits of the
source field to the target
fetch the trailing sign byte and save it
endif
NOTE: (Special Case) If the source len9th is only 1, there is
a s1gn 1" the source, but no dig1tS, so a zero is
transferred to the target f1eld to be overpunched,
Strip the source sign byte and set the sign flags so that the
target may be overpunched,

.

10/ 2/86

COMMENT

9:27 AM

PAGE 350
RECORD
NO
17351
17352
17353
17354
17355
17356
17358
17359
17361
17362
17364
17365
17366
17367
17368
17369
17370
17372
17373
17375
17376
17378
17379
17381
17382
17384
17385
17386
17387
17388
17389
17390
17392
17393
17395
17396
17398
17399
17401

COBOL II FIR"""'ARE INSTRUCTION SET - CONVERT NUMERIC DISPLAY
••••••••••• ALU A··········· ••••••••••••• ALU B ***********111**
C.S.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/88

9:27 AM

COMMENT

LEADING SIGN SEPARATE
1220

CLSS

1221

JSB
RH

1222

JSB

UNC

NBAF

RA

RD

ADD
·+8

UNC

CAD

BKX7

JSL

VMLB

UNC

JSB

COUT

F4B

FETCH LEADING SEPARATE SIGN
SOURCE CHARACTER COUNT -1
SAVE LEADING SIGN
VALIDATE AND MOVE (SOURCE COUNT - 1)
SIGN HANDLING BELOW
ILLEGAL ASCII DIGIT TRAP

TRAILING SIGN SEPARATE
1223

CTSS

ADO

1224
1225

RG

1226
1227

RA

ADD
RE

BNDE
JSB

RH

NBAF

ADO

UNC
RD

CAD

BKX7

JSL

VMLB

UNC

JSB

COUT

F4B

SOURCE CHARACTER COUNT - 1

ADD

VALIDATE AND MOVE (SOURCE COUNT - 1)
BOUNDS TEST FOR SIGN BYTE FETCH
ILLEGAL ASCII DIGIT TRAP
FETCH TRAILING SIGN

ADD

SAVE TRAILING SIGN

SIGN HANDLING FOR SEPARATE SIGN TYPES
1228

RA

JSBC NBAS

1229

RD

ADD

122A

ADD

122B

JSB

ZERO
RH

COVP

SPIB ADD

RH

ADO
UNC

XRO

F2HB

JSL

STPS

UNC

JSB

COUT

F4B

DOES SOURCE CONSIST OF ONLY A SIGN BYTE
ZERO REQUIRED FOR OVERPUNCH
RESTORE SIGN BYTE
SAVE LEFT/RIGHT TARGET BYTE
STRIP SIGN FROM SIGN BYTE
OVER PUNCH LAST TARGET BYTE
ILLEGAL ASCII DIGIT TRAP

PAGE 351
RECORD
NO
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438

COBOL II FIRMWARE INSTRUCTION SET - CONVERT NUMERIC DISPL.AY
C.S.

*111***.** ••• ALU A ."111:*111***111111:*

_JltIllJIIlIIlllJIIJII**III*. ALU B ***IIII*IIII11J11**IIt**Ii:

ADDR

LML RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKII'

CVND

(conti.nued)

If leading sign overpunched
then
fetch tht sign byte
if the sign byte is blank
then
zerofill the byte
clear the significance trigger so that leading blanks are
allo'tl/ed
endif
save the sign byte
remove the overpunch from the sign byte
test the stripped sign byte for validity and move it to the
target field
validate, zerofHl, and move the remainder of the source
field to the target
else
validate, zerofill, and move the first N-l digits from the
source to the target
l;t~~et~tg:ty~c:~:: trigger is off and the sign is blank
then
zerofi11 the sign byte
endif
remove the overpunch from the sign byte
test the stripped Sign byte for validity and move 1t to the
target field
endif
strip the ~verpunch and set the sign so that the target may
be overpunched

10/ 2/86
COMMENT

9:27 AM

PAGE 352
RECORD
NO
17440
17441
17442
17443
17444
17445
17447
17448
17450
17451
17453
17454
17456
17457
17459
17460
17462
17463
17465
17466
17468
17469
17470
17471
17472
17473
17474
17476
17477
17479
17480
17482
17483
17485
17486
17488
17489
17491
17492
11494
17495
17497
17498
17500
17501
17502
17503
17504
17505
17506
17508
17509
17511

COBOL II FIRtoWARE INSTRUCTION SET - CONVERT NUMERIC DISPLAY
C, s,
*********** AlU A *********** ••••••••• * ••• ALU B **************
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SK I P COMMENT

10/ 2/86

9:27 AM

LEADING SIGN OVER PUNCHED
122C

CLSO 0020
RH

1220

ADDL

RO

ADD

RD

ADD

122E
122F

JSB
SF3A

RH

CF3A

0030

RD

ADDL

ADD
SPOA RH

1230

NBAF

JSL

RH

NCRY

RH

SPIB JSBS CTRP

UNC

RA

CAD

1231

JSB
ADD

1233

JSB

NBAS
*+A

UNC

NZRO

REMO

JSBS CTRP

1232

UNC

JSBS *+2

UNC
NCRY
BKX7

JSL

VMLB

UNC

JSB

COUT

F4B

BLANK FO~ TEST
FETCH LEADING OVERPUNCH SIGN
SAVE LEADING OVERPUNCH, SET SIGNIFICANCE
CHECK FO~ LEADING BLANK
CLEAR SIGNIFICANCE
ZERO FILL LEADING BLANK
STRIP LEADING OVER PUNCH FOR TARGET BYTE
ILLEGAL ASCII DIGIT TRAP
ILLEGAL ASCII DIGIT TRAP
STORE STRIPPED LEADING BYTE
SOURCE CHARACTER COUNT - 1
VALIDATE AND MOVE {SOURCE COUNT - 1)
SIGN HANDLING BELOW
ILLEGAL ASCII DIGIT TRAP

TRAILING SIGN OVER PUNCHED
1234

CTSO

ADD

1235
1236
1237

RA

CAD

ADD
RG

RE

0020

BNDE
ADDL

1238

JSB

1239

ADO

123A

RH

123B

SPOA RH

123C

JSL
RD
*+2

F3A

RH

RD

0030

ADO

JSB
JSB

NBAF

UNC
F4B
UNC
NZRO

SUB
ADDL

RH
UNC

JSL

RD

JSBS CTRP

NCRY

JSB

UNC

NBAS

BKX7
VMLB
COUT

RH

REMO
SPIB JSBS CTRP

NCRY

ADD

SOURCE CHARACTER COUNT - 1
VALIDATE AND MOVE {SOURCE COUNT - 1)
BOUNDS TEST OVER PUNCHED BYTE
ILLEGAL ASCII DIGIT TRAP
BLANK FOR TEST
FETCH TRAILING OVER PUNCH SIGN
ALLOW BLANK FILLING?
TRAILING BLANK?
ZERO FILL TRAILING BLANK
SAVE TRAILING OVERPUNCH
STRIP OVERPUNCH
ILLEGAL ASCII DIGIT TRAP
ILLEGAL ASCII DIGIT TRAP
STORE STRIPPED TRAILING BYTE

OVER PUNCH HANDLING FOR OVER PUNCHED TYPES
1230
123E

RD

ADD
ADD

RH

XRO

ADD
JSL

STPO

F2HB
UNC

RESTORE OVER PUNCH
SAVE LEFT fRIGHT TARGET BYTE
STRIP OVER PUNCH

PAGE 353
RECORD
NO
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17526
17527
17529
17530
17532
17533
17535
17536
17538
17539
17541
17542
17543
17544
17545
17546
17547
17549
17550
17552
17553
17555
17556
17558
17559
17561
17562
17563
17564
17565
17566
17567
17569
17570
17572
17573
17575
17576
17578

COBOL II FIRMWARE INS1rRUCTION SET - CONVERT NUMERIC DISPLAY
~*********h ALU A ***********
********A**** AlU B **************
ADDR LML RREG SREG fOUNC SFNC STaR SPSK RREG SREG FUNC SfNC STaR SPEC SKIP

C.S.

10/ 2/86

9:27 AM

COMMENT

CVND (contlLnued)
1. Overpunch the last target byte and write the last target
word if the source was signed
2. If the gource was unsigned, then just write the last
target nord.
123F

CO'llP

CF3A

lIDO

XRO

JSB

1240

lIDO

RF

AOD

1241

lIDO

SP3B

AOD

1242

lIDO

1243

lIDO

1244

;rSB

1245
1246

RG

UBB

COUT

UNC

RH

OPB

ADD

LLZ

UBB

lOR

RF

INC

I~NDE

SP3B

ADD

lIDO

1248

lIDO

1249

.JSB

COUT

UNC

RH

,JSB

COUT

NF2

RF

INC

SP3B

ADD

CUNS

124B

RG

124C

UBB

1240

UBB

IfiNDE
ADD

RLZ

JSB

COUT

UNC

UBA

RH
OVPN

lIDO

ROD

OPB

ADD

RL.Z

UBB

ADD

SWAB

ADD
lOR

UNC
DATA

ROD

RRZ
DATA

RESET LEADING BLANK FLAG
LEFT OR RIGHT TARGET BYTE?
fETCH LAST SOURCE WORD
LAST BYTE IS TO BE OVER PUNCHED
OVER PUNCH LAST TARGET BYTE
LEFT BYTE FROM OLD TARGET WORD
DONE
REWRITE LAST TARGET WORD

RH
OVPN

UBB

UNC
DATA

JSL

OPB

NEG
ROD

JSL

1247

124A

"+6

FETCH NEXT TARGET WORD
BOUNDS TEST LAST TARGET WORD
LAST BYTE IS TO BE OVERPUNCHED
OVER PUNCH LAST TARGET BYTE
RIGHT BYTE FROM OLD TARGET WORD
DONE
WRITE LAST TARGET WORD

WAS LAST TARGET WORD WRITTEN?
FETCH NEXT TARGET WORD
BOUNDS TEST LAST TARGET WORD
OVERPUNCHED LEFT BYTE
RIGHT BYTE FROM OLD TARGET WORD
DONE
WRITE LAST TARGET WORD

PAGE 354
RECORD
NO
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
11595
17597
17598
11600
17601
17603
17604
17606
17607
11609

COBOL II FIRMWARE INSTRUCTION SET - CONVERT NUMERIC DISPLAY
C.S.
• •••••••••• ALU A··········· ••••••••••••• ALU B··············
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
Jill II * * Jill * Jill Jill Jill ** " ... "111**. __ • III III * III ** * III *11 *.JIII * * **** II *" III Jill *111 II Jill II ** * ** II * III Jill * II * * * III III Jill III

10/ 2/86

9:27 AM

COMMENT

CTRP ICVND trap for illegal ascii digit)
Signal an illegal ascii digit.
COUT ICVND finish routine)
1. Perform the proper SDEC.
2. Check for either of the traps that may have occurred
3. ~!!teY~!t~~~t~~~.length or illegal ascii digit)
III: III II Jill

* II Jill II III III Jill Jill Jill III III *" * !II * III III Jill III II III .. III III .""JIII **" Jill * III II III Jill *. Jill * * II ** .. * III III * Jill * Jill III * * * * •• ** Jill *

124E

CTRP

ADD

124F

COUT

SP4A ADD

1250

ADD

1251

JSZ

1252

ADD

TRPR

ADD

SF4B

EVEN

ADD

EPP2

EPOP

ADD

F3A

JSZ
ADD

CLO
TRPA

F4B
NEXT

ILLEGAL ASCII DIGIT TRAP EXIT
SECOND WORD OF OPCOOE
POP 2 PARAMETERS
POP THIRD PARAMETER IF SDEC • 1
CLEAR THE OVERFLOW BIT IN STATUS REGISTER
ILLEGAL :SOURCE LENGTH TRAP
ILLEGAL ASCII DIGIT TRAP
NEXT INSTRUCTION

PAGE 355
RECORD
NO
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17622
17623
17625

COBOL II FIRMWARE INSTRUCTION SET - CONVERT NUMERIC DISPLAY
~**~~****** AlU A *.*********
*** •• **.***** ALU B *************ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

C.S.

10/ 2/86

9:27 AM

COMMENT

EXTENDED BOUNDS CHECK (DL-DB)

1253

.

1254
1255

in

~~U~~~ }:~le~nt~~f~~:§V~n~f~;e~~u~~:tt::r.be

III .... III III lit III

* * III III ... ,. '" III * * * iii III * III III * III III: III III III III III Jill III III III III . . . III ,... * III III III 111 "

CEac
UBB
RH

DL

III III 111 III

*

ADD

8000 RH

ADDL

BNDE
ADD

RG

BNDE
ADD

ROD

UBB

DL-DB

!1ft III III 111 • III JIll

after

* III: * '" * 11: * III .. Jill III III

RH
RSB

EXTENDED BOUNDS CHECKING
ADD 32K TO THE EFFECTIVE
BOUNDS TEST EA ( a SM. EA
RETURN IF OK W/O S KILL.

FOR DL-DB
ADDRESS
>- DL
(2521)
FIRE UP MEM (2527)

PAGE 356
RECORD
NO
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646

COBOL II FIRMWARE INSTRUCTION SET - EDIT
C.S.

ADDR

*********** AlU A *****.*****

LABL RREG SREG FUNC SFNC STOR SPSK

*.*******.**. ALU B *********.**.*
RREG SREG FUNC SFNC STOR SPEC SKIP

EDIT

~: ~~lt1ar~!!dt~~SfrHi~~:~si' 'I, float char ('$'), loop
IfU~!t~~~in;n1r:~g:~fi~~~~~u~tiy~e~ b)~flhen restore

3.

fill char, float char, loop count, and the significance
from the two extra words placed in the interrupt

!~:~~:r

4.

s.

!~~~i:~~Z~o~~~lt~;~~t p~t~t~~!'t~~~~~ ~~:r~tr:~st!ry!tbe

~~~r~~Tr~ei~h:L~~urce

word and bounds test
performed in ALUA.

pointers, fetch the first source
All the source operations will be

10/ 2/86

COMMENT

9:27 AM

PAGE 357
RECORD
NO
17648
17650
17651
17653
17654
17656
17657
17658
17659
17660
17661
17662
17664
17665
17667
17668
17670
17671
17673
17674
17675
17676
17677
17678
17679
17681
17682
17684
17685
17687
17688
17690
17691
17693
17694
17696
17697
17699
17700
17702
17703
17705

COROL II FIRMWARE INSTRUCTION SET - EDIT
_1I,lj1ll1ll1ll.*1II:1II*
ALU A JlltJII!ll****JllIIlIII'lll
C S.
ADDR LABL RREG SREG rUNC SFNC STOR SPSK
1256 EDIT 0004
~,DDL
RH
1257
1258

J'SB

0020

ADDL

XRO

P,DD

RA

*11111111.*******. ALU B ** ___ 111.**_*****1"
RREG SREG FUNC SFNC STOR SPEC SKII'

ZERO

'+4

XRO

JSLZ ADJS
0024

ADDL

10/ 2/86

9:27 AM

COMMENT

UNC

NEED 4 TOS REGISTER PARAMETERS
FILL CHARACTER DEFAULT IS A BLANK
LOOP COUNT DEFAULT IS ZERO
ADJUST THE NUMBER OF TOS REGISTERS
RESTARTED AFTER AN INTERRUPT?
fLOAT CHARACTER DEFAULT IS A DOLLAR SIGN 1$)

UNC

RESTORE LOOP COUNT
RESTORE FLOAT CHARACTER
SIGNIFICANCE TRIGGER TRUE OR FALSE?
RESTORE FILL CHARACTER
SET SIGNIFICANCE TRIGGER IF TRUE
FETCH NEXT TWO PARAMETERS
SET MARKER WORD; CLEAR OVERF LOW

XRl

RESTORE SH,CK IF RETURNING FROM AN INTERRUPT
1259

RB

P,OD

CF3A

RC

ADD

RRZ

XR1

POP

125A

RB

P,DD

POS

RC

ADD

LRZ

XRO

POP

125B

PlOD

SF3A

~IDD

JSZ
CAD

PUL2

125C

RA

CLO

RRZ

XRO

INITIALIZE BOTH SOURCE AND TARGET POINTERS, OPERANDS, AND FLAGS
1250

RC

125E

UBA

DB
DL

125F

UBA

1260

RB

~IDD

LSR

/100

SM
RH

:rSBS CEBC
/100

ROD
NCRY

LSR

1261

UBA

DB

/100

UBA

DL

;JSBS CEBC

1263

RH

lIDO

1264

RB

lIDO

ODD

lIDO

CF 1

1265

RG

UBA

RH

1262

RH
RE

RG

UBA

RC

NF5B

JSBS CEBC

NCRY
RF

ROO

JSB "4·2
JSBS CEBC

NF5B
NCRY

CSR
OPB

RF

RG
'4·2

ADD

ROD
NCRY

INC
JSB

ADD
CAD

HBF2
LRZ

SP3B SF 1
RF

TARGET RBA/2
SM+l FOR INITIAL BOUNDS CHECKING
TARGET EFFECTIVE ADDRESS
SKIP BOUNDS TESTING IF SPLIT STACK MODE
BOUNDS TEST EA ). DL
BOUNDS TEST SM ). EA
SOURCE RBA/2
TARGET OPERATIONS PERFORMED IN ALUB
SOURCE EFFECTIVE ADDRESS
SKIP BOUNDS TESTING IF SPLIT STACK MODE
BOUNDS TEST EA )= DL
BOUNDS TEST SM )- EA
SOURCE OPERATIONS PERFORMED IN ALUA
F2 :. EVEN/ODD TARGET RBA
EVEN/ODD SOURCE RBA?
SAVE LEFT TARGET BYTE
Fl :- EVEN/ODD SOURCE BYTE
SYNCHRONIZE TARGET ADDRESS

PAGE 358
RECORD
NO
17707
17708
17709
17710
17711
17712
17713
17714
1771">
17716
17717
17718
17719
17720
17721
17722

COBOL II FIRMWARE INSTRUCTION SET - EDIT
C. S
••••••••••• ALU A···········
ADDR LABL RREG SREG FUNC SFNC STOR SPSK

************* ALU B .t************

RREG SREG FUNC SFNC STOR SPEC SKIP

.

*********************** •• *************************.******************
EOI2 (start/restart subprogram from new RBA)
Set all SUbprO?ram pointers, etc for execution of the first
~~~f~~?r:~e~~~1~~C!~O~heO~e!f!~bP~~9~~~eRB~Pt - to
ED14 (next subprogram instruction)
Decode the next sequential byte of the edit subprogram.
Fetch the next byte and extracts the left nibble for decoding
throu~h a branch table.
If the opcode is %17, then decode
the rlght nibble for the opcode.

.

*************l1li**********************.***************.*****111**********

10/ 2/86

COMMENT

9:27 AM

PAGE 359
RECORD
NO
17724
17725
17726
17727
17728
17729
17731
17732
17733
17734
17735
17736
17737
17739
17740
17742
17743
17745
17746
17748
17749
17751
17752
17754
17755
17757
17758
17760
17761
17763
17764
17765
17766
17767
17768
17769
17771
17772
17774
17775
17777
17778
17780
17781
17783
17784
17786
177 87
17789
17790
17792

COBOL II FIRMWARE INSTRUCTION SET - EDIT
'1(11(****#1:*11:** ALU A **JllIII#t******
C. S.
ADDR ILABL RREG SREG FUNC SFNC STOR SPSK

www.w.w •••••• ALU B "*****'111***1111' ••
RREG SREG FUNC SFNC STOR SPEC SI(lP

101 2186

9:27 AM

COMMENT

RESTART EDIT SUBPROGRAM AT CURRENT RBA
1266

SM

mI2

ADD

RG

JSL

SPGS

UI~C

JSB

NSPG

UNC

SM FOR SOURCE/TARGET UPPER BOUND TESTS
SET UP SUBPROGRAM POINTERS AND FLAGS

NEXT SUBJIROGRAM INSTRUCTION DECODING
1267

ADD

EDI4

1268

ADD

0004

ADDL

GET SUBPROGRAM BYTE CONTAINING OPCODE

ADO

WRX3

ADD

SHIFT COUNT TO GET OPCODE
EXTRACT FIRST NIBBLE OPCODE
REPEAT SHIFTING TO OBTAIN OPCODE
SHIFT AND SAVE OPCODE
DONE WHEN REPEAT COUNT IS ZERO
TABLE INDEX :- FIRST NIBBLE OPCODE/2
TABLE BASE
INDEXED TABLE ADDRESS

1260

ADD

RAR

ADD

TRANSFER TABLE ADDRESS TO RAR

126E
126F

ADD

1269

OOFO SPIEl ANDL

126A

UBA

126B

UBA

126C

UBA

ADD

LSR

SP4A

ADD
UBB

UBB

REPC

UBB

CAD

EDT!

ADDL LBL

ZERO

ADD

ADD

RSB

ADD

RANDOM TABLE BRANCH

LEFT Nl:BBLE OPCOOE BRANCH TABLE
SP4/\ JSB

Me

EVEN

1271

JSB

MN

UNC

1272

SP4/\ JSB
SP4/\ JSB

MN

EVEN

1273

IC

EVEN

1274

SP4/\ JSB

ICI

EVEN

SUFT

UNC

ADD

ICP

UNC

IS

EVEN

ADD
SP4A JSL

1270

IEDT 1

1275

JSB

1276

JSB
SP4/\ JSB

1277

SJl4A JSB

MA

OI>D

SJl4A JSB
SP4A JSB

IC

01>0

ICI

01>0

SJl4A JSB

BRS

OOD

EDI5

OI)D

ADD

MOVE CHARACTERS
MOVE ALPHABETICS
MOVE NUMERICS
MOVE NUMERICS SUPPRESSED
MOVE NUMERICS WITH FLOATING INSERTION
INSERT CHARACTER
INSERT CHARACTER SUPPRESSED
INSERT CHARACTERS IMMEDIATE
INSERT CHARACTERS SUPPRESSED IMMEDIATE
BRANCH IF SIGNIFICANCE TRIGGER IS TRUE
SUBTRACT FROM TARGET POINTER
SUBTRACT FROM SOURCE POINTER
INSERT CHARACTER PUNCTUATION
INSERT CHARACTER PUNCTUATION SUPPRESSED
INSERT CHARACTERS DEPENDING ON SIGN
SECOND NIBBLE OPCODE IF NON OF THE ABOVE

PAGE 360
RECORD
NO
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17810
17811
17813
17814
17816
17817
17819
17820
17822
17823
17825
17826
17828
17829
17831
17832
17834
17835
17837
17838
17840
17 841
17842
17843
17845
17846
17848
17849
17851
17852
17854
17855
17857
17858
17859
17861
17862
17863

COBOL II FIRMWARE INSTRUCTION SET - EDIT

c.s.

ADDR

1Ir******.*** ALU A ***********

****.#1:***.*.111 ALU B ********.*****

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III III * III III * * III * It II!: * •• * III *11 * III 111** ** * * * * * * * * III III III * . . * III III III * III * III * III III: 111* III III * * It' .... * III III * . . **111 * .. * *
*
SPGS (Subprogram setup)

10/ 2/86

9:27 AM

COMMENT

Sets up the subprogram pOinters to point to the first byte
in the EDIT subprogram which may be either PB or DB relative.
NSPG (Next subprogram instruction)
Fetchs the next subprogram instruction byte and increments
the subprogram pointers.
* * * .. * III III * * * III III III * * *_ * ***.111.111 * III III * * * * III It III * * * * * .. III III III * ... III * * III * * III III * * III * * III * '* III III III * III: III
l1li:

1278

SPGS

1279

UBB

127A

UBA

CIR

JSB

PB

ADD

PB

UBNE

PB

ADD

*+5

RH

ADD

RD

ADD

127E

UBA

DB

ADD

127F

UBA

DL

JSBS CEBC

DL
RH

ADD
ADD

1282

RE

ADD

1283

NSPG RD
XRl

1284

INC
INC

XR3
XRl

ROD

ROB3

RG

RD
XRl

ODD
ROB3

ADD

EVEN
RSB

XR3

BNDE

XR3

BNDE

1289

ADD

UBA

XR3
RSB
BKX3
·+2

NFSB
NCRY

JSBS CEBC
POPR

ADD
ADD

ROD

SREG ADD

RH

JSB
RG

CIR
RH

POPR

UBNE
ADD

NCRY

1286

1288

BKX3

BNKD ADD
RH

PSHR

LSR

ADD

ROB3

LSR

1285
1287

UBA

PL

XR3
XRl

ADD
BNKP ADD

PL

1270

1280

RD

RH

127B
127C

1281

ODD

XR3

ADD
RD

RH
UBB

RSB

ADD

EVEN

OPB

ADD

RRZ

SPIB

OPB

ADD

LRZ

SPIB

XR3
RH

ADD

RREG RH

RSB

BNDE
BNDE
ADD

RSB

PB/DB SUBPROGRAM?
SUBPROGRAM RBA/2; SAVE RETURN ADDRESS
PB RELATIVE EFFECTIVE ADDRESS
PB RELATIVE BANK
BOUNDS TEST EA ) = PB
BOUNDS TEST PL ) = EA; RESTORE RETURN ADDRESS
SUBPROGRAM LOWER LIMIT
SUBPROGRAM UPPER LIMIT
FETCH FROM PB RELATIVE EFFECTIVE ADDRESS
RETURN
SUBPROGRAM RBA/2
DB RELATIVE BANK
DB RELATIVE EFFECTIVE ADDRESS
SKIP BOUNDS TESTING IF SPLIT STACK MODE
BOUNDS TEST EA ) a DL
BOUNDS TEST SM ). EA
SUBPROGRAM LOWER LIMIT
RESTORE RETURN ADDRESS
SAVE SUBPROGRAM ADDRESS AND FETCH BYTE
SUBPROGRAM UPPER LIMIT
REFETCH SOURCE WORD
RETURN
INCREMENT SUBPROGRAM RBA; LEFT /R IGHT BYTE?
LEFT/RIGHT SUBPROGRAM BYTE?
FETCH NEXT SUBPROGRAM INSTRUCTION
RIGHT SUBPROGRAM BYTE; RETURN
SUBPROGRAM EFFECTIVE ADDRESS
LEFT SUBPROGRAM BYTE
PB/DB SUBPROGRAM?
SUBPROGRAM UPPER LIMIT
BOUNDS TEST LOWER LIMIT
BOUNDS TEST UPPER LIMIT
(2526)
REMOVE TICB OF 2522 .....
BOUNDS TEST LOWER PB LIMIT
BOUNDS TEST UPPER PB LIMIT
ALSO REMOVED RSB OF 2522 TO NEXT LINE (2526)
(2526)
RETURN MORE SLOWLY THAN BEFORE ..

PAGE 361
RECORD
NO
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17 877
17878
17879
17880
17882
17883
17885
17886
17888
17889
17891
17892
17894
17895
17897
17898
17900

COBOL ]1 FIRMWARE INSTRUCTION SET - EDIT
~~~~~****.* AlU A ********~**
ADDR l.ABL RREG SREG FUNC SFNC STOR SPSK

C.S

.

III III •

.

* 11: III III III 11: III •

~IC

111:

111:

111: 111: ..

MC (Move Characters)

10/ 2/86

9:27 AM

COMMENT

"

1. Extract the immediate operand count from the right nibble
of the instruction.
2. If the immediate operand count is zero, then fetch the
extended operand count in the next subprogram instruction
byte.
3. Move count bytes from the source to the target.
4. Next subprogram instruction.

11 !IIr III III: 11: III

128A

11:**111111111**11**** ALU B *1II*JII:**tlI***III**1t

RREG SREG FUNC SFNC STOR SPECSI(lP
11: 11: III 11: III .,. 111 * It III 11: 11: III 11: III 11: '" III 11: 11: * * III 11: III '" 'Ie III III III III III 11: 11: 11: * III * III III III 11: III
* III 11: III III '" III III
11: *

* III: III 11: '" 11: III: III 11: * III III III III '"

11: 11: 111 III '" 11: 11: 11: III 11: 11: III III: III ]I( If 11: • III .... '"

ADD

* III '"

til III '" III

'If:

III III .. III III III 11: III III III

OOOF SPIB ANDL

111:

11: '" III III 11: )I: III

SPIB
NSPG

ZE:RO

ADD

UBB JSL
SPIB ADD

ADD

UBB

EDI3

ZE:RO

128B

ADD

128C
1280
128E

ADD

128F

ADD

1290

JSB

JSL
JSL

"-3

UNC

JSL
FFFF SP1B ADDL

NSRC

UNC

NTRG

UIIC
SP1B

IMMEDIATE OPERAND COUNT
EXTENDED OPERAND COUNT
NUMBER OF CHARACTERS TO MOVE
LOOP UNTIL COUNT • 0
FETCH NEXT SOURCE BYTE
STORE NEXT TARGET BYTE
NEXT ITERATION
DECREMENT THE COUNT

PAGE 362
RECORD
NO
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17921
17922
17924
17925
17927
17928
17930
17931
17933
17934
17936
17937
17939
17940
17942
17941
17945
17946
17948
17949
17951
17952
17954
17955
17957

COBOL II FIRMWARE INSTRUCTION SET - EDIT
C.S
••••••••••• AlU A··········· **.* ••• * ••••• AlU B * •••••• ** •••••
ADDR lABl RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III: III: III: **** III: **. * * * ••• * lit * •• III: ** * * .. * III: *- * * III: III III 1/1 III: * * III: III III: III: * III: * III: * It_ *. III: III III: III: III: III: III: * * III III: * •• 11 *

10/ 2/86

9:27 AM

COMMnlT

MA (Move Alphabetics)
Extract immediate operand count from the right nibble of
the instruction.
2. If the immediate operand count is zero, then fetch the
extended operand count in the next subprogram instruction
byte.
3.
4.

~~~~ ~~~~tbbt!elsf~O~al~~ ~~~;~~a!~ l~~t!~~g!!~e~~:~~ing
letter, or ~lank. If an invalid character is found, then
~~xP!~g~~o;~~!ii~!~~~c:I:~. is signaled.

'III" III III: III: * III: III III: III III III * * III: III III: III: III: * ** ** * III: III: * *. * III: * * III: * * III: III: *. III: * ••• III:
1291

MA

0020

ADDl

SPOA

111: • • •

1292

ADD

UBB

1293

ADD

SPIB ADD

1294

ADD

UBB

1295

ADD

JSL

ZERO

NSRC

UNC

0041

ADDl

OOSA

ADDl

SUB

UBB RH
007A

ADDL

RH

129A

SPOA RH

UBA

UBB

JSBS ·+3

129B

ADD

129C

JSB

1290

ADD

·-8

RH

ZERO

EDI3

RH
UBA
0061

ADDL
SUB

SPlB
NSPG

JSl

1297
1299

* III: III: III: III: III: III. * III * III: III: III: III: III:

JSL

1296
1298

III.

OOOF SP1B ANDl

JSBS *+4
JSBS ·+2

TICB
TICB

NZRO

ADD
JSl NTRG
FFFF SPIB ADDl
SP1B

UNC

UNC

JSL

UNC

ETRP

BLANK FOR COMPARISON
IMMEDIATE OPERAND COUNT
EXTENDED OPERAND COUNT
NUMBER OF ALPHABETICS TO MOVE
LOOP UNTIL COUNT • 0
FETCH NEXT SOURCE BYTE
"AM FOR UPPERCASE RANGE TEST
"Z" FOR LOWERCASE RANGE TEST
RANGE TEST CHAR ). "A"
RANGE TEST "Z" ). CHAR
"a" FOR UPPERCASE RANGE TEST
"z" FOR lOWERCASE RANGE TEST
RANGE TEST CHAR )- "a"
RANGE TEST ·z" ) s CHAR
BLANKS ARE ALSO CONSIDERED ALPHABETIC
STORE NEXT TARGET BYTE
NEXT ITERATION
DECREMENT COUNT
INVALID ASCII DIGIT TRAP

PAGE 36:1
RECORD
NO
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17912
17973
17974
17975
17976
17977
17978
17979
17980
17981

COBOL II FIRMWARE INSTRUCTION SET - EDIT

C,S

ADDR

••

lIIlIIlIIlItllllllllloflllll

ALU A

1II11r1ll1ll1ll1ll*1III1II1II1II

LABL RREG SREG FUNC SFNC STOR SPSK

MN/MNS/MH
(Move I'lumerics,
Move INumerics Suppressed,
Move with FLoating inse~tion)
1. EKtract the immediate operand count from right nibble of

the instruction.
then fetch the
extended operand count in the next subprogram instruction
byte
3. If the si~nificance trigger is on, then skip to step ???
4. ~::: :!r!1~g ~:a~::ef~~~e~~:s~o:~c;il~i~:eb~a{~:tfYtlhchar
if Mov'e Numerics Suppressed or Move with FLoating
insertion.
5. ~~r!i~;ag:n'h:e;~rlf~=:rt~; ~::~c~u!:rl:: ~~~~:!~s:~t:r
Move With FLoating Insertion.
6. Insert the float char if Move with FLoating insertion.
*
III III * * III 1\ III III III III * III III 111:111111111111 III
III III III *111.,. III III III III III: III" III III: III 111111 * III." III: III III III 111111111111: * III *.111 lilt III III '" III * III III III III: #I: III * III
2. If the immediate operand count is zero,

111:

10/ 2/86

**III:*JII:* ....I1.. **1II ALU B ******111111111111111**#1

RREG SREG FUNC SFNC STOR SPEC SKIP

COMMENT

9:27

AM

PAGE 364
RECORD
NO
17983
17984
17986
17987
17989
17990
17992
17993
17995
17996
17998
17999
18001
18002
18004
18005
18007
18008
18010
18011
18013
18014
18016
18017
18019
18020
18022
18023
18025
18026
18028
18029
18031
18032
18034
18035
18037
18038
18040
18041
18043
18044

COBOL I I FIRMWARE INSTRUCTION SET - EDIT
••••••••••• ALU A · · · · · · · · · · ·
C.S.
ADDR
LABL RREG SREG FUNC SFNC STOR SPSK
129E

SNOWARN
MN
0020

ADDL

XR5

129F

0030

ADDL

XR6

12AO

ADD

12Al

JSB

12A2

ADD
RH

12A3
12A4

JSBS ·+6

XR6

ADO
ADD

12A6

JSB

12A7

ADD

12A8

ADD

12A9

RH

XR6

ADD

12AB

ADD

UBB

F3A

NZRO

UBB

RA

RH

JSL

SPIB
ZERO

NSPG

JSL

EDI3

ZERO

JSL

NSRC

UNC

LSR

EVEN

SP4A ADO
XRO

·-5

UNC

NTRG

FFFF SPIB ADDL
UBB

NZRO

RH

ADO
JSL

JSBS ·+4

12AA

OOOF SPIB ANDL

SPIB ADD
MNI

XR5

12A5

• •••••••••••• ALU B ********** .. ***
RREG SREG FUNC SFNC STOR SPEC SKIP

RA

XRO

9: 27 AM

BLANK FOR LEADING TEST
IMMEDIATE OPERAND COUNT
ZERO FOR LEADING TEST
EXTEND OPERAND COUNT
NUMBER OF NUMERICS TO MOVE
SIGNIFICANCE TRIGGER ALREADY SET?
LOOP UNT I L COUNT • 0
FETCH NEXT SOURCE BYTE
LEADING BLANK?
SUPPRESSED?
ZERO FILL LEADING BLANK FOR MOVE-NUMERICS
USE THE FILL CHARACTER IF SUPPRESSED

UNC
STORE NEXT TARGET BYTE
NEXT ITERATION
DECREMENT COUNT

SPIB

JSL

EDI3

ZERO

JSL

NSRC

UNC

SP4A ADD

10/ 2/88
COMMENT

EVEN

LSR

LOOP UNTI L COUNT '" 0
FETCH NEXT SOURCE BYTE
LEADING ZERO?
SUPPRESSED?

RH

ADD

USE FILL CHARACTER IF SUPPRESSED
l2AC

JSB

12AD

0004

l2AE

UBA

12Af

RH

12BO

JSL
·-5

UNC

SPOA

SP4A JSBS ·+8

SWARN

ADD

UNC
STORE NEXT TARGET BYTE
NEXT ITERATION
DECREMENT COUNT
MfL OPCOOE

SPIB

ADO
NZRO
SPOA

ADD

12B1

FFFF SPlB ADDL

ADDL

ADO

NTRG

RH

ADD
XRl

MFL?

ADD

RH

SAVE SOURCE CHARACTER
FLOAT CHARACTER

JSL

NTRG

UNC

JSB

*+3

UNC

STORE FLOATING CHARACTER AT NEXT TARGET BYTE
RESTORE SOURCE CHARACTER
CONTINUE TRANSfER

PAGE 365
RECORD
NO

COBOL II FIRMWARE INSTRUCTION SET - EDIT
c s
.~*.~~.**~. ALU A * ••••••• ***
ADDR LABL RREG SREG FUNC SFNC STOR SPSK

18046
18047
18048
18049
18050
18051
18052
18053
18054

9:27 AM

COMMENT

MN/MNS/MFL (continued)
Move the remaining bytes from the source to the target
~~~~d~}i~l:e e~c~e a~~i~01i~~t the s;~~a! i~o~~}~~~t. as~!t n~it
significance Irigger since a non-blank character has been
encountervd in the source.

1 B055

18056
18057
18058
18060
18061
18063
18064
18066
18067
18069
18070
18072
18073
18075
18076
18078

101 2186

*"'111.111."'111111111'1** ALU B ••• **JIl*IIII11 •••.•1)I1

RREG SREG rUNC SFNC STOR SPEC SK[P

12B2
12B3

ADD
MIH

1284
12B5

UBB

ADD
RH

XR6

ADD

SF3A

0039

JSaS ·+3

NCRY

UBB

12B6

ADD

1287

JS8

12B8

ADD

·-5

UNC

JSL

EDI3

lEIW

JSL

NSRC

UNC

ADDL
RH

JSBS ·+3

NCRY

JSL

UNC

NTRG

FFFF SP18 ADDL
JSL

SP18
ETRP

UNG

LOOP UNTIL COUNT ,. 0
FETCH NEXT SOURCE BYTE
SET SIGNIFICANCE TRIGGER
"9" FOR COMPARISON TEST
NUMERIC RANGE TEST CHAR )= "0·
NUMERIC RANGE TEST "9" ). CHAR
STORE NEXT TARGET BYTE
NEXT ITERATION
DECREMENT COUNT
INVALID ASCII DIGIT TRAP

PAGE 366
RECORD
NO
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18099
18100
18102
18103
18105
18106
18108
18109
18111
18112
18114
18115
18117
18118
18120
18121
18123
18124
18126

COBOL II FIRMWARE INSTRUCTION SET - EDIT
C.S
••••••••••• ALU A···········
ADDR LABL RREG SREG FUNC SFNC STOR SPSK

••••••••••••• ALU B··············
RREG SREG FUNC SFNC STOR SPEC SKIP

.

10/ 2/86

9:27

AM

COf+IENl"

******************************************************1**************

IC/ICS (Insert Chlrlcter / Insert Chlrlcter Suppressed)
1. Ellt ract the immediate ope rind count f rom the right nibble
of the instruction byte.

2. If the immediate operand count 11 zero, then fetch the

extended operlnd count in the nellt subprogrlm instruction
byte .

3. Fetch the insertion chlrlcter from the next subprogrlm

t;S!~~c!~:nt~~t!nlt~~c:~:nst~nl~!~:~c~h!~!~Y:~

•

then use the fill charlcter

II

Suppressed,
the insertion chlrlcter.

4. Move the in.ert10n chlrlcter to the tlrget count timel.

•

***1. __ .****._.****-****-********-**********-*.*****-*1**1***.****1**
12B9

12BA
12BB
12BC
12BO

12BE
12BF
12CO
12Cl
12C2

IC

ADD
ADD
ADD
ADD
SP4A JSB
ADD
SPIB ADD
ADD
ADD
JSB

·+2

ODD

NF3A
RH

·-2

UNC

OOOF SPIB ANDL
SPIB
UBB JSL NSPG
SPIB ADD
SP2B
JSL NSPG
XRO ADD
RH
ADD
SP2B ADD
UBB JSL EDI3
JSL NTRG
FFFF SP2B ADDL
SP2B

ZERO
UNC

ZERO
UNC

IMMEDI~ITE OPERAND COUNT
EXTENDE:D OPERAND COUNT
NUMBER OF CHARACTERS TO INSERT
FETCH INSERT CHARACTER
INSERT CHARACTER SUPPRESSED (IC/ICS)?
FILL CHARACTER FOR IeS
USE FILL CHARACTER IF SIG. TRIGGER IS 0
USE INSERT CHARACTER
LOOP COUNT
LOOP UNTIL COUNT • 0
STORE NEXT TARGET BYTE
NEXT ITERATION
DECREMENT COUNT

PAGE 367
RECORD
NO
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18148
18149
18151
18152
18154
18155
18157
18158
18160
18161
18163
18164
18166
18167
18169
18170
18172
18173
18175

COBOL II FIRMWARE INSTRUCTION SET - EDIT
c.s.
~*~~******~ ALU A ******.****
ADDR LABL RREG SREG I~UNC SFNC STOR SPSK
ICI/ICSI

*.IIt*****iIr*IIiI~*

All' B *_**l1li********.

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

(IlUert Characters Immediate,
Iluert Characters Suppressed Iinmediatel

1. Ext ract the immediate operand count from the right nibble

of the instruction byte.
2. If the immediate operand count is zero, then fetch the
extended operand count in the next subprogram instruction
byte .

3.

~~~;e: ~'! ~:x ~n~:~rt C~~ ~:~ t! ~~m S~;: r:~~~~01~~'d 1~t! h: nd
:~:r::y::ft::n::c~r~?y:rt~sb:f~~v!=~n use the fill
,ADO

OOOF SPIB ANOL

I2C4

,liDO

UBB

I2C5

,liDO

SPIB ADO

I2C6

,ADO

UBB

JSL

12C7

.ADO

I2Ca

SP4A JSB

XRO

JSL
ADO

12C9

ADO

I2C3

ICI

12CA

SPIB ADO

12CB

ADD

12CC

JSB

-+2

000

NF3A
RH

JSL

ZERO
SP2B

EDI3
NSPG

ZERO
UNC
RH

ADO
ADD
JSL

- -6

SPIB
NSPG

UNC

FFFF SP2B AOOL

IMMEDIATE OPERAND COUNT
EXTENDED OPERAND COUNT
NUMBER OF CHARACTERS TO INSERT
LOOP UNTIL COUNT • 0
FETCH NEXT SUBPROGRAM IMMEDIATE BYTE
INSERT CHARACTER SUPPRESSED IMMEDIATE?
FILL CHARACTER FOR ICSI
USE FILL CHAR IF SIG. TRIGGER IS 0
USE INSERT IMMEDIATE CHARACTER

NTRG

UNC:
SP2B

STORE NEXT TARGET BYTE
NEXT ITERATION
DECREMENT COUNT

PAGE 368
RECORD
NO

COBOL II FIRMWARE INSTRUCTION SET - EDIT
C.S
••••••••••• ALU A···········
ADDR LABL RREG SREG FUNC SFNC STOR SPSK

18177

!If

18178

18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18196
18197
18199
18200
18202
18203
18205
18206
18208
18209
18211
18212
18214
18215
18217

* **!If III .. * * * * * * II: III 111:" * * III *

BRS

._.* * * .. * *" * * * ....

t.*_********* AlU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP
III

* III III 111 * III III III III * * *

*.

111*

10/ 2/86

9:27 AM

COMMENT

** * * III * * * III * *** * * *

(BRanch if Significance trigger is .et)

Ext ract the immediate operand displacement f rom the right
nibble of the instruction byte.
then fetch
the extended operand displacment in the next subprogram
instruction byte.
3. If the significlnce tri?ger is not set, then do the
4. 8:t!r~~~~rt~!a~i~~s~fU~h!0~isPlacement Ind either add or
5. ~~~:~:~tt~~el~~~~!;~:~e~: :heo~e~r~:b~~:9~~~PRBAram RBA.
1.

2. If the immediate operand displacement is zero,

12CD

************IIII**IIIi********************III********************************
SP4A
BRS 0080
ADDL
OOOF SPIB ANDL
SPIB

12CE

ADD

12CF

ADD

1200

JSB

12D1

NF3A

'+4

RD

1203

UBA

NSPG

ZERO

SPIB ADD
SP4A AND

ZERO
SPIB

RD

JSL

EDI6

JSL

EOI3

DISPLAC£MENT SIGN MASK
IMMEDIATE DISPLACEMENT OPERAND
EXTENDED DISPLACEMENT OPERAND
DISPLACEMENT OPERAND
SIGNIFICANCE TRIGGER?
POSITIVE/NEGATIVE DISPLACEMENT
EXTEND SIGN BITS IF NEGATIVE
OLD SUBPROGRAM RBA

ADD

CAD
SPIB ADD
ADD

UBB

JSL

FFOO SPIB IORL

ADD

12D2

12D4

UBB

UNC
UNC

NEW SUBPROGRAM RBA
RESTART SUBPROGRAM AT NEW RBA
NEXT SUBPROGRAM INSTRUCTION

PAGE 369
RECORD
NO
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247

COBOL II FIRtofloIARE INSTRUCTION SET - EDIT

C.S.

ADDR

..~

••••

**~*

ALU A

***.***~***

LABL RREG SREG FUNC SFNC STOR SPSK
SUFS/SUFT

************* ALU B **************
RREG SREG FUNC SrNC STOR SPEC SKIP

(SUbtract From Source pointer,
SUbtract From Target pointer)

1. Extract the immediate operand displacement from the right
nlbble of the instruction byte.
2. If the immediate operand displacement is zero, then fetch
the extended operand disp1acment in the next subprogram
instruction.
3. If the extended displacement operand is zero, then do
the next subprogram instruction.
4. Use SM.1 for upper stack limit to delay bounds testing at
SM until the word is actually fetched or stored.
5. Determine the sign of the displacement and extend the
sign bits.
SUFT (continued here)
6. Write the current target word and bounds test to flush

7. ~~gt!::: r~!esl~=:dt:ts=~~::~e~: ~~::e1~e target pointer
RBA.
•
8. Compute the new target effective address, bounds test, and •
9, ~:~tt~~b~~~~~a~Oin!~~~~~i~~~rations to be performed 1n ALUB.:

101 2186

COMMENT

9:27 AM

PAGE 370
RECORD
NO
18249
18251
18252
18254
18255
18257
18258
18260
18261
18263
18264
18266
18267
18269
18270
18272
18273
18275
18276
18278
18279
18.:Bl
182P2
18284
18285
18287
18288
18290
18291
18293
18294
18296

COBOL II FIRMWARE INSTRUCTION SET - EDIT
••••••••••• ALU A···········
C.S.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK
1205 SUFT 0080
ADDL
SP4A
1206
SP4A ADD
SPOA
1207
ADD
1208
SM
INC
RG
SPOA
1209
JSB SUFS
ODD
12DA
NF2
JSB *+4
12DB
RG
UBB BNDG
12DC
UBB
ADD RLZ
1200
ADD
12DE
RC
SPIB SUB LSR
12DF
UBA DB
ADD
RH
ROD
12EO
UBA DL
JSBS CEBC
NCRY
RE
ADD
ROD
12El
12E2
RH
CAD
RF
XRl ADD
12E3
ROB3
12E4
SM
ADD
RG

• •••••••••••• ALU B
RREG SREG FUNC SFNC
OOOF SPIB ANDL
UBB JSL NSPG
SPIB JSL EDI3
UBB SP4A AND
FFOO SPIB IORL
RF
INC
SP3B
ADD
OPB ADD RRZ
UBA UBB lOR
RC
SPIB SUB
JSBI ·+2
RG
UBA JSBS CEBC
RH
ADD
RC
CSR
OPB ADD LRZ
JSL EDI3

**********-**STOR SPEC SKIP
SPIB
ZERO
ZERO
ZERO
SPIB
ROD

DATA
RC
NF5B
NCRY
ROD
HBF2
SP3B
UNC

9:27 AM
10/ 2/86
COMMENT
DISPLACE:MENT SIGN MASK
IMMEDIATE DISPLACEMENT OPERAND
SAVE SUBINSTRUCTION
EXTENDED DISPLACEMENT OPERAND
DISPLACEMENT OPERAND; DO NOTHING IF ZERO
USE SM+1 TO TEST NEW RBAS BEFORE USAGE
POSITIVE/NEGATIVE DISPLACEMENT?
SUFT/SUFS?
EXTEND DISPLACEMENT SIGN BITS IF NEGATIVE
FINISH WRITING TARGET WORD IF LEFT BYTE
FETCH CURRENT TARGET WORD
BOUNDS TEST TARGET WORD ( SM+l
LAST TARGET BYTE
LEFT BYTE
OLD RIG~IT BYTE
WRITE TARGET WORD
NEW TARGET RBA/2
NEW TARGET RBA
NEW TARGET EFFECTIVE ADDRESS
SKIP BOUNDS TEST IF SPLIT STACK
BOUNDS TEST EA )- DL
BOUNDS TEST SM >- EA
REFETCH SOURCE OPERAND
FETCH TARGET OPERAND
SYNCHRONIZE TARGET OPERATIONS
F2 (- EVEN/ODD SOURCE RBA
REFETCH TARGET OPERAND
SAVE LEFT BYTE OF TARGET WORD
RESTORE SM FOR SOURCE/TARGET UPPER BOUND
NEXT SUBPROGRAM INSTRUCTION

PAGE 371
RECORD
NO
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18313
18314
18316
18317
18319
18320
18322
18323
18325

COBOL II FIRMWARE INSTRUCTION SET - EDIT

C.S.

ADDR

-~-.****-*~

ALU A ***********

LABL RREG SREG I:UNC SFNC STOR SPSK

********~**~* ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

SUFS (continued here)
6. Subtract the signed displacement fro the source RBA

12E5

7.

g~~~~;!'the

8.

~:~~o~~I~~r~~r~~U~nstruction.

SUFS RB

new source effective address, bounds test,
and set the flags for the source operations to be

SPIB :SUB

12E6
12E7

UBA

DB

UBA

DL

12E8

RB

12E9

SM

LSR

RB

.JSBS CEBC

ROD
NCRY

RG

,1\00

ODD

RH

,1\00

,1\00

RH

RG

CFl

SPIB SUB
UBA

RB

JSB ·+2
JSBS CEBC
ADD
JSL

NF5B
NCRY
RE

EDI3

SF!
UNC

NEW SOURCE RBA/2
NEW SOURCE RBA
NEW SOURCE EFFECTIVE ADDRESS
SKIP BOUNDS TESTS IF SPLIT STACK MODE
BOUNDS TEST EA ). DL
BOUNDS TEST SM ). EA.
EVEN / ODD SOURCE RBA?
Fl <- ODD SOURCE RBA DEFAULT
F1 <- EVEN SOURCE RBA; RESTORE SM LIMIT
NEXT SUBPROGRAM INSTRUCTION

PAGE 372
RECORD
NO

COBOL II FIRMWARE INSTRUCTION SET - EDIT
C S

ADDR

18327

18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18347
18348
18350
18351
18353
18354
18356
18357
18359
18360
18362

*********** ALU A ******111****

LABL RREG SREG FUNC SFNC STOR SPSK

__ JIII • •

* __ •• _._ ALU B

.*._.t. __ .* ...

RREG SREG FUNC SFNC STOR SPEC SKIP

.

10/ 2/86

9:27 AM

COMMENT

*** •• "'*****_.*************11.*****************_**.*********************

rCP/ICPS

(Insert Character Punctuation,
Insert Character Punctuation Suppressed)

1.
Extract the inwnediate operand character from the right
nibble of the subprogram instruction.
2. The character to be inserted 1S obtained by adding %40
to the immediate operand
3. If the instruction is Insert Character Punctuation
~~~P~~~~:~t:~dt~h~eS~~~!~~~~n~~ :~!g1!Ili~h~~lse, then
4 Store the insert character in the next target byte.
5. Next subprogram instruction.

12EA

rcp

AOD

OOOF SPIB ANDl
·+2

SP4A JSB

12EC

ADD

12ED

SPIB ADD

12EE

ADD

JSl

NTRG

UNC

12EF

ADD

JSl

EDI3

UNC

RH

EVEN

0020 UBB

NF3A

XRO

ADDl

SPIB

ADD

RH

IMMEDIATE INSERT CHARACTER OPERAND
INSERT CHARACTER PUNCTUATION SUPPRESSED?
ADD A BLANK TO THE INSERT CHARACTER
USE THE FILL CHARACTER IF SUPPRESSED
FOR ICPS USE THE FILL CHARACTER DEFAULT
USE THE INSERT CHARACTER

12EB

ADD

STORE HiE NEXT TARGET BYTE
NEXT SUBPROGRAM INSTRUCTION

PAGE 373
RECORD
NO
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18386
18387
18389
18390
18392
18393
18395
18396
18398
18399
18401
18402
18404
18405
18407
18408
18410
18411
18413
18414
18416
18417
18419
18420
18422
18423
18425
18426
18428
18429

COBOL II FIRMWARE INSrRUCTION SET - EDIT
~*.~ •• *~*.* ALU A ****** ••• **
lABl RREG SREG rUNC SFNC STOR SPSK

C.S

ADDR

* * ill: * III * * * lit III III III III: III '" _I • * III •

******** •• *A* AlU B ***.**********
RREG SREG FUNC SFNC STOR SPEC SKIP
* III * * * ,. * * III * III III III III III * * lit 111 * III * III * #I " * " III * * III * * * * .. * * * * III * * * * III III lit

10/ 2/86

9:27 AM

COMMENT

IS (Insert characters depending on Sign)
1. Extract

the immediate operand count from the right nibble
of the iLnstruction byte.

~: I~ :~: ~:~~ltt:nZ:~~~ l~e~cae:~ ~g~~r;~~~mm!::t{~~t~:~i
~~~n:h~h~~~~:ef: l~:ms~::r:u~~~o~,:mt:os~~: :~!g:!c:~=
string In the subprogram.

4.

~estart the subprogram at the

~;Wt==br~:3r:To~B~~de is CCl. then add the count to the
:~g~~:~~:: :~: ~:v:kt~eO~:~tt:~u~tr:~b:~~~~=mi~h~~:cters

to the 1target.
5. Next subprogram instruction.
12FO

IS

0100 STA

12F 1

UBB

12F2

SPOA

ANDl
.ISB

SPOA

OOOF SPIB ANDl

SP4A

UBB

JSl

UBB

-+6

SP28
WI3

ZERO
ZERO

JSB

-.·5

12F3

I~DD

JSl

NSPG

12F4

J'DD

SPIB ADD

12F5

J~DD

JSl

NZRO

UNC
RH

NTRG

UNC

12F6
12F7

RD

SP4A J'DD

RD

JSl

ml6

ZERO

12F8

RD

SP4A I'DD

RD

JSl

SPGS

ZERO

JSl

WI3

ZERO

NSPG

.JSB

UNC

--4

FFFF SP2B ADDl

12F9

I'DD

SP2B ADD

12FA

I~DD

UBB

12FB

I~DD

JSl

12FC

I~DD

SPIB ADD

12FD

,I'\DD

12FE

JSB
,I'\DD

12FF

JSl
--4

UNC

FFFF SP2B ADDl
ADD

SP2B

UNC
RH

NrRG

UNC
SP2B

CCl OR CCG/CCE?
IMMEDIATE OPERAND COUNT
SAVE COUNT
DONE IF COUNT IS ZERO
POSITIVE OR NEGATIVE?
DONE WHEN COUNT = 0
FETCH NEXT SOURCE BYTE
TRANSFER SUBPROGRAM BYTE TO TARGET
WRITE NEXT TARGET WORD
NEXT ITERATION
DECREMENT COUNT
SKIP SECOND OPERAND STRING
START AT NEW SUBPROGRAM RBA
SKIP FIRST OPERAND STRING
UPDATE THE SUBPROGRAM POINTERS
COUNT
DONE WHEN COUNT

s

CI

FETCH NEXT SUBPROGRAM BYTE
TRANSFER SUBPROGRAM BYTE TO TARGET
STORE NEXT TARGET BYTE
NEXT ITERATION
DECREMENT COUNT
NOP to keep system happy

PAGE 374
RECORD
NO
18432
18433
18434
18435
18436
18437
18438
18439
18440
18442
18444
18446
18447
18448
18449
18450
18451
18452
18453
18455
18457

C.S.
ADDR

Duplicate Instructions
*****111**111** ALU A ***.***.***
lABl RREG SREG FUNC SFNC STaR SPSK

*.

************" ALU B .111************
RREG SREG FUNC SFNC STaR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

.tII.

'" * * * * * * ** * *** ** * * * * * * * * * * * * * * * lit * * * * * *** * ** III * * * * * * * * * ** *
* * * * III _* * *
Duplicate A (DUP) Instruction
* * * * ** * * * * * * * * * * * * * * * III ** III * * III * . . * III III ... " * * * * * * * * * .. * * * * * * * * * * * l1li III * * * * * * III * * * III
;1300

1300

1301

1302

1303
1304

1305

!lUT INSTR-DUP:O 000 100 101 xxx xxx, SR-1, ENTRY-DUP
DUP
ADD
JSZ PSHM
EPSH
RA
ADD
RH
ADD
ADD
NEXT
ADD

CCA

SR7

* * lit * * .. It * *l1li •• 111 III * * * **._ * * .. a* * * * ... * * * III * * It It * .. * ** **** * * 111._ * ***** * * III III III * * *** *
•
DDUP IDouble duplicate) Instruction
•
III * * * * * III * .. * .. * * * III * * III ** ** * .. * lit **_ * * * III .. * * * * * * * .. * * ***** * * * * * * *** ** * * 111111 * 111** *
!lUT INSTR-DDUP:O 000 100 110 xxx xxx, SR-2, ENTRY-DDUP
DDUP
SRG5
JSZ PSHM
JSZ PSM2
SR7
EPSH
RB
ADD
RH
CCA
ADD
JSZ NEXT
EPSH
RA
ADD
RO
DCC

~U;~Bl~')N::pa)R~_i~S~R

= 7

NEXT;

Empty 2 TOS if SR - 7 else empty 1 if SR =
j~~hto~e~E~¥~lJu~h l~-~~w T~~
(S), DCC

:-

PAGE 375
RECORD
NO
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
H480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18493
18494
18496
18497
18499
18500
18502
18503
18504
18505
18507
18508
18510
18511
18513
18514
18515
18517
18519

COBOL II FIRMWARE INSTRUCTION SET - EDIT
c.s.
....~.IIIJ11I1tIll:JII*1III111:
ALU A IfttllrJIIIIiIJli:IIIJ11I11I1r**
ADDR LABL RREG SREG FUNC SFNC STOR SPSK

*1lI* • • *IftIllJIIJllIIIJlttll

ALU B

10/ 2/86

**JIiIlftJllIIIIII**1Il1111ll**

RREG SREG FUNC SFNC STOR SPEC SKIP

9:27 AM

COMMENT

NSRC (fetch Next SouRCe byte)
1. Extract the left byte from the current source word and
increment the source RBA. Bounds test the source
effective address.
2. ~la~h~nr!~~tr~~~~n~lag is off then set the right byte
3. Extract the right byte from the current source word,
bounds test the source effective address, and clear the
right byte flag.
4. Increment the source effective address and fetch.
5. Return.
NTRG (store Next TaRGet byte)
1. Increment the target RBA and save the byte 1n case it is
2. ~~et~:f~i~h:\yte flag is off, then set the right byte
flag and return.
3. Increm~nt the target effective address, combine the left
~~~~et~~! ~::tPt:~~~~S!~r~aved with the right byte and
4. Bounds test the target effective address, clear the right
byte flag.
5. Return.

1306

1307

IISRC

OPA
RB

1308
RE

130A

IITRG RC

LRZ

INC
OPA

1309

ADD
ADD

RH

RRZ

RH

INC

RE

INC

RC

ADD

130B
130C

RF

1300
130E

RG

INC
UBA

BNDE
ADD

RG

RE

RB
RG

RE

ROD

BNDE
SF!

BNDE

CF1

ADD

F2

RH

ADD

RSB

SP3B

ADD

RF

UBB
CF2

RH

lOR
ADD
ADD

RSB

EXTRACT LEFT SOURCE BYTE
LEFT OR RIGHT SOURCE BYTE? (1002)
INCREMENT SOURCE RBA
REMOVED BOUNDS TO ABOVE LINE
EXTRACT RIGHT SOURCE BYTE

RSB

INCREMENT SOURCE EFFECTIVE ADDRESS AND FETCH
RETURN

Fl.

ADD

SP3B
RLZ

SF2

DATA
RSB

(1002 )

INCREMENT TARGET RBA
SAVE LEFT BYTE
RETURN IF LEFT BYTE
PREV LEFT BYTE
INCREMENT TARGET EFFECTIVE ADDRESS
WRITE TARGET WORD
TICB TO SLOW DOWN RSB TO AVOID S KILL(1000
M)8~g~ TEST TARGET EFFECTIVE ADDRESS <= SM
RETURN

PAGE 376
RECORD
NO

COBOL II FIRMWARE INSTRUCTION SET - EDIT
111.*** •• *.** ALU A ***********
ADDR LABL RREG SREG FUNC SFNC STaR SPSK

C.S

18521

1.

2.

18529

185,:3
18544

18547

18550
18<;,2

18546
18549

3

4.

.

130F

EDI5 OOOF SPIB ANoL

1310

UBA

1311

UBA

18~63

18564
18566
18567
18569
1.8570
18572

ADD
UBB

SP4A
LSR

ADO

MASK FOR SUB-OPCODE

EOT2

AOOL LBL

BRANCH TABLE INDEX
BRANCH TABLE BASE
INDEXED BRANCH TABLE ADDRESS
MAXIMUM VALID SUB-OPCOoE
TRANSFER TABLE ADDRESS TO RAR
SKIP BRANCH TABLE IF NOT VALID

ADD

WRX3

0009

AODL

1312

ADD

RAR

UBB

SP4A JSBS EoI3

1313

ADD

1314

ADD

RSB

NCRY

ADD
ADD

RANDOM TABLE BRANCH

RIGHT NIBBLE OPCOOE BRANCH TABLE

18555
185'>6
18557

1S';f1

Extract the SUbprogram opcode contained in the right
nibble of the subprogram instruction.
Use the subprogram opcode as an index into the branch
table.
Range check the valid subprogram opcodes.
Jump into the brach table to jump to the correct
subprogram Instruction.

*****_._._******************111*******_111.****************. ____ ._ •• ___ ••

185'i3
18554

18558
18560

9:27 AM

EoI5 (extended subprogram instruction decoding)

18524
18525
18526
18527
18528

18538
18"40
18~, 41

10/ 2/86

COMMENT

•• _************* ••• *********111:*********************** •••• _************

18522

18523

18530
18531
18532
18533
18534
18535
18537

************* AlU B -._ ••• - •••••• RREG SREG FUNC SFNC STaR SPEC SKIP

EoT2

SP4A JSB

TE

EVEN

SP4A JSB

ENDF

ODD

1316

SP4A JSB

SSTI

EVEN

SP4A JSB

SSTO

ODD

1315

1317

SP4A JSB

f4)WO

EVEN

SP4A JSB

SFC

000

1318

SP4A JSB

SFLC

EVEN

SP4A JSB

OFlC

ODD

1319

SP4A JSB

SETC

EVEN

SP4A JSB

OBNZ

000

TERMINATE EDIT
END FLOATING INSERTION
SET SIGNIFICANCE TRIGGER TO 1
SET SIGNIFICANCE TRIGGER TO 0
MOVE DIGIT WITH OVER PUNCH
SET FILL CHARACTER
SET FLOAT CHARACTER DEPENDING ON SIGN
DEFINE FlOAT CHARACTER DEPENDING ON SIGN
SET LOOP COUNT
DECREMENT LOOP COUNT AND BRANCH IF NON-ZERO

PAGE 377
RECORD
NO

COBOL II FIRMWARE INSTRUCTION SET - EDIT
C S

ADDR

18574
18575
18576

'111:111

III IIIJII_*.

ALU A

JlI'III:*!II:III:*IIII11:JII#!:Ji(

******'111:'111:*'111:***

.' •

10/ 2/86

ALU B •• '111:***.111:***'111:*111:

RREG SREG FUNC SFNC STaR SPEC SIUP
III III: III .. 'III * III: '" III !II: * * III .. * * III III III III lie iii III III * .. III * * .. III * 'III: .. * * * * III: * '" * III: III III III III * * Itr * III til * '" * * III lie .. III * * .. * * III:

9:27 AM

COMMENT

EDI6 (next subprogram instruction at new RBA)

13577

18S78
18S79
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18596
18597
18599
18600
18602
18603
18604
18605
18606
18607
18608
18610
18611
18613
18614
18616
18617
18619
18620
18621
18622
18623
18624
18625
18627
18628
18630
18631
18633
18634
18636

111:**

LABL RREG SREG FUNC SFNC STaR SPSK

~~~p~~g~~~ ~~~~r08~~~i~~!n~~[~ ~~~ l~r~~r~~t l~:tnew
EDI3 (test for interrupts between subprogram instructions)
If interrupts are not pending. then do the next subprogram

~~~~;~ct}O~eed~~herA~~et~~U!~r~~et~a;~et~~?:~r~~lem~~~~rthe

containing the significance trigger. loop count. float char.
and fill char. Leave a -Ion top of the stack so the
instruction will be resumed after the interrupt.
Go to the interrupt handler.
131A

EDI6

ADD

131B

EDI3

JSB

131C

JSL
TEST

*+2

SPGS

mlc

EDI4

UriC

ADD

ADD

JSL

RESTART SUBPROGRAM AT NEW RBA
INTERRUPTS PENDING?
NEXT SUBPROGRAM INSTRUCTION

INTERRUPl PENDING, FINISH LAST TARGET WORD, THEN INTERRUPT
1310

JSB

131E

RG

131F

UBB

UBB

ADD

1320

NF2

*+4

BNDE

RF

INC

SP3B

ADD

RLZ

ADD

UBA

OPB

ADD

UBB

lOR

ROD
RRZ
DATA

FINISH WRITING TARGET WORD IF LEFT BYTE
FETCH CURRENT TARGET WORD
BOUNDS TEST LAST TARGET WORD
LAST TARGET BYTE
LEFT BYTE
OLD RIGHT BYTE
WRITE LAST TARGET WORD

SET UP INTERRUPT RETURN STACK MARKER
1321
1322

1323
1324

UBA

XRO
UBB

ADD
lOR

RRZ

RH

NF3A

XRO

ADD
JSZ

UBB
IRDN

ADDL

8000

RH
UNC

XR 1

ADD

RLZ

EPSH

lOR

RA

CAD

RG

EPSH

SAVE LOOP COUNT
SIGNIFICANCE TRIGGER MASK
SAVE LOOP COUNT AND SIGNIFICANCE TRIGGER
FILL CHARACTER
SAVE FILL AND FLOAT CHARACTERS
OFF TO INTERRUPT HANDLER
RESTART FLAG

PAGE 378
RECORD
NO
18638
18639
18640
18641
18642
18643
18644
1R645
18646
18647
18648
18649
18650
18651
18652
18653
18655
18656
18658
18659
18661
18662
18664
18665
18667
18668
18670
18671
18673
18674
18676

COBOL II FIRMWARE INSTRUCTION SET - EDIT
C.S.
• •••••••••• ALU A··········· 111111*********** AlU B ** •• * •• *******
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
,. * III III: III: * III III * III III * * III III * III: * III: * * * III * III * * * * III III *. * III * * III III III"'" III * III III III III: III III. * III III * III: III III * III * * * .. *111: III

.

*.

ETRP (Edit TRaP handling for invalid datal

10/ 2/86

9:27 AM

COMMENT

Signal an invalid a.cii digit trap.
TE (Terminate Editl
Flush the last target byte if needed. Pop the four TOS
registers. Test for In invalid ascii digit trap.
Next instruction.
1325

ETRP

ADD

1326

TE

JSB

1327

RG

1328

UBB

UBB

NF2

'+4

BNDE
ADD

ADD

SF4B

RF

INC

ROD

SP3B

ADD

RLZ

OPB

ADD

UBB

lOR

DATA

ADD

EPP4

1329

ADD

132A

ADD

132B

ADD

JSZ

132C

ADD

ADD

UBA
RA

INVALID ASCII DIGIT TRAP
WRITE TARGET WORD FOR LEFT LAST BYTE
FETCH LAST TARGET WORD
BOUNDS TEST LAST TARGET WORD
LAST TARGET BYTE FOR LEFT BYTE
LEFT BYTE
OLD RIGHT BYTE

RRZ

TRPA

F4B
NEXT

WRITE LAST TARGET WORD
RESET MARKER WORD
POP ALL TOS PARAMETERS
ILLEGAL ASCII DIGIT TRAP
NEXT INSTRUCTION

PAGE 379
RECORD
NO
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18691
18692
18694
18695
18697

COBOL II FIRMWARE INSTRUCTION SET

c.s.

ADDR

**JIIi:*JIi:**JllIII*'tc

~

EDIT

ALU A •• ****;111111111111:

JIII.lII**IIcJlr.*._** ALU B "JllJIc***********

LABL RREG SREG I"UNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
iii: * III * iii: l1li III iii: iii: * III * l1li III * 'If * " J1r III: III * #I * * * iii: " III l1li III * III: III III #I 111 lie
iii: iii: l1li * * 111 JIll III * * * III III
It ... 111 III III: III: III III: iii: III * * * III III

.

}IIr

l1li:

10/ 2/86

9:27 AM

COMMENT

111:

ENOF (END Floating insertion)
If the sigmificance trigger hasn't been already been set,
then insert the floating ch,racter at the next target byte.

Next subprogram instruction.
* * III iii: • III * * * '" III: III III iii: * ill: * l1li III * * . . iii: iii: III III " . It II iii: III III '" III '" III III 111 #I III: III III * iii * III * iii: iii: III JIi: 'Ii It III III III * III III * * III JII '" III #I It III

1320

.

ENDF

F3A

XRl

ADD

RH

132E

JSL

NTRG

UNC

132F

JSL

WI3

UNC

NO ACTION TAKEN IF SIGNIFICANCE TRIGGER IS 0
FLOAT CHARACTER
INSERT FLOATING CHARACTER
NEXT SUBPROGRAM INSTRUCTION

PAGE 380
RECORD
NO
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18713
18714
18716

COBOL II FIRMWARE INSTRUCTION SET - EDIT
C.S.
• •••••••••• ALU A··········· _.111.111* ••• _ •• * ALU B *111 ••••••• *.* ••
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
** * * ** III * ** * III.
111* III 111l1li *111** III III ** 1II*.IlI .. *111._ *** III III III III ****1Ir1ll
111.* III III III_ III III *
111:

111:

111: 111: 111:

111:

111:

111: 111:

111:

10/ 2/86

11:27 AM

COMMENT

111:

SSTl (Set the significance Trigger to I)
Do what

it

says, then do the next subprogram instruction.

SSTO (Set the Significance Trigger to 0)

.

Do what is says, then do the next subprogram instruction.
l1li._ .... "111111_ 111* III III III .. ".111" .. ,. III .... III III III III: III,.,. III . . . . . . *11 l1li III "III"." *"' ....... JIll tIII._ "-

.. ,. .. "'_ .... '" II,. III III

1330
1331

111:

SST!

ADD

SF3A

JSL

EDI3

UNC

SSTO

ADD

CF3A

JSL

EDI3

UNC

SET SIGNIFICANCE TRIGGER TO
NEXT SUBPROGRAM INSTRUCTION
SET SIGNIFICANCE TRIGGER TO 0
NEXT SUBPROGRAM INSTRUCTION

PAGE 381
RECORD
NO
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18734
18735
18737
18738
18740
18741
18743
18744
18746
18747
18749
18750
18752
187~'J

18755
18756
18758
18759
18761
18762
18764

COBOL II FIRMWARE INSTRUCTION SET - EDIT

C.S.

ADDR

III 111:*111 1II,rc** • • '1

ALU A 111111*******"'*

***_111.111** •• *111* ALU B

** •• *JII**JllIII***I~

LABL RREG SREG rUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKII'
.. III Ir II! .. III III III * III III III III * III _I III III III l1li lit III: If III III III: '" III ..... * * III III * III III III * * III JIr III III III * 111 11: ~ III III * III III III; III * * It * III III III * III: III III III • *

2.
3.
4.
5.

6.

1332

MD\~O

9:27 AM

"

MDWO (Move Digit With Overpunch)
1.

10/ 2/86
COMMENT

Fetch the next source byte
~~t!h!f~t~~i~~~:n~: ~rt~~=rn~sbl:~=~' then zerofill the
Trap if the byte is not a legal ascii digit ('0'-'9').
Set the sign flag used for overpunching based on the
condition code in the STATUS register.
Overpunth the byte and store it as the next target byte.
Next subprogram instruction.
P,DDL

0020

1333

J"SB
P,DD

1334

SP4A
"+2

P,DDL

1335

0030

1336

RH

UBA

1337

RH

SP4A 5;UB

1338
1339

UBB

STA

133A

RC

JSL
F3A

SP4A

J"SBS ETRP

NCRY
SP4A

P,ND
P,DD

RH
0030

ADDL

0039

ADDL

UBB
0100

NSRC

UNC
NZR()

SP4A SUB

RH

RH

JSBS ETRP

NCRY

ADDL

ZERO

ADD

CF2

JSL

OVPN

UNC

HBF2

NTRG

UNC

SSTI

NZRO

133B

C:SR
J·SB

EDI3

F3A

JSL
ADD

133C

J·SB

EDI3

UNC

SP4A JSB

SF2

BLANK FOR COMPARISON
FETCH NEXT SOURCE BYTE
NO BLANK FILL IF SIGNIFICANCE TRIGGER SET
ZERO FILL REQUIRED IF SOURCE BYTE IS BLANK
ZERO FILL THE LEADING BLANK
"0" FOR ASCII DIGIT TEST
(2307)
"9" FOR ASCII DIGIT TEST
INVALID ASCII DIGIT TEST
(2307)
INVALID ASCII DIGIT TEST
SP4A=DIGIT-30H (ZERO IF ASCII '0')
( 2307)
CCL MASK FOR STATUS REGISTER
POSITIVE OR NEGATIVE OVERPUNCH?
POSITIVE OVER PUNCH
NEGATIVE OVER PUNCH
OVER PUNCH SOURCE BYTE
RESTORE TARGET RBA FLAG
STORE NEXT TARGET BYTE
NEXT SUBPROGRAM INSTRUCTION IF SIG FLAG SET
SET SIGNIFICANCE FLAG IF CURRENT DIGI+2~g7)
NONZERO--ELSE DO NEXT SUBINSTRUCTION (2307)

PAGE 382
RECORD
NO
18766
18767
18768
18769
18770
1.8771
18772
18773
18774
18775
18776
18778
18779
18781

COBOL II FIRMWARE INSTRUCTION SET - EDIT
******* •• ** ALU A 111*********. 111******.11**** AlU B 111111************
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
.*111** •• ****.***.****.**.***.* ..... *111 •• 111*****.******.** •• __ *.It_ •••••••••

C.S.

.

101 2186

9:27 AM

COMMENT

SFC (Set the Fill Character)

~: ~::C~h!h11~I·~h:~b~~O?~:~ ~~i:.

3. Next lubprogram instruction.
1330

133E

SFC

ADD

JSL

ADD

SPIB JSL

NSPG

UNC

EOI3 XRO

UNC

FILL CHAR IS IN NEXT SUBPROGRAM BYTE
NEXT SUBPROGRAM INSTRUCTION; SET FILL CHAR

PAGE 383
RECORD
NO
18783
18784
18785
18786
18787
18788
18789
18730
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18812
18813
18815
18816
18818
18819
18821
18822
18824
18825
18827
18828
18830
18831
18833
18834
18836
18837
18839
18840
18842
18843
18845

COBOL II FIRMWARE INSTRUCTION SET - EDIT

C.S.

ADDR

111;111111111:****1111"*

ALU A

1II**IIIIII:IItI1lJlltIll**

#II:

JIll:

10/ 2/86

**.****111*111.111111 ALU B *111111**111111*******

lABl RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP
III
it III III
III III III III * III 'III JIll' It III III III III III III III
III III: III lit III: * III III ,. III lit * JII III III JII III III !If lit III * * JIII1I III III At '" III til * III III III iii: III !If * III * #I III
*
JIll

111:

SFlC (Set the Floating Character)

.

9:27 AM

COMMENT

1. Fetch the next subprogram byte containing the positive and
2. ~:fe~:,~!i;=eS~~~drrt:~s~ode contained in the STATUS
regist~r and extract the left
nibble if CCG/CCE or the
right ~ibb1e if CCl.
3. Add %40 to the nibble to obtain the ascii sign and set
the floating character to this value.
4. Next subprogram instruction
DFlC (Define the Floating Character)
1. Fetch the next subprogram byte containing the positive
2. :!;~~l~~eC':r~~!!~~ subprogram byte containing the negative
f10ati~g character.
3. Determine the condition code contained in the STATUS

;!~~rl~~ ~~:r:::e~h!fftg~}~a~ ~~ar~~t~~g:;i!:ef!:::l~:e

character if CCl.
4. Next subprogram instruction.
133F

SFlC 0100 STA

ANDl

1340

SPOA

JSB

1341

SPOA
*+4

JSl
NZRO

ADD

OOFO SPIB ANDL

1342

0004

ADDL

1343

UBA

CAD

UBB
UBB

1344

ADD

1345

ADD

1346

DFLC 0100 STA

ANDL

ZERO

SP4A

NSPG

OOOF SPIB ANDL

UNC
SP2B

EXTRACT LEFT NIBBLE IN PLACE
SHIFT COUNT TO EXTRACT THE lEFT NIBBLE
REPEAT THE FOLLOWING LINE
DONE WHEN COUNT = 0
SHIFT LEFT NIBBLE TO RIGHT NIBBLE

REPC

ADD l.SR
0020 SP2B ADDL

SP2B
XRl

JSL

EDI3

UNC

JSL

NSPG

UNC

NSPG XRl

UNC

1347

ADD

SPIB JSl

1348

ADD

SP4A ADD

1349

ADD

SPIB ADD

134A

ADD

JSl

ZERO
XR1
EDI3

CCL OR CCG/CCE,?
FETCH BYTE CONTAINING FLOATING CHAR NIBBLES
POSITIVE OR NEGATIVE?
FETCH RIGHT NIBBLE IF NEGATIVE

UNC

FLOAT CHAR :- NIBBLE + BLANK
NEXT SUBPROGRAM INSTRUCTION
CCL OR CCG/CCE?
FETCH BYTE CONTAINING POSITIVE FLOAT CHAR
FETCH BYTE CONTAINING NEGATIVE FLOAT CHAR
DOES STATUS REGISTER INDICATE NEGATIVE (CCl)
NEGATIVE FLOAT CHAR
NEXT SUBPROGRAM INSTRUCTION

PAGE 384
RECORD
NO
18847
18848
18849
18850
18851
18852
18853
18854
18855

COBOL II FIRMoIARE INSTRUCTION SET - EDIT
C.S.
• •••••••••• ALU A·"""····
ADDR LABL RREG SREG FUNC SFNC STOR SPSK

18857
18859

134B

18856

18860
18862

.

••••••••••••• ALU B··············
RREG SREG FUNC SFNC STOR SPEC SKIP

101 2188

9:27 AM

COMMENT

**********.**********************************************************

SETC (Set the loop Count)
1. Fetth the next subprogram byte and a •• 1gn it to the

loop tount.

2. Next .ubprogram 1nstruetion.

134C

SETC

ADD
SP1B ADO

XRO

JSL

NSPG

UNC

JSL

EDI3

UNC

FETCH SUBPROGRAM BYTE CONTAINING LOOP COUNT
STORE l.OOP COUNT
NEXT SUBPROGRAM INSTRUCTION

PAGE 385
RECORD
NO
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18886
18887
18889
18890
18892
18893
18895
18896
18898
18899
18901
18902
18904

COBOL

C.S.

ADDR

n FIRMWARE
HISTRUCTION SET - EDIT
• •• _ ••••••• ALU A *** ••••• **.
*111* ••• **.**.* ALU B *********~*~**
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC sin P COMMENT
n * • * * fit III . . . . * III III III * II III III III: III III l1li * * III .. III III III III III • III * III III III III lit III: • III III III III It III III III * III .. III III * III III III * '" III III III * III '" III III III

10/ 2/86

9:27 AM

.

DBNZ (Decrement and Branch if Non-Zero)
1. Fetch the next subprogram byte containing the branch
displilcement.
2. Decrenlent the loop count.
3. If th~ loop count is zero, then do th~ next subprogram
inst r~lct ion.
4. Exten~ the si~n of the displacement.
5. ::t~~&~:t!h~iS~~~::~::;nlsf~!:ot::b;~=~r:~r:Tn::AiheAn
disp1~cement is relative to the address of the byte
containing the displacement, but the RBA now points to
the byte after the displacement.
6. ~:~~t:~=~r;Y~~:,i~;:~uction after updating the subprogram

1340

OBNZ

XRO

134E

SPOA

134F

UBA

ADD

SPOA

CAD

XRO

JSB

1350

ADD

1351

ADD

1352
1353

RD

SPlEl CAD
ADD

*+4

JSL

UNC

NSPG

0080 SP1B ANDL
ZERO

UBB

ADD

ZIERO

FFOO SP1B IORL

SP1B

EXTEND SIGN BIT IF NEGATIVE

ADD
RD

LOOP COUNT
FETCH BRANCH DISPLACEMENT
DECREMENT LOOP COUNT
MASK SUBPROGRAM DISPLACEMENT SIGN BIT
NO ACTION IF LOOP COUNT IS NOW ZERO
POSITIVE OR NEGATIVE DISPLACEMENT

JSL

EDl6

UI'4C

JSL

EDI3

UI~C

NEW SUBPROGRAM RBA
RESTART SUBPROGRAM AT NEW RBA
NEXT SUBPROGRAM INSTRUCTION

PAGE 386
RECORD
NO
18906
18907
18908
18909
18910
18911
18912
18913
18915
18916
18918
18920
18922
18924
18926
18927
18928
18930
18931
18933
18934
18936
18937
18939
18940
18941
18942

C.S.
ADDR

Pseudo Enable and Puudo Disable Instructions
** •• 111*111- ••• ALU A ********111111111:

111***111111.111.*- •• ALU B *******111******

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III"" * III *111 III * .. * III III: 'III III ****lIII* * .. III *111 III III III 1111 III III III III * 'III * III" III III III ... ,. ..... ,. .. III" III III III III "" III" * III III III III * * III III III
DPPX is the entry point for the PSEB, PSDB, DISP and
•
XCHD instructions.
....... * * 111 .111*. __ *1\** •••• III * III III * * III III III 111* .. * III * III III III * "*" III * * III * III * III" III III * III" III * * .. III * * .. 111 III III

101 2186

9: 27 AM

COMMENT

*.

!LUT INSTR-DISP/PSE&DB/XCHD:O 011 000 000 II, DSPL-4, ENTRY-DPPX, F2
1354

DPPX 0580

ADDL

1355
1356
1357
1358
1359

DSPL
UBB
CIR
OPA
PSOB 1100 CPX2

JSS XCHD
ADD
JSB DISP
ADO
ANDL
SP4A

135A

PSEB USB

135S

SP4A

DSPL SUB
CPX2 ADD

1350
135E

USA

FFEE
UBB OPB
UBA
OPB

NCRY

JSZI NEXT

135C

JSZ
ZERO
ROX3
EVEN
ROB3

SWAB

CCA

SREG JSZ
USB

TRP6 BKX3

ADO LRZ
AOOL
ADO
ADO LSR
INC

SP4A ADD

ADD

DATA

OPB

INC

CCA

JSZ
ADD

ROX3
SF4B 000
DATA NEXT

PSEH

CAD

EVEN

NPRV
ROX3

ZERO
DATA
CCA

INT9

NZRO
NEG
NEXT

SP4A :R addr of QI lor mask for IDISP;

JS:K~~ XCHg'i~~:~U~:i~~~ ~!!dib~gieBB

Read QI; UBB .- -18
JSB if OISP instruction; Read (QI-18)

= 5)

~;:: ~~I6~AS~~~ri~0~~~~ ~~s~csclig~sps11a~:
(on ICS if in DISPATCHER);
increment (QI-18~, NEXT if PSDB instr
Sk}~a~riJQfQl~18) _ bDSPL = 3);
Set CCG and NEXT if (QI-18) )= 2;

sk~ecI~m~~: l~IDl~~ATCHER;

S~1P if on ICS, set CCE if not
(QI) :" 0 if in DISPATCHER;
Start DISPATCHER if not on ICS and
(QI).(O:l), F4 causes JSB to IIXT4 from
IINT9, (QI) is left in OPA for I1XT4
Set CCG; NEXT

PAGE 38'1
RECORD
NO
18945
18946
18947
18948
18949
18951
18952
18954
18955
18957
18958

C.S.
ADDR

Dispatch Instruction
JIt.**JlI:JllJllIIII.IIIIII

AlU A

!II1UIIIIIJII**J1HillIIlII

IIIJ1t**IIIJ1i*******

10/ 2/86

ALU B **_** •• 111111111.**111

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC S~:IP
Ill. * * * III III III III III III '/( lit III III 111111 III * * * III III III III lit III * lit * III JIll III JIt III 1\" Ie III * * lit III * III lit III * III * III"" III III III *" III III: III III It lit III III
III
•
Oispatch (DISPI Instruction
•
***IIi:**III***JIt**Ilt****_**J1I**JltJIIIII:********_III.t11**JIr**JltJIIIlc*****"**JllIIIIIIJIt**Jll:JllJIt****JII*

9:27 AM

COMMENT

1It}ll

135F

lOR

CCA

1360

SP4A AOD

RLZ

DATA

INC

1361

OPA

INT9

ROX3

ADD

CCA NEXT
SF4B

O'ISP

OPA

ADD
JSZ

WRX3

UBA

OPB

ZERO

Write at (QI I;
Skip if not on ICS and (QI-181 • 0, set CCE
(Q~lSABL~gooo; Set CCG, NEXT if on ICS or
Start DISPATCHER if not on ICS and ENABLED,
Reread (QI) for IIXT4;
F4 causes JSB to IIXT4 from IINT9

PAGE 388
RECORD
NO
18960
18961
18962
18963
18964
18965
18966
18967
18968
18970
18971
18973
18974
18976
18977
18979
18980
18982

C. S.

ADDR

~:~~:ZY:.~~ ll~tAU~!!~~

••••••

LABL RREG SREG FUNC SFNC STaR SPSK

.*"********** ALU B **lIr***JltIll**_***
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

JII:*****III.III**.*************.******** •• *******I1111************************111
XCHD (Exchange DB) Instruction - The entry point for XCHD
is .DPPX. for which the SR preadlust is o. The instruction

~~~~k!e~~~yt~~ ~~tmor~h!O~PI!?i~a~~Sfl~~li,'~~tf:~C~!:a~~dm

: I I * •• :~~~ !~!~y III! ~ III!~: * ~~-:* ~!:~: III~! I I ~~;~!~~ *" I I I I III" *" * III" I I *" I I I I III" III"" I I *",.,,:
1362

XCHD

RB

1363

3FFF

1364

1000

JSZ

PULM

SRL2
UBA

ADDL
ADDL

BNKD JSZ
BNKS XOR

UBA

ZERO

INC

CCPX UNC

IOR

CCPX

1365

SPIB ADO

RB

UBA

1366
1367

DB

ADO
ADD

RA

RB
XFRR
RA
DOFF SREG ANDL

NEXT

UBB

SRZ

PUL2 SPIB

DB
BNKD

Pull two TOS if SR • 0 else pull one TOS if
SR • 1. UBA :- new bank #; SPIB := DB-BANK
UBA :- pre-mask for CCPX;
Skip if new DB-BANK - S-BANK

UB~et3F~Sei~~~k.fr40gg~~;Ski

(S-l) :- old DB-BANK; Clear ~SS i f
DB-BANK - S-BANK (UBB = !5000)
(S) :- old DB. DB :- new DB from (S)
NEXT; BNKD :- new DB-BANK from (S-l)

PAGE 389
RECORD
NO
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18998
19000
19002
19003
19005
19007

set Disable/Enable Interrupts Bit Instruction

C.S.

ADDR

***111****111*'" ALU A **IIt •• Jll:IIIJ11l1clltlll

LABL RREG SREG FUNC SFNC STOR SPSK

.

111111*********". ALU B 111**111:***111**.111**

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

****111111.******111111111'111************* •• **********111 ••• *111***,.****************_

Set Disable/Enable Interrupts Bit (SED) instruction
This instruction will reset/set the interrupts enabled bit
in the status register (bit 1) depending upon CIR.(15:1)

.

SLUT INSTR :SED: 0 011 000 000 lOx xxx, DSPL--4, ENTRY"SED

1368
1369
136A
136B
136C

SED
UBB

SEDl UBB
SED2 RH

CIR JSB
CPX2 JSB
STA lOR
STA
STA

AND
lOR

SED1
SED2

STA
STA
STA

EVEN
ODD

4000

UBB

JSZ TRP6
ADDL
RH
JSZC NEXT

UNC

JSZ
JSZ

UNC
UNC

NEXT
DIMS

NPRV

JSB if DISABLE; Trap if not privileged
JSB i f DINTFF; UBB :- RH :: mask to set ints
STA :: STA with interrupts set; UBB := mask
to clear interrupts, JSB for NEXT
STA :: STA with interrupts cleared; NEXT
STA :: STA with interrupts set; Handle
deferred interrupts

PAGE 390
RECORD
NO
19009
19010
19011
19012
19013
19014
19015
19016
19017
19019
19020
19022
19023
19024
19025
19027
19029
19030
19032
19034
19036
19037
19038

C.S.
ADDR

Execute Instruction
111********111111: AlU A *********JII. *********IIt*_* AlU B ***********111:**
lABl RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III III III'" III" III lit 111:" * III III III III * III" 111 lit * III * III III * **"
111:" III III III III III III III 11111 ** ***** ... III III lit * 111*'" ** •• * III III III * III. III III

.
.

10/ 2/86

9:27 AM

COMMENT

l1li'

* .. * III III III III

*.

Execute IXEQ) Instruction
*** III III til III III". '" III III III III '" III III '" III III '" III liI" III: III * ... III. * III III III III * III III .. " l1li * ... * III'" III ** III * III III"" III III III: III

!LUT INSTR-XEQ:O 011 000 001 lOx xxx, DSPl-4, ENTRY-XEQ

1360

XEQ

SM

136E

INC

136F
1370

UBB
UBA

ADD
DSPl SUB

1371
1372
1373

UBA

DB

1374

WRS

QDWN ADD

REPC

SP3B DCSR SRZ

ADO

SM

ADDl
ADD

Z

RONP
NOP

SM
UBB

FFFF

SP4A

BNDE
ADD
SP4A ADD
JSZ

SR

DATA

UNC

ClSR

SP3B UBB JSZC STOV
BNKS ADD
BNKP
BNKP ADD
UBB

ADD

OCSR SRl2

BNKP

POS

Write TOS registers at SM + 1; Repeat if
SR <> 0, dec SR, SP3B := UBB := S
Empty TOS register; Repeat until SR in rankl
is < 2, dec SR, SM :- S (if SR • 0 at
start of instruction, store into SM may be
NOPed)
UBA-SM ;P-P-l
(2324)
SP4A :- UBA :- addr of instruction IS - K);
UBB :- Z, clear SR
(2324)
Bounds check addr >- DB; STOV if S > Z
, BNKP :- S-BANK
(2324)
Read instruction into NIR; P. P - 1 so
that instruction after XEQ follows 'XEQed'
instrUction, SREG. P-BANK
(2324)
Wait two clocks for NEXT; Restore BNKP(2324)

PAGE 391
RECORD
NO
19041
19042
19043
1901\·1
19045
19046
19047
19048
19049
19050
19051
19052
19053
19055
19057
19058
19059
19061
19062
19064
19065
19067
19069
19071
19073
19074

C S
ADDR

10/ 2/86

~~~!~!~!.~~nl[~lAI~~!!~~!!~~~ A~~!.~~~.!~!!. ALU B ••••••••••••••
LtIBL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

9:27 AM

COMMENT

~~~tr~~tl~~sentf~ ~~i~!tf~~rb¥~~ ~n~SA~~~t~~1i~~B~nd not
for ADDS. DSPL is set to 8 so as to access the immediate
operand in CIR.
$LUT INSTR-ADDS:O 011 101 Oxx xxx xxx. DSPL=8, ENTRY.ADSS
!LUT INSTR·SUBS:O 011 101 lxx xxx xxx, DSPL=8, F2, ENTRY.ADSS
1375
1376

ACiSS

1377
1378
1379
137A
137B
137C
137D

UBB
AClSl RH
UBA

SM
INC
QDWN ADD

WRS
DATA

SR

DSPL ADD
UBB

JSBI ADSI

Q

JSZS STUN
NEG
JSZ NEXT
UNC
ADSB
SP4A
JSZS STUN
NEG

OPA
Q

JSZ

NEXT

SM
UBB

REPC
ADD

SP3B DCSR SR2:
SM
DCSR SR1.2

Write at SM + 1; SP3B :- S, REPC if SR > 0

NZRO

SP3B

RH

UB~H:7.iW"~dtate

ROS

SP3B UBA

CAD
ADSB

UBB
SPIB
SP3B Q
Z
UBA

JSZC STOV
ADD
SM
JSZC STUN
JSZC STOV

UNC

SP4A ADD

instruction store into SM may be NOPed)
operand, skip i f <> 0;

SPIB CLSR

SM

wr~!~ ~~N~MR~~e~tl~~t§~ ~ROi~tr:~~;t O
PUSH T6s AT OR BELOW OLD S INT6 MEMORY
JSB STOV; SM:-SM-((-OLD S)+SM)-OlD S, SR:-O
SEND WRITE ADDR; RH:-BNKD, INCN, SR ) 57
PUSH QDWN; RH:-UBB:-SM+l, INSR IF SR QJ
PULL STACK OPERAND INTO REGISTER;
SM:-UBB:mSM - 1. INSR
READ NEW TOS IN MEMORY. LOOP BACK;

111:

13CA
13CB
13CC

********1_** •• ALU B .111.111111**111:*****.

LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III III III III
III III III III III III * III " '" I' III
III * III !It III * III III III: III !If III III * ... III III It III: III III lie III * III R II!: III III III " III III III
III III III III III
III III: III III III III III III
The following code fills the TOS registers for diagnostic
*
purposes w~en the instruction calls for zero registers to
: " III III III ~ ~ 111 ~ ~ ~ ~ ~ ~ III :~ ~ 1
~ III ! ~: ,. r~~ ~ * It III III III * III * III III: * III 11 III III III: JII * III III It III l1li * • III III III #I III III III III III III * III III III III *
111:

111:

SM

I~DD

OPA

.JSZ
ADD

NEXT

UBB

.JSB

*-2

REGN

ROS
SR7
ROS

SR
UBA Q
RREG

If( '"

ADD
CTR
JSZC NEXT
CAD
SM

INSR

ADD

ICTR

NCRY

PAGE 398
RECORD
NO
19319
19320
19321
19322
19323
19324
19325
19327
19329
19331
19333
19334
19335
19338
19337
19338
19339
19340
19342
19344
19345
19348
19347
19348
19349
19350
19351
19353
19355
19356
19357
19358
19359
19360
19361
19362
19364
1 q366
19367
19368
19369
19370
19371
19372
19373
19375

C.S.
ADOR

~:~~:~,:*:~dA~~t:t:*!~:!~~~!!on:****.*.*.*** ALU B ••••••••••• * ••

LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

~***************************************************** *.*************

:.••• ~~~~!~.~:~~:~Y~.l~~~~l.!~~!~~~!!~~ ••• ** •••• **.*.* •••••••••••••• :
!LUT INSTR.DXCH:O 000 001 110 xxx xxx, ENTRY.DXCH, SR.4
13CE
13CF
1300
1301

DXCH

ADD
ADD
ADD
ADD

RB
RD
RA
RC

NEXT

ADD
ADD
ADD
ADD

RD
RB
RC
RA

;; IS-11
S 3

- IS-I)

- ) • S-3), CCA on msw
; S-2
- S)
NEXT; (S .- (S-2), DCC on lsw

CCA
DCC

*

111********************************.*****.*************.*************1*

:****~:~~:~Y:*~*~~~*~*l~~~l*~~:!~~~!!~~*************** *************.:
!LUT INSTR-XCH:O 000 011 010 xxx xxx, ENTRY.XCH, SR-2
1302
1303

XCH

RA
ADD
RB
RB
ADD
NEXT
UBB ADD
RA
CCA
ADD
JIll ** *** • JIll. * * III * * * III III III **** III III III Ill .. III • • III * * 111* 111*" III: III JIll III
** III: III * III III III ** III ** III * III * * III Ill"' • • * JIll III

~CH1

JIll:

:****~:~~=~I~*~*:~~*~*l~~~l*!~=!~~~!:~~*************** 1lI******.**.**.:
1304
1305

!LUT INSTR-XAX:O 000 011 101 xxx xxx, ENTRY-XAX, SR-l
ADD
XAX
RA
ADD
X
ADD
RA
CCA
ADD

*

.
III

III III III

NEXT

X :-

(S)

(S) :- X, CCA; NEXT

*** * * III * III * III * * * * * * III *** * III * * III * III III *** JIll * III III: * * III III * * III: * ** * III '" ""'111 III"" * * .. III III III III * III
l1li

:*.**~~!:!~*~*~*~*!~~~l*!~=!~~~!!~~*************III***** ********* •••• **

!LUT INSTR-CAB:O 000 101 110 xxx xxx, ENTRYaCAB, SR-3

1306
IJ07

CAB
III III

ADD
ADD

RB

**
III

: * *" III

** * II
III

III III III
III

II

RA
RC

RC

ADD
JSB

I I * * * ** * *" *" * * *" l1li" * * * *
~:~ ~:~~~ ~ =.~~ *~ * 1~~~ l * !~~! r~~! :~~ * * *
III

III III III

III

III:

III

III

III

III

III

III

I/(

XCHI

RB

UNC

; (S-1) : - (S)
(S-2) :- (S-I); UBB :- (S-2), jump to finish

*"".. *".. * * * * III III" * III" III * * * III III""

III III III III '"

**
III

III III III III III III III

* III * III *III " " III

*:

!LUT INSTR-XBX:O 000 111 101 xxx xxx, ENTRY-XBX, SR-2
1308
1309

XBX

RB

ADD
ADD

X

RB

ADD
ADD

NEXT

X :- (S-1)
(S-I) :- X; NEXT

PAGE 397
RECORD
NO
19378
19379
19380
19381
19382
19383
19384
19385
19387
19389
19391
193'33
19395
193q7
19399
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19412
19414
19416
19417
19418
19419
19420
19421
19422
19423
19424
19426
19428
19429
19431
19432
19434
19436
19438
19439
19440
19442
19444
19445
19447

C.S.
ADDR

Triple Word Shift instructions
*-*.~**~*** ALU A ********-**
111111111111.111.* • • *** ALU B *************LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
III '" _I '" III

* '" * '" * III '" '" III '" " .. * tc .. '" * * * .. III III * III: l1li '" III '" '* III '" III * II! * *

)II: '" 111: '" ....

III III III

10/ 2/86

9:27 AM

COMMENT

* * III III: III: * III: * It .. * '" '" '" JIr III '" '" III III

:*~**re~~*!r!!e!:*:!!!~~:!!~*:~!!!*~:!!l*~~:!!~~!~~:** *********.***.:
$LUT INSTR=TASL:O 001 001 000 XX,ENTRY=TASL,SR=3,DSPL=6
$lUT INSTR=TASL X: a 001 101 000 ;:X, ENTRY=TASL, SR=3 ,DSPL=6, X
13DA
13DB
13DC
13DD
13DE
I1DF
13EO
13E1

TASL

ADD
SP4A
DSPL JSB TASI
UBA Q'ASL
SREG ADD
RC
TAS2 SPOA
ADD
ADD
TASI
RA
ADD
SPOA
RC
ADD
XC

UNC
CCA
NEXT
RSB

UBB
SREG
UBB
UBA
003F UBA
RB

ADD
ADD
LINK
ADD
ADD
ADD
ANDL
REPC

* Ie _I '" '" 'Ie III '" III " * III III -.; '" III 1ft * * '" * * * III III III II III * * * III * * * '" * III III: III: III III .. 11: III III: III

)I[

SP3B
RB
RA
CTR

III III II .III #I '" III '" '" l1li '"

DCTR CTRO
DCC
DCC
DCTR CTRO

* '" * III: III III III * III 111

:*~**!~~~*lr!~~~:*:!!!~~:!!~*:~!!!*!!~~!l*~~:!r~~!!~~* *************.:

SLUT INSTR-TASR:O 001 001 001 XX,ENTRY=TASR,SR-3,DSPL=6
!LUT INSTR-TASR X:O 001 101 001 XXX,ENTRY=TASR,SR-3,DSPL-6,X
13E2
13E3
13E4

TASR XC

DSPL JSB TASI
UBA CIASR
SREG ADD
RC

UNC

ADD
UBB LINK
SREG JSB TAS2

CCA

DCTR CTRO
UNC

•• n*****Ift*****************************_**_**IIIII1t**_*Jll:JII#f.1Ir:**JII************
* * r~~~ * ~! ~ * ~~ r~= ~! ~! ~~ * ~ ~! !! *!:! !1*! ~: !! ~~!!~ ~ * * ~ * * * * * II * * * * * * :

1r e!

: __ II

13E5
13E6

$LUT INSTR-TNSL:O 001 001 110 XX,ENTRY=TNSL,SR-3
!LUT INSTR-TNSL X:O 001 101 110 XX,ENTRY=TNSL,SR=3,X
TNSL
RA
ADD
SPOA
03FF RC
ANDL
RA
RB
lOR
NZRO FEOO UBB ADDL

13E7
13E8
13E9
13EA
13EB
13EC
13ED
13EE

SPIB J'SB
~,DD

RH

SP2B ~,DD
UBA QASL

TNSO

ZERO
SP4A

0200 SREG IORL
TNSI XC
UBB ADD
SPOA
1100
RA
TN'SO
,ISB TNSI

NFl
CRRY

0100

RB
UBB

002A

CRR'!

ADD

SP3B SFI

ADDL
REPC
LINK

RH

CTRS ADD
UBA ADD
UNC

SPIB
SP2B

ADD
ADDL

RB

ICTR

RC

CCA
NEXT

~::~~S~iFT COUNT, JSB; SP3B:=0
SHIFT UNTIL CTR IS DECREMETED TO 0
STORE (S-2), CCA; UBB:-(S-11
UBA:=(S); STORE (S-I), DCC
NEXT; STORE (S), DCC
SPOA:=(S); CTR:=SHIFT COUNT MOD 64
UBA:=(S-2), RSB;
UBB:=(S-l), REPEAT IF CTR () 0

:>AGE 398

RECORD
1m
19450
1.9451
19452
! 9453
.'9454
l!J 45 5
19456
19458

C S
ADDR

1t • • •

: 1Ir"

13EF

9-27 AM

.l !~~! 1Ii'; ~:! ~ ~~!! ~ ~ .

III

* '" * III II! * III * * * III * * III * III III III * * * * * III * * * * III

*.

III

* .. *

INSTR-TEST:O 000 010 101 xxx xxx, ENTRY-TEST, SR-l

TEST

ADD

RA

JSB

XCHI

UNC

; UBB :.. (S). jump to fin ish

**" •*

r=~ l. ~~ ~~!: . ':~ ~~ * ~ ~ * !~~ •!~!~! l *! ~: ! r~; ! !~ ~ * * * * * * * * * * * *" * * * * * * * * :

!LUT INSTR-DTST:O 000 010 III xxx xxx, ENTRY-DTST, SR.2

19463

13FO

DTST

RB

JSZ

DTSI

UNC

RA

RA

LINK

CCRY

UBA

:= MSW.

lsw(O): Clear carry bit in STA

* •• ************_._************_*****111********* •• ************ •• **.***_

* III III III

19470

III

19472

~LUT

19471

19473

10/ 2/86
COMMENT

•• *Jt*_** •• **** ••• ********** ••• ******.***************** **************'11

194~9

19474

-****** .... _-* ALU B 1fII********** •••
RREG SREG FUNC SFNC STOR SPEC SKIP

**.1r_**IIt****IIt* •••• *.*****_***_****._****_************************

* III!: ~! * r~~

~LUT

19460
[9461
19462
19464
19465
t9467
19468
19469

Test Instructions
******.**** ALU A **It*****IiI**
LASL RREG SREG FUNC SFNC STOR SPSK

13F 1

eTST

r: ~ !

III

~ ~ ! ; ~ ~ r~~ i ~! ~
III

III

III

r! ~ ~: ~ ~ ~; ! !~ ~
III

III

* III III * * * III * III * III * * III III III III * III * • * * * III * * *

INSTRsBTST:O 000 011 001 xxx xxx, ENTRY'STST, SR=l
JSZ

NEXT

UNC

RA

ADD

CCB

Jump to NEXT; Set eCB on TOS

PAGE 399
RECORD
NO
19477
19478
19479
19480
19481
19482
19483
19485
19487
19489
19490
19492
19494
19496
19498
19500
19502
19503
19505
19507
19508
19510
19512

C.S
ADDR

Linked List Search Instruction
JlllIIllllltJII***"'.JII ALU A 111**"'_ ••••• 111

*",111.-.11111*"'***111111 ALU B 1It_***sIt**JII*IIIIIIJII*

LABL RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

101 2186

9:27 AM

COMMENT

JlrJlf.JII**************JlI:***************JIt*****"'**"'III"''''JII***f4J11l11-'JllIII*III*****IIIJlllIc:lll'"

**********~!~~~~*~!!!*!~~~~~*~~~r~~~!!?~.**********~** ••• ***111**.**111**

SLUT INSTR=RSW/LLSH/I-O:O 010 000 all OOx xxx, ENTRV=lLSH
13F2
13F3
13F4

LLSH

CSR
JSZ
JSZ

UBB

ROX3
NZRO
CCA
NCRY

SR
SPIB JSZC PUL2
NCRY
OOFF RB
ANDL
BKX3
ADD
RA
ADD
SPIB ROX3
RA
INC
ROX3
OPB ADD
BKX3

TRP6
PUlM

SP4A

POS
SRL2
NCRY

0002

13F5
13F6
13F7
13F 8
13F9
13FA

RD
lLSl X
RC

OPA

JSZC PULM
INC
ADD
CAD
JSZC NEXT
JSBC lLS2

13FB
13FC

RD

OPA
UBB

JSB
JSB

LLS3
llSl

TEST
ROX3

UBA

INC
JSZ
ADD

IRON

CCA
UNC

RREG

13FD
13FE
13FF

SR

CIR
STA
X

lLS2
lLS3

RA

ADDl
SP1B
UBA JSLZ RSW
SP1B JSZI PUL2

OPB ADD
BKX3 XFRS

RA
RB

LINK
SPIB ADD
ADD

RA

POS
SRZ

NEXT

3~~Ai~r.I56Ro~C~~~11~s~~1~1~: ~o~~O~i~{~liOn?

Pull 2 TOS if SR • 0 else pull 1 if SR c 1
Fi~~BTOS ~o(~tlre~~r :hen SR )= 3 on entry)
X. X + 1 to negate 1st check; BKX3
bank
Read target word
X=X
1. SKIP IF () O· READ NEW LINK BANK
CCl IF X=O, JSB FOR NEXT; READ NEW LINK ADDR
TERMINATE IF NOT (TEST WORD) TARGET);
BKX3:=LINK BANK
UBA:=TARGET, JSB IF INTERRUPTS; RA:=ADDR
READ NEW TARGET WORD, LOOP BACK;
RREG:cTARGET, RB:=NEW LINK BANK
INCR TARGET, CCG IF ALL l'S ELSE CCE, NEXT
JSB TO INTERRUPT HANDLER; RESTORE RA
NOP to keep system happy
(2555)

PAGE 400
RECORD
NO
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19530
19531
19533
19534
19536
19537
19539
19540
19542
19543
19545
19546
19548
19549
19551
19552
19554
19555
19557
19558
19560
19561
19563

C S.
ADDR

Dec 1ma1 Ins true t ion Set
···········ALUA···········
LABL RREG SREG FUNC SFNC STOR SPSK

·

111111 III III

*. III * III III **11 III III III * III III III ....

l1li

III III 111111 III

* III III III III ..

*.

••••••••••••• ALU B··············
RREG SREG FUNC SFNC STOR SPEC SKIP
III .. III III III III III III III III ** III * III .. 111.111 * III III * * III * * * _. III * III III

10/ 2/86

9:27 AM

COMMENT

DEC is the entry point for the decimal instruc:tion set

The lis t four bits of the op-code are used to index the
dec:imal jump table.
III It III .. III III III" III III" lit III III 1ft III 111* III l1li **.* III * III 1\ 111 .... 111 III * 111111 III,. * * * III * III_ III III * 111111 * * * III III . . . III 111:"" III * III. III III .. III III

·

~LUT

INSTR-EDIS:O 010 000 l1x xxx xxx, DSPL-4, ENTRY-DEC

·

%1400
1400

DECT 0070 CIR

ANDL

JSL

DMPY

UNC

1401

0060 CIR

ANDL

JSL

CVAD

UNC

JSL

CVDA

UNC

1403

0060 CIR

ANDL

XR2

JSL

CVBD XR2

UNC

1404

0060 CIR

ANDL

XR4

JSL

CVDB XR2

UNC

1405

0040 CIR

ANDL

XR6

JSL

SLD

XR2

UNC

1406
1407

0040 CIR

ANDL

XR6

JSL

SLD

XR2

UNC

0040 CIR

ANDL

XR6

JSL

SRD

XR2

UNC

1408
1409
140A

0040 CIR
0040 CIR
0040 CIR

ANDL
ANDL

XR6
XR6

JSL
JSL

ADDD XR2
ADDD XR2

UNC
UNC

ANDL

XR6

JSL

ADDD XR2

UNC

140B

0040 CIR

ANDL

XR6

JSL

MPYD XR2

UNC

ADD

1402

LOGICAL MULTIPY;
CHECK CIR ( 9:3 )
2. ASCII TO DECIMAL CONVERSION;
CHECK CIR ( 9 :2 )
3. DECIMAL TO ASCII CONVERSION;
1. DOUBLE

4. BIN,~RY TO DECIMAL CONVERSION;
CHECK CIR ( 9:2 )
5. DECIMAL TO BINARY CONVERSION;
CHECK CIR ( 9:2 )
6: DECIMAL LEFT SHIFT;
CHECK CIR ( 9:1 )
7. DECIMAL NORMALIZING LEFT SHIFT;
8. g~~I~rI:I~H~:~H1FT;
CHECK CIR ( 9:1 )
9. DECIMAL ADD;
CHECK CIR ( 9:1 )
A. DECIMAL COMPARE;
CHECK CIR ( 9:1 )
B. DECIMAL SUBTRACT;
CHECK CIR ( 9:1 )
C. DECIMAL MULTIPLY;
CHECK CIR ( 9:1 )

PAGE 401
RECORD
NO
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19589
19591
19593
19595
19597
19599
19601
19603
19605
19607

C.S.
ADDR

DECIMAL -- DECIMAL ENTRY POINT
~~~~~ •• *~~* ALU A •••• *******
************* ALU B ***********~**
LABL RREG SREGi FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC Slq P COMMENT

10/ 2/86

9:27 AM

STAR'T OF DECIMAL INSTRUCTION SET -- ..

o 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1-------------------------------------------------------I
I 0 0 1 0 0 0 0 1 1 X X X
DSPL
- I
1-------------------------------------------------------I
1. ADJUST TOS REGISTERS; ONLY 3 TOS REGISTERS ARE VALID.
2. CALCULATE ENTRY JUMP TARGET.
3. ALL EXTENDED REGISTERS USED IN THE DECIMAL INSTRUCTION
SET ARE WITH REGISTER FLAG SET [ SRF ); & CLEAR ( CRF )
ON EXIT OF THE INSTRUCTION.
4. MOST OF THE INSTRUCTION SET MAKE USE OF XRA1 - XRA9,
& XRBO - XRB8 AS TEMPORARY DATA BUFFERS. THEY ARE
TWO IDENTICAL COPIES. THESE BUFFERS ARE INITIALLY
ZEROED BEFORE FETCHING DATA.
140C
140D
140E
140F
1410
1411
1412
1413
1414
1415

DEC

DSPL JSZ
INC
UBA JSZC
JSZ
DECT DSPL ADDL
CAD
UBA
ADD
ADD
ADD
STA ADD
SR

TRP
LSL
ET03
PULM
LBL

ZERO
CF2
CRRY
NF2
XRO
XR1
XR10

WRD
RAR
CF3A
HBF2

FFF3
RREG UBA
UBA
SP3B
RC
FFE3

ANDL
JSZ TRP
JSZC PULM
JSZ PUL2
CSR
ADD
ADD
ADD
ADD
ADDL

CTX
SP3B
RF
SRF
XRO
XR1 CLO
XR26
XR9
SP1B

POS
SRZ
SRL2

RSB

TRAP IF DSPL :- 0; MASK, CLEAR CTX

~MP~~2+0~R~b 5~ ~~r~ ~F ~R

:= 0
PULM IF NF2; PUL2 IF SR < 2
CALCULATE JUMP TARGET; RF := 8000, SRF
ADJUSTED JUMP TABLE ADDR; XRBO :- 0
YRA, XRAO :- 0; XRB1 :- 0, CLEAR OVERLFOW
XRA1 :- 0, CF3A; SAVE RC ( FOR MPYD )
XRA10 :- O' XRB9 :- 0
SET F2 IF PRIV MODE'
SP1B :- -( VALID DIGIT COUNT l. TO JMP TABLE

PAGE 402
RECORD
NO
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19633
19635
19637
19639
19641
19642
19644
19646
19647
19649
19651
19652
19654
19655
19657

C.S.
ADDR

CVAD -- ASCII TO DECIMAL CONVERSION
••••••••••• ALU A··········· **111 •••• ****** ALU B 111*************
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

g: 27 AM

COMMENT

ASCII TO DECIMAL CONVERSION --ON ENTRY :
SR
RA
RB
RC
RD

:.
:.
:.
:.
:-

3
SOURCE DIGIT COUNT
SOURCE BYTE ADDRESS
DB REL
TARGET DIGIT COUNT
TARGET BYTE ADDRESS ( DB REL
( VALID AFTER PULM J

TARGET ADDR
ASCII SOURCE CONVERTED TO PACKED
DECIMAL. ASCII SOURCE MUST BE LEADING BLANKS ( %40 J
OR DECIMAL DIGITS. THE RIGHTMOST DIGIT MAY BE SIGNED.
BOTH DIGIT COUNTS MUST BE IN THE RANGE 0 <- N <= 28.
IF EITHER DIGIT COUNT IS ZERO ONLY THE SDEC IS
PERFORMED.
1416
1417
1418
1419
141A

CVAD

RC

RB
SP1B
RA
DB

ADD
JSB
JSB
ADD
ADD

AD17
SD24

141B
141C
1410
141E

ADD
CAD
UBA RA
ADD
SPOA SP1B ADD

141F

OPA

ADD

RRZ

UBA

ADD

LSL

1420

RA

UBA

RC

RG

CRRY
ZERO
NFSS
CF1

RH
RH
RF

RA
Z
UBA

ROD
UNC

RC
0001

JSZ
JSB
JSB
SUB
SUB

PULM
AD17
SD24

CFl
ClFl

JSL eKCD
ADDL
CTR
ADD
JSL CKAB

0003

CF3A
RH

SP1B
RC
DB
DL

JSBS CADI XRO
ADDL

CTR

UNC
CRRY
ZERO
NCRY
UNC
NF5B

SF4B

UNC
F4B

SAVE R8; PULM FOR RD
TRAP IF RC > 28; TRAP IF RA > 28
DEC STACK & NEXT IF RA OR RC - 0
SKIP IF NOT SPLIT BANKS; SKIP IF DB > Z
Fl SET IF NOT SPLIT STACK'
~ ~NFSSJ AND (Z>=DBJ AND (DB>aDL)
.
RH:-NISBl
OUNT; GO CHECK TARGET ADDRESS
UBA:=RI\-l'
CTR:-3 (DEC DIGS TO FILL WOJ. SKIP IF F5B=O
RH:-NIBBLE COUNT (2RA-1); F4B:-F5B
OPA:=TARGET SIGN WO. RF:-TARGET ADDRESS;
CHECK SOURCE ADDRESS
UBA: -POSS. EXTRA BYTE IN TARG SIGN WO;
XRBO:=-(DEC CNT). JUMP IF TARG SIGN WD FULL
RH(6;8]:=EXTRA BYTE. SKIP;
CTR::! (DEC DIGITS TO FILL WD) IF EXTRA BYTE

PAGE 403
RECORD
NO
19659
19660
19661
19662
19663.
19664
19665
19666
19667
19669
19670
19672
19673
19675
19676
19678
19679
19681
19082
196E4
19686
19688
19690
19692
19694
19696
19698
19700
19702
19704
19706
19708
19710

C. S.
ADDR

CVAD -- ASCII TO DECIMAL CONVERSION
1IiI • • III.JII:!IIJIr;JII:Ir*

ALU A

lItllllll!ll;"'**JlrJII*1II

LABL RREG SREG FUNC SFNC STOR SPSK

* 111111 JII III: 1II111]1r III 11::.11 * * Al.U B *IIfJltJIIJIIIllIlf • • • JIiI***
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

CAD1-4 SET UP RE ( 4:8 ) WITH THE EXTRA BYTE IN THE
TARGET SIGN WORD ( IF ANY ), LOAD RE ( 0: 4 ) WITH THE
APPROPRIATE SIGN PATTERN, AND SET THE CONDITON CODE.
1421
1422

CAD1 UBA

UBA

RH

SUB

UNC

SP3B ROD

F5B

UBB

SP3B ROD

UNC

1423

ADD

RRZ

SP2B SF4B UNC

1424

ADD

SPOA

SREG ADD

LRZ

SP2B CF4B

IORL

RE

CTRS ADD

LSR

1425
1426
1427
1428
1429
142A
142B
142C
1420
142E
142F
1430
1431
1432
1433
1434

0000
FF83
0002
RREG
0028
0009
0009
0007
OOOA
0010
0004

CAD2
CA03
CAD4 0004

RH

LSL

RH

SP3B SP4A ADD

RREG SREG ADD
RA
SUB

XRO

SP2B ADDL
RH
UBA ADDL
RG
ADD
RG
ADDL
UBA ADDL
UBA ADOL
UBA ADDL
UBA ADD
UBA ADDL
UBA ADDL
ADDL
RE
ADD SWAB
CAD
ADDL
RG
ADD

CCA

OPB

FFC6

CCA

CCA

CAD

UBA
CFFF RE
RG
UBA
UBA
UBA
UBA
FOOO RE
UBA
UBA
UBA
1000 RE
RH
UBB

ADDL
JSL
ANDL
JSL
JSB
JSL
JSL
JSB
IORL
JSL
JSB
JSL
IORL
INC
JSL

CAD7

LBF5
SP2B

RE
RH
RH
RH
RH
RH
RE
CAD7 RH
I~D14 RH
CADC RG
RE
GAD6 RH

CAD7
AD14
CA03
GA04
AD14

ZERO
ZERO
POS
POS
POS
POS
PClS
NZRO

U~IC

U~IC

~~B7~s6~R~~ ~~~~Awg:T~P3~~!:6DR,

WORD FULL?
RH(4:8):=EXTRA BYTE;
IF NOT FULL, DEC ADOR & GET FULL WO, SKIP
XRAO:~-(ASCII COUNT), CONO COOE:= " <0"
SP2B(8:8):=SIGN BYTE IF WO FULL, F4B:=l,SKIP
SPOA:=O (CCE INOIC.);
SP2B(8.8):=SIGN BYTE IF WO NOT FULL, F4B:=0
RE:=MINUS SIGN (AND POSSIBLE EXTRA BYTE)
F5B:=(RE LACKS> 1 DECIMAL DIGITS)
RH:=SIGN BYTE - %175; SP2B:=-%72
RG:=SIGN BYTE - %173; JUMP IF DIGIT IS -0
COND CODE:- ">0"; RE(0:4)=PLUS SIGN
UBA:=SIGN BYTE - %123; RH:=SP4A, JUMP IF +0
UBA:=SIGN BYTE - %112; RH: =UBA, JUMP IF ERR
UBA:=SIGN BYTE - %101; RH: =UBA, JUMP IF NEG
UBA:=SIGN BYTE - %72; RH: =UBA, JUMP IF POS
UBA:=SIGN BYTE - %72; RH:=UBA, JUMP IF ERROR
UBA:=SIGN BYTE - %60; RE(0:4):=F (UNSIGNED)
UBA:-SIGN BYTE - %40; RH:-UBA, JUMP/UNSIGNED
UBA:=4; RH:-UBA, JMP IF INV DIGIT (NOT BLNK)
gg=g ~~o~~~Bi- %72; RH:-RH-%60, JUMP IF ( 0
g~~~Tc~~~,U~AA~~~+ 2 BITS; DEC DIGIT COUNT
RE:=DCBA (DECIMAL DIGIT HAS BEEN SHIFTED IN)
CAPTURE NONZERO BITS IN SPOA;
INCREMENT DECIMAL OIGIT COUNT, JUMP IF DONE
INC ASCII DIGIT CNT, F2:=0 IF ASCII RUNOUT
~~2::t:~GL~g~~;>L60~I1~T~~'N~~I~ulr RE FULL
WRITE RE TO MEM IF FULL; RE:=O, F5B:-l

g~j:!~R?N~~~~ESO~~:G~,Aju~~R¥oA~g~~

INIT RG FOR LOOP; UBB:-RH, JUMP INTO LOOP

PA ,E 405
RECORD
NO
197'>6
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19769
19770
19772
19773
19775
19777
19779
19781
19783
19784
19786
19787
19789
19791
19793
19794
19795
19796
19797
19798
19799
19800
19802
19804
19806
19808
19809
19811
19812
19814

C.S.
ADDR

CVAD -- ASCII TO DECIMAL CONVERSION
JIo:J11J1o:.JIo:.JII#'.JllIIIJIo:

ALU A

JllJllIIIJIo:JllJII*****

LABL RREG SREG FUNC SFNC STOR SPSK

JllJIt#lJIIJIIJIIJlrJIIIIIJIIIIIJIIJII

ALU B

10/ 2/86

JIo:JIo:JltJltJII**IIc*JllJII_t*JIo:

RREG SREG FUNC SFNC STOR SPEC

S~(lP

9:27 AM

COMMENT

CAD A, CADB, & CADC COMPRISE THE ASCII RUNOUT/ LEADING
BLANKS INNER LOOP
IN THE CASE OF ASCII RUNOUT

!NR~H~ ~~sJ'O~E~~A~R~~ ~~c~L~3~~E6~E~~EA~~~~E~y~~Ei~'

CHECKED TO MAKE SURE THAT IT ALSO IS A BLANK, AND
ZERO FILL IS PLACED IN THE TARGET FIELD.
1442

CADA

1443
1444
1445
1446
1447
1448

CADB
CADC UBA
UBA

1449

JSB

CADC

RE

ADD

SWAB

RE
UBA
UBA
XRO

ADD
ADD
ADD
ADD
INC

SWAB
LSL
LSL RE
XRO

FFEO

144A
144B
144C

RF

ADDL
RF
RE

ADD
ADD
CAD

NF2

HBF2

OPB

LRZ

RH

CF4B F4B

RRZ

RH

SF4B UNC

SP3B
CAD
SP3B ROD
RH
SP4A JSB AD14
NZRO
UBA UBA LINK
DCTR
UBB UBB LINK
XRO JSBI CAD8 XRO
ZERO

SP4A
RF

ADD

SREG ADD

CTRS ADD
WRD
DATA
ROD

RG

JSL
ADD
JSL

LSR
CADA

RE
CADA CTR

LBFS NFSB
SFSB

UNC
Ul'4C

JUMP FOR ZERO FILL IF ASCII RUNOUT:
RH(8.8):20PB(0:8), F4B:=0, SKIP IF F4B
CBAO =) AOCB'
RH(8:8):=OPBi8:8) IF R BYTE NEXT,F4B:=I,SKIP
, IF LEFT BYTE NOW, GET NE XT WORD
CBAO = ) AOCB; TRAP IF NOT BLANK
SHIFT UBA.UBA LEFT TWO BITS; DEC DIGIT COUNT
RE:2 OCBA (ZERO HAS BEEN SHIFTED IN)
INC ASCII DIGIT eNT, F2:=0 IF ASCII RUNOUT:
INCREMENT DECIMAL DIGIT COUNT, JUMP IF DONE
SP4A:=-%40 (BLANK);
~~2::f:~GL:g~~;)L60~I~~T~J'N6~I~ul[ RE FULL
WRITE RE TO MEMORY IF FULL; RE:=O, F5B:=1
DEC TARG ADDR, OPA:=WORD AT TARGET ADDRESS;
CTR:=4 (NIBBLES TO GO), JUMP TO LOOP

& CAD9 WRITE THE LAST 1 - 4 DECIMAL DIGITS
( IN RE ), TO THE APPROPRIATE TARGET ADDRESS.

CAD~

144D
144E
144F
1450
1451
1452

CAD8
GAD9

UBA
UBA
SPOA

RE
UBA
UBA
OPA

ADD
ADD
ADD
ADD

SWAB
LSL
LSL RE
LRZ

ADD

NZRO

ADD

CCA

UBA
UBB

CTRS
UBA
UBB
RF

JSL CAD9
LINK
LINK
ADD

WRD

UBA

RE

ADD

DATA UNC

RE

ADD

SWAB

DCTR

DATA

EVEN
CTRO

~~1~T=GB:~~gA t~~~ ~FB¥~~~L5~g S~~~~E~05~~N

RE:=OCBA (ZERO HAS BEEN SHIFTED IN)
UBA(8:8):8POSSIBLE EXTRA TARGET BYTE;
YRB:=TARGET ADDRESS, SKIP IF RE FULL
¥~I~EI~o~E~~tl,NS~f~~Otx. BYTE & DIGS TO MEM
COND CODE:- -.0· IF RESULT IS ZERO;
WRITE RE TO MEMORY IF FULL

PAGE 406
RECORD
NO
19816
19817
19818
19819
19820
1  SM IN USER MODE

PAGE 408
RECORD
NO
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19935
19936
19938
19939
19941
19942
19944
19946
19947
19949
19951
19952
19954
199C,6

19957
19959
19961
19963
19964
19966
19967
199fi9
19971
19972
19974
19976

C.S
ADDR

CVDA -- DECIMAL TO ASCII CONVERSION
#1:111*11:*****"'* ALU A **111.******* *****fI:******1Ii ALU B 111.**.******.**
RREG SREG FUNC SFNC STOR SPEC SKIP

LABL RREG SREG FUNC SFNC STOR SPSK

.

10/ 2/86

9:27 AM

COMMENT

SNOWARN
DECIMAL TO ASCII CONVERSION --ON ENTRY
SR .~
RA
RB :=
RC :TARGET ADDR
OP COOE BIT
AS FOLLOWS

3
SOURCE BYTE ADDRESS ( DB REL )
SOURCE DIGIT COUNT
TARGET BYTE ADDRESS ( DB REL )

= PACKED DECIMAL CONVERTED TO ASCII.

& 10

AFFECT THE SIGN OF THE RESULT
TARGET SIGN

BIT 10

BIT

o
o

o

SAME AS SOURCE
NEG IF SOURCE IS NEG, ELSE UNSIGNED
UNSIGN

1

X

1

AN UNSIGNED RESULT IS CONSIDERED POSITIVE WHEN SETTING
THE CONDITION COOE, RESULTING THE CCG OR CCE. LEADING
ZEROS ARE CONVERTED TO ZEROS. THE SOURCE IS ASSUMED
TO HAVE THE SAME NUMBER OF DIGITS AS THE TARGET. IF
THE DIGIT COUNT IS ZERO, ONLY SDEC IS PERFORMED.
1466

CVDA

1467
1468
1469
146A

RB
RB

146B
146C

SPOA

146D
146E

E700

146F
1470
1471

RB

JSB

ZERO

RB

SPIB JSB

DB

ADO

NFSS

Z

DB

SUB

CFl

RB

SUB

CFl

UBA

DL

SUB

CTFI

UBA

CAD
ADD

RC

UBA XFRR
RD
SREG JSL CKCD SP2B

RB

ADD
ADD

RH

ADD
ADDL

RD
XR3

SD13

RH

SP4A ADD
ADD
RC
ADD

ROBD
EVEN

1472

0030 UBB

IORL

RE

1473
1474

0001
FFF6

ADDL
ADDL

RG
XRO

147,

SPOA

ADD
JSB

1476

RB

ROBD

DAI

RA

CRRY

SP4A INC
ADDL

XRO
XR3

RC

UBB ADD
OPB XFRR
SREG ADD LLZ

RE

ADDL

CTR

RA
OPB

ADD
ADD

SREG ADD
0002
ADDL

RLZ

RH
RH
CTR

NCRY

UNC

RG
CKAB CTX

3030

0004

WRD
ODD

ADO
JSL

DA17

UNC
ROAD
CF2
SF 2

EVEN

CFl

EVEN
UNC
UNC

DEC STACK & EXECUTE NEXT INSTR IF RB=O;
TRAP IF RB>-29
UBA:-DB, SKIP IF NOT SPLIT BANKS;
Fl:-0, SKIP IF Z-DB) AND (DB>=DL) )
UBA-RB=l; RD:=RC (TARGET BYTE ADDRESS)
RH:-TARGET NIBBLE COUNT (2RB-l);
SP2B:a-RB (DIGIT CNT). GO CHECK TARG ADDRS
OPB:=FRST TARG WO; RG:=RA (SOURCE BYTE ADDR)
RH:-RB(SOURCE NIBBLE CNT), COND CODE:= ">0":
CTX:-O, GO CHECK SOURCE ADDRESSES
RD:-O(CCE IND); OPA:-SEC SRCE WD, XRBO:=ADDR
XRA3.-E700 (FOR USE AFTER DAI-DA3 LOOP):
XRB3:=3030 (FOR USE IN DAI-DA3 LOOP)
OPB:=FRST SRCE WD; RE:=3030(EXTA ASCII BITS)
, F2 =O("L ASCII BYTE"), SKIP/TARG ADDR EVEN
SKIP IF TARGET ADDRESS EVEN;
IF TARG ADDR ODD, F2:=1 ("RIGHT ASCII BYTE")
IF TARG ADDR ODD, RE(0.8) :=EXTRA BYTE;
CTR:=4 (DIGITS FROM SOURCE WORD TO GO)
RG.'l(FOR CTR CHECKS): Fl=O.SRCE ADDR EVEN?
XRAO:=-lO (USED FOR DIGIT VALIDITY CHECKS):
IF SOURCE ADDRESS ODD. RH(08)=OPS(8 8)
YRA =TARG ADDR, IF SRCE ADDR EVEN. RH =OPS
JUMP IF DIGIT COUNT ODD:
IF SOURCE ADDRESS ODD. CTR =2 (DIGITS TO GO)

PAGE 409
RECORD
NO
19977
19978
19980
19981
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19996
19998
20000
20001
20003
20004
20006
20007
20009
20011
20012
20014
20015
20017
20018
20019
20020
20021
20022
20023
20024
20025
20027
20028
20030
20032
20034
20036
20038
20039
20041
20043
20045
20047
20049
20050
20052
20054
20055

C. S.
ADDR
1477
1478
1479

CVDA -- DECIMAL TO ASCII CONVERSION
111* 1\ !iii: III III #I III #11111 '* III ..
*!lil:III*ItJII*III***
ALU A *IIIJ1tJlt****JlrIll'lic
ALU B IIIJllIIIIIl*****It"'**fc
LAUL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKII'
RG
INC
RH
ADD SWAB RH
DCTR
RG
MEDJ UBA CTRS SUB
JSBI DA2
CTFI
OOOF RH
ANDL
UBA CTRS SUB

10/ 2/86

9:27 AM

COMMENT

~~ADi~Gc6u~t ~~~~, (~~~!~~AB~~H¥~ACT~I~2iJ~1
UBA(12:4):~FRST

DIG; Fl:=l IF LAST DIG IN WD

DAl-3 COMPRISE THE MAIN " INNER LOOP " OF THE CVDA
ROUTINE. EACH DECIMAL SOURCE DIGIT IS LOADED OR SHIFTED
INTO THE UPPER 4 BITS OF RH, SHIFTED LEFT 4 BIT POSITIONS
INTO SP4A, CHECKED FOR VALIDITY, AND OR'ED INTO RE
( WHICH CONTAINS THE EXTRA ASCII BITS ) TO OBTAIN ITS
ASCII REPRESENTATION. WHEN RE IS FULL, IT IS WRITTEN
TO THE APPROPRIATE TARGET LOCATION.
147A
147B
147C

DAl.
DA,!

1470

UBA
UBA

LSL
LSL SP4A
DAIS
CRRY

ADD

SWAB RE

NF2

UBA

ADD

SWAB

DATA

RF

ADD
SUB

OPA

ADD

RREG RE

147E
147F
1480

ADD
ADD
JSB

UBA
XRO

DA3

1481
14B2

RG

JSB

RH
UBB
UBA

DA1

CFl
UNC

LINK
LINK
lOR

RH
RD

SP2B JSBI OM
CTRS ADD

CTFI
RH

RH
UBB
RD

SP2B

ZERO

RF

SF2

RE

CF2

INC

XRO

ROAD

ADDL

CTR

XR3

ADD
JSL

XRO
0004

UBA,UBB:·RH SHIFTED LEFT 2 BITS

DA1

¥~~pS~~A6~~±~)~:D~g;DIG; RH(0:12) :=RH(4:12)

DCTR
NF2
NFl

CAPTURE NONZERO BITS IN RD, CTR:=CTR-l
RE:·SWAB(RE+DIGIT), SKIP IF LEFT BYTE;
SP2B:=SP2B+l (NEG DIG CNT), JUMP IF LAST DIG
IF RIGHT BYTE! WRITE ASCII WORD TO TARGET;
~FiFC~~GH~2BYTE,S~~~.~~3~~TF~I~~T BYTE
Fl:=1 IF NEXT DIGIT LAST IN SOURCE WORD;
JUMP IF MORE DIGITS LEFT IN SOURCE WORD
RH:=NEXT SOURCE WORD;
XRBO:=XRBO+l(SRCE ADDR),OPA:=SRCE WD AFT NXT
JUMP BACK TO LOOP; CTR: =4 (DIGITS TO GO)

~~~-~H~E~~A6~D~~E A~~~~~p~~~n ~H~I~~~~ 1_~E~~g~N6~~~~~
AN~H~~~ ~~EI~O~5I+io~Oc6~~.APPROPRIATE TARGET ADDRESS,
1483
1484
1485
1486
1487
1488
1489
148A
148B
148C
1480
14BE
148F
1490

DAII

DA~'

OM;
DAl
SWIIRN

SPOA SP1B ADD
RB
ADD
0040 CIR ANDL
UBA JSB OM
1900 RE
ADDL
0020 CIR ANDL
RE
XR3 ADD

ROBD
CCA
RE
RE

1000 UBA ADDL
RE
SP4A JSB DA6
3400 RE
ADDL
RE
ADD
RE
ADD LRZ RE
A,DD
RE
SP2B A,DD SWAB

NZRO
CCA
NZRO

FOOO RH
FOOO
UBB RH
0000 RH
RF
UBA
3100
UBB RE
3BOO RE
OPB

DATA

RD

ANDL
ADDL
JSBS OM
SUBL
CAD
JSL DAS
JSL OM
ADDL
SUB
MOL
JSL DA7
ADD RLZ
ADD
ADD

RH
RF

ZERO
CCA

ZERO
NZRO
NCR\'

RE
SP2B
SP2B

F2
CCA

NZRO

OPB:-DATA AT LAST TARG LOC; RH(0:4):=SIGN
UBA(9) :.CIR(9); JUMP IF.SIGN=F (UNSIGNED)

~~~~M~FN~~~(:6JU~T(~~~Ig~~g)60~~::D9~g:RH

UBA(10):.CIR(10); JUMP IF SIGN=D (MINUS)
ASSUME POS/UNSGND, ADJ RE, COND CODE:= ">0";
UBB: =3100
JUMP IF LAST DIGIT NOT ZERO; SKIP IF -0
~D~~~~ ~~ l~STOtA~&i¥S~0~5 nL~~ SP2B =0
SAVE ASCII BYTE IN RE(8:8), F1:=NF2;
GET EXTRA BYTE IN SP2B(0:8)
; SKIP IF RESULT NOT ZERO
WRITE DATA TO TARGET ADDRESS;
COND CODE·. ".0" IF RESULT IS ZERO

,~~~~M~F pg~ni8~E;; ~ Ag~~~¥N~~ ~

PAGE 410
RECORD
NO
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20069
20071
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20084
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20099
20101
20103
20105

C.S.
ADDR

DECIMAL -- TRAP ROUTINES FOR CVAD & CVDA& SD13
."'*111**"*#1'111:* ALU A *** •• ** •• *.
************* ALU B ***Ik*******lfl**
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

SDl3 --- WILL POP THE STACK ONCE OR THREE TIMES.
IF CIR ( 11: 1 J :

3

DECREMENT BY 1, OR
DECREMENT BY 3.

0
1

1491
1492
1493

SD13 0010 CIR

ANDL
ADD
JSZ NEXT

UNC

UBA

ADD
ADD
ADD

EPOP
CRF ZERO
EPP2

CHECK CIR ( 11:1 I; POP
, CRF, SKIP IF CIR ( 11:
DO NEXT; POP 2

0

TRAP ROUTINES FOR CVAD --I. CFl IF INVALID ASCII DIGIT.
2. SFI IF INVALID DECIMAL OPERAND LENGTH.
1494
1495

.

ADD
ADD

AD 14
AD17

CFl
SFI

JSL
JSL

BOER
BOER

UNC
UNC

CFl; JSB BOER FOR INVALID ASCII DIGIT
SF l; JSB BOER FOR INVALID DECIMAL OPER LEN

UNC

; CFl, SKIP
CHECK STA ( 2:1 J, USER TRAP; SFI
JSB IF USER TRAP DISABLED; CRF
TRAP TARGETS
SET OVERFLOW; DO STACK ADJUSTMENT

TRAP ROUTINES FOR CVDA --I. CFl IF INVALID DECIMAL DIGIT.

2

SFI IF INVALID DECIMAL OPERAND LENGTH.

IF USER TRAP IS DISABLED, SET OVERflOW & JSB SDI3.
1496
1497
1498
1499
149A

DAIS
DA17 2000 STA
UBA
0800 STA

ADD
ANDL
JSB "+2
JSZ TRPD
IORL
STA

ZERO
UNC

ADD
ADD
ADD
JSZ
JSB

TRPR
SD13

CFl
SFI
CRF

Fl
UNC

PAGE 411
RECORD
NO
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20130
20132
20134
20136
20138
20140
20142
20144
20146
20147
20149
20151
20152
20154
20155
20156
20158
20159
20160
20161
20163
20164
20165

C.S
ADDR

CVBD -- CONVERT 4 BINARY WORDS
~**~~***~*~ ALU A *~.********
*******~***** ALU B **************
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

CVBD ( CONVERT 4 BINARY WORDS ) --ON ENTRY
BINARY WORDS ARE STORED IN XRA6 - XRA9.
ON EXIT
DECIMAL DATA ARE STORED INTO TWO SETS AT
XRA5 - XRA9, & XRB4 - XRB8.
1. FOUR BINARY WORDS CAN BE CONVERTED TO A
MAXIMUM OF 20 DECIMAL DIGITS.
2. THE ALGORITHM IS SAME AS CONVERTING 3 BINARY
WOIRDS TO DECIMAL DIGITS.
149B
149C
149D
149E
149F
14AO
14Al
14A2
14A3
14A4
14AS
14A6
14A7
14A8
14A9
14AA
14AB
14AC
14AD
14AE
14AF

BD4

XR6
XR8
XR7
UBB
XR9
SP4A
UBA
SP4A
USA XRO
RREG UBB
RREG
UBA

ADD
,"DO
,"DO
."00
"DO
"DD
"DO
XFRS
XFRS
ADD
ADD

SP4A
UBA
UBB
RG
XR6
UBB XR8
RREG XR13
SREG

ADD
ADD
ADD
ADD
ADD
XFRS
XFRR
CSR

ADD
ADD
JSL
UBA
ADD
SP3B
ADD
UBA JSL
ODIE
ADDL
SP2B JSL
UBB ADD
RG
ADD
XRO JSL
ODIE
ADDL

,"DO

ADD

UBA

SPOA
SPOA
XRO
SPOA
RG
SPOA
XR9
XR8
SPOA
RG
XR6
XR7
SPOA
SP4A
XR5

HBF2

UBA

SP2B
0100 SP3B
SP2B
XRO
0100 SP3B
CTR
BrOD SP3B
BKXS
SP3B
0100 SP2B
CTR

PSHR
UNC
UNC
UNC

~E~~I£6~~S~~N( SPOA SP2B ; REPEAT LOOP
CONVERT REMAINDER T6 DECIMAL ( LSD'S)
SETUP FOR NEXT DIVISION

NCRY

~~~I~~~~R:7.((s~~gA,s~~~B ~P3B

SP28 JSL BTOD SP3B
UNC
UBB ADD
XR6
OOOE
AODL
CTR
JSL BTOD SP3B
UNC
UBB ADD
XR4 POPR
UBA ADD
XR5
UBA ADD
XR7
NF4B
ADD
RSB
BKX5 JSL

B03S XR8

SETUP TO DIVIDE BY 100M
DIVIDEND ( SP2B, SPOA, SP3B
DO DIVISI'JN
~5~~~~£~R. ( ~P~~BO~P~~A6 );

UNC

REPEAT LOOP COUNT
CONVERT REMAINDER TO DECIMAL DIGITS

CONVERT THE QUOTIENT TO DECIMAL ( MSD'S
SET F2 IF SIGN MASK
STORE OUT DATA

• OOOF; RETURN IF F4

PAGE 412
RECORD
NO
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20199
20200
20202
20203
20204
20206
20207
20208
20209
20210
20211
20212
20213
20214

C.S.
ADDR

CVBD -- CONVERT 5 BIANRY WORDS
*******-*** AlU A ,*** ••• **** ••••••••••••• ALU B ".*** •• *** ••••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

---

CVBD ( CONVERT 5 BINARY WORDS )
ON ENTRV

BINARY WORDS ARE STORED IN XRAS - XRA9.
ON EXIT
DECIMAL DATA ARE STORED INTO TWO SETS AT
XRA3 - XRA9, & XRB2 - XRB8.
1. FIVE BINARY WORDS CAN BE CONVERTED TO A

MAXIMUM OF 25 DECIMAL DIGITS.

2. REFER TO BD3 FOR ALGORITHM.

14BO
14Bl
14B2
14B3
14B4
14B5
14B6
14B7
14B8
14B9
14BA
14BB
UBC
UBD
14BE
UBF
14CO
14Cl
14C2
14C3
14C4
14C5

BD5

UBA
RREG

XRs
XR7
XR6
UBB
XR8
SP4A
UBB
XR9
SP4A
UBA
SP4A
RG
UBA

UBB

ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
XFRS
ADD
ADD
ADD
ADD

SPOA
SPOA
XR7
SPOA
XR8
SPOA
XR9
XR6
RF
XR4

SAVE DECIMAL DIGITS
XRB
XRS XFRR
SREG ADD
XR3
XRS
UBB ADD
ADD
XR8
RF
UBB ADD
XR7
ADD
XR9
RG

ADD
ADD
JSL
ADD
ADD
SP3B
UBA JSL
UBA ADD
ADD
UBA JSL
ADDL
001E
SP2B JSL
UBB ADD
JSL
XRs ADD
ADD
SP4A JSB
UBA
UBA
UBA

BKX4
XR6
UBA
BKXs
UBA
RG

ADD
ADD
ADD
ADD
ADD
JSL

SP2B
0100 SP3B
SP2B
RG
0100 SP3B
SP2B

UNC
UNC

0100 SP3B
UNC
CTR
BToo SP3B
UNC
BKX4 SF4B
BD4
UNC
XR3

CONVERT THE REMAINDER TO BE THE LSD'S

BD6R XRS

FsB

RETURN :£F FROM BOB

UNC

; STORE OUT DATA

RG
XR4
XR2
XR6
XR7
BD3S XR8

LSD'S :" ( RF, BKX4 ); CONVERT THE 4 WORDS

CF4B

PAGE 413
RECORD
NO
20217
2021?
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20253
20255
20256
202'; 7
202'; f,
2025 .
20260
20761
20;-62
20263
20264
2026<;
2026f,
20n 7

2026 8
2026!l
20271

c.s
ADDR

CVBD -- COIWERT 6 BINARY WORDS
.***.~**.*~

ALU A *.111.*.*.*.*

LABL RREG SREG FUNC SFNC STOR SPSK

************* ALU B *********111 ••• 111
RREG SREG FUNC SFNC STOR SPEC SKIP

CVBD ( CONVERT 6 BINARY WORDS

)

10/ 2/86

9:27 AM

COMMENT

--.-

ON ENTRY
BII~ARY

WORDS ARE STORED IN XRA4 - XRA9.

ON EXIT
DECIMAL DATA ARE STORED INTO TWO SETS Al
XRA2 - XRA9. & XRB1 - XRB8
1. SI)( BINARY WORDS CAN BE CONVERTED TO A
MAXIMUM OF 29 DECIMAL DIGITS.
2. REFER BD3 FOR ALGOR ITHM.

14C6
14C7
14C8
14C9
14CA
14CB
14CC
14CD
14CE
14CF
1400
1401
1402
1403
1404
1405

BD6

XR4
XR6
XR5
UBB
XR7
UBB
SP4A
UBB
XR8
SP4A
UBB
XR9
SP4A
UBA
SP4A
UBA

."00
."00
"DO
"DO
"DO
"DO
"DO
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD

SPOA
SPOA
XR5
XR6
SPOA
XR7
SPOA
XR8
SPOA
XR9
RH

ADD
ADD
JSL
UBA
ADD
SP3B
ADD
UBA ADD
JSL
UBA ADD
AOD
UBA JSL
UBA ADD
ADD
UBA JSL
OOIE
ADDL
SP2B JSL
UBB JSB
UBA
UBA

SP2B SF5B
0100 SP3B
UNC
SP2B
0100

SP3B

;

SET F5 FOR BDS RETURN

UNC

SP2B

DlGO SP3B
SP2B

UNC

0100 SP3B
CTR
BTOD SP3B
BD5 SP1B

UNC
UNC
UNC

CONVERT THE REMAINDER TO BE THE LSD' S
); JSB TO CONVERT

000>
UNC

JSB IF CONVERTING 7 BINARY WORDS
STORE OUT DATA

~~~.~ BiN1R~Hwo~b~B

SAVE DECIMAL DATA
11\Dr
1"D7

~4D~

14D!l
14DA
14DB
14DG
14DD
14DE
14DF
14[0

B[lf,R

XR8
UBA XR6
RREG UBB
RREG
UBB
RF
UBB
RH
UBB

ADD
XFRS
XFRS
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD

REGN
REGN
REGN
REGN
REGN
REGN
REGN
REGN

0080 XR31
XR6
UBA
BKX5
UBA
BKX4
UBA
SPIB
UBA
RA

ADDL
ADD
ADD
ADD
ADD
ADD
ADD
ADD
ADD
JSB
JSL

CTR
XR2
XR1
XR4
XR3
XR6
XR5
XR8
XR7
BDTR
BD3S

ICTR
ICTR
ICTR
ICTR
ICTR
ICTR
ICTR

PAGE 1114
RECORD
NO

20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317

C S

ADDR

CVBD - - CONVERT 7 BINARY WORDS
_*111 •••• _ ••• _. ALU B .1II.1t." .•••••• *
***** •• ** •• ALU A ***-****-**
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

CVBD ( CONVERT 7 BINARY WORDS
ON ENTRY

)

10/ 2/86
COMMENT

---

:

BINARY WORDS ARE STORED IN XRA3 - XRA9.
ON EXIT
DECIMAL DATA ARE STORED INTO TWO SETS AT
XRA2 - XRA9, & XRBI - XRBS.
1. SEVEN BINARY WORDS CAN BE CONVERTED TO
32 DECIMAL DIGITS.
2. REFER BD3 FOR ALGORITHM.

14El
14E2
14E3
14E4
14E5
14E6
14E7
14E8
14E9
14EA
14EB
14EC
14ED
14EE
14EF
UFO
14F 1
14F2
14F3
14F 4
14F5
14F6

BD7

XR4
UBB
XR6
UBB
SP4A
UBB
XR7
SP4A
UBB
XR8
SP4A
UBB
XR9
SP4A
UBA
SP4A

ADD
SPOA
UBA JSl 0100
ADD
UBA ADD
SPOA
SP3B
ADD
ADD
XR4
UBA ADD
ADD
ADD
XR5
JSL 0100
ADD
SPOA
UBA ADD
ADD
ADD
XR6
ADD
UBA JSl 0100
SPOA
ADD
UBA ADD
ADD
ADD
ADD
XR7
UBA JSL 0100
ADD
SPOA
UBA ADD
ADD
ADD
ADD
XR8
UBA JSl 0100
SPOA
ADD
ODIE
ADDL
ADD
XR9
SP2B JSl BTOD
UBA
XRIO
UBB JSB BDS
ADD
SAVE DECIMAL DATA IN BOTH EXTENDED REGISTERS
XR10 ADD
XR8
BDTR
XR15 ADD
0005
ADDl
RH
UBA ADD
REGN ADD
ADD
RG
RH
CAD
RH
CH!
UBA JSB *-1
RG
ADD
XR9
JSL BD3S

SP3B
SP2B
SP3B
SP2B

UNC
UNC

SP3B
SP2B
XR31
SP3B
SP2B

UNC

SP3B
CTR
SP3B
XR15

UNC

UNC

UNC
NCRY

RG
XR7
XR8 DCTR
REGN
Fl
UNC

STORE OUT DATA

9:27 AM

PAGE 415
RECORD
NO
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20340
20342
20344
20345
20346
20347
20348
20349
::'0350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20366
20368
20370
20371
20373

C.S.
ADDR

CVBD -- CONVERSION ROUTINES
**111:***111111l1li111111 ALU A IIIl11if*_***JIlitlll
LABL RREG SREG FUNC SFNC STOR SPSK

**111111******"'** ALU B

10/ 2/86

l1li:"'-*111111111111 • • • • • 111*

RREG SREG FUNC SFNC STOR SPEC SKIP

9:27 AM

COMMENT

ROUTINE TO CONVERT TWO'S-COMPLEMENT BINARY WORDS
TO PACKED-DECIMAL DIGITS.
ON ENTRY
SPOA
SP3B
CTR

UPPER BINARY WORD
LOWER BINARY WORD
OF BINARY BIT -

#

ON EXIT
UBA
UBB
14F7
14F8
14F9

BTOD

UBA
UBA

UBA

UPPER DECIMAL WORD
LOWER DECIMAL WORD

ADD
BTOD
ADD

UBB
UBB

UBB

REPC
LINK
ADD

ROUTINE TO DIVIDE BY 100M FOR CVBD
( RRGA, RRGB, SPOA, SP3B ) / ( XRA15, XRB14
ON ENTRY
SPOA
SP3B
XRA15
XRB14

DCTR CTRO
RSB

REPEAT lOOP
CONVERT BINARY TO DECIMAL
DECIMAL RESULT ( UPPER, LOWER

);

RETURN

)

UPPER BINARY WORD
LOWER BINARY WORD
105F5
IEIOO

ON EXIT
SP3B
SP4A
14FA
14FB
14FC
14FD
14FE

0100

UBA
UBA

ADD
XR15 DVSB
ADD LSR
ADD
ADD

UPPER QUOTIENT
LOWER QUOTIENT

SP4A CF1

UBB
UBB

SP2B REPN
XR14 LINK
LINK
ADD
ADD

SP2B

20
DCTR C1RO
RSB

CF1; SETUP REPEAT LOOP
DIVIDE ( RRGA, RRGB ) BY ( XRA15, XRB14 )
REMAINDER :c
~~~B,U~~41
QUOTIENT
NOP to keep system happy
(2555)
NOP to keep system happy
(2555 )

I

PAGE 416
RECORD
NO
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20403
20405
20407
20409
20411
20413
20415
20417
20419
20421
20423
20425
20427
20429
204JO
20431
20432
20433
20434
20435
20437
20438
20440
20441
20442

C.S.
ADDR

SLD -- DECIMAL LEFT SHIFT
_*_**IIt**.IfI. AlU A ***111*******
LABL RREG SREG FUNC SFNC STaR SPSK

.

**IIt********** ALU B 1II1ft.****** ••• **
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

CCMofENT

%1500
DECIMAL LEFT SHIFT & DECIMAL NORMALIZING LEFT SHIFT --ON ENTRY

SR
X
RA
RB
RC
RD

:- 3
. '" SHIFT COUNT
:= SOURCE DIGIT COUNT
:- SOURCE BYTE ADDRESS
DB REL
:" TARGET DIGIT COUNT
:" TARGET BYTE ADDRESS ( DB REL
( VALID AFTER PULM )

TARGET ADDR • SOURCE ADDR SHIFTED LEFT X ( 11:5 J.
THE SIGN IS PRESERVED WITH THE EXCEPTIONS THAT -0
BECOMES +0 AND ALL NON-NEGATIVE SIGNS RESULT IN
POSITIVE SIGNS. IF ALL SIGNIFICANT DIGITS 00 NOT
FIT INTO THE TARGET FIELD, THE RESULT IS LEFTTRUNCATED AND CARRY ( STA (5:1) J IS SET. HIGH
ORDER NON-SIGNIFICANT DIGITS ARE FILLED WITH ZEROS.
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
150A
150B
IS0C
1500

SLD

OOlF
X

RH
X

NSLl

RH

JSZ PULM
UNC
ADDL
SP4A
SP4A AND
X
XR11
ADD
XRlS
ADD
CIR JSB NSLD
000
XR13 ADD
SPOA
XRll ADD
RH
XRlS ADD
XR13 ADD
ADD
XR14
ADD
CAD
RG
POS
JSB SLD3

UBA

JSZ
JSL
JSL
RG
JSL
JSL
RA
ADD
JSL
JSL
RG
0002 SP4A ADDL
RREG UBA ADD
RREG UBA XFRS
RREG RH
RSUB
JSL
CSR
RH

XRS
NZRO
XR7
UNC
XR8
UNC
XRll
F2
XR9
UNC
RG
CCRY
LEN XRIO
UNC
FCHB XR29
UNC
EVEN
RH
LBF5
SF4B EVEN
RH
LBFS
UNC
SRDX
XR12 HBF2

TRP
CKLN
CKBA
SPLT
MASK

PULM FOR RD; TRAP IF CIR ( 9:1 J .• 1
MASK; CHECK FOR VALID OPERAND LENGTHS
SHIFT COUNT; CHECK FOR SOURCE/TARGET ADDR
SOURCE WD-ADDR; CHECK SPLIT STACK IF PRIV
XRAIS := X; GET SOURCE/TARGET MASKS
JSB IF NSLD; SAVE RA, CLEAR CARRY
; DETERMINE ACC LENGTH
SOURCE WD-ADDR; GET SOURCE DATA
SHIFT COUNT; SKIP IF SOURCE SIGN MASK:'OFOO
TARGET SIGN MASK; UBB := SHIFT COUNT + 2
, SKIP IF TARGET SIGN MASK .= OF 00
XRA14 := 0; UBB := SHIFT COUNT - 2
-1;
JSB IF EFFECTIVE SHIFT COUNT IS pas;
SET F2 IF NEGATIVE

EFFECTIVE SHIFT COUNT IS NEGATIVE
1S0E

JSB

SRD2

ZERO

IS0F

JSB

SLDN

UNC

1510

SLSD

REGN ADD

XR14

RG

SRDI CTR

FSB

00 SHIFT RIGHT 1 DIGIT IF FS;

XR13 JSBI SLST CTR

UNC

5 -DIGIT SHIFT

CTRS JSB
ADD

ESLE DO SHIFT RIGHT 2 DIGITS ( SLOW JUMP )
END OF SHIFTING

PAGE 41"
RECORD
NO
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20463
20464
20466
20468
20469
20471

C.S.
ADDR

NSLD -- DECIMAL NORMALIZING LEFT SHIFl
~~********* ALU A *.*********
************* ALU B **************
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

DECIMAL NORMALIZING LEFT SHIFT --THE ENTRY POINT FOR NSLD IS SLD.
TARGET ADDR := SOURCE ADDR SHIFTED LEFT X ( 11:5 J.
IF ALL SIGNIFICANT DIGITS WOULD NOT FIT INTO THE
TARGET ADDR FIELD, TARGET ADDR = SOURCE ADDR LEFT
JUSTIFIED, X = X - ACTUAL SHIFT COUNT, AND CARRY
IS SET. IF TARGfT ADDR WILL NOT HOLD SOURCE ADDR
EVEN WITH A SHIFT COUNT OF ZERO, NO DATA IS MOVED
AND DECIMAL OVERFLOW IS SET. LEADING ZEROS WILL
BE FILLED AND THE SIGN WILL BE PRtSERVED AS SLD,
1511
1512
1513
1514
1515

N'SLD F3FF STA ANDL
STA
RH
XR15 ADD
SP4A
RH
RC
JSBS EE13
NEG
RC
UBB

RG
UBA

SUB
SUB

XR15
X

JSL

UNiC

SCNB

RH
RC

UBA

RG

SP4A RSUB
JSB NSLl

JSB NSLl RG
JSBS NSLl

ZERO
POS
SCRY

UNIC

CLEAR OVERFLOW & CARRY;
DO SCAN FOR LEADING ZEROS
• OF SHIFT; JSB IF ZERO LENGTH
JSB IF TARGET FIELD IS NOT LARGE ENOUGH;
OK TO DO SHIFT
EFFECTIVE SHIFT COUNT; SET CARRY
REMAINING SHIFT COUNT; DO SHIFT

PAGE 418
RECORD
NO
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20409
20490
20491
20492
20493
204F4
20495
20497
20499
20501
20503
20505
20507
20509
20511
20512
20514
20516
20518
20520
20522
20523
20524
20525
20527
20529
20531
20532
20533

C.S.
ADDR

SRD - - DECIMAL RIGHT SHIFT
11:********** AlU A ***********
LABl RREG SREG FUNC SFNC STOR SPSK

10/ 2/86

************* ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

9: 27 AM

COMMENT

DECIMAL RIGHT LEFT --ON ENTRY
SR
X
RA
RB
RC
RD

:* 3

.• SHIFT COUNT
SOURCE DIGIT COUNT
:* SOURCE BYTE ADDRESS
DB REL
:- TARGET DIGIT COUNT
:. TARGET BYTE ADDRESS ( DB REL
( VALID AFTER PULM )

TARGET ADDR := SOURCE ADDR SHIFTED RIGHT X ( 11.5 ).
THE SIGN IS PRESERVED IN THE SAME WAY AS SLD. ZEROS
ARE SHIFTED IN FROM THE LEFT AND LEADING NONSIGNIFICANT DIGITS ARE FILLED WITH ZEROS.
1516
1517
1518
1519
151A
151B
151C
151D

SRD

001F
X

JSZ PULM
UNC
SP4A
ADDL
SP4A AND
X
RH
ADD
XRll
XR15
ADD
XR13 ADD
SPOA
XRll ADD
RH
XR15 ADD

XR13 ADD
ADDL
ADD
XR14
ADDl
RG
0005
JSB SRD3
POS
RH

151E
151F
1520
1521
1522

0002

UBA

JSZ
JSL
JSL
RG
JSL
JSL
RA
JSL
JSl
FFFE SP4A ADDL
RREG UBA
UBA
UBA RH
0088 BKX3
RH

ADD
ADD
ADD
SUBl
CSR

TRP
CKLN
CKBA
SPLT
MASK
LEN
FCHB

NZRO
UNC
UNC
F2
UNC
UNC
UNC
EVEN

XR5
XR7
XR8
XRll
XR9
RG
RH

LBFS

RH
LBFS
CTR
XR12 HBF2

EVEN

PUlM FOR RD; JSB IF CIR ( 9:1 ) .• 1
SHIFT COUNT MASK; CHK FOR VALID LENGTHS
SHIFT COUNT; CHK OPERAND ADDRESSES
SOURCE ADDR; CHK FOR SPLIT STACK IF PRIV
SHIFT COUNT; GET OPERAND MASKS ( MSW & SIGN
; DETERMINE TARGET LENGTH
SOURCE WD-ADDR; GET SOURCE DATA
SHIFT COUNT;
SKIP IF SOURCE SIGN MASK :. OFOO
TARGET SIGN MASK; UBB := SHIFT COUNT - 2
2; SKIP IF TARGET SIGN MASK :" OFOO
XRA14 :- 0; UBB :. SHIFT COUNT + 2
; MSW REGN POINTER
JSB IF SHIFT COUNT ). 0; SET F2 IF ODD

EFFECTIVE SHIFT COUNT IS NEGATIVE
1523
1524
1525
1526

0089

SR5D

ADDL
ADD
ADD
JSB

UBA
SRST

UNC

RA
JSB SlDl SPIB
BKX3 JSBS SLD2 CTR
JSB SRDN

0088 BKX3 SUBl

CTR

F5B
NF5B
UNC

DO LEFT SHIFT 1 DIGIT IF F5
DO lEFT SHIFT 2 DIGITS IF NF5
END OF SHIFTING
5 -DIGIT SHIFT

PAGE 419
R"CORD
NO
20536
20537
20538
20539
20540
20542
20544
20546
20547
20548
20550
20551
20552
20554
20556
20557
20558
20560
20562
20564
20566
20568
20569
20570
20572
20574
20576
20577
20578
20579
20581

CS
ADDR

1527
1528
1529
152A

SRD -- DECIMAL RIGHT SHIFT
"*,11111111111****. ALU A ****111'*111****
lABl RREG SREG FUNC SFNC STOR SPSK

SRD3 RH

.

SRD5

ADD
JSB
ADD
XR15 JSB

152B
152C

.

1520
152E
152F
1530
1531

SRD4 0089
RH
RG

1532
1533
1534

SRDN OOOF CIR
UBA UBB
RREG UBB

1535
1536

SRST

SRD7

RG

.111111111111.111.111**111111 ALU B 111:*111*****111*l1li111.111
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

lSR XR15 CFl
UNC
SRD2

RA
JSB
XR12 JSB
JSB

SRD5 SPIB
SRD7
SRD7

F2
EVEN
UNC

SHIFT COUNT; SRD5 IF SHIFT COUNT IS ODD
DO SHIFT RIGHT 2 DIGITS; JSB IF 00
JSB SRD7

SR3D

XR 12 JSB

SRD1

EVEN

DO 3-DIGIT SHIFT; DO I-DIGIT SHIFT

RH
JSBS SR5D
XR15 ADD lSR RH

ODD
ZERO
CF 1

ADDl
SP4A
JSB SRDN
ZERO
CAD
RG
CTF1
REGN ADD
REGN
ADD
ANDl
JSBS MPYS
JSBS MPYS

STORE OUT DATA
ADD
ADD

ZERO
ZERO
eFl

0089
RH
UBB

ADD
ADDl
BKX3 INC
CAD
CAD
CTRS JSB
SP4A JSB

OOOC
ADDl
0005
ADDL
0089 BKX3 SUBL
XRll JSL
JSL

5-DIGIT SHIFT
SHIFT COUNT; lSW REGN POINTER

CTR
RG
RH
>-1
*-4

CTR
CTR

DCTR
ICTR

Fl
UNC

MASK CIR ~ 12:4 ); MASK
FOR MPYD ETURN; MASK
FOR eVDB RETURN; MSW REGN POINTER

eTR
STOA SP2B
S024

UBB : m ACC WD lEN
60NE SHIFTING; DEC REGN POINTER
SET F1 IF DONE; -I, ICTR
STORE SHFITED DATA BACK ; lOOP BACK
DO ANOTHER 4-DIGIT SHIFT

UNC
UNC

STORE DATA TO TARGET,UBB -= TARGET WD-ADDR
DO SDEC

PAGE 420
RECORD
NO
20584
2051.5
20586
20587
20588
20590
20592
20594
20595
20596
20598
20600
20602
20604
20605
20606
20608
20610
20612
20614
20616
20618
20619
20620
20622
20624
20625
20626
20628
20630
20632

C S
ADDR

SLD -- DECIMAL LEFT SHIFT
** ••• * ••••• ALU A ****111*****.
LABL RREG SREG FUNC SFNC STOR SPSK

1537
1538
1539

SLD3 RH

153A
153B
153C
1530

SLD5

153E
153F
1540
1541
1542
1543

SLD4

1544
1545

SLDN OOOF CIR
UBA UBB

1546
1547
1548
1549

SLST

SLD7

RH

UBA
SL3J RG
RH

UBB

XR15
RG
XR 15
UBA

ADD
JSB
ADD

LSR XR15 CF2
SLD2
UNC

XR29 JSB
XR12 JSB
JSB

SLD5 SP1B
SLD7
SLD7

JSB
JSBS
ADD
JSB

SL3D
SLSD
LSR RH
*+7

XR12 JSB
XR13 ADD
XR 13 ADD
ADD

SLD1

ADD
REGN ADD
XR14 lOR
CAD
REGN ADD
CAD

ODD
ZERO
ZERO

STA

CTR
CTR

BKX3 ADD
RG
RH
JSB SLDN
ADD
ADD
CTRS JSBI *-1 CTR
XR13 JSB *-5 CTR

F2
XR14
RG
CTF1
REGN
RH
CF2

ANDL
JSBS MPYS

XR14 ADD
ADD
ADD
lOR

STA

*.*.*.* ••• -_. ALU B * ••••••••••• *.
RREG SREG FUNC SFNC STOR SPEC SKIP

ZERO

ADDL
OOOC
0089 BKX3 SUBL

ZERO
SF3A
NF3A
CF3A

0400

DCTR

SHIFT COUNT; SLD5 IF SHIFT COUNT IS ODD
JSB TO SHIFT LEFT 2 DIGITS; JSB IF 00

EVEN

LEFT SHIFT 3-DIGIT; LEFT SHIFT I-DIGIT
DO SHIFT 5-DIGIT IF ZERO; REGN POINTER
SHIFT COUNT;
JSB TO SHIFT LEFT 3 DIGITS;

ZERO
F1
UNC

~K~~C I r F~~G~r3D ~C~~DN IF DONE
~:¥EF~Oil gb~~TALL SHIFTING; DEC

CTR
STORE SHIFTED WORDS; LODPBACK IF NOT DONE
DEC INTI X/4 ); NEXT 4-DIGIT SHIFT
MASK CIR (12:4); MASK
FOR MPYD; MSW REGN POINTER

CTR

ADD
XRll JSL STOA SP2B
ADDL
JSL S024

9:27 AM

F2
EVEN
UNC

CF4B
ICTR

10/ 2/86
COMMENT

UNC
UNC

~~I~FI~I~~t ~b~}~ ~gS~tORE RESULT, TARG
~~~PC1~R~OI~Igl~I~~sl6s~~S~0 DEC & EXIT

ADDR

PAGE 421
RECORD
NO
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20650
20652
20654
20656
20658
20660
20662
20664
20666
20667
20668
20669
20671
20673
20675
20677
20679
20681
20683

C.S
ADDR

154A
154B
154C
154D
154E
154F
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
155A

SLD -- SHIFT LEFT 1 DIGIT
**l1li:*111****** ALU A **.*111*****_
LABL RREG SREG FUNC SFNC STOR SPSK

SLDI

ON ENTRY :

DATA ARE STORED IN TWO SETS OF DATA
BUFFERS XRAI - XRA9. & XRBO
XRBS.
DIGIT COUNT.
SPIB

ON EXIT

SHIFTED RESULT ( SHIFTED LEFT 1 DIGIT
WILL BE STORED IN XRAI - XRA9 IF • OF
DIGITS ) c 16; ELSE WILL BE STORED IN
XRA5 - XRA9 ONLY.

ADD
ADD
AND
ADD
QASL
ADD
SPOA
ADD
UBB
ADD
SP4A ADD
UBB

** •• ****.**.* ALU B * III 111 * III 111 III 111111 JII: III JII III '"
RREG SREG FUNC SFNC STOR SPEC SKIP

XR9
XR7
REGN
XR5
UBA
UBB

UBB
XR3
XRl
UBA
UBB

SP4A
SPOA
XR5
XR6
XR7
XR8
XR9

DO SHIFT IF
SP4A
SPOA

ADD
ADD
ADD
QASL
ADD
SPOA
ADD
UBB ADD
UBB SP4A lOR

XRl
XR2
XR3
XR4
XR5

ADDL
ADDL
XR7 ADD
XR5 REPN
UBB LINK
OOOF UBA ANDL
SP3B
ADD
FHO SPIB ADDL
XR4 ADD
OF DIGITS )= 16

ZERO
SF3A

FIHB

FSOO
FOOO

XR3
XRO
XR1
UBB

ADD
ADD
REPN
LINK
ADD
SP3B
ADD
SP2B ADD
ADD
RG

RG
SP3B
SP2B

03
DCTR CTRO
PelS
RSB

SP3B

CTFI

0::1
DCTR CTRO
C~:RY

RSB

10/ 2/86

9:27 AM

COMMENT

SETUP FOR QASL; MASK
SETUP FOR QASL; MASK
SKIP IF DIGIT WILL BE LOST;
SETUP REPEAT LOOP
DO LEFT SHIFT 1 DIGIT
RESULT; SAVE UPPER MOST DIGIT
RESULT
RESULT; SKIP IF • OF DIGITS ). 16
RESULT; RETURN
SETUP FOR QASL
SET F1 IF THE UPPERMOST BIT IS SET
SETUP REPEAT LOOP
DO LEFT SHIFT 1 DIGIT
RESULT
RESULT
RESULT; SLOiI RETURN
RESULT; RETURN

PAGE 422
RECORD
NO
20686
20687
20688
20689
20690
20691
20692
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20708
20710
20712
20714
20716
20717

C. S.
ADDR

SLD -- SHIFT LEFT 2 DIGITS
*111:*.******* ALU A ****.***.*.
LABL RREG SREG FUNC SFNC STOR SPSK

**** ••••••••• ALU B ***III*******JII**
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

DECIMAL OVERFLOW FOR NSLD
155B

155C
1550
155E
155F
1560
1561

..

EE13 0400 STA

SLD2

STA

IORL

JSL

ER13

UNC

ON ENTRY

CTR :. REGN POINTER AT MSW
DATA ARE STORED IN 2 SETS OF DATA BUFFERS
XRAI - XRA9, & XRBO - XRB8.

ON EXIT

SHIFTED DATA ( LEFT SHIFT 2 DIGITS )
WILL BE STORED IN BOTH XRA1 - XRA9, &
XRBO - XRB9.

REGN
REGN
UBA UBB
RG
SPOA

ADD
ADD
lOR
CAD
ADD
ADD

LLZ
RLZ

SPOA
REGN
RG
CTFI
ZERO
SF3A

BKX3 INC
REGN ADD LRZ
INC LSL
UBB UBA XFRS
RREG CTRS JSB ·-3
JSB

MPYS

RG
REGN
CTR

PSHR
DCTR
Fl
UNC

SET CARRY; JSB ER13

MASK UPPER DIGITS; ACC WO-COUNT - 1,
SWAP BYTES
STORE [NTO REGN;
DEC WORD-LENGTH; ~tO~~cI~~gNn~N
SKIP IF NO DIGIT WILL BE LOST;
NEW RE(lN POINTER, LOOPBACK IF F1
SET F3 IF DIGITS WILL BE LOST; RETURN

PAGE 423
RECORD
NO
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20732
20734
20736

C.S
ADDR

SLD -- SHIFT LEFT 3 DIGITS
IIII11J11*III**III*IIIJ1t ALU A III'JllIIIJIi: !II * * JII:. III *
U,BL RREG SREG FUNC SFNC STOR SPSK

••••••••••••• ALU B ** ***tII lit III ***JIi: III lit
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

SHIFT LEFT 3 DIGITS -1. FIRST, SHIFT THE DATA RIGHT 1 DIGIT
2. THEN, SHIFT THE DATA LEFT 1 WORD
3. SET F3 IF ANY DIGIT WILL BE LOST.

1562
1563
1564
1505

SL3D
RG

XR15 ADO
JSB
REGN AND
ADD

LSR RH
SRD1
MEDJ
XR14 ZERO
SF3A

OFFF

ADO
ADDL
RG
BKX3 INC
RG
RH
JSBI Sl3J RH

PSHR
SF2

UNC

SHIFT COUNT ; ADJUST RAR
DO RIGHT SHIFT 1 DIGIT; MASK
MASK DIGIT LOST; INC WD COUNT, SF2
SET F3 IF DIGIT LOST; JSB FOR l-WD SHIFT

PAGE 424
RECORD
NO
20739
20740
20741
20742
20743
20744
20745
20746
2014 7
20748
20749
20750
20751
20752
20753
20754
20755
20756
20758
20759
20761
20763
20765
20767
20769
20771
20773
20774
20775
20776
20778
20779
20781
20783
20785
20787
20789

C.S.
ADDR

SRD -- SHIFT RIGHT 1 DIGIT
••• •••••••• ALU A···········
LABL RREG SREG FUNC SFNC STOR SPSK

••••••••••••• ALU B **************
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9: 27 AM

COMMENT

SHIFT RIGHT 1 DIGIT --ON ENTRY :
DATA ARE STORED IN TWO SETS OF DATA
BUFFERS XRA1 - XRA9, & XRBO - XRBS.
SP1B :. DIGIT COUNT
ON EXIT

1566
1567
1568
1569
156A
1568
156C
1560

156E

SRDI

XR9
XR7
XR5
UBA
UBB UBA
SPOA SREG
OFFF SREG
UBB
SP4A

ADD
ADD
ADD
QASR
XFRR
XFRR
ANDL
ADD
ADD

SHIFTED RESULT ( SHIFTED RIGHT 1 DIGIT
WILL BE STORED IN XRA1 - XRA9 IF • OF
DIGITS ). 17; ELSE WI LL BE STORED IN
XRA5 - XRA9.
SP4A
SPOA
XR5
XR6
XR7
XR5
XR8
XR9

NF2

ADD
ADD
REPN
LINK
ADD
ADD
SP3B
ADD
FFEF SPIB ADDL
XR4 ADD
XR7
XR5
UBB
UBA
XR13

SP3B
CTR

SETUP QASR;
03
DCTR CTRO
HBF2
POS
RSB

SETUP REPEAT LOOP
DO RIGHT SHIFT 1 DIGIT
RESULT; SET F2 IF NEG
RESULT, SKIP IF POS;
MASK OFF THE ONES FROM QASR
RESULT; SKIP IF • OF DIGITS
RESULT; RETURN

DO SHIFT IF I OF DIGITS >- 17
156F
1570
1571
1572
1573
1574
1575
1576

UBB
XR3
XRl
UBA
UBB

ADD
ADD
ADD
QASR
ADD
SPOA
ADD
UBB ADD
SP4A ADD

SP4A
SPOA
XRl
XR2
XR3
XR4
XR5

SP3B

XR3
XRl
UBB
XR13

ADD
ADD
REPN
LINK
ADD
ADD
ADD
ADD

SP3B
eTR

03
DCTR CTRO
NZRO
RSB

SETUP FOR QASR
SETUP REPEAT LOOP
DO RIGHT SHIFT 1 DIGIT
RESULT
RESULT
RESULT; SLOW RETURN
RESULT; RETURN

>.

17

(0118)

PAGE 425
RECORD
NO
20792
20793
20794
20795
20796
20797
20798
20800
20801
20802
20803
20~04
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20818
20820
20822
20824
20826

SRD -- SHIFT RIGHT 2 DIGITS
ALU A

C, S,
ADDR

U\BL RREG SREG FUNC SFNC STOR SPSK

1577

AEl3

!II*lIIJ11!111***1II1111t

DECI~~L

1IIIflIlIllIIllJII*****

OVERFLOW FOR ADDD

* *111 *111:* til: !IIiI1c"'***

ALU B 1fl1ll.IIIJ11:**** 1\!IIr*JI'*

RREG SREG FUNC SFNC STOR SPEC SKIP

&

10/ 2/86

9:27 AM

COMMENT

SUBD

ADD

JSL

ER13

UNG

JSB ER13

SHIFT RIGHT 2 DIGITS --ON ENITRY :

ON nIT

1578
1579
157A
157B
157C
1570

SltD2
SPOA

REGN ADD
ADD
ADD
REGN ADD
UBB ADD
ADD

CTR : = REGN POINTER AT MSW
DATA ARE STORED IN 2 SETS OF DATA BUFFERS
XRAI - XRA9, & XRBO - XRB8,
SHIFTED DATA ( RIGHT SHIFTED 2 DIGITS
WILL BE STORED INTO BOTH XRAI - XRA9,
XRBO - XRB9.

l

SPOA
RLZ

SPOA
SPOA
REGN

RH
UBA
RH

BKX3 INC
REGN ADD
CAD
SPIB lOR
J'SB
JSB

LRZ
• -3
MPYS

RH
SPIB
RH
REGN

PSHR
ICTR
DCTR
ICTR

HSW' ACC WD-COUNT ,- 1
; M6vE LEFT BYTE TO RIGHT BYTE, ICTR
POS
UNC:

~~~i ~1¥~Twg~6~ ~~R~~F6AT~[~ ~~O~~U~~T~ ~n~
~~~~~NI~~gR~5~~N~ A ); LOOPBACK IF NOT DONE

PAGE 426
RECORD
NO

C.S.
ADDR

SRD -- SHIFT RIGHT 3 DIGITS

.111:********* ALU A ***********

LABL RREG SREG FUNC SFNC STaR SPSK

20829
20830
20831
20832
2(,833
20834

SHIFT RIGHT 3 DIGITS --1. FIRST. SHIFT THE DATA LEFT
2. THEN, SHIFT THE DATA RIGHT

20~JS

20RJ6
20817
208J8
2CR40
20f42
20844
20846

••••••••••••• ALU B *****-********
RREG SREG FUNC SFNC STaR SPEC SKIP

157E
157F
1580
1581
1582

SR3D

XR15 ADD LSR
JSB SLDI
JSB SRD4
MPVS 0005
ADDL
RG
ADD

MEDJ
UNC

0089

10/ 2/86

9:27 AM

COMMENT

DIGIT
WORD.
UBA

ADD
INC
ADDL
ADD
ADD

RH
CTR

PSHR
POPR NZRO
RSB

• OF SHIFTS ( WORD );
DO LEFT SHIFT 1 DIGIT
DO RIGHT SHIFT 1 WORD; MSW REGN POINTER
MASK FOR SRD5; POPR
RETURN

PAGE 427
RECORD
NO

C.S
ADDR

e~~~.;;.~~I~I~~b ~D~ •• ~?~~e~~. &..~~~!~e~!.
ALU B ••••••••••••••
LABL RREG SREG I"UNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

20849
20850
20851
20852
20853
20854
20855
20856

DECIMAL ADD, COMPARE,

&.

9: 27 AM

COMMENT

SUBTRACT ---

ON ENTRY :
SR :. 3
RA :. OPERAND-1 DIGIT COUNT
RB
OPERAND-1 BYTE ADDRESS
RC :~ OPERAND-2 DIGIT COUNT
RD
OPERAND-2 BYTE ADDRESS
( VALID AFTER PULM )

208~7

20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20871
20873
20875
20877
20878
20880
20882
20884
20886
20888
20889
20891
20892
20894
20896
20898
20900
20902

10/ 2/86

•••

DB REL
DB REL

OPERAND-2 ADDR
OPERAND-~. OPERAND-I.
THE LEFT
TRUNC,HED RESULT IS STORED AND DECIMAL OVERFLOW OCCURS
IF ALL SIGNIFICANT DIGITS OF THE RESULT DO NOT FIT IN
THE OPERAND-2 FIELD.
1583
1584
1585
1586
1587
1588
1589
ISBA
158B

ADDD

JSZ

,~DD
,~DD

RH

PULM

XR 14

UNC

UBA

JSZ
JSL
JSL
JSL

XR5
XR7
XR8
XR11

NZRO
UNC
UNC
F2

ADD

XR11

RG

RA
,~DD
XR13 ,~DD
XR12 ,~DD
XR 11 ,~DD
XR13 JSBS *.3

RG
SP4A
RE
SPOA

MASK XR9
LEN XRIO
FCHA
FCHB XR30
SP3B CCA
CTR

ZERO

JSL
JSL
XR11 JSL
XR3l JSL
XR30 ADD

158C

XR12 JSB

SLD2

ODD

XR13 ADD

158D
158E
158F
1590
1591

XR12 JSB
CIR ,~DD
UBB GAD
CIR ,~DD
JSB

SRD2
LSR

EVEN
EVEN
HBF2

RE

TRP
CKLN
CKBA
SPLT

SUBM

SP4A

F2

FFFF XR13 AODL
SP3B XR31 ADD
0098
ADDL
BKX3 ADO
SP3B
ADD

CTR
CTR
RH
RG

UNC
UNC
UNC
UNC

HBF2
ICTR

NF2

PULM FOR RD; TRAP IF CIR ( 9:1 ) NOT ZERO
LOST DIGIT BUFFER; CHECK VALID OPERAND LEN
, CHECK OPERAND-I/2 ADDR

g~~R==~i* ~~A~~D~~

PRIV, OPERAND-2 WD ADDR
, GET SOURCE/TARGET MASKS ( MSW
SIGN )
OP-2 SIGN MASK; DETERMINE ACC LENGTH
OP-l SIGN MASK; GET OPERAND-2 DATA
, GET OPERAND-2 DATA, NEG/POS INDICATOR
JSB IF OP-l
OP-2 SIGNS ALIGHN:
SET CCA
LEFT 2-DIGIT SHIFT IF OP-1 := OOOF
MSW REGN POINTEll
ELSE RIGHT 2-DIGIT SHIFT; MSW REGN POINTER
SKIP IF ADDD; SET F2 IF EITHER ONE IS NEG
TOGGLE SIGN; REGN POINTER
SP4A :" CIR; WD-COUNT - 1, SKIP IF NFl
DO SUBD IF 'A' & '8' HAVE DIFF SIGNS
OPERAND-2 SIGN INDICATOR

&.

&.

PAGE 428
RE.CORD
NO

C S
ADDR

~~H~~.~~~ ALU A···········
LABL RREO SREO FUNC SFNC STOR SPSK

••••••••••••• ALU B *********** •••
RREG SREO FUNC SFNC STOR SPEC SKIP

10/ 2/86

11:27 AM

COMMENT

20904

20905
20906
20907
20908
20909
20910
20911
20912
20913
20915
20917
20919
20921
20923
20925
20926
20927
20929
20931
20933
7.0935
20936
20937
20939
20941
20943
20944
20945
20947
20949

DECIMAL ADO --00 DECIMAL ADD IF BOTH OPERAND-l AND OPERAND-2
HAVE THE SAME SIGN.
1592
1593
1594
1595
1596
1597

AD OM

1598
1599
159A
159B
lS9C
1590
159E
159F
15AO
15Al

REON
0002
RH
UBA
SPOA REON
UBB

ADO
ADDL
SUB
DADO
ADO
JSB ·+5

SPOA
RE
RH
HBF2
REON CTFI
REGN
F2

FFFO CTRS
REON
UBB
USB REON
OOOE CTRS
OOOE

ADDL
ADO
ADD
LINK
ADDL
ADDL

CTR

REON
RH
RE
SPOA REON
UBa

ADO
SUB
DADO
ADD

SPOA
RH
HBF2
REON FlTC
REON

FFFO
UBB
RF

ADDL
ADD
LINK
JSB • -3

CTR

ADO
ADO
REGN ADO
ADDE

ADD
J5B
ADD

XRU
AE13

NFL
SF3A

F3A

CTRS
REON
REGN
eTRS

CTR
RF

CTR

~P-~p~~T~AT:EON POINTER AT OP-l DATA

ICTR

SET F2 IF \olD COUNT ( 2
~~sEt~~M~~_~D~6I~~~RREON POINTER
JSB IF DONE; RF ;. OOOE

ICTR

g~6I~LI~Dg~N~tXT

REPEAT DECIMAL ADD

CTR
FFFF XIt13 ADDL
SP4A JSB CMPD
CTR
XR13 ADD
XRll JSL
ADD
JSL

STOA SP2B
CRF
5024

NF2

REGN POINTER
LOOP BACK IF NOT DONE

EVEN

~K~~I~01~TERDIQIT LOST

UNC
UNC

DO SDEC

. JSB IF CMPD
LOST DIOIT 6UFFER; MSW P6tNTER

~S~OI~Tg~~~~ALOb~~~~~~;wgR~OUNT ADDR

PAGE 429
RECORD
NO
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20963
20965
20967
2091'38
20969
20970
2097[
20973
20975
20!l7!
20r, 7 ~
2007)
20"f.l
20f! ~:!
209 (,~
20987
20989
20990
209'11
20993
20995

C.S.
ADDR

DECIMAL SUBTRACT
••••••••••• ALU A 111***_.111.11",*
LABL RREG SREGFUNC SFNC STOR SPSK

••••••••••••• ALU B **111111111111*111**** . . . *
RREG SREG FUNC SfNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

DECIMAL SUBTRACT --DO DE'::IMAL SUBTRACT IF OPERAND-l AND OPERAND-2
HAVE DIFFERENT SIGNS.
15A2
15A3
15A4

SUBM

REGN .~DD
RH
CAD
SPOA REGN I'SUB

15A5
15M
15A7
15A8

REGN .~DD
CAD
RH
SPOA REGN DSUB

15A:J
[',AA
l',AB
J'iAC
15AD

CIR
RG
REGN

15AE
15AF
15BO

.~DD

RH

SPOA CF2
RH
HBF2
REGN CH1

FFFO CTRS ADDL
OOOF
ADDL
UBB CTRS JSB ·+5

CTR
SP3B
CTR

F2

SPOA
RH
HBF2
REGN FlTC

ADD
FFFO CTRS ADDL
ADD
SP3B CTRS JSB • ··2

CTR
CTR

NF2

JSB CMPD
EVEN
flDD
CAD
CCA
CAD
RH
I:>SUB
REGN CH!

'::AD
REGN IDSUB
.~DD

REGN FlTC

UBB

RH
UBA

BKX3 ADD
XR13 JSB
BKX3 ADD
ADD
ADD

RH
ADDE CTR
CTR

CAD
CTRS JSB
XR 13 JSB

RH
• ··1 eTR
ADDE
CTR

SF5B

Fl

DCTR
HBF2

NF2
UNC

OP-2 DATA; OP-l POINTER
DEC WD COUNT;
DO DECIMAL SUBTRACT
JSB IF DONE
OP-l DATA; OP-2 POINTER
DEC WD COUNT
DO DECIMAL SUBTRACT; LOOPBACK IF NF2
JSB IF CMPD; we COUNT - l,SF5B
JSB IF NO NEGATE NEEDED
TOGGLE CCA; LSW REGN POINTER
DEC we COUNT
DO NEGATE
-1; DEC we COUNT
DO NEXT SET

gg ~~g~Ia~

430
RECORD

PAGE

NO

20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21009

:?lOll

n013

21015

21017
21019

C S
ADDR

DECIMAL COMPARE
.****** •• *. ALU A *****]l1li****.
LABL RREG SREG FUNC SFNC STOR SPSK

*._.*.* ...

• •••••••••••• ALU B
****
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9: 27 AM

COMMENT

OPERAND-2 IS COMPARE WITH OPERANO-l AND SET
eeG, eCL, OR CCE IF OP-2 > OP-l, OP-2 < OP-l OR
OP-2 • OP-l.
15Bl
15B2
15B3
15B4
15B5
15B6
15B7

CMPO

ADD
CAD
JSB
RG
CAD
CMPE SPOA REGN lOR
ADD
UBA
ADD

*+2

SPOA
RH
SPOA

Fl
CCA
NlRO
eCA

BKX3 INC
BKX3 JSL
XR13 JSB
JSL
SP3B
CAD
RH
CTRS JSB
JSL

UBB

FSB
SP3B
Fl
S024
*+2 CTR
NFSB
5024
UNC
SP3B CTF!
*-1 CTR
Fl
UNC
S024

SUB
ACC WO-LEN - 1, SKIP IF JUST
JSB JUST 'ADD' & OP-l <> OP-2 <> 0
JSB IF OP-l z OP-2
TOGGLE CC; DO SOEC
CALCULATE IF OP-2/0P-l
0
SKIP IF NlRO; LOOPBACK
SET CCE IF OPERAND-2 :- OPERAND-I; DO SDEC

PAGE 431
RECORD
NO
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21047
21049
21050
21052
21054
21056
21058
21060
21062
21064
21066
21068
21070
21072
21074
21076
21078
21079
21081
21082
21084
21086
21088
21090
21091
21093
21095
21097
21099
21101
21103

C.S.
ADDR

CVBD -- BINARY TO DECIMAL CONVERSION
111111111111'11**111 • • " ALU A 111***111*.**111111
IIIJIr***IIII: • .-III**III* AI.U B ... Jilt III: III" III: III !II * III #1:111 III *
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

BINAI~Y

101 2186

9:27 AM

COMMENT

TO DECIMAL CONVERSION ---

ON HHRY
SR :- 3
RA
SOURCE WORD COUNT
RB
SOURCE WORD ADDRESS
DB REL
RC
TARGET DIGIT COUNT
RD := TARGET BYTE ADDRESS ( DB REL
( VALID AFTER PULM )
Tj~RGET ADDR
TWO'S COMPLEMENT SOURCE CONVERTED
TO PACKED DECIMAL DIGITS. o <~ WORD COUNT <~ 6,
o <= DIGIT COUNT <= 28. THE TARGET FIELD IS FILLED
WITH LEADING ZEROS IF NECESSARY. IF THE SOURCE FIELD
OVERFLOWS THE TARGET FILED, THE LEFT TRUNCATED RESULT
IS STORED AND A DECIMAL OVERFLOW OCCURS. IF EITHER
COUNT IS ZERO, ONLY TOS ADJUSTMENT IS PERFORMED.
15B8
15B9

CVBD

ISBA
15BB
15BC
15BD
15BE
15BF
15CO
15C1
15C2
15C3
15C4
15C5
15C6
15C7

BD33

15C8
15C9
15CA
15CB
15CC
15CD
15CE
15CF
15DO
15Dl
15D2
15D3

JSZ PULM
ADDL
RH
ADD
XR3
ADD
XRS
ADD
XR6
ADO
XR9
ADO
05F5
ADDL
XR15
RA
ADD
RH
RA
CAD
SP4A
RB
DB
ADD
SPOA
UBA SP4A ADD'
SPOA
OPA ADD
SP4A
RH
CAD
RH
OPA ADD
REGN
SPOA
CAD
SPOA
XR13 ADD
RA
SP4A lOR
FFFC RA
ADDL
RH
REGN JSB *+2
JSB *-1
RA
JSBC BDI
RH
JSB BD3
XR5 ADD
SP4A
RH
CAD
UBA
CSR
XR3 ADD
XR5 ADD

FFE3 RC

UNC
CFl
SF1
CF1
SF3A
CF3A
ROO
ROO
HBF2
ROO

UBA
FFF9 RA

JSZ
ADDL
JSL
RH
JSL
RA
JSL
RC
JSL
JSL
RG
JSL
BKX6 .JSL
0089
ADDL
0089 BKX3 SUBL
UBA DL
BNDE
RE
UBA BNDE
RH
JSB
ADD
UBA JSB

CCA
NZRO
UNC

E100
SP3B

ZERO
NEG

UBA

TRP

XR4

BOER
BOER
SD24
SD24
CKBA XR5
SPLT XRll
MASK BKX3
CTR
XR31
"+3
<-2

REGN

LEN

RG

NZRO
NCRY
UNC
pas
ZERO
ZERO
UNC
F2
UNC
CF4B
DCTR

ZERO
UNC

RA

JSL

RA

SUB
SP3B ICTR
ADDL
XR14
ADD
ICTR
JSBI CVZO SP3B
ZERO
CAD
CFSB
.JSB BD2 SP2B
ZERO
JSL NEGB RG
F2
JSL BD4 XR31
ZERO
JSL 8D5
ZERO
JSL BD6
F2
JSL BD7 SP2B
UNC

HBF2

UBB
XR6
RH
UBA

SF3A

UBA

UNC

PULM FOR RD;
~05R6ENS6R5E~gUNT
CHECK TARGET 6~~~TIt05~~
CF1; BDER IF INVALID SOURCE WORD COUNT
SF 1; BOER IF INVALID TARGET DIGIT COUNT
CFl; 00 TOS ADJUSTMENT IF RA : = 0
SF3A; DO TOS ADJUSTMENT IF RC :. 0
CHECK TARGET ADDRESS
MASK; CHECK SPLIT STACK IF PRIV MODE
RH :" RA; GET TARGET OPERAND MASKS
WORD COUNT - 1. CF3A; LSW REGN POINTER
READ SOURCE MSW; MSW REGN POINTER
READ SOURCE LSW; CHECK BOUND, MSW ADDR ) = DL
SF2 IF NEG, ( MSW ); CHECK IF SM )= LSW ADDR
~~g~~M~~~OW~~gN~Og~6~E~~~TI~E~~ ~g~~+ER= 0
NEXT READ; LOOPBACK

1

TARGET SIGN MASK;RG:-SOURCE WORD COUNT,
DETERMINE TARGET LENGTH
(2635)
SET CCA; - ( WORD COUNT ), ICTR
WORD COUNT - 4' MASK
JSB IF NOT ZER6~ NEXT REGN POINTER
CHECK NEXT SOUR E DATA;
CHECK IF DATA ALL ZERO, INC WORD COUNT
DO CONVERT 1 BINARY WORD; -1. CF5B
CONVERT 3 OR 2 BINARY WORDS
NEGATE THE BINARY WORDS. IF NECESSARY
;CONVERT 4 BINARY WORDS
;CONVERT 5 BINARY WORDS
;CONVERT 6 BINARY WORDS
;CONVERT 7 BINARY WORDS

PAGE 432
aECORD
NO
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21124
21126
21128
21130
21131
21132
21134
21135
21137
21138
21139
21140
21141
21142
21143
21145
21147
21149
21150
21151
21152
21153
21154
21156
21157
21159
21161
21163
21165
21166
21167
21168
21169
21170

C.S
ADDR

CVBD -- CONVERT 1 BINARY WORD
.*111*111 •••• ** ALU A ***It***,,***
LABL RREG SREG FUNC SFNC STOR SPSK

10/ 2/86

_**_111:** •• **** ALU B ***** ••• *-****
RREG SREG FUNC SFNC STOR SPEC SKIP

CVBD ( CONVERT 1 BINARY WORD

9: 27 AM

COMMENT

) ---

ON ENTRY
ON EXIT

XRA9

: - BINARY WORD TO BE CONVERTED

XRA8
XRA9

• UPPER DECIMAL WORD
: - LOWER DECIMAL WROD

ONE BINARY WORO CAN BE CONVERTED TO A MAXIMUM
OF 5 DECIMAL DIGITS.
1504
1505
1506
1507

BDI

1508
1509
150A
150B

XR9
XR13
UBA
UBA

ADSB
CSR
ADD
JSB
*+3

SPOA CF3A
HBF2
F2
UNC

OOOE

UBA
ueB
UBA
UBB

ADD
AOD
CSR
AOD

XR8
XR9
XR9
XR8

UBB
XR31
UBB
0089 BKX3

LSL

ADDL
CTR
BKX6 JSL BTCO BKX3
USB AOD
UBS REPN
LINK
JSB
-+3
LINK
SUBL

CTR

UNC
03
DCTR CTRO
UNC
DCTR CTRO

~~~An ~~~~ gG~2:~E660~E:~~~;cggN60~e~R¥TOD
SKIP IF F2 SET; DECIMAL RESULT
JSB IF SIGN ON LEFT BYTE;
SHIFT TO PROPER FORMAT
JSB DATA IF SIGN IS ON RIGHT BYTE
; MSW REGN POINTER FOR STORING

CTR

STORE DATA INTO MEMORY, AND IF DECIMAL OVERFLOWS
TRAP OUT, OR ELSE DO STACK ADJUSTMENT AND NEXT.
15DC
1500
15DE

BDEN

ADD
JSB
ADD

15DF

BD3S 008A

BD33

XR 11 JSL
ADD
JSL

XR 14 CF3A
F3A

STOA SP2S

NCRY
CRF

SD24

UNC

SLDl SPIB

F2

XRA14 : - 0, CLEAR OVERFLOW FLAG; DO STORE
JSB BDJ3 IF DECIMAL OVERFLOW; CRF
DO STACK ADJUSTMENT, THEN NEXT

SHIFT CONVERTED DATA INTO PROPER FORMAT

15EO
15E 1
15E2
15E3

UBA
RG

ADD
ADD
ADD
ADD

RC

RH

ADDL
XR9
USA
USA
RG

RLZ
LSL
LSL

RG
XRI0

CVBD ( CONVERT ZEROS TO DECIMAL
15E4

CVZO

JSB

BDEN

JSL

0089 SKX3 SUBL
CTR
USA
JSB
BDEN XR8
JSL
SRDI
RH
BKX3 JSBS BDEN CTR

CCA

F2
UNC
UNC

REON POINTER; SHIFT LEFT 1 DIGIT IF
SIGN IS IN RIGHT BYTE
MSW REGN POINTER
DO STORE IF SIGN IN RIGHT BYTE
SHIFT RIGHT IF SIGN IN LEFT BYTE
DO STORE;

)

008A BKX3 SUBL

CTR

DO STORE SET CCE;

REGN POINTER

PAGE 433
RECORD
NO
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21197
21199
21201
21203
21205
21207
21209

C S.
ADDR

CVBD -- CONVERT 2 BINARY WORDS
~~.~~~~.*.* ALU A ******.**..
******* •• *.** ALU B **************
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC S~IP

10/ 2/86

9:27 AM

COMMENT

CVBD ( CONVERT 2 BINARY WORDS I --ON ENTRY
BINARY WORDS ARE STORED IN TWO SETS, XRA8 - XRA9,
AND XRB7 - XRB8.
ON EXIT
DECIMAL DATA ARE STORED INTO XRA7 - XRA9.
1. FIRST, BINARY WORDS ARE DIVIDED BY 100M TO GET
THE UPPERMOST TWO DIGITS ( QUOTIENT )
2. THEN, CONVERT THE REMAINDER TO DECIMAL DIGITS
3. CONVERT THE QUOTIENT TO BE THE UPPERMOST 2 DIGITS
4. TWO BINARY WORDS CAN BE CONVERTED TO A MAXIMUM OF
10 DIGITS.
15E5
15E6
15E7
15E8
15E9
15EA
15EB
15EC

E:D2

XR8
XR13
UBA
SP4A
UBB
UBB
RG
UBB

ADSB
CSR
ADD
ADD
ADD
ADD
ADD
ADD

SPOA
SPOA
RG
XR9
XR8
SPOA
XR7

HBF2

LINK
.JSL
ADDL
SP2B JSL
UBA ADD
ADDL
OOOE
JSl
JSB
XR8

ODIE

DI00

SP3B

CTR
BTOD SP3B
XR7
CTR
IHOD SP3B
BD3S

UNC
U~IC

UNC
UNC

NEGATE IF F2 SET;
SF2 IF SIGN IN RIGHT BYTE; DIVIDE BY 100M
~6~e~~TW~~~SBINA~yS~g~DSs~6BD~6I~~rEAT COUNT
DECIMAL DATA :- ( XRAB, XRA9 )
; REPEAT COUNT
DO CONVERSION FOR THE UPPERMOST 2 DIGITS
STORE DATA

PAGE 434
RECORD
NO
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21238
21240
21242
21244
21246
21248
21249
21251
21252
21254
21256
21258
21260

C S.
ADDR

CVBO -- CONVERT 3 BINARY WORDS
••••• ***-** ALU A *~iIt.******* **_*111**_***111111 AlU B ._._ ••••• - ••••
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9: 27 AM

COMMENT

CVBD ( CONVERT 3 BINARY WORDS I --ON ENTRY
BINARY WORDS ARE STORED IN TWO SETS, XRA7 - XRA9,
& XRB6 - XRB8.
ON EXIT
DECIMAL DATA ARE STORED INTO XRA6 - XRA9,&
XRB5 - XRBB.
1. THREE BINARY WORDS CAN BE CONVERTED TO A MAXIMUM
OF 15 DECIMAL DIGITS.
2. FIRST, DIVIDE THE BINARY WORDS BY 100M TO GET THE
UPPER 2 DECIMAL WORDS ( IN BINARY )
3. CONVERT THE REMAINDER TO DECIMAL DIGITS ( LOWER WORDS
4. THEN, CONVERT THE QUOTIENT TO BE THE UPPER DECIMAL
DIGITS.
15ED
15EE
15EF
15FO
15F1
15F2
15F3
15F4
15F5
15F6
15F7
15F8
15F9

BD3

XR7
XRB

ADD
ADD
ADD
UBA ADD
SP4A ADD
XR13 CSR

RG
SPOA
XR5
SPOA
RG

UBa
UBB
SP2B
UBB
UBB

XR9
XR8
SPOA
XR7
XR6

ADD
ADD
ADD
ADD
ADD
ADD
ADD

JSL NEGB
SP3B
ADD
JSL 0100 SP2B
ADDL
CTR
00lE
SP2B
SP3B
ADD
SP2B JSL BTOD SP3B
XR7
UBA ADD
eTR
ADDL
OOIE
RG
JSL BTOD SP3B
XR5
UBA ADD
UBA JSB BD3S XR6
ADD
ADD
XR8
RG

HBF2

F2
NCRY
UNC
UNC
UNC

BINARY WORD; DO NEGATE IF F2 IS SET
SETUP FOR DIVIDE BY 100M
DIVIDE BY 100M
SETUP FOR CONVERSION
QUOTIENT
( RG, SP2B )
SF2 IF SIGN := OOOF;
CONVERT THE REMAINDER ( SPOA, SP3B I
LOWER DECIMAL WORDS

.

CONVERT THE QUOTIENT TO UPPER DECIMAL WORDS
DECIMAL DATA
DECIMAl. DATA; DO STORE DATA INTO MEMORY
NOP to keep system happy
NOP to keep system happy

PAGE 435
RECORD
NO
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21296
21298
21300
21302
21304
21305
21307
21309
21311
21312
21314
21316
21318
21320
21322
21323
21324
21325
21327
21329
21330
21331
21332
21334
21336
21338

C.S.
ADDR

CVDB -- DECIMAL TO BINARY CONVERSION
*.~.~*.**~* ALU A * ••• *****~.
..**.**n ••• ~* ALU B **************
LABL RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STaR SPEC SKIP

9:27 AM

10/ 2/86
COMMENT

;1600
DECII~AL

TO BINARY CONVERSION

ON ENTRY
RA :z SOURCE DIGIT COUNT
RB :- SOURCE BYTE ADDRESS ( DB
RC : = TARGET WORD ADDRESS ( DB
TARGET ADDR := SOURCE DATA CONVERTED TO
COMPLEMENT BINARY
0 c= DIGIT COUNT c=
TI~E LENGTH OF THE RESULT DEPENDS ON THE
OF SOURCE DIGITS AS FOLLOWS
SOURCE DIGIT COUNT
1
5
10
19
29

THROUGH
THROUGH
THROUGH
THROUGH
THROUGH

REL J
REL J
TWO'S
28;
NUMBER

TARGET WROCIS

4
9
18
28
32

1
2
4
6

8

IF THE DIGIT COUNT IS ZERO, ONLY SDEC PORTION OF THE
II~STRUCTION IS PERFORMED.
THE 2 SOURCE: PARAME TERS
ARE DELETED IF SDEC
O' ELSE DELETED ALL 3 ON TOS.
1600
1601
1602
1603
1604

CVDB
RB
RA

ADD
ADD
ADD
RH
ADD
SPIB ADD
SM

LSR

XR8
RE
XR 11

1605
1606
1607

RC
DB
FFF6
RREG RA

ADD
ANDL
ADD

1608
1609
160A
160B
160C

0012
RREG RA
0002 UBB

ANDL
XR3
JSBS CKAI
ADDL
ADD
XR6
ADD
XR2

RG
XR7

OFFF

UBA

JSI
ADDL
JSL
JSL
JSB

TRP XR3
BKX5
GKB XR5
MSKB XR6
DBIR

NIRO
UNC
UNC
ZERO

CTF1

RA

HBF2

0004 RA
RG

JSL DBER XR7
SUBL
JSB CKA! SPIB

F1
NEG
UNC

RG
0002 UBB
001C RA
UBA
0002 UBB

JSBI CKAI SPIB
ADDL
SPIB
SUBL
JSB CKAI SPIB
ADDL
SPIB

F2

002F
RG
DL

ADDL
BNDE

pas

NEG
UNC

, TRAP IF CIR ( 9:2 J NOT ZERO
UBA :. SM; MASK
SaUCE WORD ADDR; CK SOURCE ADDR
SOURCE WD-ADDR; GET SOURCE MASKS
SET F1 IF SOURCE DIGIT COUNT) 28;
JSB IF SOURCE DIGIT COUNT := 0
TARGET ADDR; JSB IF SOURCE COUNT) 28
-10; SKIP IF RA c 5
SET F2 IF 5 c= RA c= 9;
JSB FOR RA c 5, TARGET ADDR
18; JSB IF RA < 10, TARGET LSW ADDR

~~~Gg ~~W \5g~; T~~~~T I~S~AA~D~8

;JSB IF RA c 29
TARGET LSW ADDR

BOUNDS CHECKING
160D
160E
160F
l610
1611
1612

CKAI

RE

STA ADD
SPIB BNDE

RE

RC

ADO
XR 11 ADD
DB
ADD
XR12 CSR

SPOA

WRD
HBF2

RE
JSL
BKX4 JSL
UBA ADD
JSB

XR 16

SPL T
FCHB BKX3
XR14

STATUS; LOOPCOUNT
BOUNDS CHECKING; SM
DL <= MSW ADDR
NEG
UNC
NF2
U~IC

)=

LSW ADDR,

CK SPLIT STACK IF PRIV MODE
SOURCE WD ADDR; FETCH SOURCE DATA, WD COUNT
MSW ADDR WRITE; STATUS, SKIP IF RA > 9
SF2 IF SOURCE SIGN := OOOF; JSB IF RA c= 9

PAGE 436
RECORD
NO
21340
21342
21344
21345
21347
21348
21349
21351
21353
21355
21357
21358
21360
21361
21362

C.S.
ADDR

CVDB -- DECIMAL TO BINARY CONVERSION
.*.*.**.*** ALU A *111.*******. 1It.*.*.* •• **** ALU B **************
lABl RREG SREG FUNC SFNC STaR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

1613
1614

FFE3 RA
STA

ADDl
ADD lSR

RE
XR14

1615

FFED RA

ADDL

RH

1616
1617
1618
1619

2710

ADD
ADD
ADDL
SUB

SPOA
RG

161A

RH

161B

XR9
UBB

UBA
RA

CF3A
CTF 1

ADD
JSl

SRDI SPIB

JSl

SLOI XR 19

0004 RA
UBA XR7
0009 RA

SUBl
JSB OBI
SUBL
JSB DB2

RG

ADDL

XR31

JSB

DB4

NEG

0003 DB

JSB

DBS

UNC

RE

JSB

DB6

XR19

LBFS

FSB
NFSB

10/ 2/88

9:27 AM

COMMENT
~~~F+·R~~Hi ~'~T~~~B IF SOURCE SIGN :" OOOF
SHIFT RIGHT 1 DIGIT IF FS
UBA :- RA - 19; SHIFT LEFT 1 DIGIT IF NFSB

NEG
UNC
NEG
UNC

SOURCE DATA; SKIP IF RA ) 4
SPOA ;" 0; JSB FOR 1 TARGET WD CONVERSION
10K; SKIP IF RA ) 9
SFI IF RA (- 9; XR19 ;- 0,
Jse FOIll 2 TARGET we CONVERSION
JSB FOIll 4 WD CONVERSION; UBB :" DB + 3

NEG

FOR 8 OR 6 WD CONVERSION

PAGE 437
RECORD
NO
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21384
21386
21388
21390
21392
21394
21396
21398
21399

C.S.
ADDR

CVDB - - CONVERT 1 - 4 DIGITS
*~**~.*.*~* ALU A ***.*.*****
LABL RREG SREG FUNC SFNC STOR SPSK

CVDB ( CONVERT

**********R** AlU B **************
RREG SREG rUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

- 4 DIGITS )

ON ENTRY
RG .• SOURCE DATA TO BE CONVERTED
F2
1. IF SOURCE SIGN MASK IS OOOF
ON E:4
215;)<,
215:'f,
21527
21~28

e. S.
ADDR

CVDB -- CONVERT 10 - 18 DIGITS
*~**~****** ALU A ***w*******
*.******.**** AlU B 1II#1:*'nll'lII***1II III ** III
U,BL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

CVDB ( CONVERT 10 - 18 DIGITS

)

10/ 2/86

9:27 AM

COMMENT

---

ON ENTRY
DATA ARE STORED IN XRA4 - XRA8 IF SIGN
OFOO, OR
IN XRA5 - XRA9 IF SIGN :. OOOF.
: 2

REFER DB2 FOR CONVERSION ALGORITHM.
1640
1641
1642
1643

DB4

XR5
XR4

ADD
ADO
CAD
REGN ADD

1646
1647
1648
1649

XR6 ADO
SPOA
ADD
SP2B ADD
UBA UBB JSB

164A
164B

00E8
1000

164C
1640

SPOA

1650
1651
1652
1653
1654
1655
~656

1657

HiS 8

J 659
l65A
1658

BKX3
0088
RG
UBA CTRS

REGN

JSBI -+4
ADDL
CAD
JSB - -1

RG
eTR
RG
eTR

F5E1
ICTR ZEFIO
UNG

CONVERT THE UPPERMOST WORD TO BINARY, & X 10K
SP4A JSB DTOB
UNC
ADD
SP2B
ADD
SPOA
UBA UBB JSB XIWD RG
CONVERT NEXT WORD TO BINARY, ADD, & X 10--12

1644
1645

164E
164F

SP4A
SP4A

UBB

SP4A
*+3

RE

ADDL
ADDL

SPOA
SP4A

ADD
ADD

XRl

ZERO

XR16
UBB
UBB
UBB

SP3B

SP4.A ADD
ADD

CONVERT NEXT WORD TO BINARY, ADD, & X 10--8
XR7 ADD
SP4A
UBA
JSB DTOB
ADDL
RE
UBA UBB JSB X2WD
SPOA
ADD
RC
XR31 ADD
ADD
UBA XR4 LINK
RG
ADD
UBA SP2B LINK
UBA
ADD
UBB SPl.B LINK
XRl ADD
XRl
UBA BKX7 LINK
ADD
SPOA
JSB DB2B
ADD IILL BINARY RESULT, & STORE INTO ~1EMORY
DB4B
SP2B ADD
RG
SP4A LINK
UBA ADD
UBB XR4 LINK
ADD
UBA XR3 LINK
XR1 ADD
SP4A DATA UBA XR2 LINK
UBB
ADD
DATA RC
XR:I1 ADD
SP2B ADD
DATA
;rSB SD23
05F5

NZIIO

JSB DTOB CTR
ADO
LINK
SPIB
JSB -+3 SP3B
D4A5
ADDL
SP3B
SPIB JSB ODD RG
UBA
UBA

MOVE DATA TO XRA5- XRA9

UNC
ZEno
UNG

XR4
SPIB
BKX7
XR4

UNG
UNG
WRD

XR3
XR2 SF4B
SP2B
UNG

RG
DATA
SP2B
SPIB
WRD

NF:2

JSB TO CONVERT THE LAST 2 DECIMAL WORDS

DO SDEC

PAGE 440
RECORD
NO
21530
21531
21532
21533
21534
21535
21536
21537
Z15J8
21539
21S40

C.S
ADDR

A···········

CVDB -- CONVERT 10 - 18 DIGITS
••••••••••••• ALU B *********11111***
••••••••••• ALU
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

NEGATE RESULT IF NEEDED, & STORE INTO MEMORY
165C
1650
16SE
165F

RC

SP2B
DB
SP4A
UBA

SUB
ADD
CAD
JSB

RG

CTFl
WRD
SP4A FlTC
SD23
DATA

RC

RG
LINK
INC
DB
SP1B LINK
RG
ADD

DATA
WRD
DATA
DATA

10/ 2/86
COMMENT

11:27 AM

PAGE 441
RECORD
NO
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21555
21557
21558
21560
21562
21563
21564
21566
21567
21568
21570
21571
21572
21573
21575
21577
21579
215S0
21581
21582
21583
21585
21587
21589
21591
21592
21593
21594
21595
21597
21599
21601

C. S.
ADDR

CVDB -- CO'NVERSION ROUTINES
.****111111***111 ALU A **11111111.111***.
LML RREG SREG FUNC SFNC STOR SPSK

• •••••••••••• ALU B *111"'*********':*
RREG SREG FUNC SFNC STOR SPEC SKJ:P

10/ 2/86

9:27 AM

COMMENT

CVDB ( CONVERT 1 DECIMAL WORD TO BINARY I --DECIMAL WORD • A'lOOO + B"100 ~. C"10 + D
• A·lOOOn·*12 + B*100/2**S +
BINARY WORD
C*10/2*·4 + D.
1660
1661
1662
1663
1684
1665
1666
1667
1668
1669

DoreB UBA
UBB
UBA
UBA
UBA
USA
USA
UBA
UBA
UBA

166A
166B
166C

01)0

1660
l6SE
166F
1670

X2WD UBB
RE

1671
1672
1673
1674

RE

ADD
ADD
ADD
UeB ADD
UBB ADD
ADD
USB ADO
UBS ADD
ADD
UBB ADD
MUL Tl: PL Y
ADD
UBA MPAD
SREG ADO

LSR
LSR
LSR
LSR
LSR
LSR
LSR
LSR
LSR
RE, RG

NZRO
RSB

FOOO
UBA
UBA
OFOO
UBA
OOFO
UBA
RSB
OOOF
BY I SPOA,

RG

MULUPLY ( OSFS, EI00
ADD
SP4A
ADO
SPOA
UBA MPAD
UBA ADD
RG

MUL HPLY ( 0, RG I BY
X1WD 2710
SP4A
ADDL
XIW2
ADD
SPOA
UBA MPAD
RE
UBA ADD
RG

RG

UBA ANDL
XR19 lOR
ADD LSL
SP4A ANDL
UBB ADD
USB ADD
SP4A ANDL
UBB ADD
UBa ADD
SP4A ANDL
SP3B, SP4A
REPC
UBB LINK
SREG ADO

BY I 0, 0, SP4A I
EI00
ADDL
REPN
RG
UBS LINK
USB ADD

SKIP IF DECIMAL IS NZROi USB :. LEFTMOST DIG
~13~TA~~IbIGI~TN IF DEC MAL IS ZERO;
O
~~2HT.S~I~rioU~'1~~
:. OBOO

XR19

egg

UBA :- (( A*IO 1/16 + B 1*10/16;UBB :. OOCO
UBA

:

- III

A"10 1/16 + B 1*10/16 + C 1*10/16

cno

REPEAT LOOP
DO MPY
PRODUCT ( RG, SP2B, SPOA, SP3B I

RG
SP3B
OF
DCTR CTRO
SP2B
RSB

DECIMAL WORD; RG :- EI00
REPEAT LOOP
DO MPY
PRODUC,. ( RG, SP2B, SPOA, SP3B I

RE
SP3B
OF
DCTR CTRO
SP2B
RSB

SP4A :~
SPOA :11 ~~l~tpnT:Logp
DO MPY
PRODUCT ( RG, SP2B, SPOA, SP3B I

SP2B

DCTR

Rsa

0, 0, 2710
RG

UBB
UBB

ADD
REPN
LINK
ADO

PAGE 442
RECORD
NO
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
2164~

21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
216<;3
216 c,4
2 16~j5
21656
216<,7
2165 R
21659

CS.
ADDR

CVDB -- CONVERT 19 - 28 DIGITS
*.***.***** AlU A ***11:******* ••••••••••••• AlU B ***111*********11[
lABl RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SK I P

CVDB ( CONVERT 19 - 28 DIGITS I --DATA ARE STORED IN XRA3 - XRA9 IF SIGN
IN XRA2 - XRA8 IF SIGN

~ OOOF, OR
.. OOOF.

REFER DB2 FOR CONVERISON ALGORITHM.
1675
1676
1677
1678

XR3 ADD
XR2 ADD
CAD
REGN ADD

DB6

SP4A
SP4A

BKX3
0088
RG
UBA CTRS

REGN

JSBI ·+4
ADDL
CAD
JSB *-1

RG
CTR
RG
CTR

F5B
ICTR ZERO
UNC

CONVERT THE UPPERMOST WORD TO BINARY, & 10K
1679
16lA

UBA

SP4A ADD
UBB ADD

JSl
SP4A JSl

RG

DTOB SP2B
XIWD

UNC
NZRO

CONVERT NEXT WORD TO BINARY, ADD, & X 10··S
167B
167C
1670

SPOA

XR4 ADD
ADD
SP2B ADD

SP4A

UBA

UBB

ZERO
SPOA CFl
SP4A

167E
167F
1680

EI00

1681
1682
1683

SREG ADD
SP2B ADD
SPOA
ADD

lOR
ADD
ADDl

RE

SF 1

XRO
XRl

UBA
UBA

UBB
UBB

JSl DTOB
ADD
LINK
SPIB

OSFS
001F

ADDl
ADDl
SPIB JSl DOD
XR14 ADD SWAB
ADD
SP3B
ADD

UNC

SP3B
CTR
RG
XR3
XR3

NF 1
LBFS

Fl

CONVERT NEXT WORD TO BINARY, ADD, & X 10K
1684
1685

USA

1686
1687
1688
1689
168A

CONVERT NEXT WORD TO BINARY, ADD, & X 10"12
XR6 ADD
SP4A
JSL DTOB
SPOA
ADD
UBA UBB ADD
SP2B ADD
USA UBB LINK
USA ADD
USB XR3 LINK
RG
XRl ADD
XRl CTFI UBA SKX7 LINK
RE
1000
ADDL
SP4A
D4A5
ADDL
SP3S
00E8
ADDL
SPOA
XR 16 JSL DDD CTR

lr.8B
168C
168D
168E
168F
In90
1691

SPOA

XR5
UBB

UBB
XRO
XRO
XR 1

ADD
ADD

ADD
ADD
ADD
INC
ADD

SP4A
RG

XR3
RE
Rf:
RG

UBA

Fl
UNC

JSL
JSl

SP4A ADD
ADD
USA ADD
RG
ADD
D4A5
ADDL
SP3B

DTOB BKX7
XlWO

XR6
XR5
XR4
SKX6
SP38

UNC
UNC
UNC

UNC

10/ 2/86
COMMENT

9:27 AM

PAGE 443
RECORD
NO
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
216&2
21683
21 f, 84
21>,85
216R6

21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21702
21703
2no')

21706
21707
21708
21709
217 10
21711

C. S.
ADDR

CVDB -- CONVERT 19 - 28 DIGITS
IIIIII ........ lIt;trIllIil#C*I.

ALU A

****IIIJ11J11I11'1tJII*

LABL RREG SREG rUNC SFNC STOR SPSK

1692

00E8

I~DDL

SPOA

1693

1000

I~DDL

SP4A

1694
1695
1696
1697
1698
1699

SP4A I~DD
XR3 I~DD
RF
INC
/\DD
SPOA
I\DD
RF
SP2B I~DD

RF
RF

.1II.III*III**h*.~*
ALU B **111**"'***111***.
RREG SREG FUNC SFNC STOR SPEC SKIP

RC

XR 16 JSL
NCfY

RF

UBA

XR7
UBB

BKX6 ADD
XR4 LINK
ADD
UBB ADD
SP3B UBB LINK
UBA RF
LINK
&

CTR

UNC

RF
XR4
XR3
BKX3

X 10K

SP4A
RG

/~DD
I~DD

WRD
DDD

UBA
UBA

CONVEIIT NEXT WORD TO BINARY,
169A
169B

XR31 ADD

10/ 2/86
COMMENT

JSL
JSL

DIOB
X1WD

UNC
UNC

CONVEIIT NEXT WORD TO BINARY, ADD, & X 10K
169C
169D
169E
169F

XR8 /~DD
/\DD
SP2B I\DD
/\DDL
2710

SP4A

SPOA

UBA
UBA

RE
SP4A

CONVEln LAST WORD TO BINARY,
16AO

XR9

/\DD

SPOA

SP2B
RG
RE
RG
RG
SPIB
RF
RE
UBB
SPIB

/\DO
/\DD

RE
RG

INC

/\DD
INC

RG

/~DD
I~DD
I~DD

XRO

INC

&

NCRY

USA
U6A

NCRY

UBB

ClFl

UBB
UBB
UBA
UBA
UBA

DATA
RE
SP4A

I~DD
I~DD
I~DD
I~DD
I~DD

&

DATA
DATA

JSL DTOB
ADD
LINK
JSL XIW2 RG

UNC

JSL

UNC

UNC

ADD
XR3

SP4A

ADD AI.L THE BINARY RESULT,
16Al
16A2
16A3
16M
16A5
16A6
16A7
l6A8
16A9
16M
16AB
16AC
16AD
16AE

UBB
UBB
UBB

DTOB SPIB

STORE INTO MEMORY
UBB
UBB
UBB
XR6
UBA

ADD
LINK
ADD
LINK
ADD
ADD
XR5 LINK
XR4 LINK
ADD
BKX3 LINK
RH
ADD
BKX3 ADD
SP4A ADD
JSB SD23

RE
RH
SP2B DATA
SP 16
NFL
BKX3
DATA
DATA

DO NEGATE IF NECESSARY, THEN STORE INTO MEMORY
16AF
16BO
1661
1662

JSB
SP2B ,~DD
,1',00
RH
SP4A JSB

DBNE
SD23

UNC
DATA
DATA
DATA

RC

DB
RE
BKX3
SP 1B

ADD
ADD
ADD
ADD

WRD
DATA
DATA
DATA

NF5B

DO SDEC IF NF5B

9:27 AM

PAGE 444
RECORD
NO
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
2 i 735
21736

CVDB -- CONVERT 29 C.S.
ADDR

32 DIGITS

• -.- ••••••• AlU A **111***** .....

111.* ••• _ ••••• - AlU B **IIIIt ••••••••••

lABl RREG SREG FUNC SFNC STOR SPSK

RREG SREG FUNC SFNC STOR SPEC SKIP

CVDB ( CONVERT 29 ON ENTRY

...
16B3
16B4
16B5
16B6

".

32 DIGITS J

---

:

DECIMAL DATA ARE STORED IN XRA2 - XRA9. &
REFER DB2 FOR THE ALGORITHM
THIS IS NOT SUPPORTED ON S64 . . . .

DBS
SRDX

DIAG
ADD
ADD
ADD

ADD
XR13 ADD
XR29 ADD
ADD

CTR
SP1B

RSB

NEGATE THE DATA. & STORE OUT TO MEMORY
16B7
16B8
16B9
16BA
16BB
16BC

DBNE

RH
SPIB
SP1B
RE
RG
0007 DB

SUB
CAD
ADD
CAD
CAD
ADDL

RH

CTFI
FlTC
SP4A
RE
FlTC
RG
FlTC

SP4A
SP2B
UBA
BKX3
XRll

LINK
LINK
ADD
LINK
LINK
ADD

SPIB
SP2B
SP1B
BKX3
XRll
RSB

10/ 2/86
COMMENT

9:27 AM.

PAGE 445
RECORD
NO
21738
21719
21740
21741
21742
21743
21744
21745
21746
21747
21749
21750
21751
21753
21755

CS

ADDR

..

STACK ADJUSTMENT FOR CVDB
--~.*
**** ALU A ••• ********
LABL RREG SREG FUNC SFNC STOR SPSK

************* AlU B 111*\11:*111*111"**111111*111111
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9: 27 AM

COMMENT

SD23 --- WILL POP THE STACK TWO OR THREE TIMES
DECREMENT BY 2, OR
IF CIR ( 11: 1 ) : c a
:c 1
DECREMENT BY 3.
16BD

SD23

,1\00

XR19 ADD

,1\00

ADD
ADD
ADO
JSZ

NZRO

SET CCE IF XRB19 • NZRO
ACC DIGITS
XRB19
:

16BE
16BF
16CO
16C1

DBZR 0010 CIR
UBA

,ANDL
,ADO
,ADD

ZERO
EPOP

NEXT

CCA
EPP2
CRF

UNC

H

~~~~KIP~I~

11: 1 ); POP2
( 11 : 1 ) :c 0; CRF

POP ONE; 00 NEXT

PAGE 446
RECORD
NO

C.S.
ADDR

DMPY -- DOUBLE LOGICAL MULTIPLY
It_ •• __ .**.** ALU A It*,,****.*.* 111.********.** ALU B ***********"'**
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

21758

21759
21760

21761
21762
21763

DOUBLE LOGICAL MULTIPLY --ON ENTRY

21764

21765

RA : =
RB :=
RC =
RD :=

21766
21767
21768

21769
21770
21771

THE TWO DOUBLE-WORD OPERANDS ON THE TOP OF STACK
ARE LOGICALLY MULTIPLIED. THE TWO OPERANDS ARE
REPLACED BY THE FOUR-WORD LOGICAL PRODUCT. CARRY
IS CLEARED IF THE HIGH-ORDER 32-BITS ARE ALL ZEROS;
OTHERWISE, CARRY IS SET.

21772

21773

21774
21775
21776

21777
2177 8

21780

217 82

21784
21786
21788

21790
21792
21794

21796

21798

LOW-ORDER END OF OPERAND-I
HIGH-ORDER END OF OPERAND-l
LOW-ORDER END OF OPERAND-2
HIGH-ORDER END OF OPERAND-2
! VALID AFTER PULM )

16C2
16C3
16C4
16CS
16C6
16C7
16C8
16C9
16CA
16CB
16CC

DMPY

RC
RB

UBA
UBA
UBA UBB
0400 STA
SPOA

JSZ PULM
UNC
ADD
SP4A CFl
ADD
SPOA
MPAD
ADD
SP4A CCA
lOR
ZERO
IORL
STA
ADD
RB
CCA
ADD
ADD
INC
ceA

UBA
UBA

JSZ
ADD
REPN
RA
UBB LINK
UBB ADD
SP3B
ADD
SP4A ADD
JSZ
UBA RC
lOR
RA
JSZ
JSZ

TRP

NEXT
NEXT
NEXT

SP3B
RC
RA
RD

NZRO
CCRY IF
DCTR CTRO
CRF

ZERO
UNC
NZRO
ZERO
UNC

PULM FOR RD; TRAP IF CIR ( 9:3 J NOT ZEROS
SET UP FOR MPAD
; CLEAR CARRY, REPEAT LOOP FOR MPAD
DO MPAD
SET CC;
SKIP IF HIGH-ORDER 32 BITS ARE ALL ZEROS;
SET CARRY; SKIP IF HIGH-ORDER 16 BITS ZEROS
DO NEXT
SET CCE; SKIP IF NZRO
DO NEXT IF ALL ZEROS
SET CCG; THEN DO NEXT

PAGE 447
RECORD
NO
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21815

C.S.
ADDR

CVBD -- NIEGATE THE BINARY WORDS
111111*.111111***111:**. ALU B 111:111*111*111**.111111*111111
.*.*.~~**** ALU A **** ••• ****
LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86
COMMENT

ROUTINE TO NEGATE BINARY WORDS FOR CVBD
16CD
16CE
16CF
1600
1601
1602
1603
1604

NEGB

XR8
UBB
UBB
UBB
UBB
UBB
XR3

SUB
ADD
CAD
ADD
CAD
ADD
ADD
CAD

XR8
XR9
XR6
XR7
XR4
XR5

CTFI

XR3

FlTC

F lTC
FlTC

XR8
XR5
RG
XR.3
XR4
FFF9 RA
SP1B

LINK
ADD
LINK
ADD
LINK
ADDL
ADD
ADD

SPIB
RG
XR8

POS
RSB
RSB

; RETURN IF RA <= 6.

9:27 AM

PAG.-

21817
21818
21819
21820
21821
21822
21823
21824
21826
21828
21830
21832
21833
21834
21835
21836
21837
21838
21839
21841
21843
21844
21846
21848
21850
21851
21852
21853
21854
21855
21856
21857
21858
21860
21862
21864
21866

DECIMAL TRAP ROUTINES FOR CVOB.

448

RECORD
NO

C S
ADDR

*****_.**.* AlU A * ••••••• _-*

LABL RREG SREG FUNC SFNC STOR SPSK

&. CVBD
*******111.**** ALU B ***********111l1li:*
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

TRAP ROUITNES FOR CVOB

1605
16D6
1607
1608

DBER 2000 STA
0800 STA

ANDL
ADD
JSZ
TRPR
STA
IORl

UBA
UNC

TRAP ROUTINES FOR CVBD

1609
16DA

BOER 2000 STA

ANDL
JSZ
TRPO

0002 DSPL XORL
JSZ
TRPS
STA
0800 STA
IORL

16DB
160C
16DD

&.

MY29

ADD
ADD
XR10 ADD
ADD
ADD

USER TRAP ENABLED' CRF
JSB IF USER TRAP NOT ENABLED
tRAP TARGETS
SET OVERFLOW; DO STACK ADJUSTMENT

*+3

ZERO

TRPR
TRPA
S024

Fl
ZERO
UNC

~~~I~~LU~~~R~~~ ~~~PtNABLED

ADO
JSB
JSZ
JSZ
JSL

CVAD

F3A

UBA

UNC

UBA

FFFO XRl
STA

ZERO
NF 1
UNC

*+2
TRPD
SD23

ROUTINE FOR MPYD PRODUCT ). 29 DIGITS,
IF OVERflOW OCCURS

16DE
16DF
16EO
16E1
16E2

CRF

ADO
JSB
JSZ
JSB

CRF

USER TRAP ENABLED' CRF

IS IT FROM CVAD; INVALID DECIMAL LEN TRAP
TRAP TARGETS
SET OVERflOW, DO STACK ADJUSTMENT

TESTING

ANDL
ADD
XR26 JSL
ER13 RC
ADD
ADD

NZRO
RSB
UNC

SKIP IF PRODUCT >- 29 DIGITS
: RETURN
RESTORE STATUS; TRAP FOR DECIMAL OVERflOW
NOP to keep system happy
NOP to keep system happy

PAGE 449
RECORD
NO
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21899
21901
21903
21905
21906
21908
21909
21911
21913
21914
21915
21917
21918
21920
21921
21922
21923
21925
21927
21928
21930
21932
21933
21935

C.S.
ADDR

MPYD -- DECIMAL MULTIPLY
111#1:***111:*111*111"

ALU A *111**111**.111111111

l.ABL RREG SREG FUNC SFNC STOR SPSK

111111111111**#11*****111

101 2186

ALU B ***lIIl11*III*IIIIl11I11:**1II

RREG SREG FUNC SFNC STOR SPEC SK.IP

9:27 AM

COMMENT

~,1700

DECIMAL MULTIPLY
ON ENTRY
RA :- OPERAND-1 DIGIT COUNT
RB .- OPERAND-l BYTE ADDR ( DB REL
RC :- OPERAND-2 DIGIT COUNT
RD
OPERAND-2 BYTE ADDR ( DB REL
( VALID AFTER PULM )
OPERAND-2 ADDR • PRODUCT OF THE OPERAND-l DATA
TIMES THE OPERAND-2 DATA. THE MAXIMUM LENGTH ALLOWED
FOR OPERANDS IS 28 DIGITS, THE MINIMUM IS ZERO. IF NOT
WITHIN THESE RANGES, TRAP WILL OCCUR WITH INVALID DIGIT
COUNT. IF EITHER DIGIT COUNT IS ZERO, ONLY SDEC IS
PERFORMED. IF THE RESULT DOES NOT FIT INTO THE OPERAND-2
ADDR, THEN AN OVERFLOW TRAP OCCURS. THE RESULT IN THIS
CASE WILL BE LEFT TRUNCATED UNLESS THE ACTUAL RESULT IS
GREATER THAN 28 DIGITS, IN WHICH CASE NOTHING WILL BE
STORED, CCA IS SET ON THE RESULT
1700
1701
1702
1703

JSZ
ADD
ADD
ADD

~'PYD

RH

1704

STA

1705
1706

ADD
XR13 ADD

ADD

PULH

UNC

UBA

JSZ
JSL
JSL
JSL

TRP
CKLN
CKBA
SPLT

NZRO
UNC
UNC

XR5
XR7
XR8
XR11

XRll

RG

XR10

BKX6 JSL

MASK XR22

XRll ADD
BKX7 ADD

XR20
XR23

F ~~
U~'C

1707

0020

ADDL

SPOA

UBA

JSL

SCNB XR21

UtiC

1708

SPOA RH

SUB

SPOA

RH

JSL

SCNA RE

UtiC

1709
170A

RH
RE
0003 RC

SUB
ADDL

RE

ADD
ADD

170B
170C

SPOA UBA
UBB

JSBS ER13
NEG
ADD LSR SP4A

UBA
UBA

ADD
ADD

170D
170E

XR 12 ADD
XR 11 JSB

HBF2

SPOA NF2
HSWP
UNC

RC
RE

BKX6 ADD
XRll ADD

CF4B ZERO
NZRO
LSR

RF
BKX3

SF4B

PULM FOR RD; TRAP IF CIR ( 9:1 ) NOT ZERO
CK OPERAND-1/2 LENGTHS
CK OPERAND-1/2 ADDRESSES
OPERAND-l ADDR; CK SPLIT STACK IF PRIV MODE
OPERAND-2 ADDR
SAVE STATUS; GET OPERAND-1/2 MASKS
SAVE OPERAND-2 WD COUNT -1
SAVE OPERAND-2 WD ADDR
SAVE OPERAND-2 MSW MASK
32; SCAN FOR OPERAND-1 LEADING ZEROS,
SAVE OPERAND-2 SIGN MASK
SPOA :: 32 - ACTUAL OPERAND-1 DIGIT COUNT
SCAN FOR OPERAND-2 LEADING ZEROS, RE = RH

~~~ ~~ :~T~A~H6p~~IbIa~TR~OUNTO+ 3;
SKIP IF ACUTAL OP-2 DIGIT COUNT. 0
TRAP IF RESULT) 28; SF4 IF EITHER OP := 0
ACC LENGTH - 1;
RF := SAVE FOR TESTING RESULT) 28
OPERAND-1 SIGN MASK; OPERAND-2 WD COUNT - 1
JSB IS DIGIT COUNT OF OP-2 ) OP-1

PAGE 450
IIECORD
NO
21938
21939
21940
21942
21944
'21946
21947
21948
21949
21951
21953
21955
21957
21958
21959
21960
21962
21964
21966
21968
21970
21972
21974
21975
21976
21977
21979
21981
21983
21985
21987
21988
21989
21990
21991
21993
21995
21997
21999

CS.
ADDR
170F
1710
1711

MPYD -- DECIMAL MULTIPLY

****11***111:111* ALU A **111******111.

LABL RREG SREG FUNC SFNC STOR SPSK
CAD
ADD
ADD

RE
UBA

LSR
LSR

XR14

to/ 2/86

9:27 AM

."."""". * * *" * ALU B 111****.*.******
RREG SREG FUNC SFNC STOR SPEC SKIP

COMMENT

FFFF SP4A ADDL
0008 SREG SUBL
FFFE SREG ADDL

MUL TIPL.IER WI) LEN; ACC WI) LEN -1
MUL TIPL.IER WI) LEN - 1,
o TO 7 WDS
; UBB :- PRODUCT LEN -1

XR15
XR15

POS

)

FETCH MULTIPLIER
1712
1713
1714
1715

XRll ADD
XRl2 CSR
ADD
ADD

SPOA
RG
HBF2
XR1S CF2

BKX4
RE
XR3l
fiG

JSL
JSB
JSL
JSL

XRll
SREG
SREG
SREG
SREG

ADDL
ADDL
XFRR
XFRR
XFRR
XFRR
ADD

FCHB BKX3
"+3 SPIB
SRDl XR30
SR3D

UNC
F4B

F2

EVEN

M'IER ADDR; FETCH DATA, M'IER WD COUNT - 1
SF2 IF SIGN MASK :- OOOF; JSB IF EITHER =
O· SHIFT DATA RIGHT IF F2
XRA15
; SHIFT· RIGHT 3 DIGITS IF SIGN MASK : = OFOO
·2

SAVE THE MULTIPLIER
1716
1717
1718
1719
171A
17lB
17lC
1710
171E
171F
1720
1721

1722
1723
1724
1725
1726

XR12
XR6
XR7
XR8
XR9
XR12
XRll

ADD
ADD
ADD
ADD
ADD
ADD
JSB

SPOA

MSWP

CF3A
SPOA CFl
UNC

00C3
OOCO
UBA
UBA
UBA
UBA

SIGN MASK; REGN POINTER FOR LSW MULTIPLIER
MSW MULTIPLIER; MSW MULTIPLIER POINTER
NEXT MULTIPLIER; SAVE IN XRB64, ICTR
NEXT MULTIPLIER; SAVE IN XRB65, ICTR
LSW MULTIPLIER; SAVE IN XRB66, ICTR

XR14
CTR
REGN ICTR
REON ICTR
REGN ICTR
REGN
SP IB

FETCH MULTIPLICAND
SPOA
SPIB ADD
BKX4 JSL FCHB BKX3
XR30 JSB MZRO
ADD
eCA
RG
XR 12 CSR
HBF2 UBB XR31 INC
ADD
XR 15 CF2
RE
JSL SRDl SPIB
ADD
RG
JSL SR3D
MOVE DATA FROM XRAI - XRA9 TO XRA19 - XRA27, &
ZERO OUT XRA1 - XRA9 AND XRBI - XRB9
RG
SP4A
0013
ADDL
XRlS INC
CTR
SPOA
ADDL
FFFE
ADDL
0089
ADD
REGN
eAD
RG
HBF2
RG
eTR
REGN AND
REGN
0012 CTRS ADDL
REGN
SREG ADD
UBB SP4A JSBS *-2 eTR

g~A~ ~6~NM~~i~~L~~~~6; :spI~W:~U6~~~L~6RADDR
UNC
F4B

ADDR; FETCH DATA,M'CAND WD COUNT - 1
EITHER : = 0
SIGN MASK . = OOOF; SE T CCA
= 0: SHIFT DATA RIGHT IF F2
RIGHT 3 DIGITS IF SIGN MASK
OFOO

F2
EVEN

M'CAND
JSB IF
SF2 IF
XRA15
; SHIFT

F2
UNC

19; PRODUCT LENGTH
-2; REGN POINTER
SF2 IF DONE; REON :- 0
REGN :- 0; REGN POINTER, SKIP IF DONE
REGN :~ 'MOVED' DATA; LOOPBACK IF NOT DONE

PAGE 451
RECORD
NO
22002
22003
22004
22005
22006
22007
22008
22010
2201;·
22014
22015
22016
22017
22019
22021
22023
22025
22027
22029
22031
22032
22033
22034
22036
22038
22039
22040
22042
22044
22046
22047
22048
22049
22051
22053
22054
22056
22058
22060
22061
22062
22063
22065
22067
22069
22071
22072
22073
22074
22076
22078
22080
22082

C.S.
ADDR

MPYD -- DECIMAL MULTIPLY
111:111*****11:111111111

ALU A

*Jll:III*III'IIIIIIIIIIIIIII:*

LABL RREG SREG FUNC SFNC STOR SPSK

._._*****JII:**. ALU B

III

10/ 2/86

* 111111 III Jlllle * III * III * III

9:27 AM

JIll

RREG SREG FUNC SFNC STOR SPEC SKIP

COMMENT

SETUP 2X, 4X, 8X OF THE MULTIPLICAND
1727
1728
1729

MPYR 009B
00A7
00B3

172A
172B
172C
172D
172E
172F
1730

ADDL
ADDL
ADDL
DO ADD & SHIFT
INC
ADD
INC
ADD
INC
ADD
INC

SP4A
SP4A
SP4A
SP4A

BKX4 JSB
BKX4 JSB
BKX4 JSB

MPYX RH
MPYX RH
MPYX RH

XR14
UBA
XR14
UBA
XR14
UBA
XR14

SRD1
MPYM
SRD1
MPYM
SRD1
MPYM

JSB
JSL
JSB
JSL
JSB
JSL
JSB

'~PYM

CTR
SP1B
CTR
SP1B
CTR
SP1B
CTR

UNC
UNC
UNC

SETUP 2X
SETUP 4X
SETUP ax

UNC
UNC
UNC
UNiC
UNC

1; DO
SHIFT
1; DO
SHIFT
1; DO
SHIFT
1; DO

U~IC

UNC

LSD'S OF THE MULTIPLIER
RIGHT
NEXT DIGiTS OF THE M'IER
RIGHT
NEXT DIGITS OF THE M'IER
RIGHT
MSD'S OF THE M'IER

ADJUST THE DATA FOR PROPER OUTPUT FORMAT
1731
1732
1733
1734
1735
1736
1737

XR3
XR7
XR9
XRl

ADD
ADD
ADD
ADD
JSB
ADO
ADD

RF
MYST

RG
RH

RF
ZERO
JSL MY29
XR21 CSR
SP2B HBF2
ADD
XR6
RF
XR2
ADD
RG
ADD
XR8
0089 BKX3 SUBL
CTR
U~IC
RH
JSL SLD2 XRO
UBA

F2

RF := XRA3; JSB TO TEST IF RESULT > 28
SF2 IF SIGN := OOOF
STORE DATA IF ALREADY ALIGN
REGN POINTER AT MSW
SHIFT LEFT 2 DIGITS

STORE THE DATA
1738
1739

IIIYST

SP2B CSL
ADD

173A
173B
173C

ADD
JSB
ADD

0089 BKX3 SUBL
XR26 ADD

XR13
XR14

XR20 JSL STOA SP2B
ADD
JSL 5024
EITHER OPERAND IS ZERO ( F4 :- 1 )
ADD
BKX6
XR22 ADD
eeA
ADD
XR23 ADD
BKX7
ADD
BKX3
ADD
ADD
0089
eTR
ADDL
ZERO OUT DATA BUFFERS

1730
173E
173F
1740

I'IZRO

1741
1742
1743
1744
1745

2:REG 0008
RG

ER13

CF3A
F3A

CTR
RC

ADDL
RG
ADD
ADD
REGN
JSB *-1
NZRO
JSB MYST
UNC

RG

XR21 CSR
CTRS ADD
ADD
CAD
XRO JSB

U~IC
U~IC

SP2B
XRO
REGN DeTR
RG
FCH2 eTR
NF4B

TARGET SIGN MASK; REGN POINTER AT MSW
XRA14 := 0, LOST DIGIT REGISTER;
RESTORE RC
CF3A FOR LOST DIGIT FLAG; STORE OUT DATA
JSB IF LOST DIGIT
DO SDEC
SET CCE; TARGET WD COUNT - 1
TARGET MSW MASK
BKX3 : = 0
LSW REGN POINTER
• OF DATA BUFFERS; TARGET SIGN MASK
SAVE INITIAL COUNTER
REGN :. 0; DCTR
LOOPBACK IF NOT DONE
STORE OUT ZEROS: RTN IF FROM FCHA

PAGE 452
RECORD
NO
22085
22086
22087
22088
22089
22090
22092
22094
22096
22098
22100
22102
22104
22106
22108
22110
22112
22114
22116
22117
22118
22119
22121
22122
22123
22124
22126
22127
22128
22130
22132
22134
22136
22138
22140
22141
22142
22143
22144

C.S.
ADDR

MPYD -- DECIMAL MULTIPLY
*********** AlU A

*.*.** ••• *.

LABL RREG SREG FUNC SFNC STOR SPSK

• ••••••• * •••• AlU B *t.**.****.***
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

DO 1 DIGIT OF THE MULTIPLIER
1746
1747
1748
1749
174A
174B
174C
174D
174E
174F
1750
1751
1752
1753
1754
1755
1756

MPYM

XR14 ADD
FFFF SP4A ADDl
009B
ADDL
SP4A ADD
00A7
ADDl
ADD
00B3
ADDl
ADD
OOBF
ADDl
SP4A ADD
SPOA
CAD
XR2 JSB *-A
XR4 ADD
XR5 ADD
XR6 ADD
XR8 ADD
RE
RC
ADD

SPOA
SP4A
RH
RH
RH
RH
SPOA HBF2
NF2

INC
JSB
ADD
JSB
ADD
JSB
ADD
JSB
ADD
JSB
ADDl
ADD
ADD
ADD
ADD
ADD
ADD

RH

ADD

CTR

CAD LSL
ADDL
ADD
ADD
LINK
JSB • -5

SP3B DCTR
CTR
RH
DCTR
SP2B HBF2
ICTR
CTR
NF2

*+9
MPAA
lSR
MPAA
lSR
MPAA
lSR
MPAA
lSR

BKX3
SPIB
SPIB
SP2B
SPIB
SP2B
SPIB
SP2B
SPIB
SP2B
CTR
REGN
XRI
XR3
XR4
XR5
XR7

PSHR

XR15
REGN
REGN
XR 15
SPIB
XR15
SPIB
XR15
SPIB
XR15
00C3 UBA
SPIB
UBA
UBA
UBA
UBA
UBA

lBF5
lBF5
lBF5
lBFs

ZERO
F5B
F5B
FsB
F5B

DCTR
POPR
RSB

M'IER WO LEN; PRODUCT lEN
BIT POINTER; JSB IF THE M'IER :. 0
IX M'CAND; SF5B IF BIT SET
DO ADD IF F5B
2X M'CAND;
DO ADD IF FsB
4X M'CAND;
DO ADD IF F5B
8X M'CAND;
DO ADD IF FsB
SF2 IF DONE; NEXT M' IER POINTER
JSB FOR NEXT M'IER; SAVE REMAINDING M'IER
SAVE DATA IN XRB'S
TOTAL • OF DIGITS; RTN

DO ADD
1757
1758
1759
175A
175B
175C
175D
175E
175F
1760

MPAA

SP4A ADD
FFFE SP4A
REGN
REGN
UBA REGN
RREG REGN
UBB

ADDl
ADD
ADD
XFRS
DADO
ADD

ADD
ADD
XRll ADD

XRll CFl
SP4A
RG
REGN F HC
REGN
CFl
SP4A CF3A

0088
SPJB
SP3B
RG

SP4A
RH
SP2B
UBA
RH

ADD
ADD
ADD

SAVE WORD POINTER; PROPER M'CAND POINTER

PSHR

POPR
CF2

RSB

SP4A : = SP4A - 2; -2, DCTR
M'CAND;
M'CAND; NEXT M'CAND POINTER
RESULT; SF2 IF DONE
DO ADD & STORE RESULT;
lOOP BACK IF NOT DONE

PAGE 453
RECORD
NO
22147
22148
22149
22150
22151
22152
22153
22155
22157
22159
22161
22162
22163
22164
22165
22166
22167
22168
22170
22172
22174
22176
22177
22179
22180
22181
22183
22184
22186
22187
22189
22190
22191
22192
22193

C S.
ADDR

MPYD -- DECIMAL MULTIPLY
*.*******~* ALU A ***********
LABL RREG SREG FUNC SFNC STOR SPSK

*******~***** ALU B **.***.****.111 ••
RREG SREG FUNC SFNC STOR SPEC SKIP

10/ 2/86

9;27 AM

COMMENT

SWAP OPERANDS
1761
1762
1763
1764
1765

MSWP

UBB ADD
ADD
RC
RE
XR13 XFRS
RREG
ADD
SPOA
ADD

UBA
BKX4
BKX6
BKX5
BKX7

XRll
RE
XR12
RC
XR13 RSB

ADD
ADD
ADD
ADD
ADD

XRll
BKX6
BKX4
BKX7
BKX5

~~G~~D~6UNT ;

CTR PSHR
BKX7 DCTR
CTR
SP3B
ICTR
CTR
F2

11; REGN POINTER
SF2 IF DONE; TARGET MSW MASK
DATA; NEW CTR
DATA; MASK

XR29 DCTR
CTR
RH
HBF2
ICTR
NF2
CTR

SP4A :"' OOOB; XRB29 ;- FFFE

SIGN MASK;
; MSW MASK

WD COUNT

DO 2:K, 4X, OR 8X OF THE MULTIPLICAND
1766
1767
1768
1769
176A
176B

MPYX OOOB
SPOA RH
REGN
REGN
UBA UBA
UBB

176C
1760
176E
176F
1770

OOOB

1771
1772
1773

UBA
UBB

ADDL
INC
ADD
ADD
DADO
ADD

ADDL
REGN ADD
REGN ADD
UBA DADO
ADD
ADD
ADD
ADD

SP4A
RH
HBF2
RG
REGN CTFI
REGN
SP4A
RG
REGN FlTC
REGN
REGN CF2
REGN

UBA ADD
XR23 ADD
OOOB CTRS ADDL
FFF2
ADDL
RG
LINK
RG
SP3B CTRS JSBI *+6
CAD l.SL
ADD
ADD
LINK
JSBI *-4

UBA
RH
RG
SP3B

CTRS
XR29
RG
CTRS

UBB

SP4A ADD
ADD
XR22 ADD

POPR
ICTR
BKX6 CFl RSB

;

JSB IF DONE

DEC WO COUNT BY
LOOPBACK IF NOT DONE

CTR

;

TARGET WD COUNT - 1

PAGE 454
RECORD
NO
22196
22197
22198
22199
22200
22201
22202
22203
22204
22205
22207
22209

C.S
ADDR

DECIMAL -- CHECK OPERAND LENGTHS
**'111:.****111.* ALU A J\r:******Jt***

LABL RREG SREG FUNC SFNC STOR SPSK

111.* ••••• **.*. ALU B ******-*******
RREG SREG FUNC SFNC STOR SPEC SKIP

9:27 AM

10/ 2/86
COMMENT

CHECK OPERAND LENGTHS FOR SLD, NSLD, SRD, ADDD,
CMPD, SUBD, & MPYD
IF 0 ) OPERAND LENGTH )& 29 DIGITS, TRAP TO ERI7.
OR IF OPERAND LENGTH a O. DO STACK ADJUSTMENT & NEXT.
1774
1775
1776

CKLN RC

SP IB JSB
ADD
ADD

ER 17

XR2
XR3

CRRY
RSB

RA

SPIB JSB
RA
JSL
RC
JSL

ER17
S024
S024

CRRY
ZERO
ZERO

ER 17 IF RA OR RC )
; JSB IF RA. 0
RETURN; JSB IF RC

%

:=

29 OR < 0
0

PAGE 455
RECORD
NO
22212
22213
22214
22215
22216
22217
22218
22219
22220
22221
22222
22223
22224
22225
22226
22227
22228
22230
22232
22234
22236
22238
22240
22242
22244
22245
22246
22247
22248
22249
22250
22251
22252
22253
22254
22255
22256
22257
22258
22259
22261
22263
22265
22267
22269
22271
22273
22274
22276

C.S.
ADDR

DECIMAL - - CHECK OPERAND ADDRESSES
*Jilt:JllIiI**JllIIIJlllII:tIc

ALU A *JII.IiI****It*1iI

UIBL RREG SREG FUNC SFNC STaR SPSK

111111111111:.111*111**111111* ALU B l1li** ••• 111111:**111.111.
RREG SREG FUNC SFNC STOR SPEC SK I P COMMENT

10/ 2/86

9:27 AM

CHECK TARGET OPERAND ADDRESS
ON ENTRY :
RC
RD

- TARGET DIGIT COUNT
TARGET BYTE ADDRESS ( DB REL I

ON EXIT
RG
BKX6
1777
1778
1779
I77A
177B
177C
177D
177E

C~;BA

RD
UBA
UBA
RE
RF

DB
DL
RG
RG

RG

DL

ADD LSR
ADD
SUB
SUB
ADD
ADD
ADD
BNDE

• TARGET WORD ADDRESS
TARGET WORD COUNT -

:=

RG
RG
XR4
XR8

NCRY
CRRY

RD
RC
UBB

NF3A

UBB
RE

ADD
ADD
ADD LSR
INC
ADD
BKX6 ADD LSR
RG
ADD
UBB BNDE

SM

RE

LBF5
BKX6 LBF5 NF5,B
BKX6 LBF5
XR3 CF5B
BKX6

TARGET WO-ADDR; RE : - SM
TARGET WD ADDR; SET F5 IF BYTE ADDR IS ODD
SKIP IF DL ) WD ADDR;
SKIP IF WO ADDR <- SM; TARGET WD COUNT
WRAPAROUND ADDR; XRB3 :- 0
XRA4 := 0; TARGET WD COUNT - 1
XRA8 :z 0; LSW ADDR
BOUNDS CHECK. DL <= MSW ADDR. SM <= LSW ADDR

CHECK SOURCE OPERAND ADDRESS
ON ENTRY
RA
RB

: z

SOURCE DIGIT COUNT
SOURCE BYTE ADDRESS ( DB REL I

ON EXIT
RH : = SOURCE WORD ADDRESS
BKX4
SOURCE WORD COUNT 177F
1780
1781
1782
1783
1784
1785
1786
1787

O;B

RB
UBA
UBA
RE
RF
RH

DB
DL
RH
RH
DL

ADD
ADD
SUB
SUB
ADD
ADD
ADD
BNDE
ADD

LSR

RH
RH
XR5
XR9

RSB
NCRY
CRRY

UBB

ADD
ADD
ADD
INC
ADD
BKX4 ADD
RH
ADD

RE

UBB

RB
RA
UBB

SM

BNDE
ADD

RE
LSR
LSR

LBF5
BKX4 LBF5 NFS,B
BKX4 LBF5
XR4 CF5B
BKX4
RSEI

SOURCE WO-ADDR;
SOURCE WD ADDR;
SKIP IF DL ) WO
SKIP IF \tID ADDR

RE : - SM. RTN IF F3 SET
SET F5 IF BYTE ADDR IS ODD
ADDR;
<= SM; SOURCE WD COUNT
~g2~6E X~g4 COllN~ _ 1

~~~~AR?U~~
X~~~B:TOO~L~WD~~RRSB AVOID SKILL

~63~g~

(1000

CHECK. DL <= MSW ADDR, SM <= LSW ADDR

PAGE 456
RECORD
NO
22279
22280
22281
22282
22283
22284
22285
22286
22287
22288
22289
22290
22291
22292
22293
22294
22295
22297
22299
22301
22303
22305

C.S
ADDR

DECIMAL -- CHECK SPLIT STACK
**********111 ALU A ****JII******
LABL RREG SREG fUNC SfNC STOR SPSK

************* ALU B ***.*** . . . *****.
RREG SREG fUNC SfNC STOR SPEC SKIP

10/ 2/86

9:27 AM

COMMENT

CHECK SPLIT STACK
ON ENTRY
RB .• SOURCE BYTE ADDRESS
RD .• TARGET BYTE ADDRESS

DB REL
DB REL

ON EXIT
liRA 11 : - SOURCE WORD ADDR
IIRBll . - TARGET WORD ADDR
1788
1789
118A
178B
178C
1780

SPL T RB
UBB

DB

RG

DB

ADD LSR
JSB *+4
JSBC *+3
ADD
ADD
ADD

RG

XRll

fSS
CRRY

RD

DL
DB

SP3B DB

ADD LSR
ADD
JSBS *+3
ADD
ADD
JSB *-2

SP3B PSHR
NCRY
POPR NZRO
RSB
UNC
XRll

SOURCE WORD ADDR; TARGET WORD ADDR
JSB If SPLIT BANKS;
JSB If DL >- DB; OR DB >
DO POPR
; RETURN
SOURCE WORD ADDR; TARGET WORD ADDR

PAGE 457
RECORD
NO
22308
22309
22310
22311
22312
22313
22314
22315
22316
22317
22318
22319
22320
22321
22322
22323
22324
2232';
22328
22330
22312
22334
22335
22336
223:17
223.18
22339
22340
22341
22342
22343
22344
22345
22346
22347
22348
22349
22350
22351
22353
22355
22357

C. S.
ADDR

DECIMAL -- OPERAND MASKS ( SIGN & MSW I
** ••• Il** ..... 1Ir ALU A

1iI1Ir:***III*IiII,UIlIfr

lil,Bl RREG SREG FUNC SFNC STOR SPSK

.IIe."'.*.* •••• * AlU B 1IIJ11I11:*JII*III: .... IIII*Ift**
RREG SREG FUNC SFNC STOR SPEC SKI P COMMENT

10/ 2/86

9:27 AM

GET TARGET OPERAND MASKS
ON ENTRY :
RC : .. TARGET DIGIT COUNT
RD : = TARGET BYTE ADDRESS ( DB REl I
ON EXIT
BKX7
XRA13
17 sr
178F
1790
1791
1792

MASK RC
OFOO
SP4A
RD
XR 13

;=

TARGET MSW MASK
TARGET SIGN MASK

CSR
SP4A HBF2
ADDl
XR13
ADD
EVEN
ADD SWAB XR13
ADD
XR7 NF3A

OFFF
OFFF
RD

ADDl
ADDL
CAD
ADD
BKX7 ADD LRZ

BKX7
BKX5
BKX7
BKX7

NF2
EVEN

SET F2 IF DIGIT COUNT IS 000; MASK
MASKS; SKIP IF NF2
SKIP IF SIGN IN LEFT BYTE; MSW MASK
SIGN MASK; SKIP IF BYTE ADDR IS EVEN
; UBB :. TARGET MSW MASK

GET SOURCE OPERAND MASKS
ON ENTRY :
RA
RB

SOURCE DIGIT COUNT
SOURCE BYTE ADDRESS ( DB REL I

ON EXIT
SOURCE MSW MASK
SOURCE SIGN MASK

BKX5
XRA12
1793
1794
1795
1796
1797

MSKB OFOO
RB
UBB
OOOF

ADD
ADDL
ADD
ADDL
ADD

XR12
XR12

RSB
EVEN
RSB

RA
RB

ADD
CSR
CAD
ADD
BKX5 ADD

XR6
BKXS
LRZ

BKXS

POS;
EVEN

MASK; SI:ORL
;rSB

*+2

CFl
CF3A
CF3A

:rsz
:rsz

TRPO

F3A

JSB *+6
ADD
0009 UBA SUBL
XR26 ADD
RA
RG
JSL DBER
ADD
ADD
UBA JSB *+2

TRPR

UNC

JSZ

1707

0800 STA

~\DD
~\DD

ER17

2000 STA

~\DD
~\NDL

RG

J[ORL

SF3A

STA

S024 0030 CIR
0020 CIR

j~NDL
j~NDL
j~DD

,JSZ

NEXT

NZRO
SF 1
CRF

TRPD

ZERO
ZERO
NFl

ADD

S024 .. _- WILL POP THE STACK BY 0, 2, OR 4
IF CIR ( 10: 2 ) ... 00, DECREMENT
• 01, DECREMENT
:2 10, DECREMENT
1708
17D9
170A
l70B

UNC

UNC

UBA
UBA

ADD
JSZ
ADD
ADD

SET F3; JSB
IS IT FROM CVDB?
SKIP IF FROM MPYD
; RESTORE RA
JSB DBER IF FROM CVDB; ELSE JSB *+2
CF3A; SFl
USER TRAP ENABLED ? CRF
JSB *+2 IF USER TRAP NOT ENABLED;
ELSE JSB TO TRAP ROUTINE
TRAP TARGETS
SET OVERFLOW

TIMES.
BY 0,
BY 2, OR
BY 4.
NEXT

CRF

ZERO
EPP2 ZERO
EPP2

CHECK CIR

I 10:2 I;

CRF

NEXT IF 00
CH~g~2~I~K pl~~lC ~ DO
( 10:1 ) : = 0

jsz NEXT; POP2 MORE

PAGE

22605
22606
22607
22608
22609
22610
22611
22612
22613
22615
22617
22619
22621
22622
22623
22624
22626
22627
22629
22631
22633
22634
22635
22637
22639
22641
22642
22644
22645
22646
22647
22648
22650
22652
22653
22654
22655
22656
22657
22658
22659
22660
22662
226<:3
226f5
226fi7
22669
22671
22672
22673
22675
22677
22679
22681
221>83

DECIMAL -- SCAN lEADING ZEROS

4F2

HeORD
NO

C.S
ADDR

**** •• ***111* ALU A *.*111111_*****

LABl RREG SREG FUNC SFNC STOR SPSK

•••••••• * •••• ALU B *.****** ••••••
RREG SREG FUNC SFNC STaR SPEC SK I P

10/ 2/86

9:27 AM

COMMENT

SCAN SOURCE OPERAND FOR LEADING ZEROS
ON ENTRY

l7DC
l7DD
17DE
17DF
17EO

SCNB
UBB
UBA

XRll ADD
CSR
ADD
OPA
AND
ADD

17E1

UBB

JSB

17E2
17E3
17E4

XRll INC
FFFC RH
ADDl
AND
UBB OPA

RB

17E5
17E6
lrE7
17E8
17E9
17EA
17EB

SCND RH

RH

ADD
JSB
CAD
JSB
CAD
JSB
CAD

17EC
17ED

SCNE
RH

ADD
ADD

RH
RH

XRAll
BKX4
BKX5

• SOURCE WORD ADDRESS
:. SOURCE WORD COUNT • SOURCE MSW MASK
ROO
HBF2

SP4A CF2

SCND

RA
UBB

UBA

ZERO
XRll ROD
RH
SP4A
NZRO
UNC
NZRO
UNC
NZRO
UNC

SCNE
RH
SCNE
RH
SCNE
RH
XR6
RC

RH
RH

ADD
INC
BKX5 ADD
ADDl
0002 RH
BKX4 ADD
JSB

PSHR ODD
NF2

RH

SCND

ADD
FFFF
ADDL
*-3
RREG BKX4 JSB

NZRO
BKX5
BKX4

UNC

FOOD SP4A ANDL
JSB
SCNE
OFOO SP4A ANDL
JSB
SCNE
OOFO SP4A ANDL
JSB
seNE
ADD

ZERO
UNC
ZERO
UNC
ZERO
UNC

ADD
ADD

NF2
CF2

READ SOURCE (MSW); SKIP IF • DIGIT IS ODD
F2 IF BYTE ADDR IS ODD; ADD 1 IF EVEN
SKIP IF DIGIT ADDR IS EVEN
MASK MSD' S; ADD 2 IF ODD

IF \lID COUNT : ~ 0, OR
DO SCAN; JSB
NON-ZERO IS DETECTED
READ NEXT ADDRESS
-1
gg3NT=

~lg~~ g~gN+HE ~

; CHECK IF 1ST DIGIT
JSB IF NO ZERO
CHECK FOR 2ND DIGIT

•

0

CHECK FOR 3RD DIGIT

POPR NZRO
RSB

XRA6 :. 0; POPR
NEW TARGET DIGIT COUNT;

ROAD

SKIP IF OPERAND-2 DIGIT COUNT IS ODD;
READ OPERAND-2 MSW

RETURN

SCAN OPERAND-2 FOR LEADING ZEROS
ON ENTRY

17EE

SCNA RC

17EF
17FO
17F 1
17F2

UBA
UBB
UBA
UBA

17F3
17F4
17F5
17F6
17F7
llF 8

FFFC RH
lIBB OPA

OPA

UBB

XRBll
BKX6
BKX7

ADD

RH

INC
ADD
AND
ADD

RH

:. OPERAND-2 WORD ADDRESS
:. OPERAND-2 WORD COUNT :. OPERAND-2 MSW MASK
XRll ADD

ODD
SF2

SP4A

JSB
SCND
ZERO
ADD
RH
ADDl
SP4A
AND
ADD
ADD

BKX7 ADD
RD
ADD
0002 RH
ADDl
BKX6 ADD
UBA

PSHR
EVEN
RH

JSB
SCND
NZRO
XRll ROAD
XRll INC
FFFF
BKX7
ADDL
RREG BKX6 JSB
BKX6
UNC
*-3
ADD
ADD

~~~;D~~~~ I~U~~E~YB*+EO:D~RMSW

MASK MS\~ DATA;

MASK
ADD 2 TO DIGIT COUNT

JSB IF EITHER DATA OR we COUNT IS ZERO
READ NEXT ADDRESS
DIGIT COUNT - 4; NEW MSW MASK
MASK THE DATA; DEC WD COUNT, DO NEXT WORD
NOP to keep system happy
NOP to keep system happy

PAGE 463
RECORD
NO
22686
22687
22688
22689
22690
22691
22692
22693
22694
22695
22696
22697
22698
22699
22700
22701
22702
22703
22704
22705
22706
22707
22708
22709
22710
22711
22712
22713
22714
22715
22716
22717
22718
22719
22720
22721
22722
22723
22724
22725
22726
22727
22728
22729
22730
22731
22732
22733

COBOL ]1 FIRMWARE INSTRUCTION SET - ABSOLUTE/NEGATE DECIMAL

C.S.

**111:***111.'"\* ALU A ***1II •• 1t**1II*

ADDR

LABl RREG SREG FUNC SFNC STOR SPSK

.111*#1:111 •• *111111**. ALU B .**111**111 ....... **
RREG SREG FUNC SFNC STOR SPEC SK I P

.

111111:11: •• 111******** •• **111*******.111111111****111111**111*****111:*****111111.***********JllIIII**JIr

ABSD / NEGD
1.
2.
3.
4.
5.
6.

ABSD
7.
8.
9.

g~~et:~d~:~~dt~Ofh~e~i~~:~5d~~~~:tn;~~1~h:n~et~~i~!g~rte

count.
If the digit count is less than zero or greater than 28
then perform the IllEGAL DECIMAL OPERAND (%17) TRAP.
~~;~~tl~: :~~~e~~n~:i~i(8Bt~e(6~g/ ~t~b}e2at the
Bounds check the effective address if not in split stack
mode. If the bounds test fails, add 32k to check for a

~~-?~e a~1~~S~ibb1!elih i~hh:oI~ft ag~t~~u~~~p C~~~kl:Hin.
and right bytes 50 the sign nibble will be in the right
nibble.
Extract the last 2 bits of the silln (right) nibble
(C = 00, D. 01, F = 11) of the rlght byte

Make the value unsigned by masking an F into the sign
nibble.
Set CCG.
If the sign bits = 01 (the sign was negative =) D), then
set CCl.

NEGD
7.
8.

9.

Remove the sign by masking a zero into the sign nibble.
Set CCG and mask a D into the sign nibble.
~~e~h:eii~~lb;~~ ~a~~ ~t~\~i~nt~:\~g~) n~~g~~iVe), then

ABSD / NEGD
Pop the digit count.
Pop the relative base address parameter if SDEC • 1.
Clear the overflow bit in the STATUS re3ister.
f~e~h:w!:flh::db~:~ht bytes were swappe in Step 5,
14. Rewrite the word containing the sign nibble.
15. Next instruction.
10.

11.

12.
13.

.

~**JII.*jI(***********************************.*****.**",** ***************

!:NOWARN

10/ 2/86
COMMENT

9:27 AM

PAGE 464
RECORD
NO
22737
22738
22740
22742
22743
22745
22747
22748
22750
22751
22753
22754
22756
22757
22759
22761
22762
22764
22765
22767
22768
22770
22771
22773
22774
22776
22777
22779
22780
22782
22783
22785
22786
22788
22789
22791
22792
22794
22795
22797
22798
22800
22801
22802
22804
22806
22807
22808

COBOL II FIRMWARE INSTRUCTION SET - ABSOLUTE/NEGATE DECIMAL
••••••••••••• ALU B **************
~********** ALU A ***********
C.S.
ADDR LABL RREG SREG FUNC SFNC STOR SPSK RREG SREG FUNC SFNC STOR SPEC SKIP
1800
1801
1802
1803

%1800
ABSD
NEGD
RA

AOD
JSZ

PULM

CF1
SRL2

SR

UBB

ADD
JSB

ABN2

CRRY

FFE3
RA

LSR

SF3A

RB

1804

RB

UBB

ADD

1805

UBA

DB

ADD

1806

UBA

DL

SUB

1807
1808

OPA

JSB
ADD

1809

OPA

ADD

SWAB SP4A

JSB

ABN1

180A
180B

OOOF SP4A IORL

180C

RH

UBB

1800
180E

RH

1810
ABN2

1813
1815

RH

ADD

RH

JSZ
ADD

SWARN

ADD
ADD

OOOF

JSL LDWC
ADDL

UNC

UBA

UBB AND
SREG AND

0000

ADDL

UBA

CAD
ADD

OOOC SP4A IORL

NF3A
DATA

RH

F2

RH

ADDL
INC

F2
SWAB RH
TRPR

CRRY

JSB

RH

NF5B

SUB

CCA
NZRO

HBF2
·+3

SP3B UBA

DODD

CCA

SRZ

PUL2 SP3B

CSR

NZRO
SP4A

ADD

UBB

JSB

UBA
F1

INC

RH

1814

1816
1817

UNC
SP4A F2

SUB

0000 SP4A IORL

1811
1812

UBB

*+0

ADD
JSZ

ADDL
ADD LSR

ROO
CRRY

SUB
CAD

ABNl FFFO SP4A ANDL

180F

RH

SM

SP1B ADD

CCA
ABN2

UNC
CCA
NZRO
RH
EPOP EVEN

ADD

EPOP

ADD

CLO

ADD

NEXT

ADD
ADD

111** III. **** 111****. ". I I Itt: END OF ICF/55 MICROPROGRAM ••••••••••••••••••••
JIll

10/ 2/88

9:27 AM

COMMENT
F1 DETERMINES ABSO OR NEGD
NEED TWO VALID TOS REGISTERS CONTAINING
RBA OF PACKED DECIMAL FIELD AND DIGIT COUNT
MAXIMU/4 NUMBER OF DECIMAL DIGITS IS 28
TRAP IF LENGTH < 0 OR LENGTH ) 31
DC/2
gB~SiG~D~{~MeIN LEFT OR RIGHT BYTE
FETCH WORD CONTAINING SIGN NIBBLE
SKIP BOUNDS TEST IF SPLIT STACK MODE (CSTX)
(2324)
BOUNDS TEST DL <- EA
(2324)
BOUNDS TEST EA <- S
(CSTX)
JUMP TO SELF; JUMP TO BOUNDS CHECK
SIGN NIBBLE IN RIGHT BYTE
MASK FOR SIGN NIBBLE
SIGN NIBBLE IN LEFT BYTE
MASK SIGN BITS IN RIGHT BYTE
ABSD/NEGD ?
MASK SIGN BITS IN LEFT BYTE
ABSD - CHANGE SIGN NIBBLE TO F
SIGN NIBBLE FOR A NEGATIVE NUMBER
TEST FOR SIGN NIBBLE c D ~) NEGATIVE
SET CCG DEFAULT
SET CCL
SKIP NEGD OPTION
NEGD - CHANGE SIGN NIBBLE TO 0
SIGN NIBBLE FOR A NEGATIVE NUMBER
TEST FOR SIGN NIBBLE' 0 .) NEGATIVE
SET CCl DEFAULT
SET CCG
DETERM[NE WHICH SIGN TO REPLACE PREVIOUS
MASK NEGATIVE SIGN IF PREVIOUSLY POSITIVE
MASK POSITIVE SIGN IF PREVIOUSLY NEGATIVE
SIGN NIBBLE BELONG IN LEFT OR RIGHT BYTE?
POP DIGIT COUNT; SDEC 0 OR 1?
SIGN N[BBLE SHOULD BE IN LEFT BYTE
POP RBA IF SDEC • 0
ILLEGAL DECIMAL OPERAND LENGTH TRAP (%17 )
CLEAR OVERFLOW IN STATUS REGISTER
REWRITE WORD CONTAINING SIGN NIBBLE
NE XT INSTRUCTION
NOP's to prevent WCS Parity errors from
crashing system during instruction pre-fet

PAGE 465
SYMBOL CSAOOR

ICF /55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

ABCS

0050

0150

ABOS

005C

057A

ABN1

180E

(
(

ABN2

1812

ABRT

00C6

ABSO

1153

(

ABSl

1156

(

ABS2

115E

(

ABSD

1800

-

05711

10/ 2/86

05AE

180A
1803

180!)

ODAF

-

1143
1140
113B

113C

114F

114F

1158

1430

1438

1445

OF1C

10A2

1158

101E

ABSN

113A

(-

1008

ABH

00C9

(

-

00B9

ABTH

00C4

(-

014F

AD

0939

(-

0945

09610

AD14

1494

(-

142A

1421D

AD 17

1495

(-

1417

1417

AOAX

03EB

AOBX

03F1

ADOO

1583

(-

ADOE

159F

(

1408

1409

-

15AA

15BO

-

0803

AOOM

1592

AOJ1

OFIA

(

AOJS

OF14

(

ADSI

137B

(-

ADSB

066F

AOSC

057B

ADSD

05AE

(

-

05A6

ADSE

057A

(-

0571

ADSI

0658

140A

OF 16
OB3C

1378

0577

05S l 0

OF19

1100

1163

1204

1257

9:28 AM

ICF /55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

PAGE 466
SYMBOL CSAOOR
AOSS

1375

ADXA

03EC

ADXB

03F2

AE

093A

AE13

1577

0936

<-

AEBC

!lAS

113E

AIXI

OSSA

0557

AIXF

0559

0551

AIXR

0557

ALGI

119B

(-

ALG2

UAI

(-

ALGN

1162

(

-

1007

AMD

0744

AMDI

0745

(-

074C

AMID

0749

AMIP

0750

AMIS

0748

AMP

0740

AMP!

074E

AMS

0743

AND

03FB

ANDI

066E

ASL

0876

ASMN

0746

ASR

087A

ASXI

066B

BAFO

043C

BAFI

043E

0937

l5AO
113E

1160

1184

118B

1180

1165

1165

1167

116D

117A

117A

1170

1167

1168

1168

119E

0555

(

-

0752

(-

0755

-

0439

(

0438

043E

117D

10/ 2/86

9:28 AM

PAGE 467
SYMBOL CSAOOR

ICF /55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

BAF2

043F

043C

BAF3

0441

0419

0422

BAF4

0443

0414

0418

BARO

0449

0446

044B

BARl

044B

0448

BAR2

044C

BM3

044E

(

BAR4

041C

041E

043C

043F

0432

0449

044C

14F6

15EC

15F7

0449
0420

0436

0450

(

-

0428

042C

0430

BBFO

041C

<-

0421

BBF 1

0422

BBFC

0413

BBRO

0430

BBRI

0436

<-

0434

BBRC

0427

<-

0425

BCC

05FO
<-

05E8

05EF

05FC

14EO

0420
(

-

0411
0435

BCCI

05F1

BCCI

05F3

BCll

05BF

<-

05CE

BCI2

05C2

<-

05CC

BCY

05B9

BCYI

05BA

<-

05CO

BCYI

05BE

<-

15CO

BOI

1504

B02

15E5

B03

15EO

15CE

B033

15BA

1500

B03S

150F

14AF

14C5

B04

149B

14BC

1500

15CE

10/ 2/86

9:28 AM

PAGE 468
SYMBOL CSAOOR

ICF /55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

B05

14BO

1405

1501

B06

14C6

14F1

1502

B06R

1406

14BF

B07

14E1

<-

1503

BOCC

0007

<-

07C6

BOEN

150C

<-

15E1

15E3

15E4

BOER

1609

1494

1495

ISBA

15BB

BOTR

14F2

140F

00E7
060C

OOFS
0612

OlOF

BIDE

OC39

<-

OC20

BKPT

0603

<-

0326

BNCl

05C5

<-

05CF

BNCI

05C9

BNCY

05C4

BNOL

OB48

(

BNOV

0057

(-

BNII

05CA

<-

BNOI

0500

BNOV

05CF

BOV

05CO

BOVI

05CE

BRE

050A

BREI

050E

BRID

05F9

BRIS

05F8

BRO

0501

BROI

0505

-

10/ 2/86

9:28 AM

OB4C
0025
05E2
0500

BRS

12CO

1274

BSFO

0414

0417

016F

OICA

037B

03C2

049E

049F

04CA

04CS

04CC

04CO

040E

04EF

04FO

0509

PAGE 469
SYMBOL CSADDR

ICF/55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE
<-

BSF2

0418

BSF3

0419

BSRO

0428

(

-

042B

BSR2

042C

(

-

0428

BSR3

042D

BTOD

14F7

(

-

14A2

BTST

13F 1
(

-

OAAB

BYRl

OAAD

BYRS

OAAS

CAB

13D6

0414

14A7

OA6D

OA8B

1088

1088

CABT

108F

CADI

1421

CAD2

1431

CAD3

1432

142B

CAD4

1433

142C

CAD5

1435

143E

1440

CAD6

1439

1434

1441

CAD7

1441

1427

1429

CAD8

144D

143C

1448

<-

14AA

141F

CAD9

1450

CAD A

1442

(

-

1435

CADB

1445

(-

1438

CADC

1446

(

CMl

046B

CAF2

046E

CARl

047A

CAR2

047D

CBAF

046A

142F

144D

-

1431
0470
046A

I: _

047F
0479

': -

10/ 2/86

0462

144A
1442

144C

14BA

14D4

14FO

15D5

15E8

15EB

15F2

15F5

9:28 AM

CBAR

0479

(

-

0471

CBE

07F3

<-

0709

CBEl

07F4

<-

07CA

CBFO

02EB

CBSF

0463

101 2186

ICF ISS MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

PAGE 470
SYMBOL CSAOOR

CBSR

0472

CCl

0270

<-

0297

CCPA

08F9

<-

0806

CCPI

08F7

<-

08FO

CCPP

0803

<-

OOOC

CCPR

08E6

CCPW

08EO

CEBC

1253

(-

1208

CGE2

OA95

(-

OA2F

CGET

OA98

<-

OA95

CHlO

0000

(

CHR

094A

092A

CHRl

0940

094B

CHRA

099A

<-

CHRC

09AF

(

CHRS

09CS

CHRX
CHRZ

070C

070F

07E9

1208

120B

120B

125F

125F

1262

0920

0937

0941

0948

09E2

OASO

0942

0940

0800

08ES

-

00B3

0941

-

099E
095F

09C7

09FA

09CS

<-

0960

09BA

OABC

OASt:,

(-

09C7

CINR

02A2

<-

02A2

CINT

0298

<-

024B

CIRO

06E4

<-

0609

CKAl

1600

<-

1607

1608

CKAB

145E

<-

141E

146C

0261

1609

160B

1262

127F

127F

12EO

12EO

12E7

12E7

9: 28 AM

PAGE 471
SYMBOL CSADDR

ICF /55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

CKB

1780

<•.

1602

CKBA

1777

<•.

1502

1518

CKCD

1456

<•.

141B

146A

OAC9

CKCH

OFOE

<•.

CKlN

1774

<.

1501

CKPB

01FA

(.

0235

CKSM

0204

<•.

0002

ClCT

02FO

<.

0504

CLOO

0243

<.

0209

ClO1

0247
OFOO

CLOD

02AF

CLDE

0002

<-

CLOR

0264

(

CLOT

OlOE

-

1517

158S

15BE

1584

1701

09F4

09F7

1702

0791

02AE

CLER

0984

<-

0909

CLFF

09BO

(

-

OA4A

OASI

CLFN

0278

CLIF

0986

<-

0989

09F3

CLKI

0000

<-

0530

CLKX

0003

CLlP

0272

<-

0274

CLP

0275

<-

0273

ClSO

122C

<-

1214

CLSS

1220

<-

1213

CMI0

10C4

<-

10C2

CM11

10CB

(

-

10B6

CM12

lOCO

<-

10AE

CM13

10CE

<-

10DS

09AD

lOC7

09F8

09F8

10/ 2!8B

9:28 AM

10CC

CM14

10CF

CM15

1006

CM16

10E4

CM17

10ED

CMU

10F3

10A5

CM19

10F7

CM20

10FA

CM21

lOFB

CM22

1004

CM26

10E6

CM30

10FO

CMBO

0488

0453

CMBI

0460

045B

(-

1003

10B4
10C5

(-

(-

lOCI

1001

10FO

10AS

10A8

lOAC

lOBS

10C6

10D2

10A4

lOCO

10C6

1002

10AC

10CB
(

-

<-

0466

0469

0460

0470

CMBl

0485

<-

0466

0460

0475

047C

CMBN

0482

0465

0468

048C

046F

CMBP

0453

CMBR

0471

(-

0461

CMO

0961

<-

0900

CMOO

0963

(-

0968

CHOI

0965

(-

0967

CM02

0776

(-

077F

CMOH

0775

CHIS

077B

CMNI

0668

10DF

0475

0478

047C

047F

0474

0477

047B

047E

045C

045C

077C

100F

lOCO

0480

0785

1008

10AA

CMBE

CMIP

1008

10CC

CMBO

CHID

10/ 2/86

ICF/55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

PAGE 472
SYMBOL CSAOOR

10E8

10E 8

10EF

10EF

9:28 AM

PAGE 473
SYMBOL CSADDR

ICF /55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

CMP

067C

CMPl

0781

(

CMPD

15Bl

(

CMPE

15B5

CMPL

OBEB

CMPM

0780

(

-

-

0787
159D

15A9

OBEE

CMPS

10Al

(-

lOOC

CMPT

lOAD

(-

1016

CMS

0774

CMSO

10A9

(-

lOF6

CMSI

10M

<-

10A5

CMS2

lOAF

(-

10BA

CMS3

lOBO

<-

10B8

CMS4

10B9

(-

10B6

CMS5

10BB

<-

10B7

CMS6

lOBE

<-

10BB

CMS7

lOCO

<-

lOBS

CMS8

10C8

<-

10C2

CMS9

10C3

<-

CNTO

OOBA

<-

CNTl

OOBB

00B6

00B8

CNXT

1064

COB2

1015

COBl

1000

CORT

1007

CONi

1078

CONX

ODBO

COUT

124F

10/ 2/86

10BC

lOBO

10C7

1003

10C9

10CA

10FE

0090

00B4

<-

1056

l06A

106D

106E

(-

ODA7

OOAB

ODAC

1205

1206

1222

1225

122B

1233

1236

1244

1249

124A

124D

9:28 AM

ICF/55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

PAGE 474
SYMBOL CSADDR

-

COVP

123F

(

CPAB

00C9

(-

CPCS

OOCS

CPEX

09A6

CPRB

05E3

122B
027E
028E

(

-

0918

0951

CPRI

05E9

CPTO

00C7

(

-

0274

02CC

CPX1

09AE

(-

0971

09AE

CPX2

0971

(-

096E

096E

CRCI

09EE

<-

09EE
09EA

CRC2

09EF

<-

CRC4

09F9

(-

CRCC

09E7

(

-

0911

CRCO

0911

<-

096F

CRCI

09E3

(-

0910

CRCJ

0910

(-

CRCS

OAFO

09E8

09AE

09C9

1062

1062

09F6

093E
OA91

-

CRTl

024C

(

CRT2

0262

(-

0257

02AA
02AA

CRTW

0254

<-

0254

0257

CRUW

0258

<-

0256

CSEG

1067

<-

CSFI

0464

CSF2

0467

CSL

0886

CSN2

0090

CSNC

0095

CSR

088A

lOSS

1055

0469

<-

<-

0463

009B
0086

OD42

OAOA

OAC6

OFOE

10/ 2/86

9: 28 AM

PAGE 475
SYMBOL CSAOOR

ICF /55 MICRO-ASSEMBLER
SYM60L TA6LE CROSS REFERENCE

CSRI

0473

(

-

0478

CSR2

0476

(-

0472

CSRQ

OAC7

(-

0279

CSTH

OOCE

(

-

0046

CSTV

0044

CTAB

0005

CTLV

00C6

CTRP

124E

CTSO

1234

10/ 2/86

9: 28 AM

OAFE

OIOE

011E

0121

0125

(-

0148

1070

(-

1230

0126

012C

0148

0161

0181

0183

0183

1069

1230

1236

1236

lOlA

1016

101C

0408

0442

0444

044F

0451

0400

04Fl

0542

0546

057F

0583

0488

04C2

04C4

04EO

04EE

14CC

14CF

1402

14E1

14E5

1071

1075

1077

107C

107E

14E8

14E6

14EE

15E6

15EF

1215

-

CTSS

1223

CUNS

124A

CVAO

1416

(

CV60

1568

(

CVOA

1466

(

CV06

1600

(

CVNO

1203

1019

CVlO

15E4

15CC

CYCl

OCE3

(

-

DOlG

04F3

(

-

003l

04F6

003S

04Fl

007l

05BO

D07G

0581

D07L

0586

D07S

05AF

0540

0558

0561

0568

0594

05AA

0100

14FA

1490

14AO

14A5

1462

1465

1468

OAl

147A

1476

1480

1482

DA1,)

1496

147C

(

1213
1217

-

1401

-

1402

1403

1404

0014
0400
04F2
0481

0484

(

-

0599

05AO

(

-

0580

14C8

1084

ICF /55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

PAGE 476
SYMBOL CSADDR
DA17

1497

OA2

147C

OA3

1480

(-

1466
1478

OA4

1483

(-

DA5

148B

(-

DAS

1480

(

OA7

148F

(-

1480

DAB!

03CS

(-

03BC

OABC

03Ca

(-

03C2

DABI

03C9

OABZ

03C4

DADS

087F

OASL

OSSE

DASR

0893

OBI

l61C

OB2

1625

-

(-

OB2B

1635

(-

1640

(

DB4B

1656

(

DB6

1675

(
(

DBa

16B3

DBBC

0489

DSCC

0493

(

DBER

1605

(

OBNE

16B7

(

DBNZ

1340
16BF

DCER

OASD

1470
1488
1485

1488

1488

03C4

03eA

148B

lS17
1619

DB4

OBZR

10/ 2/88

-

-

165S
161A
l63B
161B
161B
040A

04SF

040B

04SS

1605

1702

04SE

l6AF
1319
lS04

(-

0933

09SA

OAIO

OA96

OA97

OA9F

OAA3

OAA6

OAAF

OABS

9: 28 AM

PAGE 477
SYMBOL
CSAOOR

ICF/55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

OCH

OA92

OA5E

OA70

OCJP

OABO

(

-

OA7A

OA8E

OCMO

07C4

<-

0325

0600

OCMP

0695

OCNB

OA9E

(-

OA54

OA5A

OCPU

OMl

(

-

OA53

OA59

OCSL

08A2

OCSR

08A7

OCUO

07CA

OCUl

0704

OCU2

0706

(

-

07CC

OCU3

070A

<-

07CO

OCU4

0700

<-

07CE

OCU6

07EO

<-

07CF

OCU7

07E9

<-

0701

OCU8

07EC

(

-

0702

07F 1

<-

0703

000

166A

(

-

164B

DOE

OSCO

<-

0010

DOH

OSBA

OOIV

06AA

OOUP

1303

OEA

071A
140C

OECA

06BB

OECB

06BO

OECT

1400

OECX

06B9

OA74

OA79

168C

1693

07CB

OCU9

DEC

OA96

(

-

<-

069B

070B

0700

1680

OA80

101 2186

9:28 AM

PAGE 478
SYM80L CSADDR
DEL

08BB

DELB

08B9

DFLC

1346

DFLT

0800

ICF /55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE
03EB

-

1318

(-

0801

(

03EE

DFlZ

080B

DIE

07Cl

DIM2

0092

0089

0310

DIMS

0084

0091

0174

DISP

135F

DIV

0677

DIVI

0661

DIVL

0687

DLSL

0898

DLSR

0890

OMA

OAll

DMAB

0933

DMAM

OA29

DMCK

092B

DMD

073B

(-

03F9

03FA

136C

1395

03FB

0855

1357

06CS

<-

(-

OA62

OA82

OA44

OA48

OA4C

OA4E

0938
0929

DMDI

073C

(-

0742

DMDV

0699

(-

OF21

DMID

073F

DMIS

073E

DMNX

06A7

DMON

OAOI

(-

09FF

OA17

OA19

OA23

DMP1

0267

(-

0264

0203

02FD

0301

DMPE

0004

OCOA

DMPX

00F8

0005

06A9

OC09

OA55

066F

10/ 2/86

9:28

AM

ICF /55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

PAGE 479
SYMBOL CSADDR
DMPY

16C2

DMRI

OA31

DMR2

OA39

DMRR

OA28

DMS

073A

DMSO

06A5

DMUL

069C

DNEG

0693

1400
c: -

OA28
OA34

(

-

OA30

OA30

06A8

06A9

DNVL

09CF

4: _

0900

DONE

OBEF

4:_

OBEC

DPF

0649

DPF 1

0650

4:_

0654

DPFS

0653

4:_

064E

DPPX

1354
4:_

0263

DSCP

02AB

DSFT

08AC

0892

0897

DSIX

059A

4:_

0595

0597

DSJB

0980

4: _

0970

DSR

0973

4: _

09se

DSRJ

098B

DSTV

0047

I: _

056F

DTOB

1660

1:-

1622

DTSI

OOFS

4:_

0686

13FO

4:_

OFOD

<-

068B

DTST

13FO

DUMP

0214

DUP

1300

DVLl

0691

DVL2

068C

10/ 2/86

089C

08Al

08A6

08AB

0570

0575

0576

058B

058E

OSA4

05 AS

1635

1639

1644

1646

164E

1679

167B

0905

067A

1684

1686

169~1

169C

16AD

9:28 AM

10/ 2/88

ICF/55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

PAGE 480
SYMBOL CSAOOR
OXBl

0302

(-

03CC

OXBC

0304

(-

0300

OXBI

0305

OXBZ

0300

0305

OXCH

IJCE

DXIl

0307

03CF

OY03

OE6F

OE35

OY25

OE71

(-

OE36

OY26

OE73

(-

OE40

OZRO

03F6

EAOO

OBAF

(-

0840

EBNO

OB3C

(-

0834

0835

0836

0837

ECM

020A

0204

0227

0248

07C1

ECMP

OBE6

EOI2

1266
1294
133C

12Al
133E

12A7
1345

12F7

1352

(-

-

9:28 AM

OE37

0839

EOI3

1318

(

EDI4

1267

(-

1280
1338
131C

EDI5

130F

(-

1277

EOI6

131A

(-

1203

EDIT

1256

(-

1008

EOIV

OB76

(-

0853

EOlP

0890

(-

OB9A

EOTl

1270

E012

1315

EDVl

OB92

OBBE

EDVZ

OBA5

0876

EE13

155B

1513

EFC3

OB4E

OBB8

1282
134A

12CO
134C

12C6
1353

1204

1207

12E4

12E9

12EF

12F 1

12FA

1312

132F

1330

1331

PAGE 481
SYMBOL CSAOOR

ICF/55 MICRO-ASSEMBLER
SYMBOL TABLE CROSS REFERENCE

EFCH

OBFl

.(

EFOV

OB06

.(

EMPY

OB54

-

OBE8

OBm

OB04

OBOS,

1315

ENOF

1320

.:-

ENOP

1057

,~

ENEG

OBOB

-

100E
OB38

ENP1

OC93

1:_

OC90

ENPF

OC92

1:-

0013

ENRM

OBC7

i:-

OB75

ER13

17CE

(-

155B

1577

ER15

17CF

(-

17BO

17B4

ER17

1703

(-

1774

1774

ERON

0080

ERXT

0092

ESUB

OBAE

ETBL

OB34

OBA4
16EO

170B

173B

045C

0010
ODIE
25

4110
4105
3105
911C
9HE
7112
6110
7000
3J.l0
Al90
71.10
FSI0
4456
71i56
nlO
5111
4110
6!i IE
FI\28
BOF5
7.l93
A".I IE
3!ill
7020
7112

COF3
8C73
COF3
EC73
CA91
0431
CCFO
0433
0223
C691
0501
CCFO
0503
0363
0464
0431
C890
OF30
84F4
CCFO
CCFO
3C92
8C73
COF3
C003
C6F3
OC74
C494
06BO
BC04
0730
0850
4C13
AC23
CCF3
FCF3
0903
CCF3
8C74
CCF3
CCF3
ECF3
8C93
OB14
1C80
BCCO
9CA3
CB04
3CF3
OF13
BEF3
FC03
C2F3
00E3
CIFO
CCF3
OCF3

03CE
EOCB
E7eE
C551
OC03
OC63
010E
E458
MOD
OC03
OCB3
0142
E459
A400
640C
OCFF
0000
8800
652F
0142
440C
E400
F400
E622
C951
E405
2EOB
2EOB
0203
2EOB
0203
0203
E79C
E7C7
E7C7
ECOA
OC04
F93C
2800
E40C
E40C
E402
C150
6400
2703
2702
E7AO
269C
E400
FC04
C080
F950
E800
EC05
440C
EBOI
E93C

395A
2CA5
395A
OOEC
3CE5
3CF5
3915
8203
38E5
3CE5
3CF5
3915
8205
38E5
2805
3013
3015
3915
3AOA
3015
3915
3987
3505
395A
3915
38AO
3A05
3AOA
38EE
3AOA
3CE5
38F3
80E5
80E5
052F
0551
38E5
542E
5029
387F
555F
0071
7520
34FF
40FB
80F3
340E
3805
34AO
38F5
38A8
40E9
38BF
0578
3CE5
38E5
055E

8110
611E
8110
31F6
7105
7110
7513
7081
7510
7105
7110
7511
F081
7510
71B5
7109
7111
7512
3447
7111
7512
0105
6310
8110
75E2
70C7
7427
3427
BIOS
3425
71B5
1110
4105
4110
F002
F110
7070
6108
A71E
B462
F002
F112
OBIE
F910
7710
5510
7027
4627
7110
7510
3110
ABOO
F512
F511
7111
7510
7193

3C92
8CF3
3C92
CC78
C6F4
CA93
0410
CCF4
01C3
CAF4
C693
04EO
CCF4
0303
C891
CCF4
C4FO
CIFO
0501
C490
OF30
lC97
OEF3
3C92
0713
9C04
0640
0850
CCF3
0850
C693
FC73
8C23
2CF3
C273
C2F3
CCF3
ACF3
0903
OA03
CCF3
C2F3
08F3
FE91
9CAl
OAEI
OC93
lC83
CCFO
OBCl
CCFI
E573
COB3
0091
C492
OF33
C2F3

E400
F407
E400
240F
644E
E406
0000
6C50
E450
649F
E40A
OOOC
6C5C
E45C
E4F2
4004
440C
OlOC
0033
OOOC
SSOC
264F
E80C
E400
E54C
2EOA
0203
0202
E5E6
0203
E5F6
E406
E7C7
E400
F090
ECOC
E66C
C003
EE55
FA60
F80C
E030
E804
E7A4
E407
E7A5
C799
C799
455C
E7M
E40C
E400
E93C
E40C
FEIC
E7CC
E800

3987
4CA5
3997
38E5
80E3
3513
34EE
4515
80E5
80E5
3515
34EE
4515
80E5
3CE5
38E5
3513
2805
3015
3015
3915
lC10
4CB5
3997
38EE
3AOA
3CE5
38F3
38E5
3CF5
3CF5
3800
8105
28E5
5056
54B3
38E5
2807
5029
610A
5026
0551
3CE5
390A
38BE
0008
3805
340B
3975
44A5
38EF
555F
0401
3CA5
0515
38E8
38BF

10/ 2/86
0110
631E
0105
7510
6311
6309
FlOO
7027
7105
E311
E309
BI00
7025
7105
7113
7511
6511
71A5
FI09
7113
7510
7108
631E
0105
FI05
3427
71A5
1110
7510
7110
7110
70C7
4110
4110
7112
2110
7000
911C
971E
B402
7112
F110
71E3
3511
5110
F5l0
7456
7656
41F6
6110
BOF5
F002
Fll0
7180
74C7
30F5
F512

lC97
9EF3
lC97
0233
8504
C4F4
CEF3
C2FO
C890
8504
C4F4
CEF3
C2FO
C490
C4Fl
03C2
9F30
C491'
CCF4
C8FO
CIFO
CC04
OEF3
lC97
CCF3
0850
C493
OC73
0763
C6F3
C4F3
BC04
2CF3
6C13
CCF3
8C74
CCF3
FCF3
0903
C573
OCF3
C204
C673
OC64
CB03
OC54
OC80
BCCO
3C02
ACFO
FC03
CCF3
C2F4
C690
FD63
CCF3
COB3

2400
F406
2627
FE40
640C
4004
9COO
010F
2507
6400
4005
9COC
0143
253B
OC03
FE4C
880C
E526
4005
4400
0100
4002
F406
264E
E5AA
0202
E5BB
E404
E400
E405
E404
2EOA
E790
E40C
F93C
2800
E40C
ECOA
OC04
Faoc
E93C
2A9C
E930
269C
E7AO
640C
2703
2702
E7C7
2400
F950
F80C
6405
6400
EB6F
E550
E93C

0415
4CE5
4477
3CE5
04EB
38E5
34E5
28E8
3CE5
08EB
38E5
34E5
28E8
38EF
34E3
4112
0118
3CE5
38E5
3515
380F
0405
38E5
lCEO
38E5
3CF5
3CF5
3800
3CF5
38A3
3CA5
3A05
28.E5
30E5
541E
5D29
092F
0951
38E5
48E5
540E
3S12F
5CE5
340E
3805
34FF
3 BFA
80F3
3~IF5

28E5
4079
5D26
015F
4478
8005

5~,5F

0401

7108
5305
F710
71AO
0711
7511
6200
9110
71BO
0713
7513
6200
9110
5110
6306
7027
Bll0
7113
7513
E513
F425
711C
7511
7106
7510
7110
7110
70C7
7110
IOC7
70C7
7425
4110
4104
6108
A71E
F002
F110
7070
5305
6110
F51E
7105
7027
7427
F9l0
3510
5510
7310
4105
ABOO
7112
Bll0
A667
7110
F002
FllO

C2F4
OEF3
F932
C901
91A2
0142
8503
E4FO
C501
52E2
0282
8503
E4FO
C293
84F 4
CCFO
CCFO
C8F 1
0492
9FJO
COF3
C294
0608
CC08
0673
C4F3
C6F3
9C04
C4F3
FC74
C694
07AD
6C13
AC23
ACF4
09D3
C273
C2F3
CCF3
OCF3
AC73
COB3
OCD3
OC93
OC83
FE91
OC61
OB81
98F3
4C13
E573
OCF3
C702
BOB3
CCF3
CCF3
C2F8

4002
E42F
E40C
OC03
FE40
FE4C
E400
0000
OC02
FE40
FE40
E400
0000
FE4C
64FB
OlOE
4400
OC03
FE4C
880C
E622
2COB
240C
2627
E400
E407
E406
2EOB
E407
2EOA
2EOA
0202
E40C
C07E
4003
EE55
F090
ECOC
E66C
E55C
E403
EC04
E60A
C799
C798
E407
E7A4
E407
E404
E47D
E400
E93C
EAI0
FFBF
E7AC
Faoc
2407

9:28 AM

PAGE 516
ADDRESS
04E4.
04E8 :
04EC:
041'0 .
041'4'
041'8
04FC
0500:
0504
0508.
050C
0510:
0514:
0518.
051C:
0520:
0524:
0528'
052C:
0530
0534.
0538:
053C:
0540
0544
0548.
054C
0550.
0554 .
0558 .
055C
0560'
0564:
0568.
056C:
0570'
0574'
0578:
057C.
0580'
0584:
0588
058C:
0590:
0594
0598
059C
05AO
05A4
05A8
05AC
(1<,60
05B4
05B8
05BC
05CO:
OSC4

CONTROL STORE
0151'
820B
38E5
3CB8
2CA3
3805
38H
38E5
38E5
5405
5029
3956
3595
04EB
3A05
3805
40B5
38EA
3CE5
38A5
24E3
74EA
28AA
4804
3CA3
3CA5
410B
041B
OC1B
3A05
38EA
40E5
3CE5
38A5
34EB
3009
14F2
34F3
39A5
38EA
38EA
28E9
08F5
3009
2COB
3CA5
l8C5
340B

2en

3GF4
3CAl
2AOB
3 BE 3
38D5
4GA5
4CE7
6140

BllO
2627
75Bl
3007
BOBO
7510
F910
7110
7104
4110
971E
8110
5110
0710
7510
7110
40CO
3513
FOS3
74C5
7043
1'110
B428
A045
7427
1'425
7667
0710
0710
7510
348E
4110
1'083
74C5
7711
9710
Fll0
6310
74FS
3511
3513
B6F5
4110
3511
1625
1'425
7512
7667
[025
GIOft
7427
7710
7110
7<;10
63 ~ E
AOIO
8610

C502
BED3
OE70
C6F3
CCF3
C075
E433
CCF3
CCF6
8C73
0314
lC92
CC76
9203
0380
CCF3
8C23
1'102
CCF4
0383
CCF3
CCF3
0493
8C98
0430
0470
2083
o5B3
5623
OAFO
C1F4
CC33
CCF ..
OAFO
2084
0473
CCFl
841'8
COF6
1'102
1'102
0183
80F3
07B3
55B8
0970
C1FO
2083
8GDI
8eS6
DAilO
3B60
CCFJ
G07S
9EF3
ACF3
0001

EAIC
EBBB
4400
F05C
E403
E4AC
EB40
EAOC
CBF7
FCOC
5C04
C400
E40C
FE3C
8800
A40C
HOC
FE3C
2C4C
E4AF
EC90
E40C
C008
2517
006E
0061'
1'060
E630
E630
COEC
2459
E45C
2C .. C
258E
26Bl
EABC
"CDC
0148
E529
FE30
FE3C
E528
E630
E6BD
26BE
0266
CCOC
.060
E51C
CIFF
0267
4400
:400
E4AC
F 406
E400
E40C

5079
38EA
38ES
74EO
38E5
3ASO
38EO
38EO
380A
4CB5
54E4
5029
5029
38EA
3A05
38EA
40E5
3CA5
4105
48EF
4575
38A3
38E5
2951'
3551'
30EC
OC05
38EA
38EA
3A05
3CE3
3905
.. 105
74EO
3429
3CB9
1822
14C5
5404
3CA3
3CA5
340B
2CE2
541'4
38EA
7600
74EO
34EB
3009
4558
7600
74M
38E5
6140
60C5
3G74
28A8

A711
3511
7510
OB5S
7510
582B
0904
6979
S024
631E
41BO
A71E
971E
3511
7112
348E
UI0
1'425
4112
1'110
7111
BOBO
7104
Bll0
Bll0
B509
3025
3511
3513
4112
7081
74C7
4112
OAFS
B710
3511
0025
3508
4045
7427
1' .. 25
7667
E119
4108
3511
OB05
OBI0
7711
8710
A310
OB05
B310
7510
8610
7305
UIE
B020

DOEI
CIFO
01'13
061'3
C073
0603
0573
B2FO
3C98
OCF3
SCF3
0314
0314
1'102
CCF3
CIF4
2C03
02S0
4C13
CC04
8CF5
CCF3
001'6
CCF2
CCF2
C084
CCFS
F590
1'570
7C13
CCF4
OAFO
.. C13
101'6
0181
07A3
4CF2
0926
8C98
0800
0840
2083
8CFt
CC56
F9A2
OHO
10F6
2084
C473
COF2
OHO
1'693
C073
0001
80B5
CCF3
CCF3

E40C
440C
E7CO
E7CE
E400
C004
CAF2
HF9
14E2
1'404
H30
6C04
5C04
FE30
COOO
2459
E450
0061'
8005
3800
0880
E403
1'403
C63C
C63D
OOOB
26BE
463C
463C
COOO
2C50
0172
8005
E528
8801
E6BC
E510
CIFE
260A
006E
0061'
1'060
8000
ClFE
FE30
CEC2
E40D
26B1
EABO
C6lC
8AC2
E400
E40D
E40C
2410
1'406
E40C

0528
3CES
38ES
28EB
5CE5
38EO
3A50
38EO
3936
3585
38E5
5405
5029
3CA3
38B5
3CE3
38A5
3S05
40BS
38E8
2905
38E5
28E9
2COB
280B
28EB
0049
3CAl
3CA5
38B5
4101'
3805
40B5
38AO
101'5
381'4
3009
IDES
2921'
3521'
74EO
34EB
3009
UFB
3CA3
3A05
38AO
34E9
3CB9
2COB
OCE5
2CA3
5CE5
28M
6140
4CA5
70E4

10/ 2/86
F5BE
7111
7510
7710
6110
6904
6910
5910
8110
5110
7505
4110
971E
7427
7112
7081
74C5
7110
40CO
3179
62A7
7510
B725
2624
2624
7745
3508
7427
1'425
7512
4112
7110
"OCO
0825
5110
0908
8710
7105
Bll0
Bll0
OBI0
7711
8710
2110
7427
7112
0824
B719
3511
1625
7105
BOBO
6110
30CO
8B10
631E
1210

OEA3
C4F2
01'13
31'63
8C93
8313
621'3
1'203
lC92
CC76
0193
aC73
0314
0190
CCFO
CCF4
0383
CCF3
8C23
CCF3
oCF3
C073
001'3
9203
02A3
0083
0537
0510
0550
CIFO
4C13
CCF3
CC33
OA93
001'1
0097
8473
CC03
CCF2
CCF2
101'6
2084
8474
ECF2
0950
CCF3
0893
0181
OAE3
55B8
CC03
CCF3
8C93
CCF3
0003
9EF3
EOF3

FC04
FEIC
E70C
E40C
E400
CB2F
E401
EB40
C400
E400
E4A3
FCOC
5C04
006E
4400
2C50
E487
A40C
E40C
FH9
E045
E400
E421
03CF
o3CF
E42C
01H
0163
0162
CCOO
8005
A5EC
E40C
E5F2
6630
011'1'
EABC
[570
C630
C63C
E400
26B1
2ABO
C630
0267
COOD
033B
8000
E63D
26BE
E571
E403
E400
E40C
E400
F406
E40C

3C75
820B
38E5
74AA
58EB
38EO
38E5
38EO
4CB5
5029
380A
5029
54E4
3A05
38C5
4105
OSEB
3aEA
40E5
5CB4
38E8
7191'
08EE
38EA
38EA
410B
0828
0828
3A05
3805
40BC
38EA
.. DES
28AB
2C42
3CB3
3CB9
08E5
2COB
280B
38AO
3429
3093
38BC
38EA
38B5
28E9
OCF7
3093
38EA
74EO
34E8
58EB
70E4
70A2
60C5
4CA5

7067
2627
701'5
1'110
6710
6910
6110
6904
631E
971E
8025
A71E
41A5
7110
7512
4112
0710
348E
4110
BODE
3110
1'81'5
1'545
3511
3513
7667
9108
9108
4107
7110
OOCO
348E
4112
7667
E025
6310
3511
7105
2624
2624
0824
B625
5310
31A5
3513
7112
B6F5
0110
5310
3511
OBEO
1'110
6710
1210
22CO
7305
63lE

C6F3
BED3
FCl3
CCF3
A493
26f'7
CCF3
SOH
OCF3
0314
3C98
0314
8CF3
CCFO
CIFO
4Cl3
52A3
CIF4
2C03
oCFl
CCF3
1'01'6
C003
1'102
1'102
2083
2CF6
2CF6
5Cl3
CCF3
8Cl3
CIF4
2C03
2083
8CFl
841'4
0703
CCD3
9203
02A3
0893
0181
841'4
CCF3
F9A2
CCFO
0183
COF3
84F4
1'102
OEF3
CCF3
A493
EOF3
E073
80B5
9Er3

FFBE
EBBB
1'950
E400
E400
240C
EB2C
CAF2
1'404
5C04
24E3
eC04
E49E
440C
880C
8005
FE3C
2448
E44C
B098
E40C
E529
E420
FE30
FE3C
1'060
CIFF
CIFF
C16A
A5EC
E400
2448
E440
1'060
ESIC
6400
E6BO
E570
03CF
03CF
0371'
E51C
6400
E65E
FE3C
4400
E528
E630
6400
FEIC
E400
E4EO
E400
E40C
E400
2410
F406

9:28 AM

PAGE 517
AOORESS
05C8:
05CC:
0500:
0504:
0508:
050C:
05EO:
05E4
05E8.
05EC:
05FO.
05F4:
05F 8:
05FC
0600.
0604:
0608:
060C'
0610 :
0614
0618:
061C.
0620:
0624
0628:
062C'
0630:
0634:
0638
063C'
0640:
0644.
0648:
064C:
0650:
0654:
0658:
065C:
0660:
0664:
0668 .
066C.
0670
0674:
0678:
067C:
0680:
0684:
0688
068C0690:
0694
0698
069C'
06AO'
06M
06A8:

CONTROL STORE
60C5
3C74
6141
38C5
4CAE
4CA5
3C74
2C05
1CE4
34EB
70E4
28A5
5CE5
20E4
34A2
38EO
0407
5094
5CA5
4CA5
50A4
410E
3905
4CAE
38E5
38EO
28B5
38A5
70E5
3885
28A5
2915
30E 1
70E9
28B5
28B5
70E 1
38B5
3885
3905
70E9
70El
04E7
38A1
0415
00E9
28B5
3815
08B7
ICES
38E5
2885
28E1
OCll

2CA5
38BA
38BE

7305
ISlE
OB05
7105
239E
631E
lllE
6110
3510
6103
23E5
611E
7110
2105
OAC4
1800
F149
3467
61lE
S3AO
3105
E1AO
7510
F3AO
7510
OElO
6110
7108
6105
7010
6109
72'20
I,: 10
2UO
n9C

Hi9F
4,105
7l.l0
74C5
70FF
4:111
0:105
FOEF
3UO
7105
4111
7010
711D
C:125
6:18C
7010
7010
0:110
FOAD
7110
B02D
F420

80B5
OC23
0003
CCF5
9EF3
9EF3
CCF3
4C93
OF13
BCF3
AOF3
OCF3
OCF3
8CF3
00F3
6083
CCF 1
0193
8CF3
OED2
CCF5
4CF3
C065
9E73
C063
20C3
4CC3
CCF3
OCF3
CCFO
80F3
F4F3
C803
8AF3
F6F3
0503
2003
CCF3
C073
CC03
2093
0403
CC93
SC03
EC13
6C93
CC33
8C03
OOF!
BCF3
CCF3
CC13
C4F3
CCF3
CC92
8CF3
OA53

2410
F407
E72B
2410
F407
F406
F406
EOOO
E790
E79C
E410
F407
E400
E7C7
OF13
E40C
COOO
E05C
8025
EOOO
241C
COOO
240C
EOOC
E40C
E79C
E400
COIF
E402
0003
8041
ECOC
E400
E400
E42E
E821
E410
E40C
E591
E407
E4CO
E419
E7E6
EC06
E5AO
E4'D0
E780
EC07
E5AO
EC54
E400
E7SC
E40C
E400
E40C
E803
E803

6140
6141
OOOA
7002
38C5
38C5
4CAE
40A5
70E2
38E8
4CA5
3034
7172
60E2
38AO
7174
4C8E
3935
3870
2089
38E3
2CA7
7014
lCB7
OOOB
3805
38C8
38B5
3885
70E5
28E5
30El
70E5
288C
30C5
70El
7405
3875
70EB
70E5
38B5
70E1
38B5
2CA8
2C07
38B5
00E7
3805
0405
38El
40E5
0409
38EO
040A
38E5
38E6
38E5

8BI0
OB05
E230
2230
7505
7105
239E
4002
2349
7010
631E
211E
6310
OB09
C824
2310
03AO
7105
091E
4102
8510
A112
2310
A112
344E
6025
7110
710B
7113
6105
6179
1210
7110
3179
4310
3375
7110
7110
3510
628C
7510
0305
728C
B51C
C310
7510
FOEF
7110
731C
EllO
7110
411C
3525
B112
71EF
3100
7505

0003
0001
94F3
A073
C575
CCF5
9EF3
4CF3
A074
CCF3
9EF3
8CF3
A073
0003
00F3
A072
OE73
CCF5
06F3
4C83
C063
ACF3
A003
ECF3
02C3
4C93
CCFO
CCF3
CCF3
OCF3
80F4
C803
CCF3
4CF3
48F3
E073
C493
8603
C683
BCF3
C073
0003
FAF3
C643
001' 1
C073
CC93
CCFO
E014
8202
CC03
ECF4
C083
CCFO
CCF3
8CF3
OA73

E400
E6ES
E4CC
E4CC
2410
2410
F407
EFBC
0000
E40C
F406
OC07
FOOO
0000
CC6E
FOOO
EOOO
1C10
F 406
003C
E40C
E03C
E540
003C
E408
E4CA
279C
805E
E40C
E4D2
7FEO
E400
E40C
FFFE
E4CO
E461
E540
EC06
E40C
EC54
C392
E418
C055
E800
E40C
C793
E7E7
6C06
2401
EF6A
E400
08E 1
E420
2530
E7E7
FFFD
E697

70A2
6141
70E4
4CE7
0008
7002
38C5
34EB
2C05
4C75
38C5
4CA5
5CA5
34BO
38A5
54AO
1CB7
7174
4895
3876
70E4
404E
04A9
393E
28B9
3805
34EO
38EE
38B5
3885
7489
00E5
28A5
2CA5
38B8
38E3
28E5
2CB5
38E5
38E5
34E 1
70El
38B7
38E5
3815
34E 1
38B5
2COS
ICES
BOOA
3818
38AC
340B
0431
2885
28B1
0418

10/ 2/86
2220
OB05
3305
AI05
E2BO
22BO
7505
6103
6110
531E
7105
631E
611E
OBI0
7510
411E
A112
2310
7267
7112
2349
1390
611E
7180
3111
704E
0810
3110
7010
7010
E579
702E
6108
7508
71iO
Fl05
7061'
70C8
70AE
6110
3010
0305
Cll0
7010
74FF
3010
728C
751C
631C
A220
31H
3110
3426
Bll0
428C
338C
8310

E073
0003
60F3
ACF3
94F3
A073
C575
BCF3
4C93
OEF3
CCF5
9EF3
BCF3
20F3
8823
8C03
ECF3
A072
9CF3
CCF3
A074
OEF4
4CC3
CCF5
COF3
CCF3
20C3
CCF3
CCFO
CCFO
9461
CEF3
80F3
D533
CCFO
CCF3
CA73
CAF3
CCF4
8CF3
CCF3
0803
OCF3
CCF3
08C3
CCF3
FAF3
CF53
BCF3
80FO
CCF3
CCF3
0083
EC13
7AF3
E033
04F3

E40C
E6FE
E410
E41C
E4CC
E4CO
2410
E79C
EOOO
F406
2410
F406
A024
E500
ESOC
f 407
003C
FOOO
E950
F03C
0000
2400
F407
lCOC
E400
E408
E79C
E40C
0005
0000
FFFF
E008
COlE
4E01
6B92
E410
E7E7
FF01
0009
ECOO
E400
E419
E4BO
E400
E7E6
E400
C454
C3CO
EC04
679C
E7F7
E79C
F02C
C540
C055
E401
E540

4CE7
6141
4CA5
3C74
70E4
4CE7
70E5
38E8
40A5
3CE4
70E2
38C5
4D25
34AD
38E5
5CA5
48EE
5412
2003
4CEE
04A7
5074
2806
39148
OOA5
28B5
70E5
3888
70E5
7(IE5
0105
2~115

28B5
2805
2805
70E6
311B5
211B1
3805
3U05
70El
OOEI
0405
040A
OOEI
0401
3UB7
0807
38E5
00B5
0401
3008
74E8
oe25
28B5
23B5
3835

AOI0
OB05
631E
lllE
3305
A105
6349
7010
4002
1510
23E5
7105
611E
2AC5
7109
611E
3309
4110
4149
3190
F 11E
3105
7549
7110
6105
7040
6110
3010
6105
7109
702F
7220
6109
709F
7110
1'305
728C
3210
7102
7010
2305
4304
7110
BOCO
7105
431C
CllO
1'042
64EF
7045
7l1C
7110
1'510
731C
7110
7010
7510

ACF3
0001
9EF3
CCF3
60F3
ACF3
A074
CCF3
4CF3
OF 13
A073
CCF5
OCF3
00F3
CCF3
BCF3
9CF3
SC03
4CFl
8CF3
CCF3
CCF5
0261
CCF5
FCC3
OCF3
OCF3
CCF3
OCF3
CCF4
CCF3
F4F3
80F3
FCF3
CEF3
EOC3
FAF3
8403
CCF4
CCFO
60C3
6013
CCF3
C003
EC03
EOFO
4CF3
C003
9913
EC03
ECFO
OCF3
OAA3
EOF3
CCF3
COFO
C683

E400
E716
F406
F406
E410
E41C
0000
E40C
EFBC
E790
E41C
2410
0015
E569
8036
B025
C007
E540
COOl
E40C
F407
2410
COOO
270C
E4C6
E401
E580
C395
E402
00E1
E800
ECOC
8040
E821
E40E
E410
C055
E001
25AO
279C
E419
E2EE
EC07
E54C
E410
8801
E400
E4BO
EFE6
F090
2401
E780
E400
E401
E400
A78C
E540

9:28 AM

PAGE 518
ADDRESS
06AC:
06BO:
06B4
06B8:
06BC'
06CO:
06C4
06CS:
06CC
0600
0604
0608
060C
OSEO
OSE4

CONTROL STORE
0405
0405
34B7
38El
38El
0001
38B5
OOEB
38El
3BF5
68E2
lCAO
60FA
60E2
38E 8

731C
628C
C24D
6105
4105
0260
728C
3510
Ell0
5110
OAA5
FOCO
Bll0
OB05
3110

EOFO
BCF3
COF3
5CC3
5C13
6013
FAF3
0873
8213
CC97
00F3
OCF3
COFl
00F3
CCF3

2401
EC55
E801
E41C
E41C
C40C
C454
E400
E4CC
E400
EF62
E400
ECOC
E608
E40C

2835
38E 1
OCEl
38El
38El
38E3
38B5
0406
34E 1
38EO
38E5
3B45
BCF9
28ES
38E5

7110
E11C
3100
6105
4105
BIOO
7020
3007
3010
0909
60CO
7511
F512
B139
7110

CC13
8290
CCF3
7CC3
7C13
CCF3
CCFO
CC03
CC23
2873
8CF3
OE40
OEIF
CC03
CCF3

C541
2COO
HOC
E410
E410
E7CO
679C
CB3A
E40C
8061
E80C
240C
E580
FEFF
E40C

OC25
34E7
00E7
38El
3803
38E8
38E5
38E6
0816
3806
3B45
38E5
BCEI
BCES
38E5

10/ 2/86
731C
B310
B310
4105
B062
7110
7110
71FF
74FF
8910
6111
7509
Fl09
S349
7110

EOD2
E023
E003
lC03
CCF3
CCF3
8C03
CCF3
OCB3
26F3
8Cro
CE84
COF3
C9F4
CCF3

E401
FCOC
E7FC
E41C
C7BC
E70C
E70C
CBF6
E7E6
E500
240C
401E
COOF
1802
E40C

38E5
2CBl
3421
38El
38E3
ODES
38E5
DOES
38E5
3885
39F5
39F2
3CB3
38E3

71FF
B22D
B210
4105
B513
70EF
7010
628C
7509
7110
6106
0046
5110
7510

CCF3
E033
E013
3C03
C073
CC93
CCF3
BCF3
CE84
CCF2
8CF7
FCFF
CCF3
C9E3

E7E6
EB62
E78C
E410
E79C
E7C6
EBSC
EC55
4149
2800
E74B
E782
E500
E40C

9:28 AM

PAGE 519
ADDRESS
0700:
0704:
0708:
070C:
0710 :
0714 :
0718 :
071C
0720:
0724:
0728:
072C.
0730:
0734
Oi 38.

073::: :
0740 :
0744.
0748 :
074C:
0750:
0754.
0758 :
075C:
0760:
0764:
0768:
076C:
0770:
0774 :
0778 :
077C:
0780:
0784:
0788 :
07SC:
0790:
0794:
079S:
079C:
07AO:
07A4 :
07A8:
07AC:
07BO:
07B4:
07B8:
07BC'
07CO:
07C4:
07CS:
07CC:
0700.
0704:
0708
070C.
07EO·

CONTROL STORE
7578
3SF5
SCA3
7508
SCA3
04B4
00E3
0002
38F 8
3888
2CAB
04E3
7172
28E..J

5525
5CA5
5CA5
7172
SCES
20E2
70E2
7172
SCAS
4CA5
3C72
4SES
5525
20E5
lC05
28E5
20E9
7172
70E2
3CEl
38EC
3895
38E5
3CAO
3SEO
44E6
68EB
38E6
38E3
20B8
3915
ICES
38EO
39B5
38[5
6CES
38EO
38E5
3S[6
38B5
20EO
34B5
6CE5

F41'S
7010
A1.l2
F5.l2
EOn
FS1l5
70.l0
F l.ll
71.10
7110
2710
7110
63.10
7010
61.1E
6UE
61LE
6310
7110
6105
2310
6310
6llE
631E
2S1E
53105
611E
7110
7110
7110
4111
6310
2310
0010
F509
70C7
7104
7110
0910
7104
1310
BIOS
7110
F510
7579
7104
4959
7111
7110
7109
1909
7510
B509
7110
1809
6305
7109

0062
CCFl
BCF3
0133
BCF3
0162
CCF3
CCF3
CCF1
CCFl
B286
CC83
A073
CC83
OCF3
BCF3
BCF3
A073
OCF3
8C73
A073
A073
BCF3
9EF3
95C3
OCF3
OCF3
CC73
CCF3
OCF3
2CF3
A072
A073
2CF3
CE33
CCF3
CCF3
OCF4
OCF3
CCF7
C8F3
CC03
FCF3
OC33
OAE4
CCF3
0064
CCF6
OC93
C693
00F3
0063
OE03
ceF3
FEF3
8483
CA73

F128
E790
B02C
F13C
9COO
E420
E40C
E6BO
AF8B
A78C
E400
EOOC
FOOD
E400
0015
A024
A024
F1BO
E400
F017
E400
F lAC
A024
F406
F407
ESB2
0015
E400
EC07
E400
E40C
FOOC
E400
E400
S144
C22A
F527
240C
EA7C
4COE
E90C
E679
E73C
ESOO
7FFO
CCOF
5554
E40C
E400
CF95
8165
E400
81CA
E500
C030
A7CE
81C8

38EO
3885
00E3
3815
3SFS
04A4
OOES
3815
SC03
411B
04E3
5C25
SCAS
SCES
20E2
3925
5525
SCAS
7172
70E2
2935
SCAS
5525
3CEl
5CE5
28E5
20E2
28E7
70E2
7172
38B8
SCAS
4CAS
70E2
5CE4
38EO
38E4
BOE5
38E2
2919
38E6
38EC
00E2
38E5
3CE5
2879
387F
3905
3CE5
2CA4
38A8
38ES
38ES
38E5
34B5
20E5
20E5

FS10
7010
7010
7108
7010
F108
7010
7108
C112
7607
7110
4113
611E
7110
6105
771E
611E
611E
6310
2310
611E
671E
611E
4010
7110
7110
6105
FOEF
2310
6310
7110
6llE
631E
2310
B109
1909
0904
7110
E159
3509
3149
F510
F 110
7109
7109
3509
F8C7
7110
7104
E06B
3110
7510
7511
7510
6305
7110
7110

ClB6
CCF1
CC83
CCF6
CCFl
CCF6
CCS3
CCF3
3CF3
0083
CCF3
ACF3
BCF3
OCF3
SC73
0333
OCF3
BCF3
A072
A073
OCF3
9463
OCF3
2C03
OCF3
OCF3
SC73
CC93
A073
A073
CCF3
BCF3
9EF3
AC73
OCFO
4A03
01C6
CIC3
8CF2
09F4
CCF4
CE36
CCF3
CCF4
CCF3
OB81
0603
CCF3
CCF3
8CF3
CCF3
00A3
OE94
8822
8483
CCF3
C2F3

E400
E79C
E400
C1FE
E790
C1FF
E400
C1FE
A12C
F02C
E40C
A120
A024
E400
FCC7
OCOS
0015
A024
F IBC
E400
E807
A024
0015
E40C
E400
E400
F08E
E7E7
E400
FOOD
C393
A024
F4C6
E400
014C
8145
4B53
CI09
EOOI
4101
1203
ESCC
FE70
5000
ClEO
C101
EA03
E630
CS2B
C012
E50C
E400
2571
640C
A7CE
6400
E400

39AO
38EC
74EA
5CBS
3SS5
SOAS
74E8
39A3
5COS
09A4
0173
00E3
3925
7172
28ES
SCES
20E2
48ES
SCA5
4CAS
3C72
5CE5
20E2
70E2
7172
7172
70E2
38B5
2935
seAS
20E1
5525
3CE9
2935
2083
38E5
38E2
38F6
38EO
38E5
3CE1
38EO
3805
2CEB
38B5
A4EO
3905
39B5
38E5
60CO
38E5
38E5
38E6
6CEO
6CEO
38AO
208E

10/ 2/86
EOCO
BSI0
FlOg
7175
7010
70C2
FS09
F027
4113
F 110
7010
7010
711E
6310
7110
7110
6105
5310
6UE
631E
2S1E
7110
6105
2310
6310
6310
2309
728C
611E
611E
0010
611E
4111
611E
7110
7110
4109
74A4
4908
7104
F 110
6909
7110
342F
7110
0004
7110
7111
7510
3105
7509
7510
7509
IB10
IB10
0910
E110

4CF3
C086
C2F4
OC72
CCFl
OCF3
0254
CCF3
2CF3
CCF3
CCF3
CCS3
OCF3
A072
OCF3
OCF3
8C73
OCF3
BCF3
9EF3
94E3
OCF3
SC73
A073
A072
A072
A073
FAF3
OCF3
BCF3
2CF3
OCF3
2CF3
OCF3
CCF3
CCS2
04F3
C363
0074
CCF3
OCF3
A6F3
CCF4
OB13
CC73
8193
CCF3
CCF6
OC23
COF3
OF43
0003
OEC3
FEF3
FE93
30F2
SCF6

E400
E52C
0007
E461
E79C
ECOO
4004
EC87
A120
E400
FOOD
E400
OCOS
FOOC
E400
E400
FCF2
E40C
A024
F406
F407
E400
FOS6
E400
FOOC
FOOC
801F
C055
ES07
A024
E40C
0015
E400
E807
E440
2440
8060
CC6E
4131
EC83
E40C
8012
240C
E407
ESOC
EC82
E73C
E40C
E400
E75C
C401
E40C
8031
6400
6400
240C
E440

SC~13

39PI4
3SE5
01AO
3825
5Cl3
38ID
3071
20E1
OCBO
SC25
28£:5
20[1
SCIIS
7172
7172
28E5
20El
SS;~S

3CEl
2SI:S
7172
70E2
2935
5CI15
5CAS
4CA5
38117

3cn

3925
SCES
201:2
3S118
3cn
20:13
3S!l5
38105
38105
3CI:2
3910
38E3
28[4
3CI:5
4402
38EF
38105
3915
301)5
38EB
38105
38105
381:6
38106
28E5
20EF
38,~5
6C,~5

(072
EOCO
74F5
FOC2
710S
8072
IBS08
3110
3110
IB10
4112
7110
6110
611E
6310
6310
7110
4305
611E
4010
7110
6310
2310
611E
611E
611E
631E
C394
2S1E
711E
7110
6105
7110
251E
7109
70C7
7311
7104
F 110
08C7
6110
F109
7109
E280
F939
70C6
7110
7110
3510
6110
7509
F509
7509
7110
[B09
7105
71BO

BCF3
4CF3
01A3
CCF3
CCF6
7CF3
CIB6
CC73
CC73
FEF3
BCF3
OCF3
8CF3
BCF3
A073
A072
OCF3
2003
OCF3
OC03
OCF3
A072
A073
OCF3
BCF3
BCF3
9EF3
10F3
96B3
CCF3
OCF3
8C73
CCF3
9813
CCF5
CCF3
B402
COF6
OCF3
OCF3
8CF3
CC02
CCF3
C4F3
0602
CCFO
CCF3
CCF3
OB13
8C93
0043
OE03
OF13
CA93
00F3
CCF3
C473

BCOC
E40C
E528
ECOC
CIFE
ASOO
C1FE
FOFO
E400
E40C
A020
E400
E400
A024
FOOD
FOOC
E400
E410
0015
E400
E400
F lAD
E400
E807
A024
A024
F406
0903
F406
OCC4
E400
FOOB
C393
F407
COOS
C23B
240C
80CA
E10C
OE72
E50C
F800
COE1
EC5C
COOl
020F
E600
E63C
E630
E40C
CC01
81CB
8lCA
E400
C031
A7CE
E73C

9:28 AM

PAGE 520
ADDRESS
07E4:
07E8:
OlEC:
07FO:
07F4:
07F8 :
07FC:
0800.
0804:
0808
080C:
0810:
0814
0818:
081C'
0820:
0824:
0823 :
082C'
0830.
0834:
OR3S
083C:
0840:
0844
0848
084C:
0850 :
0854 :
0858 :
OSSC:
0860:
0864:
0868:
086C:
0870'
0874 .
0878.
087C.
0880 :
0884 .
0888 :
088C:
0890 :
0894:
0898.
OS9C:
OSAO
08A4
08A8
08AC:
08BO
08B4.
08B8
08BC
OBCO
08C4

10/ 2/88

CONTROL STORE
38B5
38E5
38E5
38E6
68E5
00E3
38E3
0417
40E5
309E
00E7
28B9
4001
0405
OCll
34CO
3 QF.5
8406
3889
2CD8
2AOO
0401
282F
OCA5
28B6
38AS
2820
2C06
04E8
2CEB
2805
28B5
28BO
28B5
30C5
38E8
38El
38BB
388B
38BB
38BB
38BB
38BB
0405
38A5
70EB
30Cl
28B5
0405
38A5
38B8
30Cl
7005
OC28
00E5
OOE'S
38ED

7100
7105
7109
7105
6310
BI09
BIll
FOCO
7110
FllC
F175
F11E
EOIO

401C
FllO
OB05
7105
31EC
E31C
83ED
I1C49
3110
FA20
730A
3510
750A
006F
3105
8349
6579
709E
751C
0013
751C
731C
7110
7110
211C
211C
2110
2110
211C
211C
708E
7108
2510
3105
708C
708E
7108
7110
3110
6510
308E
7125
7125
3525

CCF3
8C83
CC83
9C03
C8F3
C6F3
CCF2
CCF3
CA02
CCF3
CCF3
C6F4
8C03
ECF3
CC94
7E74
CC03
4C94
B8F4
04F3
8113
CC33
8093
48F2
02B3
0364
80F3
CCF3
04F3
9742
CCF3
06E3
80F3
06E3
E090
CCF3
CCFO
BCF3
BCF3
BCF3
6CF3
BCF3
BCF3
CCF3
CCF3
19C3
CC13
C2F3
CCF3
CCF3
CCFO
CC33
5B72
CCF3
CCF3
CCF3
C083

ESBO
E609
81CA
E4AC
E40D
81CA
245C
C002
E40C
E40A
E461
6588
E79C
C800
6760
24CE
EOOF
6031
6426
EB93
OSOO
E40C
EBE:!
C080
E440
4080
E406
E4AF
COOl
EEOO
E429
EFCI
640C
EFCI
27E1
E70C
2400
E409
E40A
E400
E403
E40C
E40F
E458
807E
E400
E663
E451
E458
807E
278C
E40C
E40C
E458
E420
E420
E420

2075
34EA
38E5
38E5
l8A5
294B
0406
38E5
3905
3106
380E
2869
0005
2831
2C07
2AOO
2C77
2CE8
749E
38E5
3805
3868
451F
00A5
OCll
3871
4405
38E5
3815
04D7
2865
04EA
2805
3895
28B5
350E
38E8
38C8
38C8
38C8
38C8
38C8
38C8
28B5
0405
38A5
70EB
30Cl
28B5
0405
38E5
38B5
28B5
3805
28E3
38A5
34E9

7100
B509
7110
7149
7024
3511
FUO
7105
7110
231C
F025
F31C
7712
3040
AllC
0010
B30A
A300
B3lC
7410
74CO
7110
FACO
7110
FOCO
7178
S28C
7110
7510
FOA9
729C
8579
709E
7065
711C
82C5
7110
7110
7110
7110
7110
7110
7110
728C
70BE
7108
2510
3105
728C
708E
7110
7110
728C
7510
8104
7020
3709

OC83
OF33
CCF3
CC04
CCF3
OFC5
CC82
CC93
SAF3
F2FO
CC03
F8F4
F103
CCF3
ACF3
8113
EOF2
84F3
5493
C673
0243
CCFO
80F3
CC91
CC73
CC03
BCF3
CCF3
00B3
CCF3
FAF3
5742
CCF3
CC04
CCF3
04F3
CCFO
CCFO
CCFO
CCFO
CCFO
CCFO
CCFO
F8F3
CCF3
CCF3
lA13
CC13
F4F3
CCF3
CC93
8CFO
FAF3
C070
CCF3
CCF3
2081

ESOO
8030
E40C
lE03
CC6E
2700
2405
E42F
E407
2402
E45B
6427
E40A
ECOB
CBEI
6400
C080
C04C
E4BA
E400
C853
A780
C002
E002
E76C
FF80
EC54
E4BO
EF91
EAOI
E427
EEOO
E429
30C6
£FCO
E590
S40C
279C
279C
279C
279C
279C
279C
E453
E458
807E
E40C
E6B3
E453
E458
E40C
A780
E457
64CC
F526
E4CC
0804

3SF5
SCES
20E5
3885
38E5
38E3
38E5
0405
38B9
4401
38E5
309E
38E1
38E5
440F
4600
2CE I
3515
2016
3915
38El
3815
0407
38E5
2COF
0407
4407
OCEI
2C08
04BO
30C5
04A7
28B5
3400
2808
38A5
70EB
70EB
70EB
70EB
70EB
70EB
70EB
30Cl
28B5
0405
38A5
70EB
30Cl
28B5
7005
38A5
30Cl
38E5
DOES
38E5
38EO

7110
6149
7149
7425
7510
Bll0
7109
731C
FllE
EOI0
7529
BllC
3510
7010
FB78
OAOB
B29E
7510
73lC
74A5
3510
7549
C305
715F
FA25
C312
A11C
3110
7110
OB05
731C
FOA9
729C
OC9E
Bll0
74C5
2509
2509
2509
2509
2509
2509
2510
3105
728C
708E
7108
2510
3105
728C
6510
7110
3105
7510
7125
7109
F510

CCF3
C404
C004
8823
8S23
CC82
CCF3
E004
46F4
8CD
0154
CCF3
C071
CCF3
80F4
7E73
EOF3
0363'
72FO
C673
0390
01CO
COF3
CCF3
8093
COF3
ACFl
CCFl
CCll
lE93

F2F3
CCF3
FAF3
80F3
CCFO
E643
1793
1703
1813
1853
1893
1803
1923
CC13
FAF3
CCF3
CCF3
lA63
CC13
F6F3
5B72
CCFO
CC33
C073
CCF3
CCF3
C183

OE02
1403
lE03
E.AO
E.OC
240C
8039
2401
2809
E780
0701
E4FO
E4FO
E380
3F80
0801
E828
C548
64B3
E599
E400
4000
E806
E407
E546
ECOO
EC40
E4BC
E78C
SOA7
E403
EAOO
E427
E428
8790
E591
C07F
C07E
C01£
C07F
C07F
C07E
E40C
E6B3
E452
E458
807E
E400
E6B3
E452
E40C
6780
E6C3
E400
E420
8035
E79D

38E5
38ES
38E5
38E5
38EO
38E5
38E5
04E 1
2869
38E 1
0005
3116
7411
OC25
04A7
0915
38E5
30C9
4101
4600
383E
OCll
04BO
28B5
0818
OCBO
38El
3815
04E5
28BO
28B5
04BO
28B5
28B5
3808
38A8
2COB
2COB
2COB
2COB
2COB
2COB
38A5
70EB
30Cl
28B5
0405
38A5
70E6
30Cl
28B5
38E 8
04AS
38E5
28E3
38E5
38EO

7109
7105
7110
7109
3525
7509
7105
3129
F3lC
3010
7110
S31C
02AO
470C
C382
70CO
629C
FllE
EI1C
OB12
3110
FUO
OB69
528C
9308
OB19
F 110
7510
7149
0013
731C
0605
731C
709C
7110
711C
231E
231E
231E
231E
231E
231E
7108
2510
3105
708C
708E
7108
2510
3105
728C
7110
7108
7510
Bl04
7104
182F

CCF3
CC83
CC82
CC83
C083
OFF3
CC83
CCF4
F8F4
CCF3
CCF3
F2Fl
C4F3
7193
COF8
CC03
6AF3
CCF4
8C14
7EF3
CCF3
CCF4
7EF4
FAF3
C4F?
7EF4
CC03
C693
C093
80Fl
E090
7E93
E090
COFl
CCF3
CCFO
88Fl
88Fl
8SF:)
88F3
88Fl
88Fl
CCFl
1973
CCl:]
COF:]
CCF:]
CCF:]
lAB:]
CCl:]
F8F:]
CCFO
CC03
C073
CCF3
CC83
2063

8030
E4AC
240C
C401
E420
B03C
E410
4FOO
2426
E400
E40A
E403
CCEI
COOO
2COl
C053
EC27
6448
695C
65EO
E790
6760
0080
C854
C07F
3FSO
FC04
E78C
CIOI
640C
27EO
60A7
27EO
E420
E780
67CE
E409
E409
E409
E409
E409
E409
807E
E40C
E6B3
E450
E458
801£
E40C
E663
E456
3F8C
80lF
E4CC
F526
F526
DE76

9:28 AM

CONTROL STORE

PAGE 521
ADORE
08C8
08CC
0800
0804
0808
080C
08EO
08E4
08E8
08EC
08FO
08F4
08F8
08FC

38F 1
38E5
38F 1
38EO
38E5
1834
38F5
38A5
3851
38E3
38EB
OCE4
38E3
38E5

0880
7510
3110
0910
702F
OBIO
7110
7044
3110
7104
B510
F149
7105
7104

0497
OCF3
CCF3
1036
CCF3
00F3
CCFO
CCF3
CCFO
8CF3
OF73
CCF3
8CF3
CCF3

0858
E400
EA79
E5CC
EA77
E6BC
E800
F526
A40C
F526
E40C
COOl
E470
F527

3810
38EB
38C5
ODED
38E5
28EB
2CB2
OOFA
38F3
38El
38E5
38FO
A4E5
38E5

0910
B426
7110
3B04
7080
3509
FIll
B5l0
7110
8910
7104
0910
7110
7110

7073
OCFl
CCFO
0047
CCF3
OF92
CCF3
DEDI
CCFO
04F3
CCF3
FEF3
CCFO
CCF3

E740
OF33
64CC
4COE
E450
EOOO
E6BO
640C
2400
E400
EC83
EE03
6400
E40C

38EB
3801
38F5
28E9
38EB
OCFO
38E3
OCEO
3CB5
38E5
OCEO
00E3
38A5
38E5

10/ 2/86
8579
3710
7104
3510
8510
F 110
7113
0910
7148
702F
0910
6304
'TOAD
7110

CIF3
DC03
CCFO
OF92
CIF3
OCF6
FCF3
OCF3
CC13
CCF3
OEF3
S8F3
CC23
CCF3

FFFO
E67C
B527
E500
E400
E40C
E79C
E6DD
CODE
EA77
E40C
F526
E7BO
E40C

0008
3860
38EO
38E 1
IDES
10EO
3CE5
28A2
OC64
38E5
38Al
OCE4
38E5

F'510
8910
0904
8910
5304
0910
7179
FIll
F110
7080
3110
F110
7113

OC03
00F3
0673
04F3
3843
30F3
CCOI
CCF3
CCF3
CCF3
CCF3
CCF3
CCOO

E274
E500
FC52
E400
EC83
E40C
ACID
E6BO
E600
E450
E6BO
E400
240C

9:28 AM

PAGE 522
AOORfSS
0900 :
0904
090S'
090C:
0910.
0914:
0918.
091C:
0920.
0924:
0928
092C'
0930:
0934:
0938 :
093C.
0940
0944'
0948'
094C:
0950 :
0954:
0958'
095C:
0960
0964'
0968
096C:
0970
0974:
0978.
097C'
0980
0984
0988 :
098C'
0990:
0994:
0998:
099C:
09AO.
09A4 :
09A8
09AC
09BO.
09B4:
09B8
09BC
09CO:
09C4
09C8.
09CC
0900
0904
0908
090C
09EO

10/ 2/86

CONTROL STORE
70C5
0904
0904
7510
0905
7109
F 105
SlED
710A
702F
5110
70BO
70C7
OBIO
OA34
FI10
7510
7509
B510
7509
0811
3108
FI05
F828
7445
3100
7105
62C8
lCC5
7108
3529
71FO
7105
0825
7549
F510
1129
F426
7111
F105
OB05
F110
F91E
OBI0
3509
08C5
30C5
F595
0005
3110
1CC5
5010
7426
0910
1910
2D18 317B
1910 1909

3915
B3BO
B3BO
38A5
B360
28E5
28EO
387F
3005
lC65
38A5
1805
IF25
90EO
lAID
44AO
90CE
3BA5
2CEA
B7A3
64EO
2CBO
44E4
38AF
39E5
3C7C
38E5
9105
8B20
38F5
380B
38E5
18E5
BOEO
3875
38EE
34E9
3B7E
2015
38E6
18EO
AOEA
A4BF
6352
38EC
3B50
28AB
3CE6
28EO
38E 8
BB20
A460
3865
38EO
B3BO

C -;- /I 693F

C093
E093
OCAI
7E92
C2FC
DCF3
8603
CD3C
C263
8293
C273
C292
1E93
8073
CCF3
0483
OCAI
04A7
OCAI
10F4
C672
CCF3
3E73
DC83
C491
CCF3
C8Fl
4062
CCF3
OCAI
CCF3
CAD3
E004
DCAI
0732
ECFl
0083
CCF3
F263
8063
CCF3
FOF3
00F3
DCB2
C062
CCF3
0013
6063
CCF3
4062
04F3
OCF1
3AF3
8303
CCFl
0064

E9F7
E9F6
A5CC
E78F
4401
E69B
DCOO
EOOI
E407
E5AO
E403
FF2F
E40C
E8A6
E600
E59C
8011
A580
8010
6E30
OEOI
E72E
C020
E4E6
A993
E58E
C801
E72A
C008
8081
E400
E72F
2763
8000
E5FO
807F
E656
E60C
E72A
E72B
EAOC
E408
E670
C40l
E72B
E72E
E686
E72A
E40C
E72A
E74C
A740
E271
E65C
8000
4801

80A5
3BA8
BOEO
38E5
B360
28EO
38FF
38F 8
38EO
3CE5
38B8
28E5
1B83
90EA
9BE5
4200
34A8
AOEA
3408
38E5
38F8
9507
18E3
3885
4475
'38D2
9910
2BE3
38EF
2F78
3A05
38EF
B060
34EO
3905
44E4
3CE5
80E5
9B20
9BE5
98EO
38E6
28B7
2875
B060
38E5
38E5
38E5
3A1C
38EC
38E5
90EC
3B50
BOFO
3B14
386A
3873

7598
0905
0905
7529
0905
OB09
F910
3110
0911
7080
F56B
7105
70C5
B509
70C5
OAC5
F4A5
F509
3435
7585
A510
7113
7105
7100
70C8
Fll0
1910
70C5
F825
B435
7529
3400
0910
0825
7529
FIOS
7105
7110
08C7
72C5
0939
7509
FlAC
74C4
0910
71F5
7529
7110
34C6
3509
7510
OB10
1911
18CO
AOCS
90BO
5110

0931
0323
7E93
0611
E322
lE8E
FOF6
CCFE
07A2
C043
92B8
C273
CCF2
040F
CC62
80F3
09A3
0391
OAl3
09AA
9A61
CC64
CCF3
CCFl
CCD4
9COl
0063
OCF2
EC73
07F3
OCAl
08D3
BCF3
3E62
DCAI
CCF3
4C73
CCF3
1062
8462
1122
05A2
4CF3
CF33
BE63
CCF3
OB61
CCF3
OCB8
DCB2
OA63
0153
20F3
87Bl
CCF2
8E94
FCF4

OFFE
E62F
E612
COOO
E79E
5400
A40C
EEAC
E50E
EC52
0000
E52A
E72E
9EOO
E72A
E543
E92B
80Cl
E687
6687
A5F7
2590
E53E
9803
OOOF
9082
EAOC
E72A
E6BB
E50A
80CO
E400
E405
E72A
8009
E72E
E72B
E40C
EB2A
E72B
COOl
C801
E59F
C9CB
E553
E6F6
8032
E650
6707
C401
E5FO
EA70
E670
AA64
E 72F
24nc
6400

3BB5
3BA8
3CE7
44E2
18E7
39AO
A5DB
3862
3FB4
38E 1
3875
38EC
38E3
34A8
3B25
2918
3805
9850
8CEF
3918
l8BC
lC60
88EO
3885
38E5
3905
B864
A07A
38EO
BOEO
88E5
38E6
2CA3
3BAB
3805
38E3
3915
8FB4
38EC
A318
38A5
BCEO
BEF 8
3875
38EC
38EC
3A9F
3B5C
38[5
lC67
3B35
18EB
38EO
38F8
B4AB
1910
44E6

7710
0905
3025
FI04
7109
0910
311E
AI08
Ell0
EllC
74B5
0910
5110
F445
70C5
B511
7425
08C5
FB09
3509
0909
OM9
OB05
7510
7511
7579
08A4
F425
0929
0825
7105
FI04
7305
3529
7510
5129
70C6
EIBO
3509
F510
7105
OB09
A310
74C6
35F5
3509
3434
3510
7110
3030
7100
3509
8910
A510
12CO
4909
5025

0691
0528
C023
OCF7
C2FC
10FB
4CF 1
OCFE
9CFF
C088
0343
4107
8CF3
03A7
F262
0104
0383
312Z
COF2
04F4
0293
0700
lE73
DCAl
0084
OCA4
0093
0713
3E94
7C62
CC63
CCF3
84F 1
DCAI
OCAI
8491
CCF4
8CF3
OCB2
OAF2
CCFl
0677
C8F6
OA61
OCA2
OCB2
DC83
OCB2
CCF3
OC73
CCF7
CC80
02F3
CFll
88F 1
0064
8003

E720
25CA
E56B
A82E
8601
E40C
E409
800F
2A2C
699F
E52A
OOSO
E590
A90E
E72B
6400
E66B
E72B
0801
4007
0200
FFOC
E72E
ACOO
2000
3FFE
E976
E5C6
007E
E72A
E72B
EAFA
A72A
8040
A5CO
80BF
503E
E720
0601
E5FO
A72B
6000
MOO
E6BB
E607
C401
E95A
E40C
E660
E5F3
3E52
4COO
E900
A400
9A65
4201
E52A

B3BO
B3BO
38E5
3875
28E6
2860
28BB
2CF5
38F5
2CBC
3B9C
34EA
34E8
380E
93CC
39lB
B8E6
38E5
30M
3916
38F4
3CE8
8875
38EF
3CES
390E
A8E4
3907
38E5
38E5
38E5
44E4
3905
38E5
2CE7
44E2
40B7
BBE3
18EO
3B5C
93C4
38EB
18El
38E5
BOEO
18EO
38EC
18EO
18EO
2CAA
39D5
386B
94E5
ACE8
47E 8
350A
38E8

0904
0904
7510
7440
F 109
FOAD
3109
7110
7105
OA28
08C5
F510
OC24
7425
OBI0
3510
7129
7509
F025
FIll
Ell0
3104
710B
35E5
7110
7425
9179
34A5
7510
7110
7110
F025
7510
7105
3109
EIOS
Fll0
5lAO
OB09
3510
OB10
8911
F025
7025
0905
OBIO
3510
OB79
OF05
F424
7110
BOE6
7111
31C5
BI04
BOAO
0905

C093
E093
0583
OFC3
C2FO
CCF3
4CF 1
C064
8274
00F3
0902
0343
0093
04A3
0143
04F3
C042
05A2
CCF3
CCF3
CCF4
CC03
CCF3
D4F3
C6F2
D653
CCF3
0083
0083
CCF2
CCF3
CCF2
DCAI
8C6l
CC9S
9CF3
CCFl
CCF3
E002
OCB2
00F3
0063
CC62
FC6A
7E63
08F2
OCA2
COF8
2263
OC53
OC67
CCFl
0053
CCF6
CC73
COF3
7E73

E97A
E97B
E400
E40E
8EOl
E40E
ClOl
66BC
272E
C008
FF2F
E40C
E976
E4EA
E72C
E40C
COOO
C801
E536
E6BO
2508
EA03
805F
E717
E40C
E53B
COOO
E447
E40C
E6SC
E660
E72F
ASCD
E72B
0021
E72A
ElFO
E5CC
C600
E5EC
E720
E5Bl
E72F
672B
E72A
E5FO
E5EC
7BFE
E72B
EAOA
3E52
A73B
EA70
E53E
EAF6
E400
E72F

9:28 AM

PAGE 523
ADDRESS
09E4.
09E8 :
09EC:
09FO:
09F4:
09F8
09FC:
OAOO
OA04'
OA08'
OAOC
OAIO
OA14'
OAIS
OAIC
OA20
OA24'
OA28 :
OA2C
OA30:
OA34'
OA38'
OA3C
0A40
0A44.
OA48:
OMC:
OA50:
OA54
OA58 .
OA5C'
OASO'
OA64
OA68
OAf)C
OA70
OA74
OA 7 8
OA7r;
OAP,O
OA84
OAR8
OA8C
OA90.
OA94
OA98
OA9C
OAAO
OAA4
OAA8
OAAC
OABO
OAR4
OABS
OABC
OACO
OAt:4

CONTROL STORE
38EA
38E5
3BM
BOEO
3865
8468
1D1F
3BE8
38El
9BB5
3916
38A5
8615
BSES
3905
1870
18EB
38E5
390C
850B
18E6
18E3
3905
30FA
2908
38B5
38D6
39EC
3A25
43B9
38ES
38A5
28E9
BODO
4600
41Ffl
3')[5
31,68

331 'j
42AA
38F 9
B8E5
39E8
BOEO
3C75
44E2
3915
3CF8
18F 8
3905
2CE3
4105
47B6
3B50

9510
74115
757A
0905
74A5
MAS
E901
0824
0909
5110
3110
7024
70C5
6224
7138
OBIA
3585
71G5
0910
76~,5

FIC1S
5110
6104
Bll0
3424
7434
F434
20C5
7510
3510
7105
71E:4
2021
0910
0910
35EI5

74<'5
B519
7'; J 0
B~ J 1
21(10
SIlO
B510
08,~4

7108
F1l3
70Ei9
3110
A310
7 O<~ 8
7Il3
70,'F
7110
08(;4
3 Sf" 'j 7104
BRF f E109
3'JO'i 71(10

98A2
OD83
D778
7E63
DCB3
BB63
00F3
0062
00F4
CC63
F 4F 1
CCF3
CC03
8462
CCF3
COF1
0263
CC03
0294
8283
8COl
CCFl
9C63
CCF1
07B3
D463
0703
8C73
F9E4
08C3
CCF3
F094
80F 1
8E6B
0503
D734
OA13
97A1
D784
D251
COF 1
8C63
98E4
7E62
CCF4
OC91
OF18
CC04
80F1
BCD3
CC93
C203
CCF3
0262
CCF3
8C64
CCF3

E40C
DBE7
3FCO
E72A
ESOA
E6DA
DF3D
E72B
1201
E5FC
MOD
E977
E46B
E72B
FIFE
EOOO
E47B
E4C6
2409
E4A2
E4E7
E400
6728
M02
E4CE
E4CF
E4CE
E54E
663C
E62C
E497
250E
A40C
26CC
E74C
250A
ESEB
BE01
5800
A6BC
A585
E400
240C
E72A
OlEO
A660
800B
240C
MOC
CSOI
E591
E407
E72C
E72A
E722
0008
EADD

38E5
1800
38ES
38E5
1865
3B75
3D15
lEAE
40AO
A8D4
3FB8
84E5
AI05
38E5
38EC
28EO
3905
3826
8118
2885
2903
8A9B
420B
100F
3918
41FA
lA06
28EF
2CE5
39E5
34E6
8505
38E 8
3915
3875
BOEO
38E5
3905
2C74
8506
3aC5
38E5
38B5
3AAB
38EC
3CA5
3SF5
391C
2CCF
8104
80E4
38ES
38E5
B360
38E6
2B25
3905

7509
OB10
7549
7510
52AO
717B
7111
OB11
lAC4
AOC4
A310
7109
7040
7104
2110
0004
7528
70C4
3311
70C4
7358
3435
3510
E9lD
B509
B510
B025
E904
5224
74C5
7024
7128
0824
5111
751D
0824
7105
7425
B508
7108
7510
7104
74C5
3510
08C5
7111

7008
0910
EB08
FOOD
EllO
7080
7513
18C4
F1l0
70C4
7110

DD84
08F8
DCAI
DCB3
C073
CCF3
CCF3
0073
FE62
CCF2
8913
CC63
CCF3
CCF3
CC73
4463
DIE 1
F262
8924
CC02
94Fl
0583
D404
0074
9784
D4Dl
CEF3
0073
C873
08F3
C003
CCF1
0262
8473
DA83
BE62
CCF3
DA13
D923
CCF7
D881
CC73
D8F3
OF03
0493
CCDA
8007
0493
lE63
CCF3
CCF3
82F3
05D3
0062
CCF3
4C62
CCF3

OODB
25EC
8005
ESFC
E40D
FFEO
EB3D
E63D
E72B
E72B
E720
E001
E40C
E806
E400
E72B
FIFE
E72A
663C
E72E
BFFE
E526
2400
3COO
4005
A403
E5C3
E6C3
E806
E686
E52A
01FE
E72A
E630
FED3
E72A
E5EB
E5F2
COlE
01FE
M07
E72A
E687
E6BC
EA63
A6BO
81EO
E40C
CIE 1
El9B
E66C
EC53
EADO
E72B
E400
E72B
EEDO

BOEO
38A5
3A05
1866
38B5
200B
38A5
3905
3D05
94E3
38E5
8509
2CAA
410A
8355
BB20
38E5
3900
1908
1895
A874
3F55
389B
1905
3915
38E6
IBM
3915
38E5
3A25
2C74
3908
3CE5
lCF9
38E5
BOEO
3FB5
3915
43A2
3aF a
39E5
3905
38E5
3516
3905
3915
38AC
3CEO
38BO
BOE3
38E3
2CE9
38E5
3aE5
47R5
9BEO
38[5

10/ 2/86
0905
74C5
74C6
3105
7445
3510
7510
6028
70C4
7104
7113
BOCO
A104
B528
70C4
08C4
7110
0910
B508
70C4
Fll0
70C4
34M
7110
7510
AI04
f044
7510
7110
7510
B508
A6A4
7024
1510
7024
0904
7110
7105
OD79
A710
7110
7178
7511
6110
7424
7110
0911
F113
0827
6310
7179
A179
7104
7104
7110
lSC4
7104

E2D2
D773
DD88
C891
DCB3
DC53
D4F3
8E73
CC62
DCF3
DF 13
AC98
COF3
DIE 1
CC02
0462
CCF7
150A
0844
C012
4CF 1
C672
97B3
C293
D7B4
CE93
C293
D7B4
CCFA
F9E4
0923
9113
CC92
06C2
CC72
7E63
C663
CCF4
OOF8
9118
BCF3
CCF4
OBOl
C023
DB03
F4F3
049A
CCFl
20F3
COF3
8CF3
8CF3
CCF3
CCF3
CCF3
0062
GCF3

E61B
E7BF
27BA
E72E
EFE6
E400
E6DC
DOOI
E72A
E69A
OAOC
6C04
E7FF
FIFE
E72E
E72B
A40C
6406
01El
E72E
E40A
E72F
E53A
E40C
5COC
E6C2
E4CF
5COC
6400
663C
COlE
E802
E72E
E589
E72B
E72B
E620
5EC3
3F81
26CO
E40C
IFFE
E401
E650
E977
OABC
AEBO
ACOO
E176
E250
DOOO
C005
E6F7
E6F7
E72C
E72A
E69B

38E5
38ES
BOEO
18D5
1875
3CBS
80B5
38A!
3B95
38EC
38F5
390C
84BC
8109
10E2
38E5
3905
2C8F
3DF5
4504
84E5
1900
3915
2C90
19FB
lAOS
3FB9
BOEI
39F5
3CF5
43AD
42AE
3907
38C5
BOEO
3BB8
38E5
38E6
38AO
3905
2CA8
3BB5
3B50
38E3
3CEB
3CF8
3CCB
3CA4
18E3
4208
3A08
3918
3B65
3B15
38E5
93CC
38EO

7'105
7549
0825
70C5
70C5
7445
70B4
6909
70C4
C1911
7110
3128
30B4
9718
OC20
7104
7538
F8C8
7510
F028
F110
OB08
7509
CAA5
3510
7025
FHO
1905
75A5
7108
FB79
E1511
0108
5110
0904
B510
70AO
fl04
0904
SOAO
BOC5
7510
08C4
61B4
3510
A310
3512
F007
6000
A396
2024
2110
70C4
70C4
7113
OBAO
1979

F09A
DCA1
BE62
C513
C4F3
D013
CC03
0091
8C62
049A
8004
8011
CC63
B241
0073
CCF3
01El
FAD!
0958
CC03
CCF3
COF4
07B4
0063
07B3
C293
C6F3
FE73
D521
C007
FEFS
0663
SOF7
CE72
7E63
97A3
D073
CCF3
3C94
B003
CCF3
OA83
C062
FCF3
0503
8914
0503
CCF3
8CF3
C8F8
CC93
CC94
CC62
FC62
D073
00F3
FEF2

672E
8005
E72B
E6DA
E6DA
E53F
E807
C20l
E72B
AABO
240C
DIFF
ES06
8001
E400
E806
F IFF
80lD
3E55
C801
E40C
2000
4005
E51F
E40E
E5C3
E62C
E687
A52F
81El
3FCl
E630
01FF
E595
E72B
E620
E80F
E53A
25DF
E401
E626
E620
E72A
E763
E40C
25EC
E2BO
E077
E400
26B6
E977
6A3D
E72A
E72B
EADC
E720
GOOI

9:28 AM

PAGE 524
ADDRESS
OAC8.
OACC:
OAOO'
OA04:
OA08 :
OAOC.
OAEO:
OAE4:
OAE8 .
OAEC:
OAFO:
OAF4 :
OAFS:
OAFC:
OBOO:
OB04 :
OB08:
OBOC:
OBI0:
OB14:
OB18:
OBIC:
OB20:
OB24:
OB28:
OB2C:
OB30:
OB34.
OB38:
OB3C:
OB40'
OB44 .
OB48:
OB4C:
OB50:
OB54'
OB58.
OB5C:
OB60:
OB64 :
OB68.
OB6C:
OB70
OR74:
OR78
OB7C.
OB80
OB84
OB88
OB8C'
OB90
OB94
OB98
OB9C
OFlAO'
DBA4
OBA8

CONTROL STORE
38A6
38B5
38E5
1805
BOAS
38EO
38As
38Es
38B5
3805
38F5
98EO
BOEO
38E5
0001
0001
0001
0001
0001
0001
0001
0001
3905
38EB
38FO
2CFB
2CE4
38E6
38EO
38EO
5405
38E5
3892
8108
OOBF
350B
28B5
28B5
1445
AABI
38E5
9297
AABI
80A7
2CE5
3805
40[5
1056
38E5
38[ 7
0101
38[5
28B5
38[5
46A5
44[5
14A3

3104 CCF3
708C CCFl
6129 COF2
70C4 CC02
7104 CC91
1824 FE92
70C4 CCF2
7113 CCF3
7110 CCF3
710B CCF3
7108 CCF3
08AO 8003
0904 E263
7110 CCF3
0002 0003
0002 0003
0002 0003
0002 0003
0002 0003
0002 0003
0002 0003
0002 0003
7110 OC67
BOE6 CCF 1
88C7 02F3
3110 ccn
6109 8CF3
3105 CCF3
0905 0603
09B4 0673
41lE 4C13
7110 CCF2
7179 9C03
B510 0484
FBIO 8101
3425 OF73
7110 COAA
528C BAF3
7110 CC92
BllC COAA
71EF CC03
All0 8C93
BllC CC04
[369 COF3
6310 8424
4112 CA33
6310 8453
7UE CCF3
611C FC44
B3lC AC02
911C CC74
611C 8359
7110 CCF3
7110CCF4
7100 CC04
7105 C003
7110 CCF3

A72F
A450
COOO
E72E
A72F
E72F
E72F
A800
A400
804F
EOOO
080C
E728
E40C
0004
0004
0004
0004
0004
0004
0004
0004
3E52
988E
EB30
A400
COll
E4F3
E76F
FC53
FC05
C890
BHA
2C03
2400
E70E
E40C
OC55
HOC
E401
E407
E40C
2401
CIOI
040B
0000
OOOB
E409
6800
FCOO
0400
6COO
[400
680C
6800
A71E
E79C

21AO
3870
38AO
18EO
3805
38E5
3885
4106
ICEO
38E5
2018
BOEO
BOE5
2085
0001
0001
0001
0001
0001
0001
0001
0001
A4EO
38Es
38E5
3861
74EO
38E7
38EO
54E5
48A5
3CE5
80EF
38BF
3846
0405
38E5
28B7
38E5
38E5
28B5
2E31
84E6
38E5
38E5
38E5
40E5
0015
38E5
1901
4445
34E5
9655
3A65
38B5
6107
18E3

OB04
0910
1910
OB09
70C4
5110
7108
F11E
OB09
7024
3510
0824
7104
711C
0002
0002
0002
0002
0002
0002
0002
0002
5010
7426
7111
31C8
2310
3105
0905
4110
63lE
7109
F911
3585
6198
7110
7110
A11C
716F
7110
428C
Bll0
7110
6105
4110
5HC
63F9
628C
71EF
B31C
7110
7110
631C
5110
7179
3025
7110

lE7B
lE73
FEF7
20F2
CCF2
84F3
CCF3
CCF1
FOF3
CCF2
07B4
E262
0063
oca2
0003
0003
0003
0003
0003
0003
0003
0003
04F3
0241
CCF3
FCF3
C8F3
CCF3
0804
OC03
9CF3
CC83
H02
OAE2
4018
CC92
8CC2
4CC2
CCOA
CCF3
BAF3
CCF2
CCC3
C003
86F4
8AF3
C443
BCF3
CC03
AC74
CC59
CC64
ACF3
8C91
CC94
CC33
CCF3

FC38
A5FO
6801
E600
E72E
080B
800F
E409
81FF
E72F
5COC
E72A
E72A
2401
0004
0004
0004
0004
0004
0004
0004
0004
0840
9B4C
EA70
C038
E400
E4F2
279A
A7EC
FC04
8009
FE90
E6BE
3F80
HOC
BCOO
B801
6407
E40C
CCS5
A400
A43C
E71F
0407
E05C
8035
EC55
E407
3090
A40C
7COC
E090
2400
7F 81
E70E
E400

3871
18E6
38AO
38A5
38E5
38B5
2005
28E7
3895
1885
BOEO
BOE5
38E5
38Es
0001
0001
0001
0001
0001
0001
0001
0001
38E5
3AOO
38EO
38B8
38A5
38E5
38E5
5575
4875
44F5
3C95
0040
38E5
38E5
0405
AABl
28BS
9067
28E5
38A5
8201
400B
40E5
40E5
3A05
38E5
28B5
38EA
3906
38E5
38EA
8201
1055
8C44
lCE3

10/ 2/86
F 110
F llE
2904
7024
7040
70CO
708E
F3AO
7110
7110
0824
7024
7510
7105
0002
0002
0002
0002
0002
0002
0002
0002
7110
1910
0910
30C5
7025
7105
7105
4179
SHE
6310
7109
OB08
7000
716F
7110
BllC
428C
Bll0
7110
711C
Fl3S
3425
6310
6310
7110
711C
428C
A529
51H
71EF
A511
F13S
702F
7108
7110

COE3
CCF3
0093
8C63
84F3
8C64
CC03
F4F3
CCF7
C4F3
8C62
C062
0783
CCF3
0003
0003
0003
0003
0003
0003
0003
0003
CCF3
20F3
3AF3
CCF3
OCF3
CCF8
CCF3
8032
OCF3
8892
CC83
7EF3
CCF3
CC03
CC92
COM
BAF3
8042
CCF3
CCF3
CCF3
OF73
8413
8404
CC93
4264
BAF3
992A
CCF3
CC03
9903
CCF3
CCF3
CCF3
CCF3

A430
E408
A72F
E448
OSOE
2802
E458
EUO
6803
E40C
E72B
E72A
E40C
A71E
0004
0004
0004
0004
0004
0004
0004
0004
EA7C
E67C
E271
E750
E4F8
F8F2
E4F8
FFFA
FCA4
2400
8008
C07E
E40C
E406
E40C
E401
CCS5
E400
E400
F800
HFF
E697
COOB
140A
E440
2000
CC55
8000
E406
E407
E40C
FFFF
E406
COlF
E40C

2865
2897
18EO
3805
18EO
3801
28B5
3895
2CEO
2CE5
3B65
BOE5
38E5
38E5
0001
0001
0001
0001
0001
0001
0001
0001
18EB
A4E5
38F5
74EO
28E8
38E5
38E5
4955
38E2
3910
34F5
28BO
7608
28B5
38E5
38E5
28A7
lE91
28A5
2877
2E05
38E5
40E5
38E5
80E7
34E5
28B5
0837
0015
28B5
4465
2805
38[5
44[3
3830

708E
F3AO
4810
7024
OA24
8904
70BC
7049
4004
6224
70C4
7104
7509
7110
0002
0002
0002
0002
0002
0002
0002
0002
3509
71CO
70CO
OB09
3349
7105
7105
4310
4139
0910
6310
OOOA
F510
528C
716F
7110
A11C
BllC
7110
AllC
6110
4110
6310
5110
E310
7110
7110
BHC
628C
428C
731C
61EO
628C
6110
0840

C3C3
F4F3
0097
F2F3
OE93
00F3
CCF4
CCF3
0063
8463
CCF2
8C63
CE84
CCF3
0003
0003
0003
0003
0003
0003
0003
0003
CCB8
OCF3
CCFl
OEF3
F78A
CCF3
CCF3
lCFl
OC04
0704
8492
8003
0764
3AF3
CC03
8043
4CC2
CC9A
CAFI
4C02
SCF3
SAF3
C404
86F4
COF2
CC59
CC02
8C02
BCF3
BAF3
ECFl
ECF2
BA04
CCF3
1403

E459
OC45
5804
EUA
EBB3
AU8
2450
FFFO
EUB
EB77
E72F
E72A
4149
E40C
0004
0004
0004
0004
0004
0004
0004
0004
1804
E900
AA64
0668
0000
E4F2
E4F8
C800
7HE
2C04
240C
COSI
640C
0455
E406
E400
B800
6400
E407
ECOI
E40C
CC07
lC07
1407
OCOA
BCOO
E400
FCOI
EC55
CC55
ACOI
E43C
2C56
E40C
CFEO

9:28 AM

PAGE 525
AOORESS
OBAC
OBBO
OBB4 :
OBB8
OBBC
OBCO
OBC4
OBC8
OBCC.
OBOO
OB04
OB08
OBOC
OBEO
06E4
OBE 8
OSEC
oaFO
OSF 4
OBF 8
OBFC
OCOO
OC04
OC08
OCOC
OCI0:
OC14
OC18'
OC1C
OC20
OC24
OC28
OC2C
OC30'
OC34
OC3a
OC3C
OC40.
OC44
OC48
OC4C
OC50
OC54
OC58
OC5C
OC60
OC64
OC68
OC6C
OC70
OC74
OC7S
OC7C
OCRO
0r;84
OCR 8
OCBC

CONTROL STORE
8CE5
34B8
0045
3846
40CB
28B5
28B5
28B9
6095
3803
3408
38E 1
5575
4905
4513
28A5
2CE 8
3905
seAS
38E3
CJ4A3
3816
38E5
38£5
3 BES
3.g 18

1H2
380B
8465
3CEB
3878
451B
38EB
1800
38EO
39E5
08BO
38E5
18£E
38F 8
3aE 1
18r5
3CA3
38EO
38EO
38E5
3MO
38AS
70EB
38[5
38E5
38£r,
70EB
3805
3HO
38C8
lCDF

7010
B025
4110
351D
3462
709E
7310
F31C
711e
4110
A235
2010
6110
52Cl
7010
7510
B513
7010
611E
7080
7110
3"08
7105
7105
7511
0909
F109
B510
6188
3510
A568
1710
2511
OB10
8910
7510
3427
4024
91A9
A080
3024
5109
62C:4
0909
2904
7U9
0904
70(:4
3509
7lJO
7lJO
7110
3509
1110
3508
7110
F910

CCF3
CC03
02F3
04E3
OFA3
CC44
84F3
F804
CC53
OCF3
C4F3
8cn
8C02
OCF4
CC83
OFI0
OEF4
CCF3
BCF3
CCF3
CCF3
01Al
CCF3
CCF3
03C3
0204
OCF2
ClF7
9C97
F393
9374
F373
F2E3
OE63
00F3
0333
COB3
OC63
90FA
OCF3
CCF7
86F3
C8F2
1002
0093
CCF3
4064
CC62
0724
CCF3
CCF3
CCF3
0824
CCF3
COR I;
CCF3
FEl3

E7FO
E70F
0002
C140
E80C
2428
FCn
2426
E40A
E790
E75A
E7FO
FOOC
240C
F392
6400
2790
EF91
9D24
E450
E790
83FF
E4F8
E4F8
E400
1800
COIB
640C
40FF
E40C
0001
E79C
E790
E60C
E4CD
E600
F021
EC83
3FF6
E450
6C83
C035
EC82
DCOI
EC82
C101
6C83
EC82
0401
E40C
E40C
E40C
0401
r ~BC
( q'jf

f ',DC
OLSO

3955
3905
2C51
8201
38EB
28B5
80B7
38E7
80B5
40E3
38E5
395E
38E5
3885
38E5
74A1
0475
5005
4885
38EF
0823
3805
38E5
BCOO
60EA
28Fl
40F4
34E8
380F
38E5
44E8
38B1
44EO
38E5
38A5
38E5
04A7
38E5
84EO
38F4
3AG5
2003
38EO
38E2
18E8
2005
3915
3915
3880
38F5
38F5
38F5
3885
38C8
38F5
38EO
3075

7512
70CO
A11C
F138
3505
729C
F110
BllC
411C
7110
7410
F112
7110
7149
7010
12AO
7425
7110
5310
3410
7110
7508
7105
0004
B510
3125
F 110
3110
3510
7113
A310
31B6
0910
7104
7110
71H
F1B4
7510
E027
0826
70BO
210B
0979
0904
B309
70C4
70C4
7512
F508
7010
7108
7010
7108
7110
7178
0910
7109

C700
CC03
ACF3
CCF3
9FA3
FM4
CCF3
9C02
OCF3
CCFl
0063
CCFO
CCF3
CCF4
CCF3
C4F3
OF 13
OC72
OCFl
OAB3
CCF3
01Al
CCF3
03F1
C4A6
CCF3
CCF6
C293
0504
CCF7
COF3
CCF4
0403
CCF3
CCF3
CCF3
CCF1
0333
9CF3
00F3
CCF3
8CF3
0872
0093
88Fl
CC62
FC62
0333
C186
CCFl
CCF6
CCFO
CCF6
CCF3
CCF3
lEl6
CCF3

288C
E40C
C400
HFF
E7EB
2427
E802
FCOI
E40A
BCOC
E5AO
lC80
E4CC
4000
E790
OCOI
E410
EA9C
E400
E790
C403
83FF
E4F8
C3E3
E400
E421
E5BO
E5CC
25E3
A80C
E79C
2COE
E790
EC83
E670
E407
8COA
E79C
OB3D
E512
E400
805F
FFFI
EC82
ECOO
EC83
EC82
OF90
C03E
E790
C03E
279C
C03F
E60C
HCO
E400
81CC

3A37
38[5
3A8F
2CE5
1877
0837
80B5
0101
2CB7
3903
3850
38[5
410B
38C4
04ED
lCE7
38E5
5CB5
2105
8C04
OCB3
38E5
3807
3805
38F 1
1010
3CE5
34[0
35B2
3CE1

3008
3CEO
38EF
38E3
38E5
38E5
3823
04E5
38EE
40F8
2E88
38E5
34E4
34EB
3805
3870
3800
70E5
1C80
38E5
lCFO
70E5
lC80
3105
3875
38EO
30F8

10/ 2/86
7110
7110
F80E
6110
B31C
B11C
6025
B11C
E310
7110
0910
" 105
3711
4025
3525
F010
7510
611E
7001
7108
7010
7105
3508
7105
8975
FOCO
7129
OB04
F110
F395
F425
OB39
F910
7110
7510
7080
B508
7145
8509
8510
F426
7110
0110
1379
7510
08C4
08C4
70F5
4978
4125
4978
70F5
4978
7110
7110
4910
B510

CCFO
CC91
F 8F3
ACF3
E002
8C02
8303
eCF3
B490
8CF3
1003
9C03
BE51
OCF3
C083
CCF3
DEB3
FCF3
CC94
CCF3
CCF3
CCF3
01Al
CCF1
0474
DC63
C014
3C97
CCF7
8873
02E3
1EF2
FAF3
BCF3
C073
CCF3
0444
CCF4
D4A7
D3F4
04CA
CC73
CC93
88F4
0334
6062
2072
CCF6
00F3
OCF3
00F3
CC96
00F3
4C73
CCF3
0093
08C2

OOOC
2400
E809
A40C
E400
FC01
E70F
E400
2B6C
FC03
07EO
E5Cl
C290
E77A
E420
E400
E40C
A925
240C
C07E
CF83
E4F8
83FO
E410
6461
E400
4001
OCOA
MOO
E4A3
E4BB
EOOI
E40C
E400
E40C
E450
OOFE
2420
6000
6804
253F
E400
E400
7BFE
2F9C
EC83
EC83
E529
FFCO
E421
FFCI
E529
HCO
C2BO
EF3D
E400
2400

380'5
1877
2 8E~~
38A1
1051
1101
010'9
28B'5
8CE4
18B3
38EE
38EC
5CB5
5C05
5555
4005
38H
4122
8CE4
80E3
38E5
38E5
38E5
3805
38AO
38E5
3910
1875
38E3
30E4
38E5
4505
34D4
3943
3805
38E5
4508
28AO
38F4
3808
3865
3886
38E3
38E1
3870
3912
3862
38A5
38A3
3905
38A5
38A5
38A5
38E3
3813
38E5
38[5

7110
811C
Bll0
C910
B31C
811C
FllE
731C
7110
7110
E040
8513
611E
4112
6110
7062
F510
411E
702F
6110
7110
nos
7105
7510
0910
7145
0007
5007
7110
OB29
7511
6027
F190
B1E1
7110
7105
B5A5
OB34
09FF
A5A5
7510
0913
70C6
3509
08C4
48C6
E8CO
6109
F 110
7110
7110
6109
7110
Bll0
Hll0
7110
7184

CCF3
ACF3
OCF3
00F3
EOF3
OC04
CCF3
FA04
CC73
CCF3
8CF3
0084
FCF3
3CF3
8CFO
AC73
C073
OC73
CCF3
CCF3
CCF3
CCF3
CCF3
0423
OE73
CCF3
0293
90F3
FCF3
00F2
0373
9C03
CCF3
CCF5
CCF3
CCF3
0332
FE91
00F3
0332
0330
00F3
CCF2
0332
1062
00F4
00F4
4C73
CCF3
CCF3
CCF3
4C73
CCF3
CCF3
CCF3
CCF3
CCF3

FC02
CCOO
E470
6801
E400
0401
E408
2407
E40C
EB82
ECOC
2400
B025
B02C
OOOC
OFBC
E76C
FC05
E406
E400
E40C
E4F8
E4F8
E540
E67D
E421
FCF8
OB3C
E40C
EOOI
E79C
OCBB
EB30
270C
E73C
E47A
C503
8COA
E407
CI32
65EC
E40C
F05A
C201
EC82
658E
5C04
81CO
EEBO
EABC
EEBC
81CO
EF3C
E40C
E40C
E40C
F526

9:28 AM

t~AGE

526

ADDRESS
OC90·

OC94.
OC9S:
OC9C
OCAO
OCA4.
OCAS·
OCAC
OCBO
OCB4 :
OCB8
OCBC.
OCCO:
OCC4·
occs:
OCCC:
OCOO:
OC04:
OC08
oeoc:
OCEO
OCE4.
OGES·
OCEG.
OCFO:

CONTROL STORE
38E5
38E5
3941
ICES
34E4
38E5
7CE5
50E4
38E5
3SB5
ICES
34E4
38EC
3CE3
38E5
3SE5
700B
3SF5
3CEl
70FB
34C5
38E5
2GB5
3944

7lA4
7109
8910
7310
E3l0
7510
7109
F 109
7110
7110
7309
Fll0
3400
6309
7110
7010
3110
710S
3010
3108
6178
7110
70CS
Elll
38E5 7104

CCF3
CCF3
0493
8073
C083
OE43
CC93
CCF3
CCF3
CCF3
8073
CCF4
DC13
84F3
CCF3
CCF3
CCF3
CCF6
CC03
CCF6
4CF3
CC03
GG93
8CFS
cca3

F24F
8077
E700
E400
E400
E40C
oaF4
COlD
E40C
E403
C03A
2800
E40C
C5FF
ESOC
E40D
E2BO
C03E
E40C
C03E
FFCO
E6SC
E79A
270C
F526

38E5
3985
38ES
7CES
50E4
38FS
2CE4
38E3
388C
2CE3
38ES
38EO
38EO
38BS
38E5
70E8
38FS
38CS
38EO
34CC
0083
34EB
38E8
38E3
38ES

7104
7110
7510
7109
FU9
7110
FllO
Sl09
3400
FBOS
6109
3110
5910
7110
7110
BOFS
7508
7178
48FS
2178
8510
3510
Bll0
B109
7110

CCF3
CC8S
OE43
CC93
CCF3
8C73
CC83
CCF3
OB33
FE93
COF3
CCFl
20F6
CC83
CCF3
CC96
OD4S
CCF3
0096
4CF3
DE33
OE93
CGF3
cca3
CCF3

COCA
E40C
E40C
0805
ElAl
E400
EUC
OA07
E40C
E792
8046
E4FC
E4FO
E6BD
ESOC
ES28
C03E
FFCO
ES28
FFCI
EB3C
E400
ES6C
807A
E40C

38E8
SOE4
38FS
2CE4
2CE3
78E5
38EB
38E4
38ES
3875
3901
40E4
3942
38E5
38EO
OOEC
70C8
38BO
70AS
38B3
04E3
34EA
38E8
38E5
38E5

10/ 2/86
B104
F 119
7110
Fll0
7109
7105
1109
Ell0
7110
7168
A910
F 110
E111
7109
0910
8509
B178
FSI0
7110
BSI0
B14S
FI09
3110
7010
7110

CCF3
CCF3
SC73
CC83
CCF3
CC93
CCF3
CCF3
CCF3
8C74
0694
CC83
8CFS
CCF3
7EF3
C082
CCF3
Cl83
CCF3
OE23
CCF3
CCF3
CCF3
CC83
CCF3

F22S
EOOO
HOD
E44C
8071
E793
C02l
E400
E40C
0002
2802
E40D
270C
C422
E6DC
C400
FFCI
OE3D
C280
EB3C
E421
C003
E40C
E40C
E40C

38EO
2CE3
78ES
38EB
3941
ICES
34E4
38EO
38C5
38EO
2CEO
38ES
38EO
38F5
38AS
2CAS
38B5
38E3
3805
38FS
38A8
2COS
38EC
38E5

B510
7109
7105
1109
8910
7310
E309
3109
7110
0905
OE20
7110
0909
7110
7110
6110
7510
FI04
7110
7108
7110
7310
8509
7109

CIB3
CCF3
CC93
CCF3
F493
8073
C083
CC83
CCFl
3A93
02F3
CCF3
08F3
CCF3
CCF3
4C73
0083
CCF3
CCF3
CCF6
CCF3
8003
0083
CCF3

E40C
8071
E793
C02l
E70C
E400
804F
8077
E40C
E792
DCOD
E40C
8075
EF3C
ESDD
EEBD
DE3C
CCD3
EABC
C03E
E60C
E402
8078
8070

9:28 AM

CONTROL STORE

PAGE 527
ADDRESS
ODOO:
OD04
OD08
ODOC.
ODIO·
0014:
OD18 :
OD1C
0020·
0024:

38FO
38E 8
3945
38E5
38E5
38E5
38E5
38E5
38E5
38E5

0909
2105
7511
7104
7104
7104
7105
7105
7104
7110

2A93
BC73
D405
CCF3
CCF3
CCF3
CCF3
CCF3
CCF3
CCF3

DAOA
E400
2700
E34F
E302
F3AF
E4F8
E4F 8
F802
E40C

2CE4
3CE5
38EO
3945
38E5
38E5
38E5
38E5
38EO

F 109
7513
0904
7106
7104
7104
7105
7104
0904

CCF3
0443
0693
CCF5
CCF3
CCF3
CCF3
CCF3
0873

8033
EABO
E313
252A
DFDF
F3BE
E4F 8
F603
F883

38EO
3CE5
38E2
38E5
38E6
38E5
38E5
38E5
38E1

10/ 2/86
3110
7513
0904
7104
3104
7105
7105
7104
3104

CCD3
D463
0097
CCF3
CCF3
CCF3
CCF3
CCF3
DCF6

E57C
EABC
5E97
E2F3
F227
E4F 8
E4F8
F64B
F9DF

34F2
BCEF
38E5
38E5
38E6
38E5
38E5
38EO
38E5

F06B
EB05
7104
7104
7104
7105
7105
0904
7110

CCF3
FFF3
CCF3
CCF3
CCF3
CCF3
CCF3
OAD6
CCF3

C02l
E527
DE22
E2FA
F24A
E4F8
E4F8
F733
E40C

9:28 AM

PAGE S28
ADDRESS
0040:
0044·
0048
OD4C
OD50

10/ 2/86

CONTROL STORE
BCEO
3BFS
0003
flOFA

1010
717S
7512
BllD
38E5 7110

01F3
CCF2
049F
COF3
CCFJ

E400
E860
E4CC
EED3
E40C

60EA
38FS
3945
38E6

Bll0
7S10
7511
B549

COF3
0491
C065
C9E4

E400
ECFC
2700
1802

BCE9
3BFS
2C04
BCD8

3510
712S
3111
5310

C953
CCF2
CCF3
C5F3

E40C
E821
E63C
E50C

38E8
34F4
38EO
38E5

7110
Fll0
0949
7110

CCI'3
CCI'3
OE91
CCF3

E40D
EEOC
COOO
E40C

9:28 AM

PAGE 529
ADORE
0080
0084
0088
008C
0090
0094
0098
009C
OOAO
OOM
00A8
OOAC
OOBO
00B4
00B8
OOBC
OOCO
00C4
00C8
OOCC
0000
0004
0008
OOOC
OOEO
00E4
00E8

CONTROL STORE
50E4
3060
38EF
38F5
38E 8
38ED
3885
48FO
38EB
38E3
2902
3875
3805
34E4
38E5
08AF
38E5
3905
38B5
38E2
58E4
38EO
38EO
28E2
2C85
38F 4
38E5

31.09
E1.79
F!II0
70CO
7HO
7 ;to 9
B78
01128
2HO
7HO
FHO
7!i 10
7179
BIOS
7105
FB10
70BO
7.llA
7010
EI09
B:3l9

3!W9

E 110
01)00
6178
OBA7
7110

OCF3
8C73
F 4F3
CCF2
CCF3
CCF3
CCF3
46F3
8CF3
CCF3
CCF3
OB03
CCF1
8CF3
CCF3
80F3
CCF3
CCFO
CC03
BCF3
ACFl
F863
BCF3
00F3
8CF2
00F3
CCF3

8103
FFFE
EE2C
E40C
E600
C009
FFC1
C400
E40C
E40C
E600
E730
FFF2
E6EB
E6EE
E400
OCOC
2601
E790
8103
FFFE
810B
E790
E900
FFCO
EF9A
E40C

38EO
3942
48AO
2003
38E5
38E5
2C80
3CE2
38FA
3804
3915
3010
2CE9
04E3
38E5
28FC
38F5
38E5
38E5
3960
3049
3505
38F5
38E8
2882
3CE3
38E5

0910
All1
0910
7110
7010
7510
4908
A105
B558
B179
7178
0010
3109
7020
7105
E912
7110
7010
7109
F51D
3511
3110
7110
7110
EI08
6305
7110

08F6
CCF5
46F3
OCF3
CCF3
C083
12F6
AC03
OA54
8CF2
CCF4
04F3
CCF3
CCF3
CCF3
80F5
CCF3
CCF3
CCFO
OE63
OE65
CCF3
CCF5
CCF3
CCF6
84F3
CCF3

E400
240C
OEBC
HOO
E600
EEBO
C03E
E6EB
3FFF
FFFE
77 FE

E60C
COOC
FCOO
E726
ACOO
OED4
E790
8402
EME
2700
OC04
640C
E90C
C03F
E756
E40C

3882
3UFB
3CEO
28AF
3945
38E5
48FF
38F5
34E5
2CE3
3016
28E3
2C14
38E5
38E5
28BB
38E5
38E5
3825
3C80
3CF3
2C83
38FS
38ES
3110
38E!;

10/ 2/86
E178
F828
All0
F910
7111
7109
F910
7110
7110
7020
OB08
7110
B020
7105
7179
3579
7030
7109
7110
4978
5338
7378
7110
7109
0910
7111

8CF3
FEF3
AC73
F2F3
CCF5
CCF3
FCF!
CCF4
OC93
CCFJ
00F3
CCF3
8CF3
CCF3
CCFl
OC43
CCF3
CCFO
CCFO
04F3
C8F4
84F3
CCF6
CCF3
0663
CCF3

FFCI
C400
E400
OF20
270C
8103
EABO
6400
E400
ECOC
C800
E400
E400
E6EE
F7FF
FFFF
OCOO
4028
6400
FFCO
3FFF
FFCO
640C
8100
FEBC
E790

2C80
3D23
38F5
38A9
38ED
38E5
311B2
3D05
311E4
lCEF
2UEB
38E5
ICE A
31125
5820
31lE5
31lF5
31lE5
31125
2C83
3CB8
1880
3!lA5
44E5
31)09
38E5

4908
6219
712A
20Al
3510
7110
A179
7110
Bll0
F8A5
3025
7510
BOB9
70C8
B108
7110
7110
7109
7010
2108
OAC5
EI08
5020
7109
3579
7010

12F6
88F3
CCF4
8CF3
COB6
CCF3
8CF4
CC93
9CF3
EEF3
CCF3
OC63
CCF1
CCF3
CCF4
CCF3
CCF3
CCFO
CCF3
8C97
0004
CCF6
OCF3
COF4
OE63
CCF3

C03E
FFFO
0000
E400
E40C
E40C
3FF5
E6BO
E400
E6C2
EEC3
E40C
C801
FF80
007F
EEAC
OE02
8401
E790
003F
6F7A
C03E
ECOI
4401
FFFE
E400

9:28 AM

PAGE 530
ADDRESS
OEOO
OE04 :
OE08:
OEOC:
OElO'
OE14:
OE18OEIC.
OE20'
OE24
OE28
OE2C
OE30
OE34
OE38
OE3C
OE40
OE44
OE48
OE4C
OE50
OE54
OE58
OESC
OE60
OE64
OE68
OE6C
0E70
OE74
OE78
OE7C
OE80
OE84
OE88
OE8C
OE90
OE94
OE98
OE9C
OEAD
OEA4

10/ 2/86

CONTROL STORE
38E5
3CB5
3875
3CFS
2CA5
lCE8
28B4
28ES
28EA
38E5
38E5
ICES
3880
28ES
28FO
2063
28E2
38E5
2CE2
38EA
38B5
3913
40BB
38ES
OCEO
38ES
38E5
38E4
38ES
38E5
38EO
38F 1
3005
3CB3
3CE3
3880
28AF
2CAS
381'5
28B5
44F3
40E3

7109
7109
7110
7110
411C
Bll0
Bll0
7110
Bll0
6110
6110
628C
4978
7310
0910
7379
0109
711C
0110
ASIO
7149
411C
3510
7110
OBI0
6105
6110
Ell0
7010
7010
5909
3045
7110
7111
7109
FI08
F911
711C
7111
728C
7110
7110

CC03
CCF4
CCF3
CCF3
ECFO
OC73
CCF3
CCFO
2CF3
8C13
8263
BCF3
00F3
F8F3
04F3
F8F3
4CF3
CCF4
4CF3
93F3
CCFl
8CF3
0603
CCF3
20F7
8CF3
8CF3
8CF3
CCF3
CCF3
6EF3
CCF3
CCF3
CCF3
CCF3
7CF7
FCF3
ACF 1
CCFl
FAF3
CCF3
CCF3

81E1
4400
E6BC
E40C
0801
HOD
E720
3COO
E40C
ECOC
E400
ECS4
FFCO
E400
EABO
FFFO
COOS
2808
E40C
E40C
8000
E40A
EA02
E40C
240C
EoAB
ECOo
E40C
EF9C
EF9C
C014
E697
E63C
E62C
C7FE
003E
E6CC
5801
640C
0454
E40C
E40C

38EO
2FFF
34E2
0405
28ES
38E5
38ES
38ES
38ES
28E5
34ES
38ES
2C82
28FS
38E4
2CA4
38BS
3CFS
38ES
08EB
40ES
38B3
3905
3CFS
08EO
28B5
38E5
38E3
38E5
38H
2962
2CES
OCA5
3CB3
3003
3C8S
38A5
28F9
3905
28B5
2CE3
38E5

0910
F910
Fll0
611C
7110
7110
71EF
7110
7510
7109
7110
6110
EI08
7025
EI09
BOCO
7110
411C
7111
3510
7310
411C
7109
7110
4825
7110
6110
5185
7109
1'909
F 110
7109
2109
7111
70A7
7178
C910
3510
7110
7110
7110
7010

2AF6
FE73
CCFO
CCFO
CC13
CC73
CCF3
8CF3
C083
CCol
CC13
82F3
8CS6
CCF4
8CF4
CCF3
CCF3
6CFO
CCF3
0733
FAF3
4CF3
CCF3
CCF3
10F3
CCF3
8CF3
CCF3
CCFO
FEFO
CCF3
CC04
8CF4
CCF3
CCF3
CCF3
0093
0991
CC07
CCF3
CCF3
CCF3

E400
E800
6400
A801
E40C
E400
E406
E400
E40C
COC9
E400
E400
C03F
6SBE
0011
E40C
EA30
0000
EABO
E400
E400
E40B
C004
E40C
E9AF
E400
ECOo
ES07
0032
0009
EEAF
0008
0010
E62C
HSE
FFCO
E6CC
6400
2400
E400
E40C
E400

38EO
28FF
44E2
28ES
28E9
3815
28BS
2805
lCE9
3815
OOES
38ES
38ES
38FO
44FS
38E3
3CEO
28BS
38ES
OCES
44A4
38B3
2CE2
0405
3833
38E5
3CE3
38ES
38E5
38E5
38EO
1C82
3063
3CB3
38EO
2CFO
3CF5
2855
38E5
1065
3CE3
38E5

0910
F910
Fll0
7129
3579
7110
728C
411C
3709
70FF
7110
7109
6110
0847
7308
5110
7Bll
7110
7110
7081'
011C
4108
0110
611C
2108
6113
6310
7010
7010
7010
4909
F178
7110
7111
0909
4910
711C
7110
7110
7llC
7109
7110

26F3
FC90
CCF4
CC33
0173
CCFO
FAF3
CCF3
3213
CCF3
CC03
CCF3
9CF3
161'3
FAFI
CCF3
FE63
CC13
CCF3
CCF3
4CF3
OCF3
4CF3
ACF3
SCF3
8CF3
881'3
CCF3
CCF3
CCF3
3873
CCF3
CCF3
CCF3
28F3
OAF3
CCOI
CCol
8C43
8CF4
CCF4
CCF3

EA3C
2COO
6400
F800
FF02
E40C
OCSS
CADI
COC9
E406
E40C
81EO
E400
E9C7
87FF
ES80
EEBC
E40C
E40C
E406
E40A
C7FE
E40C
EEOI
COlE
ECOO
E400
E790
EF9C
EB90
810E
FFC1
OA2F
E62C
81EO
E80C
BCOI
MOD
CECo
7COO
0010
E40C

3880
3885
3045
38ES
2COB
S96F
28BS
28E3
0405
ICES
1805
3545
3CE5
141'5
28BS
40ES
28ES
410B
3CFS
38BS
1853
3CBF
38ES
38E3
38BF
38E5
1510
38E5
38E5
3940
3CE8
2C80
38B3
3CB3
39C2
2BF3
34E5
381'5
38E5
OCA3
1CE4
38E5

E178
7108
7111
6109
1110
F979
7110
7010
711C
628C
70FF
7111
7311
70A7
731C
7110
7310
3509
411C
708C
6110
8BI0
7111
6110
F8CB
62C5
0909
7109
7109
7511
B509
4908
7111
7111
Ell0
3110
7109
7029
71EF
3110
F 110
7110

BCn FFCO
CCfS C03F
CC7S 270C
ccn CA4C
CCFO MOO
F6F3 FFF9
CC!'3 E400
CCF3 E40C
CCFO 2COO
BC!'3 ECS4
CCf3 E406
CCOS 270C
F8f3 EABC
CCF3 E9C6
FA73 E408
CC43 E400
F8F3 E400
041)3 C004
6C!'3 COOO
CCF3 E8S8
CCF3 0230
001'3 E400
CCF3 EABo
8CF3 E40C
FCF3 COIF
B4F3 E09A
121i'1 E001
CC~O 0007
CCI"O 0034
OAS5 2700
OASI 8013
00:37 003F
8CF3 E62C
CCr3 E62C
9Cr7 6400
CCr2 ECOO
C092 CA40
CCrl 71'02
CCr3 E406
OCF3 E60C
CCr3 E40C
CCr3 E40C

9:28 AM

CONTROL STORE

PAGE 53.1
AOORE
OFOO
OF04
OF08
OFOC
OF 10
OF 14
OF 18
OF lC
OF20

3800
38E5
28E9
BCB5
38E8
lC78
24C3
38F5
38E5

F434
7110
3559
70C5
3129
B022
7047
7510
7505

C183
CCF3
00B2
CCF3
CCF2
2CF3
CCF3
0142
C3E3

F036
E40C
EOOO
E41E
COlO
FOOC
F92D
266D
E4F8

38E3
38El
3A15
38A6
38E5
38E8
38E5
38E5
38EF

FI09
8909
7104
34B4
7024
3110
7510
7110
F904

CCF3
04F8
CCF2
C023
CCF7
CCF3
0143
CCF3
FA93

8165
6001
EC83
C852
672E
E65D
E660
E40C
OA67

38E5
38AO
80E5
386C
3861
lCEB
5070
74EO
38E5

10/ 2/86
7110
0910
7104
0824
F110
7710
8179
OB09
7110

CCF3
A903
CE63
4103
COE7
31A3
CCF5
lEF3
CCF3

E40C
E670
EC82
E69B
65F5
E40C
FFFF
COlO
E40C

3885
14E5
1450
18E9
28E5
5D74
58E8
2CA8
38E5

'7010
7104
190B
1109
'1l04

BIll

6710
A228
7110

CCFl
CCF7
0053
8CFE
C3C3
DCF5
8483
88F3
CCF3

E79C
4COE
C301
1200
E44A
E490
B080
COOC
E40C

9:28 AM

PAGE 532
ADDRESS
1000 :
1004
1008
100C
1010·
1014 :
1018 .
101C:
1020
1024:
1028.
102C:
1030:
1034 :
1038:
103C·
1040 :
1044.
1048:
104C:
1050·
1054:
1058·
10SC:
1060:
1064:
1068·
106C
1070
1074
10 7 8
lf7C
1080.
1084.
10S8:
lOac
1090·
1094
1098.
109C:
lOAD·
10M.
10A8:
10AC·
lOBO
10B4
10B8.
10BC
lOCO
10C4
10C8
lOCC
1000:
1004
1008
100C
lOEO

CONTROL STORE
70E5
38EO
38E5
38E5
4105
40E5
38E5
38E5
3976
38E5
4408
38F5
3976
38E5
3805
3888
3885
48B5
lCE2
lCE2
60E5
2CB5
28E8
38ES
60A5
4CB5
38E5
40A5
2CB8
40FS
3805
2CB2
28A3
38EB
38E8
3A15
3E37
3973
38ES
38E8
38EO
5CES
48AB
48AB
3CF5
38E5
38E5
38BF
38E5
38F5
3A05
38E[
38[S
80E2
48AB
38E8
3005

7109
3190
7104
7104
7007
7000
7105
7104
7125
71F5
FI00
7100
7125
71F5
7100
7110
5110
631E
7000
7000
7110
7110
8710
7129
7118
631E
7110
7110
B510
7110
7110
F025
7108
2795
A445
7110
FllO
6109
7559
AI09
0900
702S
6607
6607
7110
41CS
7510
351E
5025
4110
7111
359S
4110
7110
6607
3110
7030

C2F3
CCF6
CCF3
CCF3
C2F3
CC93
CCF3
CCF3
CCF2
CCF3
CCFl
CCF4
CCF2
CCF3
4CFl
9CF 1
86F 4
OCF3
CCF3
CCF3
C8F4
CCD3
2073
CCF3
C4F2
OEF3
CCF3
CCF3
0726
COF3
8CF8
4CF3
CCF3
8443
98F3
CCF5
CCF2
CCF5
C324
9CF4
OA73
CC03
BF73
BF73
C464
OC33
OB03
OAF3
4C63
BC24
CCF8
0043
3C03
0003
BF73
CCF3
CCF3

EOOE
E5FO
C4EA
C286
E8F8
E40C
E666
C80E
F021
E49B
E400
6406
F021
E40A
E400
A400
6406
FC04
E400
E400
0405
E40D
E4BO
COOO
HFE
F406
E40C
E6BO
E400
E400
E40C
E510
OFFE
E528
EE3E
3FOO
E40C
C008
0003
4008
E5CO
EBEF
EFOF
EFOF
2405
E75A
E5AC
FOBS
CBEE
25A4
26CO
E73E
E40C
E400
EFOF
E40C
0260

2054
70E7
38E5
38EE
28E5
38E5
38E5
38EE
3905
487B
3888
3885
3905
487B
3880
38EO
28E5
38E2
5CE4
60E5
60B5
42CB
38E6
04E5
38A5
38CS
3902
38F2
3CEB
407B
38Al
3CFB
3CB7
3907
34E5
3A15
5074
44E3
38E5
38E8
34EA
38EF
38E7
38E5
38ES
390B
80E2
38C5
38E5
38E5
38BF
38E5
38E5
28E6
3C65
40E5
80E2

Ell0
F310
7105
F5A5
7109
7105
7104
F5A5
70BO
5607
5110
7110
70BO
5607
6110
6110
5310
5000
Bll0
7145
7110
B6C7
7110
6310
7110
7110
F025
F007
3510
6710
F110
3508
Fll0
Fll0
7110
7110
B12E
7110
717S
7110
FlOg
742S
C310
50BO
4110
04C7
7lAO
751E
7lC5
41C5
351E
71CS
41C5
730S
7030
5110
7100

8CF3
F6F3
CCF3
05B3
C2F3
CCF3
CCF3
0203
CCF3
F433
OCFl
CCF4
CCF3
F433
9COl
8CFl
C473
CCF3
OCF3
C403
CC14
B673
CCF3
C803
8CF3
8CFS
CCFl
OCF3
C443
E443
CC07
CC68
COF3
8CFB
CCF3
CCF4
OCF5
CC35
CC73
CCF3
CCFl
OF33
F6FS
C003
3C03
lC03
0003
OAF3
CCF3
OC33
OC33
CCF4
SC13
9CF3
CCF3
02F3
CCF4

E40C
E5EO
E4F 8
E537
E02B
E4F 8
C80E
E4C3
E400
FOOE
E40C
6406
E400
FOOE
E400
OCOA
080B
E40C
E490
E42C
6802
E09F
E4BO
E40C
E40C
240C
E510
E9E3
E40C
EABO
640C
OlFE
ECOO
2400
FCOC
E40C
F098
ACOO
E461
E400
COOS
CAAB
lECC
CS90
E40C
OBEA
E590
FC06
E7B6
E793
FOBS
179A
E7B7
E73B
026C
E650
2807

392F
74F5
38E5
38EE
2004
38EE
38E5
38EE
38E6
3CE5
38EO
38E5
38E6
3CE3
5CA5
5CA5
44E5
5074
24A3
38EO
4C25
3935
38E5
60E5
42C8
38A5
38E8
2CEB
28A5
38E2
3C72
3CA5
38FS
38E5
38B5
3A28
24E3
58E3
6100
44EB
38E7
3995
38E5
38EB
38E5
38EE
28E6
38E5
38EE
390B
38C5
3CEE
390B
18E5
80E2
5572
38E5

10/ 2/86
F002
7000
7105
F510
E11C
F5A4
7104
F5A4
0113
7110
6110
7110
0113
F 110
607E
607E
6210
BIll
7111
0910
5118
7510
7110
7110
A6C7
7010
B510
3509
7110
FIIO
FOFI
7067
6110
7149
7l1E
7110
7140
6110
6B08
1310
3104
4110
4025
0510
4110
3425
B305
7100
B5B5
04C7
751E
7110
04C7
5110
7100
6lF5
7110

CCF3
CC94
CCF3
0573
8CF3
C3E3
CCF3
OFF3
02F2
CC93
8CF 1
CCF3
02F2
CC93
BCF3
BCF3
C463
OCF5
CCF5
06F3
EC22
0643
CCF3
C8F4
F673
CCFB
9783
0783
CC73
CCF6
CCF3
CC73
FC98
CCF3
CCF3
CCF3
CCF3
ECF3
00F1
88F3
CCF3
C2F7
42F3
9C03
5C13
OB93
9CF3
CCF3
OC83
9FB3
OC33
C663
1FB3
02F3
CCF 1
8C73
CCF4

E09C
2580
E4F8
E400
E40F
C283
C80E
E002
FCBC
OCOC
OCOA
E40C
FCBC
OCOO
BC04
BC04
E400
E490
E490
E40C
FHE
FFOO
E40C
00B5
E99E
2400
OCOO
C525
E6BO
E40C
0090
0011
640C
EOOI
E807
240C
E490
E46C
800F
E400
FC50
240C
C3F7
E58C
E400
CB2F
E6BE
E40C
E7l2
OBEA
FC06
E40C
OBEB
E65C
A806
E782
2005

3956
38E5
38E5
3940
38BO
38E5
38E5
38E5
5402
5CB3
5CA5
44E5
5402
5CB3
44F8
38F5
3875
24C3
24C3
294B
3825
38EO
38EO
38B5
3935
38EO
38B5
2CF2
38E5
38F5
2C70
2804
38AS
lE3E
4605
38E5
38E3
38EE
60EF
38E5
08E5
5572
5572
3CFE
38E5
38EE
3AOA
394B
38F5
38EA
38E5
3CE6
38EA
5572
38EF
48AB
38E8

7112
7104
7104
0911
307C
7105
7104
71B4
6174
E072
607E
5210
6164
E072
FlOO
7100
7149
7047
7047
7710
7128
0525
3525
4110
7110
5910
6111
F 110
7110
7025
Ell0
0011
53BO
E3AO
7110
71AO
6110
B549
9CCO
7010
4309
61FS
61F5
7lBO
4110
B510
3511
3579
71BO
35B5
71C5
3110
3595
61F5
3110
6607
3110

CCF3
CCF3
CCF3
54F5
CCF3
CCF3
CCF'3
CCF3
8C14
FCF3
BCf"3
C473
8C74
FCF3
CCF1
CCF4
CCFl
CCF3
CCF3
2081
CCF3
4083
COS3
4C94
CCF3
2473
FCF3
CCF3
CCF3
CCFl
BC93
001'3
F4F8
C8r3
CCS6
CCD3
4Cf3
C324
FEF4
FC73
04F1
8C72
8C73
C664
BC23
OBB3
OBE8
CIF5
CCF4
OBE3
CCF4
C463
OBE3
8C73
CCF 1
BF73
CCF3

F930
C58B
C95A
2700
E54F
E666
C80E
E006
411A
BCOC
BC04
E40C
4127
BCOC
MOD
6406
COOl
F944
F944
E40C
COOl
E42C
E420
68B2
HOC
E400
E6BC
E400
E40C
E511
0080
E6BC
ACOO
OC03
240C
E590
FCAC
3E02
68FE
E40C
4040
E6A6
E6B6
2406
E40C
E580
26CC
3FFE
2406
E7l3
179A
E400
E73F
E766
A005
EFOF
E40C

9:28 AM

PAGE 533
ADDRESS
10E4
10E8.
10EC:
10rO
10F4
10F 8
10FC
1100
1104.
1108:
110C
1110.
1114 .
1118
11lC
1120.
11 24.
1128
112C'
1130.
1134:
1138 :
113C:
1140'
1144 :
1148,
114C:
1150:
1154:
1158 :
115C:
1160'
1164 :
1168 '
116C:
1170 :
1174 :
1178 :
117C:
1180 :
1184,
1188 :
118C:
1190:
1194 :
1198.
119C'
11AO
11A4 :
l1A8.
l1AC:
11BO
11B4
1188.
11BC'
llCO
llC4

CONTROL STORE
38H
48AB
38E8
3C65
4085
48B5
38E5
38E6
38E5
5095
3915
38EA
3CE6
34AC
38E2
38EA
3CEE
08E5
3C25
38EA
38FE
48B5
2CE9
3CE7
38EO
34E2
3CEE
387E
38B5
287B
OOEA
38H
38E7
3409
54E2
38E5
3CE5
38E5
54E2
38EO
38E5
30C5
2CAB
38E5
2CE5
2CE5
38B5
8CE3
38E5
10E5
38E5
38E7
100B
10E5
38E.5
38AS
38AS

3110
6607
3110
7030
6110
63lE
7010
7104
4110
7110
7549
C11C
3025
230E
51A5
3580
7110
5111
70BO
3510
01BO
631E
8510
3113
0919
7110
F110
F510
70C2
5607
Cll0
35C5
4110
B465
61F5
5105
7110
411C
61F5
09109
71C5
7110
6E:07
7105
5:;105
5:;110
70C7
7110
7010
5no
7110
3UO
7E;07
5:110
7110
nlE
7~,1E

CCF3
BF73
CCF3
CCF3
8C77
OCF3
CCF3
CCF3
82Fl
CC06
0104
8CF3
C473
9CF3
4CF3
0323
C673
C2FO
CCF3
0323
lC43
OCF3
15E3
CCF3
40F3
OC93
C673
0404
CCF3
F5E3
4CF3
C6B3
0402
5A13
8C73
C043
C8F3
C2F3
8C79
7204
CCF1
CC92
B047
CCFl
9CF1
9CF3
CCF3
CCF3
CCF3
9CF3
CCF3
CCF3
BOB3
9CF 1
CCF2
OBA3
OBA3

E400
EFOF
E40C
026C
2400
E804
E400
FC50
lE90
E40C
4000
C54E
C003
FC05
E47E
EA90
E400
4400
OCOO
EA90
E4E4
FC04
C5C2
810C
EOOO
E40C
E40C
240B
OCOC
E07B
OCOA
E5B9
C904
E287
E5BB
E78E
OC04
C04E
10FB
0061
FE6E
E400
EEA2
FF7B
FF7B
FCOC
EA7E
E40C
E400
E650
E45C
E440
OF6E
FE5C
EC5A
0804
0804

38E 8
3005
18E5
38E5
4CA5
38E2
38E5
3805
54E2
48E5
4085
38F6
38E5
34C5
38E6
10E5
3CE5
44E2
38EE
10E5
2865
38E2
54E2
38E7
28E8
38A5
3CE6
34E2
38E5
3CE7
34E3
38E5
38EB
8617
48AB
38E8
2CE3
54E2
48AB
38E5
8215
38E5
38E7
38F5
38F5
38F5
8CF5
74E8
3875
39FF
391E
3CEE
38EE
39FF
391E
3905
38E7

3110
7030
5110
6110
631E
5000
SICS
4024
61F5
7110
7110
3110
4110
731E
9185
7305
7100
E106
A110
7305
7310
5000
61F5
C310
97AO
751E
B085
7110
7109
71Al
6310
7010
2425
7112
6607
0595
6310
61F5
6607
5109
7110
7110
71C5
7110
7110
6110
7110
F 110
7149
3512
74C7
7110
7510
3510
B4C7
5180
3110

CCF3
CCF3
02F3
8461
9H3
CCF3
4C63
42F3
8C73
CC93
CC96
CCFl
3C03
5EF3
CA63
9CF3
C473
8CFO
8671
9CF3
9CF3
CCF3
CC73
76F4
F4A3
0423
C473
OC93
CCFl
C493
C4F3
CCF3
9A13
A008
BA53
5743
84F3
8C73
BA53
7C54
CC92
CCF2
CCF3
CCF3
CCF3
CAF3
C8F3
CCF3
CCF 1
OB13
OAB3
C673
OB23
DC63
OC13
5C53
CCF 1

E40C
0260
E65C
A807
F406
E40C
E7B6
C402
E41F
COC3
E500
A409
E40C
FC06
E48A
E453
E40C
88AE
E804
E49A
EE02
E40C
E4FF
2808
EC5C
FOBS
E55B
E40C
C060
E790
E400
E400
EE87
3COC
OA96
E50B
E40C
E5EE
OA96
4040
E40C
OCOC
E66E
E408
E40B
E405
E405
E4EC
COOl
A400
OEC3
E400
E450
A40C
OF 16
FE03
FC46

40E5
80E2
5572
80E2
38E5
390C
38E5
5572
48AB
5555
5035
08EB
OCE5
3C35
38E6
38E2
38EB
34AC
38E5
1145
38E5
3970
48AB
3CEE
38EO
40EE
3910
38A5
38E5
00E8
74EA
38EO
38E7
3975
3CE5
3CE5
38EE
48AB
38E8
8205
8605
3805
3A2E
3875
38B5
38B5
38B5
38E3
48B5
3CEE
38E2
3CE6
38E2
3CEE
390E
28E6
3CEE

10/ 2/86
5110
7100
61F5
7000
7510
3112
7510
6lF5
6607
6110
7110
0710
5111
70BO
3105
5025
0510
230E
7510
7379
7010
3525
6607
Fll0
0905
0310
0910
751E
7105
C113
Fll0
0910
0110
7110
70BO
7110
B180
6607
Cll0
7110
6310
70C5
B445
7710
7510
7110
7510
Fll0
631E
7110
5080
3085
5080
7110
7510
0305
7110

02F3
CCF4
8C73
CCF3
OA93
CCF3
OC33
8C72
B373
CCF4
CC04
5243
C2FO
CCF3
CCF3
5C53
1341
9CF3
0263
9CF3
CCF3
C082
BA53
C673
60F4
C4F3
60F3
04C3
CCF3
4CF3
CCF3
0873
0718
BCFl
C033
C4F3
F028
BA53
4CFl
CCF3
94F3
CCF7
0933
F9B3
09B3
CCF3
OA13
CCF3
OCF3
C673
lC43
C473
1C43
C673
OBB1
9CF3
C673

E650
2807
E7C3
E400
E40C
OB9C
E40C
E413
FCOE
6400
640C
E40C
440C
OCOC
E453
C003
9COA
'FC05
E5AC
FFFF
E400
F020
FE96
E40C
200F
E44C
E450
FOB4
E78F
E79C
E4CC
E40C
4807
A40C
0400
OCOB
A400
OA96
lCOO
E40C
E40C
FEE2
E65F
EE02
OEOF
EA02
EA03
E7EC
0804
E400
E59C
E773
E59C
E400
E5AO
[6EE
E400

5572
38E5
48AB
38E5
5C75
38El
38EO
48AB
3905
48A5
38E5
3CEE
44E2
38E5
3876
28E6
38E5
34C5
3876
38BB
3875
38EB
38E5
3CE6
40E3
38E3
287B
38E5
38EO
40E3
38E3
38EF
28BB
28A5
38E5
2CE3
38E5
38E5
3aF6
2CAB
2CAB
8615
88E7
88E7
38EE
9245
90E4
38EF
38E2
3CE6
38A5
38E5
38A5
3CE6
38E2
38E2
3CE6

61F5
7110
6607
4110
7149
3110
0910
6607
SOBS
6072
7110
7110
E106
6110
Dll0
7305
4110
731E
D110
3510
7149
0579
5110
B085
6310
6109
5607
7109
0909
5310
Bll0
F904
7607
4110
6110
6305
7113
4110
7110
6607
7002
71C5
Fll0
Fill
F511
7110
7110
35C5
5000
3085
751E
7110
751E
3085
5080
5080
3085

8C73
CCF4
BF73
C2F2
CCFl
CCF3
0873
B373
CC53
ACF3
CCF2
C673
8CFO
8671
lC43
9CF3
3C03
5EF3
lC43
C1F5
CCF1
15E3
CC93
C473
84F3
8CF4
F5E3
CCF3
60F3
C4F3
CCF3
C693
BAl3
42Fl
8671
84F3
C028
42Fl
CCF2
B047
6CF3
CCF3
CCF3
CCF3
0983
CCF3
CCF3
C6E3
CCF3
C473
OM3
CCF3
OB13
C472
1C43
1C43
C472

E7A6
2005
EFOF
F400
COOO
E4AC
E5BC
ECOF
E436
FCOO
F40C
E400
8867
E805
OA02
E44F
E40C
FC06
OA02
240C
COOl
FFC7
E400
E54F
E40C
4073
E07B
C040
C073
E400
E7EO
FC50
FE86
4400
E805
E50B
A40C
5E9C
E586
EEA2
FCOC
E66F
069C
0690
0690
E690
E40C
E5AO
E40C
E773
0805
E40C
0805
OF73
E59C
ES9C
OF73

9:28 AM

PAGE 534
ADDRESS
11C8 :
11CC:
1100 :
1104·
1108 :
llDC.
11EO
llE4
11E8
llEC:
UFO
llF4.
liF8:
IlFC:
1200 :
1204

1208
120C.
1210·
1214
1218
121e.
1220:
1224 :
1228·
122C:
1230:

1234:
1238:
123C:
1240:
1244:
1248 :
124C:
1250·
1254 :
1258 :
125C:
1260:

1264:
1268:
126e:
1270

1274.
1278:
127e.
1280:

1284 :
1288
128e
1290 :
1294
1298
12ge
l2AO·
12A4
l2A8

CONTROL STORE
8CE5
38EE
3875
IDES
38E5
38EC
2e78
lCEB
3870
lC7B
lCEB
3870
lC7B
3876
3876
38E5
48AB
38E8
38EO
38E8
3eH
38E 8
38E5
38E5
390B
38EO
100B
38E5
383F
38E5
38E5
38B5
38F5
38F5
38E3
48B5
38EB
38E5
38E5
38F 8
38E5
2CE4
340A
340A
74E8
38EO
48E5
84FO
8C75
3905

3905
38B5

38[0
3905

3905
9AOS
38E5

7111
B580
5180
5310
5085
3510
3109
6110
08C9
6179
6110
08C9
6179
Boe2
FOC2
7104
66D7
CllC
0909
2710
7180
3110
7513

C8F3
0003
5C53
9CFl
CAF2
0003
CC71
ACF3
60F3
ACF3
ACF3
60F 3
ACF3
CCF3
CCF3
CCF3
B533
4CF3
7204
92C3
C673
eeF3
0187
7104 CCF3
0710 llBl
0905 4033
7607 B4E3
7113 CCF7
34C2 03A3
7510 01B3
7110 CCF3
7510 04F3
7110 eeF3
6110 eAF3
Bll0 CCF3
631E OCF3
0509 15C8
7113 CCFO
4110 42Fl
Cll0 4eF2
7109 CCF3
EllO 8CF3
F435 08A3
F435 OC33
F510 07D3
0000 C013
7110 C033
FOOO 0014
531E OCF3
7110 eCF3
7579 0804
7024 ceF3
0909 C2F3
7579 0944
7110 eeF3
7110 ce71
7104 CCF3

040C
E45C
FED3
FE5C
OF72
E66C
e032
E5AO
FFOA
FFCF
E40C
FFOA
FFCF
E800
E80C
FCSO
094E
C94F
4041
E40C
E400
FOAB
COOO
C6E2
E40C
E463
DD3A
COOO
OCOC
E40C
0690
OE02
E40B
E405
E7ED
0804
4049

27EO
5E9C
E587
C008
E40C
E646
[737
CE53
E40C
E66D
2404
E004
E40C
3FFE
CC6F
eOF5
3FFF
[40e
E40e
eClB

90E8
38E6
28E6
39FE
3906
38E8
38E5
38E8
38E5
38E 8
38E8
38E5
38E 8
38EO
38E5
SCE5
38E7
38F6
34E5
38EB
3eE5
3876
38E5
10E5
38E5
3837
38E5
38E5
38E5
38E5
38E5
38E5
38B5
38B5
38Ef
38E2
38E7
3975
54E2
38E6
40EO
38EO
38E5
38E5
4085
3995
38EO
30F5
38E5
38B5

AUO
BIOS
0305
B510
DUD
3110
71A9
3109
6000
2110
3109
6000
2110
0800
7000
7025
4110
7110
7110
2710
7000
0110
5104
S3CS
4110
10C7
7513
7104
7109
4110
7110
7111

2875
38E5
388F
38E5
9808

5077
7104
3424
7104
96BO

7510

7510
35C5
5000
4110
4111
61F5
7113
IBIE
3110

7510
7510

6110
4110

0110
7110

7000

7024
3900 0908
38ES 7104

ECF3
CCF3
9CF3
0083
5C53
CCF3
CCFl
CCF3
8CFl
CC73
CCF3
8CF1
CC73
S6F3
CCF3
CC63
42F 1
CCF2
C2F3
9347
C473
5C53
ee33
9CF3
CC78
CC33
01B7
CCF3
CCF 1
CC78
CCF 1
CCF3
04F3
04F3
C6E3
CCF3
4508
82F1
8C73
ceF 1
EOF3
CCF3
D9E3
0053
ce76
e2F6
CD18
CC74
ceF3
ceF3
4004
CCF3
ECF3
eeF3
0833
CCF3
FAD3

E80C
E71F
E71F
A40C
EA02
E40C
COF6
C092
E80D
E40C

con

E800
E40C
E40C
E40C
C13E
SE90
E586
E400
COOO
E580
EED3
C6E3
E53F
276C
DCBE
COOD
C6E2
C060
276C
FCOD
DI!I9C
DEDF
EA03
E5AD
E40C
48B5
A40C
E58E
540C
EC08
E40D
E400
E400
E400
E40D
0800
2406
E40C
eC6F
001F
eelB
EEH
ce96
CC6F
CC2S
C003

2CE5
38E2
38E2
40E5
38A5
38EO
38E8
lC7B
3876
38E6
lC7B
3875
38E5
3876
38E8
3917
54E2
38E5
38A5
38E5
38E2
38A5
38E5
38E5
38E5
38E7
38E5
IDES
38E5
38E5
38E5
2CE5
38EE
38E5
38E5
38EO
38EA
54E2
48AB
5CE5
38E5
38E5
340A
38E5
4eA5
54E2
38E2
763A
3905
38E5
38B5
38EO
ICE 8
3900

38E5
3905
3A05

10/ 2/86
5310
5080
5080
7085
751E
0910
3109

6179
EOC9
7000
6179
60C9
7000
30C2
3110

0065
61F5
7113
7108
7104
5000
711E
75C5
7510
7104
7109

7104
53C5
5104
7104
7104

5310

F511
7110
7010

C532
lC43
lC43
CC72
0063
60F3
CCFl
ECF3
8CF3
CCF3
ECF3
8CF3
CCF3
CCF3
eCF3
82F3
8C73
CCF1
CCF3
CCF3
lC43
ceF3
0283
0183
CCF3
CCFl
CCF3
9CF3
CC33
CCF3
CCF3
9CFl
04F3
CCF3
CCF3

0909 0878

8110 4CF8
SlF5 8C73
6607 B533
7104 CC63
6023 8293
7110 CCF3

F435 09E3
7510 DEA3
631E 9EF3
61F5 8C73
5000 OCF3
FllO CCF3
7108 CCF4
7104 CCF3
7024 CCF3
0909 82F3
B710 B903
0908 4154
7104 CCF3
7579 OA14
7110 eCFl

FCOB
E59C
E59C
OF63
0854
E40C
COFA
FFEO
FF07
E5AO
HEO
H06
E40C
E80C
EseD
C13F
E432
·540C
COOE
e6E2
E590
0805
E53F
E40C
C7EF
C061
C6E2
E53F
C7BE
C78F
C77A
FCOD
0690
E5CD
E400
0041
08B6
E582
094E
e9E3
ECOO
E40C
E6E6
E400
F667
E603
E40C
E40C
001F
celB
CAOF
COBS
E40D
001F
eC18
3FFF
E40D

100B
38A5
38A5
38E6
38E5
lC7B
38EO
38E8
38EO
38EO
38E8
38EO
38EO
38EO
38EO
54E2
48AB
38E5
38EB
38E7
38EE
38E5
38E5
38ES
38E5
38E5
38E5
38EO
100B
3A07
38F5
38ES
2eE5
34EA
3875
38E5
38E7
48AB
38E5
38E5
38E5
38E8
340A
34DA
4CE5
48AB
38E8
8C78
38B5
38E5
3905
2875
38E5
38BO
9408
3885
38E5

7607
751E
751E
Bll0
7110
21A9
0910
2110
0800
0910
2110
0800
0910
0800

BOB3
DC63
OC63
CCF3
CCF3
ACF3
80F3
CC73
A4Fl
80F3
CC73
A4F'1
40F'3
SAF3

61FS
6607
5109
2625
7105
B110
7000
7113

8C73
B533
CC44
0233
ccn
CCF2
CCF3
CCF7
ee33
D3F3
CCF3
0303
4033
B4[3
CCF3
CCF3
ceF3
9CF3
CCF3
CCFl
C003
CCF3
B533
CC43
CCF3
8CF3
CCF3
0893
DF03
C038
B533
OC:13
Dcr3
ccr3
ceF3
eCF3
Ecr3
ccr3
6163
fA93
eer3
eeF3

0979 0674

5110

75C5
7104
75C5
0905
7607
7045
7110

7104
5310

Fll0
7149
7104
3105
6607
511C
7105

6109
3110
F435
F434
7110
6607
COBO
131E
7024
7104

7110
5077

7104

0824

9680

7024
7104

OF6E
0805
0805
E45C
E5CO
C021
E59C
E58C
E80C
E400
E40C
E80C
E59C
E40C
7FC7
E426
D94E
0060
EC83
E52A
OCOO
E40e
COOD
E400
E53F
C7BF
E53E
E463
DD3A
E516
E408
C77A
FCOC
E40C
COOl
FC51
E42C
094E
C94E
E60F
E4EO
E40C
E70F
CC3F
F400
094E
CCOC
EC04
CAOF
ce2B
E40C
EE6E
ce2B
eAOE
e002
eC6F
ce28

9: 28 AM

PAGE 535
AOORESS
12AC:
1280 .
1284 :
1268 :
12BC:
12CO:
12C4.
12C8 :
12CC:
1200:
1204 :
1208.
120C.
12EO.
12E4 :
12E 8:
12EC:
12FO:
12F4:
12F8:
12FC
1300 :
1304.
1308 :
130C:
1310:
1314
1318:
131C:
1320 :
1324 .
1328.
132C:
1330 :
1334:
1338:
133C:
1340 :
1344'
1348:
134C:
1350:
1354.
1358'
135C
1160 .
1364
1368
136C:
1370.
1374:
1378.
137C
1380
1384
DR8

1J8C

CONTROL STORE
3905
38E5
38E7
38E5
38E5
3885
38B5
3608
3915
380F
38E5
5C05
38FS
48AB
5CE5
38E8
3AOF
6100
3905
34E5
3905
38E5
3813
3C45
3875
38E5
38E8
340A
38E5
38B5
38E5
38F5
38E5
38E7
38E5
60EB
3805
3908
3915
3805
40E5
3905
38EO
3CAO
68DA
34[3
3812
74EA
60[ 5
70E5

75j'9
71 'J4
3109
7104
7104
70;'4
70;~4

F5J.0
75j'9
74;~0

7104
70;'0
6HO
66D7
7104
CIllO
7UO
2608
7HO
40;!4
7110
71;'5
FHO
71llE
SUO
6109
31lL0
F4:l5
7104
71W

75 J.3
6HO
70110
3104
7109
2310
74<:5
6508
7109
70:!0
7104
71 ~I A
r3F5

~ 0:30
F.1CO
70 l.i.
(j~J;Jl

f 41'<;

5305
Ii IlO
~ ~R5 75.10
2C,\2 851D

5:OA) 2647

74£7 FUO
615<; 7110
2qn F 1115
5369 2647

OA74
CCF3
CCF3
CCF3
CCF3
CCF3
CCF3
OCAI
OC64
0043
CCF3
OC63
CAF3
B533
CC63
4CF 1
CCFl
0004
CCFl
CC33
CCFl
CCF3
CCF1
C473
5C53
82F3
CCF3
03F3
CCF3
CCF3
C1Fl
CAF3
CCF3
CCF3
CCFl
C8F.3
01B3
9444
CCF8
CCF3
C003
CCF4
0096
CCF3
CEF3
CAF3
'JOF 3
D683
':'463
Acn
C066
F764
M93
CA91
CD68
C06A
fAB3

3FFF
CC2B
C073
CC96
CAOF
CC6F
CAOF
E400
7FFE
EC04
CC6F
EC04
E405
094E
CC6E
1080
E400
401E
E400
C9E2
E400
E460
E79C
0994
EE02
E62A
E40C
E518
C99F
EA02
MOC
E405
E400
CC6F
C060
E5AO
E4C3
401E
4041
E400
CC6E
3EOO
E528
E5C3
E79C
E79C
E90C
E528
E610
F8AC
240D
3CAO
F948
38AO
A40C
6683
FAAB

38EO
38E5
987B
3905
3608
38E5
3905
38EF
3900
3905
3900
3908
38B5
38E2
4105
5CE6
40E5
3865
38E5
3915
38E5
3803
3803
38E2
28E6
2CE4
340A
340A
38EE
80EF
38E5
3865
3A1F
38E7
38EO
38E6
38E5
3905
38E5
3905
80E5
38E5
70AB
68F2
38F3
3CE2
4065
68E8
5074
5465
5074
58B9
3805
5CA9
1997
3995
5615

0910
7105
5607
7108
F510
7104
7110
7110
1908
717A
1908
F57A
7110
5110
4112
7104
7110
6024
7104
7110
7104
F110
F510
5000
0310
E109
F435
F435
F511
7149
7110
7110
3510
7104
0909
F104
7104
7108
7104
7110
7104
7110
3510
2All
7045
F510
7110
F529
B12E
62A7
612E
2647
7510
2628
FIA5
61AS
70CO

08F3
8C73
F683
CCF4
OBF1
CCF3
CCF4
CCF3
0094
CCF4
0094
9E54
CCF3
OCF3
62FO
CC63
CC73
CC93
CCF3
CCF3
CCF3
CCF1
C071
1C43
9CF3
8CF3
0263
04B3
0213
C473
CCF3
CCF3
02Fl
CCF3
6093
CCF3
CCF3
CCF3
CCF3
CCF8
CC03
CCF3
0623
0093
CCF3
C9E3
CC13
06Cl
OCF2
9CF3
OCF2
E493
C075
E523
C06S
4072
CCF3

E400
E602
EEE2
001F
E40C
CC2B
640C
E40C
001E
3EOO
001E
3EOO
EA02
OE9C
440C
CC6E
E400
CC6E
CC2B
E400
CC2B
E790
A780
E40C
E40C
C013
E4B7
E536
069C
COOO
E5CO
EAO'2
E40C
CC6E
C073
C77B
CAOF
ClEO
CC6F
640C
CAOE
E40C
E6B6
E60C
E679
E5CC
E902
COOl
F099
F048
F099
F948
E40C
EOOI
E663
E692
FCOO

34E8
38B5
38E5
38B5
38EF
3915
38B5
40E5
38B5
38E5
3485
38EE
4105
38E5
54E2
3905
38E5
3888
3915
3885
3915
38E8
3C45
38EE
38E5
3800
340A
38E5
2CE5
2E05
38EE
38E5
38E5
38EO
287B
38E7
3905
38EO
60EO
38E5
3905
40E5
2CE2
70CB
38E 1
0590
5415
6065
2483
39A5
2483
3905
5074
SCEO
2927
1969
4955

10/ 2/86
A710
7024
7104
7024
7110
7579
7024
7110
7024
4110
7024
F511
4112
511C
61F5
7108
7104
B425
7579
7024
7579
7110
718E
8110
7000
3007
F435
7104
5310
6310
F511
7110
7104
0904
5607
C304
7104
091E
2604
7104
7108
4104
F179
6025
3010
3525
71ID
6307
7140
7110
7140
7510
B12E
60F5
FIA5
1510
6072

8B43
CCF3
CCF3
CCF3
CCF3
OC04
CCF3
CC73
CCF3
FCF3
CC03
00E3
A2FO
FC53
SC73
CCF3
GCF3
9F83
OF24
CCF3
OFA4
CCF3
C673
9C22
CCF3
GCF3
0303
CCF3
9CF3
8473
02A3
GC03
CCF3
4093
F253
B6F3
CCF8
08F3
0093
CCF3
6003
FC33
CCF3
ECF3
DCF3
C084
eC05
e463
CCF5
eCF6
CCF5
C075
OCF5
eC73
eOF9
9A61
ACF3

E400
CC6F
CC2B
CAOF
E40C
7FFE
CC6F
E400
CAOF
E40C
CAOE
069C
880C
C94F
E7A2
COlE
CC2B
E70E
7FFF
CC6F
7FFE
E400
0804
OCOC
E40C
EC6F
E4C7
C9E2
FCOC
E4FB
0690
E4EO
CC2B
CCIA
EC97
CC2B
oe6E
EC08
CAOE
CC6F
CI01
CC6A
FFDO
E729
E40C
242C
4009
E41C
E490
240C
[490
E40C
F098
E,)29
266F
640C
f9EO

3Al5
38E5
3905
3905
4115
3905
38E5
38E 5
3905
40[5
3905
2CE5
54£2
84FO
48P,B
34EIA
38E5
38E5
34E5
38E5
38E5
38EO
38£5
38£8
40£0
38£5
34C'A
38EA
38F5
3Al5
2CE5
38£5
38£5
38C'F
34E5
38fF
60EO
38£B
3905
38£5
38£B
38E5
74FA
38£1
3CF4
39P.7

38C8
60E5
39115

3584
70E8
30€'5
24E3
3!iA7
18E 7
747' 8
6167

5110
'7104
7579
'7110
'7110
'7108
'7104
'7104
7110
6104
7024
!5310
ISIF6
1"110
6607
1"509
'7104
'7104
,~024

"7104
H10
B575
,~OOO

:3110
OBI0
'7110
F435
;3510
6110
7110
5310
'71C5
'7104
34C2
5109
:3510
:2B04
:2110
7104
7104
2420
7104
1'510
3513
1'020
1'820
7108
6305
6179
3110
8113
5247
7140
F lAS
DIAS
FSI0
F100

CCOI
CCF3
OB24
CCF4
CC73
CCF4
CCF3
CCF3
CCF3
8C33
CCF3
98F3
8C73
CCF2
B533
OE04
CCF3
CCF3
CC33
CCF3
CCF3
C183
5C13
CCF3
1E93
CCF3
0323
0103
CAF3
CCFO
9CF3
CCF3
CCF3
0353
EC93
01B3
0003
BCF4
CCF8
CCF3
9533
CCF3
05F3
E073
CCF3
FEF3
CCF6
C883
CCF5
CCF3
CCFl
E093
CCF3
C06S
8069
OA8S
COF3

E40C
CC1B
3FFE
640C
E40C
001F
CAOF
CC2B
E40C
CC6A
CC6F
FCOO
E786
E406
094E
0040
CC6F
CAOF
CC6A
CAOF
E40C
E46C
E580
FOAB
E400
E40C
E4F6
E400
E405
2CF2
FCOC
E5AC
CC6F
OCOO
C200
E400
CAOF
6G02
4AOF
CAOF
ECOC
CC6F
EEBC
EEOC
EB93
E800
41FF
E410
3FFF
E400
FCOC
F025
E490
665A
7A76
E40C
E40C

9:28 AM

PAGE 536
ADDRESS
1390
1394
1398
139C
13AO
13M
13A8
13AC
1380
1384 _
1388:
13BC
13CO_
IJC4:
13C8
13CC
1300
1304:
130S
IJDC
13EO
13E4:
13E8
13EC
13FO
13F 4
13F8_
13FC:
1400
14041408:
140C1410:
1414
1418_
141C
1420:
1424
1428142C 14301434
1438
143C _
14401444
1448
144C
1450
14'>4
14')8
14".C
14bfJ
14;;4
141; g

1 .4 r~

l.

1470

10/ 2/86

CONTROL STORE
4959
68BA
38FO
38FO
58F9
58F9
1559
3855
JAJ5
2967
28E7
75A9
lC83
3905
54E5
3CE5
3805
00E5
04E5
2885
00A5
30Cl
38E5
2CA5
0405
3900
38E8
2082
74EO
74EO
74EO
70EB
70E2
38E5
002B
38E5
28EC
38CS
3841
28AO
3SAO
3885
44A9
lE05
3862
38E5
8207
J 8fi2
3C55

2647
F11D
9110
9000
1710
1710
1710
7110
7110
F3A5
F3A5
F510
711C
7512
7003
7113
7110
7110
7110
72SC
7108
3105
7109
5110
75lC
3526
A110
C5lD
OB04
OB04
OB04
3578
89lC
7110
3425
41F9
2109
7110
3158
08A4
08C5
7104
9405
7225
5104
7113
F026
5104
70S0
~HAr)
7020
50lHr 6111
<1 (115 631E
~·48r n 111
4 "A c , t : ~ J. r

FAB3
CCF3
FCF5
FC74
OAE4
OAD3
OAC3
CCF5
CCF6
F691
F691
OBEl
CCF3
C525
CC05
CC85
CCFO
CCC3
CCC3
F8F3
CC03
CC23
CC91
OCCO
CF53
C083
7CC4
OF80
EOF3
Cl48
8168
C3E3
OOF!
COM
0533
3CF3
8073
CC04
4CF 1
OEF 1
08F 1
CCFl
0941
8408
7CS3
CCF2
0008
7C53
C6F3
CCF3
ACF4
9CF3
ACF2
!lCF3
OlJ ')f) - l U feF3
04L 5 7 I 04 CC73
38F', 70BD CCF3

EEAF
E902
6400
ACOC
240C
E40D
E40C
A40C
6400
E6FB
FAFA
E800
E550
OCAC
OC8C
EOSC
A40C
E400
E40C
E455
807E
E77B
C201
A790
C3CO
E420
02BC
680A
OBOB
9803
960E
7FE7
705E
640C
E54F
8006
8002
6S06
IFFE
OOCF
E553
DOE7
0017
2537
9007
FE9C
2S37
910B
E7lC
E57C
2550
EC05
ES5C
ECOS
E93C
5178
C989

4925
38EE
58EA
5959
60BA
2CE5
38F5
9CE5
3A25
38A5
712B
38E5
3578
5094
5578
2CE2
3S28
38El
38E5
JOCI
0818
0025
441E
38E5
3805
ZOOB
38El
38E1
74EO
74EO
74EO
38A6
38E4
60El
555F
00E5
280C
lC9A
1850
28A5
10A5
38FE
10E5
8097
3870
1005
389F
1095
3848
38E5
28E7
38E5
28E7
38E5
38A5
3805
08CA

2CF3
C843
BCF 1
OAF3
CCF4
CCCl
CCF5
CCC3
C525
4CF4
OCA1
CCF3
CCF5
OCFl
CCF3
OCB3
CCFO
4C03
4C13
CC23
CCF3
CC04
CCF3
8C03
C073
0083
C073
OCF3
COF3
8168
8168
00F3
BCF8
CCF4
CCF3
8C73
AC72
0043
50Fl
CCF1
CEFI
0421
CEF3
0003
0863
CEF3
C093
CEF3
8CF3
C073
FCF3
CCF3
FCF3
CCF3
7CFO
CC38
7111
FII0 CCF3

5112
B410
All3
1710
B118
7003
7000
7110
7505
61BC
35A5
7010
31E6
B160
3047
B510
7110
2010
6010
3110
308E
7108
7l1E
7010
7510
7607
3711
301C
OB04
0804
OB04
FOA5
6110
F009
F002
6110
21EO
0010
0824
70A5
7104
F5CO
5110
FIFO
0904
70C5
F9FO
7084
BI00
7510
9110
7000
9110
7000
4110

F80C
E400
EAAC
E400
5EOO
DEAD
ECOC
E400
6525
654E
E6FA
E400
E708
E460
FBOA
E440
27SC
E40D
E40C
E400
E459
07FF
E40S
E40C
E7AO
F020
C2BC
EOOI
0058
9403
960E
EOF9
240C
3FC6
F990
E5CO
FE9C
E553
0107
E553
911B
E507
E40C
E552
00E7
OE52
ESS2
0142
EAOE
E400
E400
E40C
E400
E40C
C809
261C
ESA8

3A17
58E9
18F5
38FO
40AC
3950
38E5
9A55
7577
6155
3407
5054
5075
24E3
5CE2
3S15
0015
3805
38E5
3885
70E5
04B8
28B9
38E5
74E5
3815
3CF8
3905
38ES
74EO
74EO
28E9
38EO
04E5
3926
40E2
30E5
44EF
28AO
2840
3841
38CO
28A5
14E 4
38FE
2 BA5
14E4
28A5
3841
OC3E
0001
1865
18E 1
050B
28C5
38EC
2CEO

F9E8
1713
7408
9110
3168
9110
7110
7110
F3l0
7105
F228
B172
70AE
7110
Bll0
7110
7110
7110
7110
7110
6510
8269
931C
7509
7309
6108
4710
7510
7104
OB04
OB04
B727
3110
7105
7112
7104
7103
F979
08A5
097A
310A
0900
611C
7104
FSCO
511C
7104
611C
3110
7110
FI10
7110
FllO
3465
4104
E919
0009

FEF6
C491
OB06
FC72
CCB3
FC73
CCF3
CCB2
F6Fl
CC91
F6F3
OCFl
CC74
CCFl
CCF3
CCFO
CC13
CCFO
CC93
SCFO
lE03
04F4
F8FO
OEC3
F694
5CC6
9F06
CIFO
CCF3
8168
8168
00F2
C008
CC63
CCF3
8C53
4072
0674
12F 1
14F 1
FCFl
2091
80F3
CCF3
0461
80F3
CCF3
80F3
CCF3
C273
C2F4
C273
C2F2
0913
4C74
0138
6043

81FF
OEAC
41FF
ACOC
EIFE
E40C
ESCO
A400
FOOC
EAFB
C007
OC6C
3C9S
E880
BOOO
E40C
E40C
640C
E40C
6780
E40C
7COl
6445
C055
0005
CIFF
E40C
240C
019A
9403
960E
E821
67EO
E420
E930
017B
EE90
7F 80
E553
2001
2001
E5C4
E850
0005
E505
E850
010A
E850
E60C
ES5C
2402
E550
FC02
C6SE
515A
E060
8009

38A2
38F5
5959
18B5
44E5
58F9
3A95
3A45
28B7
4557
54EE
34A5
24E3
24E3
3960
3835
2CEl
0425
70E5
38A8
28B5
40EB
3090
3805
60AA
00E2
3CFA
38E5
74EO
74EO
74EO
38EE
3827
4109
08E5
3C27
OOFI
28AO
28AO
28AO
3870
3SEF
28B5
10E3
10C5
2885
10E3
2885
74EO
5C77
5575
SC75
5575
555F
3800
3480
3800

0901
7000
1710
7000
6203
1600
7110
7110
F3A7
F3A5
B4F5
7002
7021
7161
F407
7110
3010
7105
6510
7110
728C
3510
4010
7105
B4A4
CllO
3510
7110
OB04
0804
OB04
F545
7110
8465
7104
71C7
3100
0824
08A4
08A4
0911
F913
511C
7110
7100
61lC
7110
611C
OBI0
31FO
5110
71FO
5110
F002
7110
7110
0880

OOFl
CCF8
OB03
CCFl
C4Bl
OACS
CCF5
CCF4
F692
F691
OC53
CCF3
CCF:!
CCFS
COD
CCFO
ceOJ
CC2:!
lE02
CCFO
FAFJ
OEE2
OOFl
CCF:I
C4AJ
CCFJ
OFEO
CCF3
C12a
8168
8168
C08:!
COlE
9953
CC7l
C4F8
EOOII
0463
12Fl
20Fl
085:1
AOF2
8043
CCFl
CEF 1
8043
CCFI
8043
20F:J
CCF4
8CO:!
CCF2
8C93
CCF:!
8CF 1
CCFl
026]

E50D
6400
E40C
240C
OEAC
ACOC
E40C
A400
E6FA
EAFB
E528
F 8SC
EC9C
EC6C
ES10
579C
E400
E74E
E400
2780
E457
E580
E40C
E74E
FCOI
E400
240C
E40C
96E3
945A
9C02
E420
A400
C256
0158
2487
55CS
0107
OOCB
0107
E40C
FE9C
ECOI
25EO
E5C4
ECOI
25EO
ECOI
E40C
2553
ECOF
E553
ECOE
F990
A40C
2400
E59C

9:28 AM

PAGE 537
AOORESS
1474:
1478 :
147C:
1480 :
1484 :
148S:
148C:
1490:
1494:
1498,
149C:
14AO:
14A4:
14AS'
14AC:
1460:
1464,
14B8:
146C'
14CO:
14C4:
14CS,
14CC'
14DO:
14D4'
140S'
140C'
14[0:
14E4:
14E8:
14fC:
14FO:
14F 4'
14FS:
14FC'

CONTROL STORE
38FF
189C
8039
14E7
38E 1
7450
1046
44E3
38E6
28E6
AOE5
34A5
2C65
28B5
AOA5
94E5
AOE5
34A5
38E5
95C5
2CA5
94A5
34E5
2CA5
3515
2CAS
2CE5
3SE5
2CAS
34A5
2CA5
351 'i

F900
3512
A5I0
9194
0179
OA24
S919
5110
7104
3510
7110
7104
7310
7110
6310
7110
7110
7104
7104
6310
7110
7104
7104
7110
7104
7310
7110
7104
7110
7104
7110
7104
206~, 7110
288<, 628C
38E) 600C

EOOI
F7C3
9960
ACF3
4CF3
40F3
0041
OEF3
CCF3
09A3
CCF4
C002
5592
C069
0499
CCF3
CCFl
C082
4C53
0161
C079
CCD2
C063
CCD4

con

5488
CCS9
CCF3
CD42
CD62
CC04
CD92
CCFA
MF3
82F4

E40B
E930
E853
OlEA
EOOO
022E
3601
E790
OB66
E570
6800
03EB
E400
MOO
6400
E40C
BCOO
03EA
026E
A50C
E400
03EB
03EB
640C
D3DE
6440
6S40
D77E
E40C
D3EB
640C
D3DE
2450
ECSS
6COO

38C4
lC90
11lE
3E06
7470
8CAl
3SE5
74EO
38E6
38E5
9CA5
2SE5
3A05
2CE5
B4A5
9CA5
34A5
28E5
3A55
3265
1865
2CE5
2CA5
A4E5
28BS
3905
lDOS
90AS
34E5
2CAS
A4E5
38B5
3SA7
3SE5
38E5

7100
OB12
F026
7111
OA27
10C4
71M
OBI0
3104
7585
7104
7109
7004
7109
7300
7110
7104
7109
7110
7110
7104
7110
7110
7110
7105
7110
7110
7104
7104
7110
7110
6005
91S5
6000
7110

8CFl
lEF3
4E44
CC78
80F3
OC43
CCF4
20F3
CCF3
C6C3
CC02
CC03
4084
C073
5159
CCF4
C072
CC03
CCF8
C039
C09A
CCD4
CC04
CCF3
CC74
4C89
CC8A
CCD2
C053
CCD4
CCF3
SOAB
FC72
SCF3
CCF3

E400
E800
660F
261C
EE37
0236
523F
E4CO
OB67
E5B8
03EA
S03C
53EB
SOlD
E40C
640C
03EA
803C
E400
240C
177F
6800
640C
E40C
26C2
244C
244C
D3EA
03EB
640C
E40C
E71A
2703
ECOD
E40C

04E8
3875
2893
3SES
2S78
2SE2
10F5
38A5
38E5
60El
2CE5
3515
28E5
lSE5
30E7
98A5
2CA5
3515
28E5
2CA5
90E5
9CE5
AOE5
34A5
A3F5
2CA5
2CAS
2CA5
2CA5
AOES
34A5
MF5
1SE5
3916
38ES

10/ 2/86
FS09
711C
71BO
7509
B56B
0919
7110
7020
7100
0005
7110
7104
7109
7104
F200
7104
7110
7104
7110
7110
7110
7110
7110
7104
7109
7110
7110
7110
7110
7110
7104
7110
7104
71FF
7110

07A3
COF3
CHI
07A3
0801
0043
C644
CCF3
CCF3
00B3
CC04
CC62
CC03
CC02
F6F3
CC02
CC04'
CD92
C043
C058
CCF3
CCF3
CCF3
C082
CCF3
CC8S
CC89
CC04
CC04
CCFF
COS2
C081
CD93
CC93
CCF3

8004
OCOI
65AC
8008
6001
E201
640A
E57C
E59C
E647
6800
030F
803C
030E
E40C
03EB
640C
03DE
E400
MOC
E400
FCOO
E400
D3EA
8101
E44C
E40C
640C
640C
E400
D3EA
A40C
D77E
E406
E40C

1875
28B5
3A3S
4070
10E3
344S
3835
38E5
60E4
98E5
A4E5
SOBS
3515
98B5
3905
2CA5
ME5
18B5
3805
1505
98A5
2CA5
34A5
28E5
9A6S
lSCS
3805
98E5
9CE5
34A5
2SE5
38AO
3SE5
BEES

7110
GHC
7110
7178
2913
B402
70CO
7510
OBI0
7110
7110
6310
7104
7110
7104
7110
7110
6310
71E5
7110
7110
7110
7104
7109
6310
7110
7035
7110
7110
7104
7109
0910
7l1E
628C

OCFl
8091
CCFl
SCF 1
0043
0803
CCF3
C073
00F3
CCF3
CCF8
9407
CC62
CCF9
CCFA
CCD4
CCF3
9567
CCF9
COS9
CCF4
C052
C072
CCD3
9488
CC89
CCF3
CCF3
CCF3
C072
CCD3
OA79
CCF3
BCF3

E4SE
ECOI
25BO
EOOO
E79C
ECOC
E400
E400
E580
E650
3COO
640C
030F
2660
177F
640C
E40C
25CO
675B
A40D
65EO
E400
03EA
803C
A44D
A44C
E7CB
FCOC
E40D
D3EA
803C
E40C
E40S
ECSS

9:28 AM

PAGE 538
ADDRESS
1500:
1504 :
1508 :
150C:
1510:
1514.
1518:
151C:
1520 :
1524:
1528:
152C.
1530:
1534:
1538:
153C:
1540 :
1544 :
1548'
154C:
1550:
1554:
1558 :
155C:
1560 :
1564:
1568:
156C:
1570 :
1574:
1578 :
157C:
1580:
1584:
1588:
158C:
1590:
1594:
1598:
159C
15AO.
15M'
15A8:
15AC
1560
1564'
15B8'
15BC
15CO
15C4
15CG
15CC
1500.
1504:
1508.
150C
15EO

CONTROL STORE
38A5
38E5
BCD5
38E5
2205
1805
34E5
ACE5
3875
39B5
3AC5
BCE6
2095
20BB
3AC5
BE05
B8E5
74EO
38EF
227B
38E5
8E05
38E5
21B5
389B
21BB
9655
30El
8CE5
38E5
21B5
2CE5
38E5
38E5
B4E5
B208
75BS
28B7
2095
3AOE
3 SEF
2097
2091
38E5
3A05
18El
38A5
~806

J9f5
JCA7
6405
38E5
3875
A4E7
2865
3AB7
A5B5

74C5
6104
70B9
7104
7106
4110
6304
7104
7110
71F7
74B5
7109
7185
370B
74B5
7110
6310
OB09
7109
2310
7110
7110
7110
7111
3185
1311
702F
FBI0
7110
7110
7111
70A5
7509
7104
7104
F510
71BO
0110
7179
7179
3510
B3A5
B3B~

5110
7105
3104
74C5
7024
4104
FILE
7104
7426
5024
7309
70BC
7004
7l0B

C089
4DFA
CC73
FC63
COE3
ADF3
48CA
CCD3
CDEI
CCF3
0783
C273
CC83
7813
05C3
C273
8SE3
lEF3
CCF3
C8F2
8073
CC03
8033
C801
8CF3
89El
CCF3
H53
CC03
8033
CCOI
CC83
0203
COE9
CC9A
05C3
CC91
EC73
CCD3
CCF3
0773
A883
A883
FC73
CCF3
FCF3
C089
C063
OC76
CC93
CCFl
OCB2
FCFF
E003
C183
COE4
CCF3

64F9
5E3A
C005
DA03
A51B
DBOF
lODE
OE82
E95C
A973
E4B3
8113
ACBE
8112
E4F2
A50C
E400
C019
C800
E400
FCOO
093C
FCOC
A650
A176
A5AO
E407
FCOO
E400
FCOC
E6S0
00E6
8113
0002
9E63
A40C
E400
E40C
BFEO
BFFE
E570
AEA7
BE9B
E40C
A6H
OF63
24F8
D14E
DE3A
0005
9E63
1'1'92
026E
8010
E450
5EDB
8113

38EO
7408
B4A5
38EA
60EE
28E5
lC65
BCDS
39BO
38E5
38E5
39BO
3805
3AB6
38E5
28EB
38E7
20BB
60E7
9657
3905
8611
2015
2085
38E7
3877
28B5
3905
8615
2CES
3885
38E5
38EO
38E5
B2BS
B20A
38EE
2087
1087
3807
38E5
38E5
75BA
20E"
39B5
20E5
080F
3827
38E7
38E5
3401
38EB
38A7
B5E7
2FF5
38EF
28A5

0904
F510
7110
951C
7B04
6105
71A4
70B9
090B
7105
7105
1911
7105
7104
7105
3510
9110
270B
6304
302F
60A9
F02F
7060
7110
3105
3106
728C
60A9
702F
70CO
7110
7105
08CO
7104
7104
F579
B510
B31C
0110
30B5
7104
7110
1'510
B310
71El
7313
F809
3024
4109
5025
0312
0713
E224
F304
7105
3510
71A5

3E99
0111
CCFl
037B
FEB3
ECC3
COBA
CC73
OA63
CCF3
CCF3
1291
CCF3
CCF4
CCF3
0443
BC63
B813
C4B3
CCF3
C083
CCF3
C043
CAF3
CCF3
CCFl
FB53
C083
CCF3
C043
CCF4
CCF3
OA63
CCFA
CC43
0783
DA21
A483
EC73
CCF3
CCF3
CCF3
0611
E883
CC02
8402
C673
CD93
3C93
FC73
04F2
1043
B6F3
F6F6
C093
OBA3
CAFA

0003
A7CC
El50
104F
DF73
E41B
OE23
FFFC
8110
E4CB
E4B3
MOD

A4B7
5EOA
E4F2
E400
E450
8113
OF62
E407
FFEO
E407
E400
E406
E606
E507
E456
FFDF
E407
E40C
2446
E606
E660
100E
OE8E
BHE
BC4D
EC40
E400
E6C6
DF62
E40C
E5EC
E450
E40C
FD3C
FFF2
D14F
8112
OF22
E44C
E5FC
02C3
030E
A772
E57C
2773

34£5
B4E5
38A5
389B
BCE5
38AS
38ES
B4AS
38EA
39B5
BEC8
38EB
74EO
38E5
BEC8
39B5
2095
B8EB
A4E5
28B5
3645
28B5
34E5
2CE5
BCE5
A4E5
28A5
3645
28BS
34E5
38ES
BCE5
38E5
lC6S
AHS
77FA
2095
3895
2081
2205
2096
2095
3A05
38E5
3965
3898
38E6
38E5
55B2
3CE5
OOEF
3869
8CE5
28BE
28B5
38ES
28E5

10/ 2/86
6304
7104
70BO
35E5
5025
74C5
6104
7110
9S1C
7S0B
F4B5
1513
OB09
7104
F4B5
7110
7186
3110
7179
728C
7000
728C
6200
6311
7110
7110
6310
7000
728C
7000
7113
7110
7000
71A4
7104
F 110
7179
6109
B31C
7110
F 179
7179
7185
7113
7184
Al85
7104
7104
410B
7110
F979
1425
71A4
BllO
728C
7104
6104

48CA
CCFA
CCF3
0783
CC91
C089
40FA
CCFl
027B
0353
07E3
0321
1EF3
CCF3
0623
CCFl
CC83
CCF3
CC91
F953
C093
F913
C553
8483
C273
CC93
0163
C093
FB13
C053
BAOI
C2F3
CCF3
COBA
CCOF
C2F3
CCD3
CC83
A483
COE3
CC03
CCD3
CCF3
FCF 1
FC73
8CF3
CD33
CCF9
4COF
CC83
F876
OED4
CCF3
CCF3
F793
CCF3
8063

lODE
9E63
EICB
999B
9CIA
64F9
SE3A
ElS0
104E
8110
E59A
OCSC
C019
OF62
ES2A
A44C
A506
E400
BOOO
E457
E40C
E456
E40C
E450
E650
E40C
E54C
E40C
E457
E400
OCSC
E65C
E40C
OE23
9E82
FD4C
BFEO
801C
EC40
A40C
BFEl
BFEO
A67F
004C
OF63
9ED6
DB67
5DOF
C113
E45C
8200
6697
D31A
E40C
E453
D14E
059A

3865
AC65
3875
38E5
lCA9
38EO
B405
38EO
3800
3806
lCEB
38E7
2CEB
3B06
lAOB
207E
3A06
3AB7
9CE5
2CA5
2E35
2CE5
60EO
38A7
38EC
9E75
320E
2E35
2E05
38ES
2l0S
38AC
38A5
OOES
B7EB
2CE7
3880
38EE
2C95
3AB5
38E7
38E7
1961
2091
3AOE
38E1
3876
3860
3522
38A2
20E8
9665
94A7
28B5
20BS
3820
19B5

51A4
7104
7110
7510
06A7
0904
7104
08BO
19E5
SIAS
1710
9113
2709
01A5
1710
B025
0105
3104
7179
7108
7110
7110
8004
9110
3509
7110
F310
7110
7110
7104
7110
3511
74C5
7104
1710
FI09
0910
B509
71BS
7104
0109
0110
3110
B3B5
35F5
3104
30A4
B9A4
611E
7105
6510
71M
3104
742F
7106
19M
5107

COSA
CCOF
CDEI
0443
B5B3
3E99
CCFl
04F3
12F4
C3F4
B263
BC63
B813
C3F4
F 103
CCF3
FC73
CCF4
CC03
C064
CC92
C023
00B3
BC62
0661
CC02
f"73
CC92
C023
CCF3
CC02
04Al
C089
CC6A
38E2
FCF3
0443
09Cl
CC83
CCF 4
FC72
FC73
FCF3
E883
OB53
CCF3
C053
E6FA
8C03
6C02
OC03
CC91
CCF4
00A3
C083
1474
81A3

DE22
5E82
E1SF
E40C
CSlB
0003
9E63
E80C
252B
24AA
E400
E44C
COOB
24EB
A400
E513
A4FA
5EOA
EOOI
401E
E400
E40C
OF3B
2COB
9HE
E40C
A40C
E400
A40C
OF3B
2843
E400
64F9
5E3A
E790
8131
E40C
4010
9663
5EOA
COlE
E40C
ACOC
AABB
AE07
DF62
OB67
DE22
E9D5
2717
E440
9B36
5387
E407
8113
152B
9F73

9:28 AM

CONTROL STORE

PAGE 539
ADDRESS
15E4:
15E8:
15EC:
lSFO:
15F4:
15F8:

3981
3515
2CE5
28E5
2CES
38ES

3!i08
7:l04
H05
7Jl09
7Jl09
7Jl10

DDC3
CC82
C073
eC03
C083
CCF3

8114
D3DF
E77F
803C
803C
E40C

A285
2CA5
9CE5
34E5
4485
38E5

731C
7110
71A4
7110
7104
7110

EOD2
CD99
Ce63
eC84
CC02
CCF3

E400
E40C
0837
7COC
030F
E40C

84E7
2CE5
A285
8517
2CAS

10/ 2/88
F304
7109
7110
F304
7110

F8F3
C083
CC02
F6F2
C079

D3EA
8010
E40e
030F
840C

281E5
HIES
3e65
2C:A5
2C:AS

7109
7104
7004
7110
7105

CCD3
CCD2
C054
C099
C089

803C
D3DE
53EA
E40C
A77E

9:28 AM

PAGE

CONTROL STORE

5~0

ADDRESS
leOO:
1604:
1608 :
II1DC:
1610:
1614:
1618 :
161C:
1620:
1624 :
1621:
162C:
1630:
1634:
1638:
163C:
1640:
1644:
1648:
l64C:
1650:
1654:
1658 :
USC:
1660:
1664:
1668 :
166C:
1670:
1674 :
1678:
167C:
1680:
1614:
1688 :
168C:
1690:
1694 :
1698 :
l69C:
16AO:
16A4 :
16A8 :
16AC:
16BO:
16B4:
16B8 :
16Be:
16CO:
16C4 :
16C8 :
16CC:
1600:
1604:
11108 :
16DC:
16EO:

38A5
4007
3880
38B5
AOC5
6005
3804
1865
2055
38A5
4285
28B5
38E5
2CA5
38B4
3955
95B5
34E5
44BS
2C05
3BF5
85F5
31.35
4467
38A8
2CB5
38B5
30C5
2885
2885
2095
38B6
390C
941.5
44B5
3BOO
80ES
35E5
1485
AOE5
A635
126B
4247
39B5
4443
3AD5
4111
54EO
28E8
38E5
6000
38El
2E35
8CE 1
60El
38A5
ABA5

7DC5
8025
OBA8
7109
7104
71E4
E84B
731C
7110
7512
702F
70lC
6195
7110
E905
7111
71E6
7510
711C
7110
7110
7l1C
711C
BllC
A178
6110
6110
7000
7000
7000
7105
3110
2994
7104
711C
1904
7110
7110
711C
7104
7104
711C
BIIC
7110
7110
7110
811C
0800
3110
71EF
8C20
3105
7110
BODO
0005
7425
7104

CD88
OCF3
2534
C024
CC06
C3E4
2063
F6F3
CC93
OB03
CCF3
C2F4
C094
CC04
2091
CCF3
CC91
0604
CC44
C019
8CF3
C018
CCF 4
EC63
8CF3
82F3
82F3
CC64
CC64
CC84
CC83
8CF3
0091
CC97
CCF3
0003
DC47
CCFl
CCFI
CC93
CCe4
CCFl
CD04
CCF3
CCF3
CCF3
FCF4
OEF3
CCF3
CCD3
OOBO
DCF3
C073
FD33
00B3
C6D3
CCBO

E4F9
EIIFF
2437
0005
OE82
159A
C012
E400
CBIC
E60C
E406
'451
'40'
'40C
A5CB
CBI0
A512
840C
2801
240C
C8 1 C
A9C~

6800
E600
EOOO
E80D
E40D
640C
6400
6400
A9DF
E80C
99AA
0983
E801
99AA
91GC
11400
FCOO
0912
1912
2COl
6ADl
E400
E6DD
A40C
6400
E40D
E570
E7C7
E400
E410
E40C
E40C
E6F6
E5AD
9F3A

5CE5
54ES
OOBA
IIOE5
54A4
OOEF
2CE7
21B5
S4E4
6265
28B5
9E75
340B
AOE5
A4E5
4405
90E5
38B5
2C8B
38ES
31.45
38E5
8623
5554
3B38
38B5
2CD8
38E5
31E4
1085
34E5
4485
32E5
2CES
2A3S
2CDS
14ES
IE48
4455
3185
3885
lIAS
38E5
2CD3
1083
380S
40A5
3835
38E3
28B5
38E5
A287
2E4l
60E4
60E4
60El
38E5

7108
4184
B708
7109
41BO
F8F4
BIOS
731C
4110
71AS
728C
702F
3579
7105
7105
711C
7109
7DCS
2425
7110
711C
7105
711C
4111
2110
6110
2108
6179
E910
71E8
7104
711C
7110
8104
711C
7110
7169
711C
711C
7110
7110
7110
7190
7110
7110
7000
7110
70CO
8105
428C
7105
811C
BI1C
0810
OB10
0004
7110

CC47
ICI9
7004
CC4C
ICFB
DA7C
ECFC
F6F3
8CF3
C3E4
F4F3
CCF3
0353
CC93
CC93
CCF3
CC83
CCDI
94C2
8CF4
CCF9
CC04
CC94
8CF3
C2FC
82F3
12F3
CC81
2091
CC91
CCF4
CC44
C003
8C63
CCFl
C039
CCI2
CCF9
CCS8
8CF3
8CF3
DC63
DCF4
CCF3
CCF3
CCF4
CC94
CCF3
CCF3
7AF3
8C13
EDI4
FD43
00F3
00F3
00B3
CCF3

5FFF
DBSII
0004
DOSE
A400
D52B
E497
E40C
E40C
24AF
E45C
E407
BFFE
E583
E582
0801
8111
A9C6
ES33
3CDC
2801
8407
2801
C810
E803
E40D
COIF
1200
240C
A5E7
5983
2801
E55F
D9C7
ACOO
A40C
E948
2800
E800
E80D
E80D
E40D
2800
E8DC
E6DO
2400
240C
E400
E41C
C055
E41C
2401
E400
E570
E570
D14E
E40C

31E5
310F
2COO
4125
BOE7
A407
3959
28B5
34E6
2E7S
2910
28B5
38E5
38B5
38B5
28BS
38E5
9BOS
31EO
9CES
3915
4405
2FF3
3501
38E5
2C05
31ES
38E5
38E5
88E5
2CDS
2CE8
44E5
88E5
85F7
38EE
38FO
14ES
9CES
4485
4488
31£5
1583
40E3
3503
38ES
1181
38ES
381.5
2881
3821
2E55
2C05
38A5
38AF
3A15
38E5

10/ 2/18
4104
FA4B
084B
531E
F30S
704B
1509
731C
FI0S
702F
OBOS
708C
708E
7110
7110
731C
7023
7105
1969
7105
511C
711C
7110
811C
6110
6101
711E
70EF
70EF
7109
60C4
2309
7180
7104
811C
3110
1910
7110
7104
711C
711C
7110
711C
71FS
7510
7110
811C
7110
74C5
3110
30CD
7110
70A9
7025
3425
70C8
7110

42F8
ED73
04F3
lCF3
FIIF3
CCF3
D40F
F6F3
CCFC
CCF3
lE93
C293
CCF2
8CF3
8C91
EOF4
FCFl
CC93
0002
CC97
ICF3
CCF3
CCF3
FC93
82F3
82F3
CCF3
CCD2
CC02
CC93
IC63
I4F2
CDl8
CC93
COli
8CF9
0003
OCS3
CC93
CC43
CC43
CCF3
CC48
CCF3
0803
CCF3
FC48
CCF3
C083
CC90
CCF3
C093
CD53
CCF3
C8A3
CCF3
CCF3

5E02
COOl
C039
0104
E4SA
C009
C006
E40C
E513
ES06
ECC2
E451
E451
E80D
A80D
2600
984C
AS82
E948
E982
E801
0801
CBI0
EIIOI
E801
CIEI
E408
E407
E407
1111
D9C6
C8EA
E40C
0883
2801
7COC
C81C
E80C
0912
E800
EIOI
ECOD
EIOI
E8F8
E8DC
E40C
E401
E79C
E4F8
A40C
E802
E40D
FFF3
E763
E777
FFEI
E40C

ICES 7104
0067 FI0S
31AS 7105
3145 7044
OOAF F910
3A75 7105
3145 7445
28BE B31C
2EE3 60BO
28B5 708C
A285 702F
2015 7110
28B5 708C
4485 711C
B8E7 FIC5
28E3 7105
2095 7105
3885 7110
3902 0905
3880 8905
3905 611C
21.45 711C
44E3 71B5
2863 7510
2CD5"6108
2CB5 6110
28B5 S28C
2885 528C
2885 528C
38E5 7023
90E5 7104
38E6 7109
38E5 7110
3885 7110
38E2 0989
10AC 3110
3802 0904
3885 7110
2CES 8104
3884 E904
1885 7110
lASS 711C
1075 7110
3955 7510
38ES 7310
lCD7 811C
lA81 811C
74EO 0810
38A6 4110
2CEB 2310
3805 7025
2C61 BI1C
3905 7000
38E5 7595
70EO OF 85
38E5 7000

COB8
4CF4
COll4
CCF3
C643
CCDI
0033
F683
ICF3
C184
CCF3
C[)83
CCF3
CC43
CEF3
CCF3
CC83
8CF3
0081
EA43
8CF8
CCFl
CCF3
0803
12F3
82F3
3AF3
3AF3
3AF3
FCFl
CC93
CC03
8CF8
8CF3
0092
CC49
0093
8C53
IC63
2091
DC63
CCFl
CC93
0873
CCF3
EC74
Fe6A
20F3
8C92
UFO
CCF3
F061
CCFA
C6E3
04F 3
CCF3

8ES2
2437
2436
OE22
E55C
A873
E506
E~OD

E40F
6450
E507
E400
0850
E800
E55A
E6F7
A90B
E80D
ASA8
E986
ECOO
AEOI
E6F6
E60C
DEDI
E800
0855
0855
0855
914C
0982
803E
FCOC
E800
E948
2400
99AA
E40D
D9C7
99CA
E40C
ECOI
E80C
C81C
E40D
2400
E401
E4DC
E40D
3D7C
E410
A401
240C
E581
E5B8
E40C

9:21 AM

CONTROL STORE

PAGE 541
ADDRESS
1700:
1704:
1708 :
170C:
1710:
1714:
1718 :
17IC:
1720:
1724:
1728 :
172C:
1730:
1734:
1738 ;
173C;
1740:
1744:
1748 :
174C:
1750:
1754:
1758 :
175C:
1780:
1764:
1768 :
176C:
1770:
1774:
1778:
177C:
1780:
1784:
1788:
178C:
1790;
1794;
1798:
179C:
17AO:
17A4 :
17A8:
17AC:
17BO:
17B4:
1788:
17BC:
17CO:
17C4:
17C8 :
17CC:
1700:
1704 :
1708 :
170C:
17EO;

3SA5
61E5
lC75
2CA5
3SC5
3BF6
9EB5
ACC5
3846
38E7
39CO
3AE5
3AE5
8455
45B5
38E5
38E5
38E8
3880
3900
38A7
98A5
34EF
20A1
ACE7
3905
2095
38EO
3895
4109
54E5
39E5
54E5
39C5
38E5
38E5
34EA
38E1
80EA
38E5
BIC5
20F7
38F5
3915
1878
38B5
38E5
21F5
39E7
20E5
3AFO
3S01
38A5
60E4
74EO
ACE2
39C5

741:5
7104
7104
71.10
601~B

F1M
7110
7510
F 1/~4
01.10
19t)5
7105
7105
71,LO
730B
7104
7109
95:L3
19:LO
19:LO
F109
7HO
F9ll3
B3llC
7000
7HO
7109
0913
8188
84a5
6110
7110
6110
7HO
4UO
70CID
CU3
E8"IC
FOEIO
5110
7110
All0
5110
52CB
A712
70C7
70A5

7113
311 0
71S5
OSCO
3110
70CB
OBI0
OBIO
7030
6110

C089
COAO
ACOI
C291
83E3
COFF
CCF2
0614
COF 4
BC62
4EF 1
OC93
OC93
CC78
F503
CCF3
CCF3
9431
3874
6674
BCD3
CCF9
FC92
6483
CC93
4C27
CC63
169F
CC83
9033
8C83
C047
8C73
C057
4262
CCF3
CCF7
01C3
CCF6
OC73
CC93
ACF4
8A64
B6F3
BCF3
CCF2
CCF3
CC93
FCF2
CC73
186B
CCF3
CCF3
00F3
60F3
CCF1
8CF3

64F9
9E3B
1FBA
640C
COlO
959B
2848
240C
159A
2400
E59A
ASIA
ASIA
A40D
8112
OF62
8113
980C
255C
2553
8187
2400
E451
08,40
E5BC
E40C
8016
8450
BOB3
C34E
COSO
A402
C550
2403
CE53
E40C
E40C
COOE
EA50
E400
E850
285C
8805
COlA
E030
2B3F
EEEB
E590
E5BC
E70B
OC02
ODB3
C012
E570
E57C
C25C
E40C

38E5
3AB5
1047
BlEE
38C5
3865
AOC5
41C5
3865
2095
39CO
38A5
8C55
386E
3BA5
3B61
3B50
3A05
36F5
3AF5
890E
AOA5
2005
3875
2CA5
39F8
20E5
2095
3805
3805
48EB
3865
48EB
3875
392F
5555
B4E5
2CEA
38EC
3915
2CEO
38EC
lCB2
38A5
3C65
60E8
389C
30F5
B4B7
391E
2CEE
3865
3BA6
38AF
74AO
38E7
38AB

7104
7110
0020
F110
7179
70B4
7110
7104
70B4
73A9
1905
7104
7024
B510
7110
3110
091C
7505
71E5
71E5
F510
7110
7109
6185
7110
3110
7179
7110
7110
7024
81FO
7110
61FO
7110
8510
5105
7080
Cl13
1100
7110
7109
3509
70C8
7110
7105
3110
3510
6310
F245
FIAO
BI09
7000
7110
3425
OA25
C311
24C5

CCF9
CCFO
ECF3
CC06
CCFB
CCF3
CCF2
CC06
CCF3
C883
66F1
CCF4
CC53
038A
COEO
CCF7
1064
0383
CCF 4
CCF4
0472
CCF9
CC63
CC83
CDBA
8007
CCF2
CC63
CCF3
C023
ACF7
C083
ACF7
C093
0803
80BA
CF03
4CF7
8274
COA8
8C73
0413
CCF3
CCFF
CC82
CCF3
OBC3
C891
F6Fl
CCF3
CC01
CCF3
CCFO
C6A3
40F3
76F!
OE53

0002
240C
E500
E40C
FFFC
05FA
2848
OE83
05FA
8024
E59A
159B
DB7A
2400
A40C
A400
640F
A69B
655E
855E
2453
6400
8110
A563
E400
6400
FFE5
A80C
AE60
OF63
8953
ECOC
0153
ECOC
E400
FE2E
CCOO
640C
4802
E662
8113
8133
COlE
E790
26BA
E400
ACOO
E805
AB16
FE1C
8019
EE02
2400
E75F
E41C
ECOO
E797

38E5 '7104
B5F5 7110
08EO 08CO
AEB5 7510
AOC5 7104
BOE5 7109
A4C7 7110
3BE5 71C5
3AFO 0911
3005 7107
3AE5 7105
3AE5 7105
9F55 711C
39B5 710B
3B47 7104
3B75 7110
3895 7110
BAF5 7111
3900 1910
3900 1910
90A5 7110
08A5 5000
2075 7110
38E6 7110
09C5 7110
38AO 0910
2867 A31C
2305 7110
38E6 FIIO
3828,3024
18E9 9111
48BF 53 IE
lCE9 9111
48B5 531E
5559 A607
38E7 C309
39FF 7110
38EO 0880
38E5 6111
3915 5042
2907 BIOS
39BF F90B
3911 3110
38EE 3513
4095 5310
B9B6 7110
20E5 7223
3805 7110
36F3 5310
lC7F FB78
3CE6 7lAO
38E7 3105
3867 7424
38E5 7595
38A5 7020
3905 71BO
ACE2 7110

10/ 2/86
CCFA
CCFO
06F3
0613
CC06
CCOB
CCF2
CCF3
2691
CC83
OC93
OC93
CCF4
CCF3
CCF4
CCF7
CCF8
CC06
4E74
7E74
CCF8
OCF9
CCF 1
CCF3
CC47
1693
A483
CCF1
CC83
C033
2CF7
9CF3
2CF7
OCF3
0803
B697
C077
IFC3
9C74
C2F3
ACF4
E08B
OC64
9B21
8883
CC03
85El
CCF3
C4FB
E071
C493
CCF3
0043
C6E3
CCF3
CCF3
DOB3

lODE
E40C
C800
E400
OE82
8186
2848
E4F7
A40C
AC93
ASIA
ASIA
654F
8113
5EOA
E400
240C
E65C
2553
2553
6680
E40C
FC50
E660
A400
A65C
0840
004C
E440
OF63
A05C
0004
205C
0005
FA36
OFFE
E407
C400
6COC
OCOC
289A
4113
840F
OEI0
BE8C
E65C
9840
ECOF
OC42
EOOO
E66C
E752
OB56
E5Bl
E400
E400
E400

3805
3SAD
281\9
3S[)5
B0417
98E5
BOC6
B3F7
381;F
39CO
38A5
38A5
A4E5
3875
38EF
38E5
381:5
3411F
3M'S

36f'5
94115
34£6
21J.5
38E:5
B51:5
IF,'7
3895
28Eil
3BEi5
39,'5
18E5
3978
ICES
38E5
38E5
38El
38E8
390·8
B1BA
38E8
39E5
34E8
3CE5
18E5
28A6
45E2
38E5
B8EB
38E5
60E9
38E8
70EO
38E7
60El
38E5
3C7S
1CEF

51A4
0904
3710
5179
F3C5
7109
7110
F311
F909
1905
7104
7104
7110
7104
3510
7110
7110
F825
71E5
71E5
7110
7110
6310
7110
5310
F110
61A6
A31C
7000
4110
5110
0110
5110
7000
70CO
E9B9
3110
3110
F035
3110
8110
F113
5310
7310
7310
7027
6105
2310
7113
FI09
0110
OF10
7110
0010
7510
E309
F979

CDBA
4000
BCE3
32FB
F664
CCF3
CC02
F663
FC03
36F 1
CCF4
CCF4
CC69
CCF8
OCE3
CCF6
CC82
FE94
CCF4
CCF 4
CCF8
COB3
94F4
CCF3
15C7
9C77
CC83
A483
CC87
C2Fl
4C68
42F1
4C79
CCF3
CCF3
0107
CCF9
CCF7
CCF3
CCF6
CCOI
CCF2
888F
E483
E4F2
CCFl
8C03
C5EB
CC9!
C2F!
SOF 1
OA63
CCF3
00B3
C073
C891
F877

DE22
5F72
01C2
FFFE
245B
8180
2809
EF9C
8112
E59A
159B
159B
A800
1572
E40C
E40C
a45C
2542
855E
655E
E40C
9E50
704C
E40C
240C
E45C
BOC6
0840
A590
2400
E5FO
240C
25FC
E40C
E660
5FFE
A400
8407
E878
E80C
EE9C
E40D
E80D
E850
245C
AEF2
E6EA
E400
9930
801B
9S0E
E40C
E580
E40C
E400
C004
7FFF

9:28 AM

PAGE 542
ADDRESS
17E4:
17E8:
17EC:
17FO:
17F4:
17F8:

CONTROL STORE
30C5
38E5
38f.E
38E6
3AB5
38E5

6305
7505
FOCO
AOBO
7111
7110

C897
OEC3
CD63
CCF3
CCFA
CCF3

2386
E7B2
E6SC
CCOC
E8lC
E40C

3808
3808
:t8E6
3C75
1CEF

9028
9028
0000
6309
F979

CCF3
FC73
CC23
8891
F877

EOOl
C1E1
E400
C004
FFFE

38E5
38E5
3AB8
39E5
30E5

10/ 2/88
7505
7505
C110
8110
8305

OEC3
OEC3
IC73
8CF3
C8117

E7B2
E7B2
E610
E400
A3CE

3808
38E5
39F5
2CEB
38E5

9028
5110
8110
34C5
7110

FC73
FC73
9C73
OE53
CCF3

OEOl
E40C
E650
EB97
E40C

11:28 AM

PAGE 543
ADDRESS
1800:
1804:
1808:
lBOC:
1810:
1814:

CONTROL STORE
38E8
2CB7
:JCEE
2CE8
38El
38EF

7110
011C
BI09
9111
30CO
7510

CCF3
42F3
CC93
ECF3
OCF3
C6E3

E40C
C54E
COIF
E79C
E800
E7EO

3970
54E2
3CB5
38El
3400
38E3

3525
61F5
71AO
3105
OOOA
5010

C082
8C73
CE91
FCF3
lA71
CCF3

F020
E423
E804
E44A
C019
E40C

38E5
48A9
38CE
34EF
390E
38E5

10/ 2/88
7179
A062
3510
FB09
BOBO
7110

CCF3
ACF3
OOEI
E093
CCF3
CCF3

FFC8
FCOC
E805
COlA
E4CC
E40C

2CIE9
381E5
341E0
2ClE8
381E5
381E5

8510
7504
0009
9113
5110
7110

1123
0073
lE73
ECF3
CE73
CCF3

C003
CI0F
COlA
E790
E4CO
E40C

9:28 AM

READER COMMENT SHEET
Computer Systems Division
HP 3000 Series 64/68/70 Computer Systems Microcode Manual

30140-90045 Oct 1986
We welcome your evaluation of this manual. Your comments and suggestions help us to improve our
publications. Please explain your answers under Comments, below, and use additional pages if necessary.
Is this manual technically accurate?

Are the concepts and wording easy to understand?
Is the format of this manual convenient in size, arrangement, and readability?

Dyes 0
Dyes 0
Dyes 0

No
No
No

Comments:

This form requires no postage stamp if mailed in the U.s. For locations outside the U.S., your local HP
representative will ensure that your comments are forwarded.

FROM:

Name
Company
Address

Date

-----

FOLD

FOLD

111111

NO POSTAGE
NECESSARY
IF HAILED
IN THE
UNITED STATES

BUSINESS REPLY MAIL
FIRST CLASS PERMIT NO. 718 CUPERTINO. CALIFORNIA
POSTAGE WIll BE PAID BY ADDRESSEE
Publications Manager
Hewlett-Packard Co.pany
Co.puter Syste.s Division
19447 Prunerldge Avenue
Cupertino. California 95014
FOLD

FOLD



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2011:04:05 16:55:02-08:00
Modify Date                     : 2011:04:05 17:33:08-07:00
Metadata Date                   : 2011:04:05 17:33:08-07:00
Producer                        : Adobe Acrobat 9.42 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:29bd61ad-ce30-4c69-93ae-f6867d2e6186
Instance ID                     : uuid:b8d51d0f-5e24-4a2e-8fa3-fade8c48e99d
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 552
EXIF Metadata provided by EXIF.tools

Navigation menu