DEC 12 AQZA D_FPP_Assembler_Users_Guide_Apr71 D FPP Assembler Users Guide Apr71

DEC-12-AQZA-D_FPP_Assembler_Users_Guide_Apr71 DEC-12-AQZA-D_FPP_Assembler_Users_Guide_Apr71

User Manual: DEC-12-AQZA-D_FPP_Assembler_Users_Guide_Apr71

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

DownloadDEC-12-AQZA-D_FPP_Assembler_Users_Guide_Apr71 DEC-12-AQZA-D FPP Assembler Users Guide Apr71
Open PDF In BrowserView PDF
mamanmo

FPP
USER'S GUIDE

DEC-12-AQZA-D

FPP

ASSEMBLER

USER'S GUIDE

For additional copies, order DEC-12-AQZA-D from Program Library,
Digital Equipment Corporation, Maynard, Mass.

01754

Price: $3.00

First Printin9, April, 1971

Copyright

(9

The
for
and
out

1971

by Digital Equipment Corporation

material in this manual is
information purposes only
is subject to change withnotice.

The following are trademarks.of Digital Equipment
Corporat:ion, Maynard, Massachusetts:
DEC

PDP

FLIP CHIP

FOCAL

DIGITAL

COMPUTER LAB

OMNIBUS

UNIBUS

CONTENTS
Page
1. 0

Introduction

1

2.0

Hardware Requirements

1

3.0

Statement Syntax

1

3.1

Tags

2

3.2

Expressions

2

3.3

Comments

4

4.0

Arithmetic and Logical Operators

4

5.0

Instructions

4

5.1

PDP-8 Memory Reference - 1 Word

5

5.2

PDP-8 Operate and IOT - l Word

5

5.3

FPP Memory Reference Format 1 - 1 or
2 Words

5

5.4

FPP Memory Reference Format 2 - 2 Words

5

5.5

FPP Index Register Format 1 - 1 Word

6

5.6

FPP Index Register Format 2 - 2 Words

6

5.7

FPP Operates

6

6.0

Literals

6

7.0

Links

8

8.0

Data Specification

8

9.0

Pseudo-operations

8

9.1

=

8

9.2

OCTAL

9

9.3

DECIMAL

9

9.4

PAGE

9

9.5

BASE expr

9

9.6

TEXT

9

9.7

END

9

(equate)

9.8

CHAIN "name" unit

9

9.9

ORG expr

10

9.10

LITORG expr

10

9 .11

LISTON

10

9.12

LISTOF

10

9 .13

EJECT

10

9.14
10.0

IFnnn (conditional assembly)

10

Referencing Memory

12

11. 0

Using the Assembler

13

12.0

Exiting from the Assembler

13

13.0

Example

14

14.0

Internal Description

16

14.l

Program Labels

16

iii

14.2

Op-Code Handlers

17

14. 3

Mei jar Subroutines

17

14.4

Important Switches and Variables

19

14. 5

A!:;sernbly of FPPASM

20

APPENDIX A

ERROR MESSAGES

APPENDIX B

DETERMINING THE NUMBER OF SYMBOLS B-1

APPENDIX C

SUMMARIES

A-1

C-1

C.l

Character Set

C-1

C.2

Operators

C-2

C.3

Pseudo-operations

C-3

C.4

FPP Symbols

C-4

APPENDIX D

SYSTEM FLOW CHARTS

LISTING
INDEX

iv

D-1

1.0

INTRODUCTION

The FPP Assembler, designed for the PDP-12 Floating Point Processor,
translates PDP-8 and floating point mnemonic operation codes in a
source program into binary codes in two passes, the first to assign
numeric values to symbols and place them in the symbol table, and
the second to generate the binary coding and program listing.

Using

the FPP-12 hardware, an entire set of floating point instructions can
be implemented for quicker calculations and expanded capabilities.
Numeric values can be calculated as 2 word integers, 2 word double
precision fractions, or 3 word floating point values.

Assembler

fundamentals are discussed only briefly in this document.

Refer to

the FPP User's Guide, DEC-12-GQZA-D, for detailed information on the
floating point processor and its instruction set; refer to the LAP6DIAL Programmer's Reference Manual, DEC-12-SE2D-D, for more information on assemblers.
2.0

HARDWARE REQUIREMENTS

The minimum hardware configuration is:
PDP-12/20 with BK of core memory
RK8, DF32 (two are needed) and RS~8 disks are among the
supported options.
An FPP-12 is strongly recommended.
3.0

STATEMENT SYNTAX

A source program is a sequence of coding statements generally entered
1
via the Teletype in the general format:
tag, instruction expression/comment
A physical line of coding may be up to 95 characters long and is terminated by a carriage return; however, on the program listing, lines will
be truncated.

A semicolon can be used in a line of code (except in

the comment field) to terminate a logical statement, thus permitting
several statements to be typed on a single Teletype line.

However, a

set of logical statements separated by semicolons must not exceed
the 95 character limit.
1

Teletype is a registered trademark of Teletype Corporation.

1

A space is required in a statement:

1.
2.

after an
after an
before a
as an OR

3.
4.

instruction mnemonic
indirect I
slash (/) used to indicate a comment
operator.

Multiple spaces or tabs are equivalent to a single space.

These

characters are optional after a conuna in a tag and before a statement.
3.1

Tags

A statement tag is indicated by preceding the statement to be labeled
with a user-defined symbol followed by a corrnna.
3.2).

(Refer to Section

This format assigns the current value of the location counter

to the tag.

A rnneffonic op code or defined pseudo-op cannot be a state-·

ment tag.
3.2

Expressions

The FPP Assembler interprets three expression formats:

1.
2.
3.

Integer (used as addresses only)
Double precision (floating point with no exponent)
Floating point.

An expression can contain:
1.,

2.
3.
4.

A user-defined symbol (equate statement or tag)
A period (.) to indicate the current location
PDP-8 operator and IOT instructions
An expression and a symbol or number combined by an
operator.

FPP instructions and PDP-8 memory reference instructions are illegal
symbols in expressions.
User symbols can be 1 to 6 alphanumeric characters in length and must
have an initial alphabetic character.
ignored.

Any additional characters are

Thus, the symbols
A

Al234
are acceptable, but in the symbol
ASYMBOLMAYBEMORETHAN6CHARACTERS
2

only the first six characters are stored as the symbol name.

In this

case, all characters after ASYMBO are ignored.
All integer expressions are computed in 24 bit 2's complement arithmetic and then truncated as necessary (e.g., to 15 bits for 2-word
FPP memory reference instructions and to 12 bits for expressions).
The following are examples of legal integer (address) expressions:
START+l
123
BUFSIZ*2+BUFFER
-3
POINTER&76¢¢+3¢¢
(ADDRES+2
The radix pseudo-ops, OCTAL and DECIMAL, are required for integer
expressions; floating point and double precision expressions always
have a radix of 1¢.

All the symbols and numbers used in an expres-

sion must be of the same type.

Note that a decimal number of more

than eight digits may cause improper conversion.
Double precision numbers are treated as follows:
a.

Double precision numbers equal to or greater than
1.0 in magnitude are converted to 2 word integers
with the fractional part ignored.
Thus,
100.D is converted to
4~97.D

b.

¢;~144

(octal)

is converted to l;l

Double precision numbers less than 1.0 in magnitude are converted to 2 word fractions (floating
point numbers unnormalized to have zero exponent) .
Thus,
.SD is converted to

2¢¢~;¢

(octal)

.125D is converted to ¢4¢¢;¢
Note that numbers greater than 2

23

-1 should not be used in double

precision format.

3

Examples of

accept~ble

double precision numbers are:
l,0.2Dl
1,02. fa'D-1
.2D3

1,0,0.D
lfJ. lD
. l,0'1D

l,0.2D+l
1,0'. D
. ,0'2D4

l,0D
l,0'D-2
1D3

Some acceptable floating point numbers are:
l,0'.2El
l,02.,0E-l
.2E3

1,0',0.
1,0 .1
.1,01
3.3

l,0'.2E+l
1,0'. E
.,0'2E4

l,0E
l,0'E-2
1E3

Comments

A comment is a

not~

added by the programmer at the end of a line of

code, usually to indicate the loglcal sequence of the program.

A

slash (/), precedej by a space, is typed to specify the start of a
comment.
4 .. 0

ARITHMETIC AND LOGICAL OPERATORS

The operators used by the FPP Assembler and their functions in combining numbers or symbols to form expressions are:
OPERATOR

+

FUNCTION
2's complement addition
2's complement subtraction

. *

multiplication

I

division (double precision and floating point
only}

&

logical AND (integers only)

(tab)
(space)

inclusive OR (integers only)
inclusive OR used to separate two symbolic
(integer) operators
inclusive OR (integer only}

5.0

INSTRUCTIONS

PDP-8 memory reference instructions and FPP codes are the legal defined mnemonics fer use with the FPP Assembler.

The following table

lists these codes and their formats in an object program.

Angle

brackets {<>} indicate a required value; curved brackets ({}) indicate optional fields; the notation'----'

indicates typing a space.

(The instructions are described in Appendix C.)
4

5.1

PDP-8 Memory Reference - 1 Word
1

 {uI Jl-1 
5.2 AND DCA JMS ISZ TAD JMP PDP-8 Operate and IOT - 1 Word CIA CLA CLL CMA CML HLT IAC LAS NOP 5.3 OSR RAL RAR RTL RTR SKP SMA SNA SNL SPA SZA SZL CDF KCC KRB KRS KSF RDF RIB RIF RMF TCF TLS TPC TSF FPINT FPICL FPCOM FPHLT FPST FPRST FPIST FPP Memory Reference Format 1 - 1 or 2 Words {L}{L...JI}l__l
{, {+}} For this group of FPP instructions, the index expression is an integer expression truncated to 3 bits, so that it designates an index register. A plus sign can be placed after the index expression to indicate pre-incrementation of the index register. mnemonic indicates 2 word format. The L suffix with the If an L is not given, the Assembler will use 1 word format whenever possible. (Refer to the BASE pseudo- op, Section 9.5 and Referencing Memory, Section 10.0.) FADD FADDM FDIV FLDA 5.4 FMUL FM ULM FSTA FSUB JXN TRAP3 TRAP4 TRAPS TRAP6 TRAP7 FPP Memory Reference Format 2 - 2 words L-J
1 An address expression is a truncated integer expression. 5 For these instructions, the address is truncated to 15 bits. JA JAL JEQ JGT JLT JLE 5.5 JGE JNE JSA JSR SETB SETX FPP Index Register Format 1 - 1 Word L-J ·index expression> The index expression is truncated to 3 bits and is the index register designator. ALN XTA ATX 5.6 FPP Index Register Format 2 - 2 Words , The value expression is an integer expression truncated to 12 bits. LDX ADDX 5.7 FPP Operates FNOP FNORM FPAUSE FCLA FEXIT FNEG 6~0 JAC STARTD STARTF LITERALS By starting an expression with a left parenthesis or square bracket (as explained below), the value after it is taken "literally" by the FPP assembler. There is then no need to specify an address or tag that contains the value. Internally the value of the literal expres- sion is the address of the word(s) generated by the Assembler that contains the evaluatc~d expression. Literals are used with memory refer- ence instructions as follows: 6 1. PDP-8 memory reference instructions can use a literal for the address. If the expression starts with a left parenthesis ( ( ) , then the literal is placed at the end of the current page; if it starts with a left bracket ({), the literal is placed at the end of page S. Integer literals are 1 word long, double precision are 2, and floating point are 3. Literal tables are built backwards from the end of the page so that the most recently encountered literal has the lowest core address. Note that if the origin is set back into a previously used page, the literal block is reset and any literal defined subsequently will destroy any previous literals. Similarly, if page S variables and constants are defined in the program, sufficient space must be left at the end of page S for all literals that will subsequently be defined using left brackets. Because locations S-17 are generally used for interrupts and autoindex registers, there may be only 112 ~ (16S ) 1 8 literals in page ~The following examples illustrate the use of literal expressions with some PDP-8 instructions. TAD (POINTER JMS SUB (. 3 33D TAD 2. [1.] generates 1 word literal with the lower 12 bits of the address of POINTER at end of a current page. generates 2 word double precision literal at end of current page and a pointer to the 2 word literal. generates a 3 word floating point literal at end of page ~. Only exponent of floating point number will be "TADed" at execution time. Any literals defined by an FPP memory reference instruction are placed at the location specified by the LITORG pseudo-op. The enclosures left parenthesis and left bracket are equivalent with FPP literals. Literals that are floating point or integer occupy 3 words, double precision occupy 2 words. Be sure to·leave enough room after the LITORG for all FPP literals. NOTE: FPP literals are not dumped in the order in which they occur, but in order of magnitude. The followinq examples illustrate the use of literal expressions with FPP memory reference instructions. FLDA (POINTER generates 2 word address literal at LITORG. 15 bits of address literal are put into lower 15 bits of FAC (for JAC instruction), assuming instruction is executed in floating point mode. FADD (2.D generates 2 word double precision literal at LITORG, assuming instruction is executed in double precision mode. 7 FLDA 7.0 generates 3 word floating point literal at LITORG. (1. ,0 LINKS If reference is mad2 to an address that is not on the same page as the instruction, the FPP Assembler creates an indirect address linkage on the current page. The address can, therefore, be accessed during the second pass of the Assembler. For example, the coding: ORG 2,0,0 TAD A PAGE A,1,025 is equivalent to ORG 2,0,0 TAD I X X,A PAGE A,1,025 All instructions generating links are flagged with the *LG* message. Each such message ·\..rill be included in the error count. 8. 0 DATA SPECIFICATION A logical line of code may consist of just an expression, in one of the three acceptab:.e formats. Such expressions can function as flags, pointers, constant:::;, or symbols. 9. 0 PSEUDO-OPERATIONS A pseudo-operation is a defined mnemonic code that is included in the object program as a logical line to control some functions of the Assembler. No bin:iry code is generated by a pseudo-op (except TEXT) . The FPP Assembler pseudo-ops and their functions are listed below. 9.1 (equate) The symbol to the left of the is assigned the v.1lue and format to the right of it. 8 9.2 OCTAL The radix is set for integer conversion to octal numbers; digits 8 and 9 are not flagged in octal numbers. 9.3 DECIMAL The radix is set for integer conversion to decimal numbers. 9.4 PAGE The Assembler's output is set to the start of the next core page. 9.5 BASE expr The location of the FPP base register is assigned so that displacements for 1-word FPP instructions can be computed. (The program must actually set the base register.) To denote the location of the base register, the pseudo-op BASE is followed by the address (expr), e.g., BASE A+3. The expr used with BASE may not contain any symbols that are defined after the BASE pseudo-op. The correct sequence is illustrated by: A, fiJ. fiJ B,,0.,0 BASE A FLDA A If no BASE pseudo-op is included, all FPP memory reference instructions will be 2 words. Refer to section 10.0 for additional information on referencing memory. 9.6 TEXT A string of text may be entered by using the pseudoop TEXT followed by a space or tab, a delimiting character, a string of text, and the same delimiting character, issued in that order. The first printinq character after TEXT is the delimiter and the text string is all the characters that follow it until the next occurrence of the delimiter or a carriage return. The characters space, tab, ;, and I can not be delimiters. For example TEXT %DATA% causes the word DATA to be printed with the code at assembly time as: 221 ,04,01 222 24,01 TEXT %DATA% 9.7 END Input is terminated. (This pseudo-op is optional, and is never printed on the listing.) 9.8 CHAIN "name" unit Terminate assembly of current program and initiate assembly of the file name enclosed in quotes located on unit ,0-7. During pass 1 (and pass 2 if a LISTOF pseudo-op has been issued) of the Assembler, a successful chaining is indicated by a message in the form 9 CHAINING TO name 01 the Teletype. Unit is always an expression, t1at has a value S-7, indicating the device. If ni) unit is specified, S is assumed. The programs t~at are to be chained together must all be on L[NCtapes, or all on disks. Disk units 1¢-17 are also referenced by the corresponding value in t1e range .0- 7 9. 9 ORG expr The starting location in memory for the Assembler's o~tput is assigned the value of the lower 15 bLts of the address expression expr to set the l•Jca tion counter. For example, to set the origin at location 4¢¢ of field 1, the pseudo-·op used is 0 RG 1,0 4,0¢. If the ORG pseudo-op is omitted, an origin of 2¢.0 in field ~ is assumed. 9.10 LITORG expr Any literals generated by floating point instructions are to be placed at location expr. All addresses and floating point literals are stored as 3 word quantities; double precision literals are stored as 2 words. It is the user's responsibility to leave sufficient space after the literal origin to accommodate all floating point literals. If no LITORG pseudo-op is included in the program, all literals are placed immediately after the END statement. Only the last LITORG in a program is used. (There is no effect if 9.11 LISTON Turn program listing on. listing is already on.) 9.12 LISTOF (There is no effect if Turn program listing off. This mnemonic is never listing is already off.) listed. 9 .13 EJECT 'I'he mnemonic EJECT is printed and the next line of the program listing is started at the top of next page of line printer paper. (There is no effect if output is to the Teletype or after a LISTOF pseudo-op. ) 9.14 IFnnn (conditional assembly) 'lhe FPP Assembler has five conditional pseudoops. Four of them require a numeric parameter: i::seudo-op function IFZERO n assemble i f zero IFNZRO n assemble if not zero lFPOS n assemble i f positive JFNEG n assemble if negative 10 where n is an integer expression. For each of the above conditional pseudo-ops, the expression n is evaluated and, if it fulfills the conditions of the pseudo-op (e.g., n equals zero for IFZERO), the subsequent coding is assembled. If the condition is not met, the subsequent coding is ignored until a $ is encountered as an expression. Assembly is continued after the $. Extra $ characters are treated as null input. The fifth pseudo-op is used in the format: assemble if symbol was previously defined or referenced IFREF symbol where symbol may be defined or undefined. When an IFREF statement is encountered, subsequent coding is assembled if the symbol after the pseudo-op has been defined or referenced in a previous statement. Note that use of a symbol with an IFREF pseudo-op or in a statement that was skipped during assembly because the condition required by a preceding conditional pseudo-op was not met does not constitute a reference to the symbol. If the symbol has not been previously defined or referenced assembly is continued as above with the other conditional pseudo-ops. Use of some of the conditional assembly pseudoops is illustrated in the next example. 00 01 0002 0003 0004 0005 00200 00201 00202 0006 000? 00Ul 0011 0012 0013 00203 0014 0015 0016 0017 B A, IF POS 0,0 -1 $ 0000 9, 0000 0000 IF NEG 0.0 ·1 $ IF' REF' A TAD A $ IF'REF 1200 TAO $ IF' REF TAD $ 00200 11 B B c c 10. 0 REFERENCING MEMORY A PDP-12 computer with an FPP-12 is basically a 32K machine. All of this memory is referenced via the 15 bit address field provided by the 2 word memory reference instructions. When it is necessary to conserve memory, the short form (1 word) of the memory reference instructions and the base page can be used. Those instructions that have a floating po::.nt operand can use this short form: FADD FADDM FDIV FLDA The base page is a movable page FMUL FMULM ~ assigned by the user. FSTA FSUB To deter- mine the location of the operand, the displacement field (address expression) is mul :.iplied by 3 and added to the contents of the base 1 register. Thus, w>ing the single word form of the instruction, any location within 128*3 locations of the base register can be referenced. (Only 128*3 locatL>ns can be accessed because the displacement field has only 7 bits.) The location of the base page (via BASE) and the operands (via ORG ,==,etc.) must be defined in the coding before the FPP instruction. Then the short form of the instruction will be executed unless the suffix L is added, forcing the long (2 word) Consider the f ollmving example of the BASE pseudo-op: 2~~ A,~.~ B,~.~ C,~.~ ORG b,~.~ BASE SETB FLDA FADD FMUL FSTA 2~~ 2f1~ A B c D /J= (A+B) *C This same program :an be written with a subroutine: ORG 2~~ A,~. B,~. C,~. D,~. 12 form. SETB 2{01{1 JSA SUBR SUBR, BASE fO fO i fO FLDA fO FADD 3 FMUL 6 FSTA 11 JA SUBR /leave 3 words for JSA /A /B /C /D /return This routine performs the same operation as the first one. ~' 3, 6, and 11 are used with BASE ~ The values so that the Assembler generates the correct 1 word instructions. 11.0 USING THE ASSEMBLER The FPP Assembler runs as a DIAL-MS 1 binary program. Therefore, after entering the source program into the source working area via DIAL-MS, type the corrunand -+LO FPPASM,,0) (LINCtape systems) -+LO FPPASM, l~) (disk systems) or to load the Assembler (it must be on the systems unit ) • ing address is 112~~- The start- If a CHAINed source file is being assembled, the source working area must contain the first file to be chained or a single line that chains to the first file. The resulting binary will be placed in the binary working area. All error messages are printed in the listing above the line in which the error occurred. If no listing is being generated, the error mes- sages are printed with the line number of the incorrect statement on the on-line output device. The FPP Assembler error messages are listed in Appendix A. 12. 0 EXITING FROM THE ASSEMBLER Two methods are available for exiting from the FPP Assembler: CTRL/D - stops assembly of program and control returns to DIAL CTRL/L - the listing is terminated but the assembly is continued. 1 LAP6-DIAL-MS is referred to as DIAL-MS in this manual. 13 13. 0 EXAMPLE The following example illustrates some of the FPP instructions and their use with the FPP Assembler. ".:i01 yj 2 /cil3 01000 1il30 SINE, 01001 ~120 0 d_;214 .: ... vJ'J >! 1~0 6 V.0 07 IZl10iJ2 j 4~'10 01i.::?03 1100 vWH~ 0HhJ4 6400 010Vl5 1 C'.172 ii tl 11 0HHJ6 :,.j iZI 1 l(j Vv; 12 010~7 i:J~:J4 ;/:>Jl.3 01010 2400 01011 1072 ,:JO 14 01012 4400 0HH3 1103 ,;~015 01014 ~~re 0 3 SINE2', .J~16 01015 6420 01016 lV'.17 2 ,;217 ~,'./ J~:) .~ /ENTRY FD IV (P!*2, /CALLED BY JS A /WITH x IN F AC /RETURNS SINECX> IN FAC /D IV IDE ARG BY TWO PI FS TA x /SAVE AL N FNORM FSUB 0 I I i~T < X > x /INTCX>-X FM UL (4 FN EG FSTA x /SAVE NEW VALUE OF x JGT SINE3 /THIS IS THE LOOP TH AT /NOR MA LI 2E S THE RANGE OF /ABS CX) 1.-j60 0Hl20 1222 f2i1017 /L122 01k121 sk-rn3 2-5 01022 24t1121 SINU1 FNEG FSUB ( 1. 0 /IFCABSCX) .LE.eJ>GO TO FL DA x /2 *S GN CX >- X JL T SI NE 4 FSUB (2 0 JA SINE2 FADO (2 0 JA SI NE 2 FL DA x FM UL x FSTA X2 FM UL ( .15148418[-3 IX 2*C9 FA OD (o;; ,46737656[-2 /C7+X2*C9 '2!1023 1106 P!24 zn5 eJHl24 0102:, ~4~0 POINT FOR SINE ARG 1217 2 01026 1050 01027 103 4 ;,:; vj 2 6 ei rn 3'v-; 2400 01031 1111 %1Z27 01032 1030 010.33 1014 :L: .o ~rn 01034 14~H~ 01035 1111 7,)1) 31 0 Hl.36 HJ30 f2J 10 -57 1014 :•j/ 32 2J1042 e: 40 0 211041 H172 ll3.5 rtJ 10 42 44~0 01043 1~i72 ;;:)7J34 01044 6400 0112145 10.75 ~· ij 3~ ~'l10 46 4400 010 47 1114 ~'.JV) 3 6 010:>Vi 14 Vi 0 01051 1117 ~~ %3 7 el 10 ?~ 4 4~1 k:'.) s I NE t;, I SINE~:i, I I /X2=X*X FMUL X2 /X2*(C7+X2*C9) 0Hl?0 Hl75 v.H~ 40 0 lil ?4 14(rn 0105? 1122 FADD ( '7968968[-1 /C5+X2*C C7+X2*C9) 4400 FMUL X2 /X2*CC5+X2*CC7+X2*C9)) U41 010?6 010?7 SINE 14 -:} C INT C X > ... x ) t 20 J21 ~·t ORG 1000 P!:j,14159 0 JA 1075 14 x SINE5 ~042 01'160 1400 01061 1125 0043 0 H:l 62 4 40'2J 0112l63 1075 0V,j44 01064 1400 010 65 1130 0045 01066 4400 01067 1072 0046 01070 HL30 01071 Hl00 01072 00~10 01073 01074 0050 01075 01'2J76 01077 001?!0 0000 ~047 00k'0 F' ADD (:w,64596371 /C3+X2•C C5+X2• CC7+X2•C9)) F"M UL X2 /X2•CC3+X2•CC5+X2•CC7+X2•C9))) F"AOD (PJ/2, /Cl+X2•(C3+X2•CC5+X2•(C7+X2•C9>>) F"M UL x IX•C C1+X2•CC3+X2•C C5+X2•CC7+X2•C9> JA SINE /RETURN SI NC X> x, 0.0 x2, 0. '2J 0000 0000 0112~ 0000 01126 ~~S25 01127 0420 01106 0Vl01 01107 2V.HH?J eJ11Hl 01130 01131 01132 01111 01112 01113 01103 01104 01105 01100 01101 01Hl2 01114 01115 rt] 1116 01117 01120 01121 01122 01123 01124 0000 0~HH 3110 3747 00(~2 200.(2) 00(()0 ~003 2000 ~000 0003 3110 3747 7764 2366 5 73 5 7771 5466 6317 777'j 2431 5053 00 00 ERR Ok S Pl SINE SI NE2 SI\JE3 SINE4 SINE5 x X2 0002 3110 3747 0HH10 01014 0102~ 01034 01040 01072 0HJ75 15 » > 14.0 INTERNAL DESCRIPTION The FPP Assembler is designed to handle standard PDP-8 assembly language, with simple extensions to include code for the FPP-12 floating point option. The Assembler runs under control of DIAL-MS on an BK PDP-12 (except for single DF32 systems). Because the FPP-12 option effectively has a 32K directly addressable memory, all address computations are done in 24 bits. Double precision and floating point symbols may also be defined using the equate (=) pseudo-op. 14.1 Program LabEls START: read a new line from input file, unpacking the characters and putting them into LINE in ASCII: set CHRPTR and NCHARS. ASMBL: check for the special cases: LUNAME: GETEXP: 1) line starting with slash - ignore it 2) $ sign - end of conditional assembly section 3) leading blanks or tabs - ignore them and go back to 1 4) if assembly off - ignore line 1) save character pointer 2) look for an identifier followed by a comm~ and define tag; then go back to ASMBL 3) if no comma, look for equal sign and use EXPR to evaluate expression and set symbol to that value and type; then go to NEXTST. 4) if no equal sign, look for a blank; if a blank is found, jump to one of the instruction type handlers if the identifier was an op-code or pseudo-op, or go to GETEXP if an IOT, OPERATE, or user symbol 5) i f no blank, go to GETEXP 1) reset character pointer 2) evaluate line as an expression and output 1, 2 or 3 words, as specified 3) go to NEXTST 16 14.2 Op-Code Handlers FPPMR: handle FPP memory reference instructions usir,'; word format if possible FPPMRL: handle FPP memory reference instructions word format FPPSl: handle FPP special format 1 PDP8MR: handle PDP-8 memory reference instructions FPPS2: handle FPP special format 2 FPPS3: handle FPP special format 3 PSEUDO: jump to PSEUDO-OP handler FPPS4: handle FPP special format 4 FPPSS: handle FPP special format 5 usin~ 2 All op-code handlers jump back to NEXTST to get the next statement. 14.3 Major Subroutines 1 PRINTC: enter with the ASCII character in the AC to be printed on the output device {line printer or Teletype) GETCHR: get the next character from the input line, and skip one instruction upon return; if end of line encountered {CR, semicolon, slash) do not skip; multiple blanks and tabs return as a single blank BACKl: replace last character looked at; can be entered with AC non-zero, but can not be used to go back more than 1 character GETNAM: look for an identifer in the input line, starting at the current character; if no identifier present, return without skipping; if identifier is present, put first character into BUC~ET {6 bits), next five into NAMEl, NAME2, NAME3, with lower 6 bits of NAME3 set to zero; any characters of the identifier beyond 6 are scanned off and ignored; skip one instruction upon return if successful. EXPR: look for a legal expression in the input statement starting at the current character; return without skipping if no legal expression present; if a legal expression is found, the value is returned in EXPVAL, EXPVAL+l, EXPVAL+2, if floating point or double precision or integer {address); the type is returned in EXPTYP {0-undefined, 1integer, 2-double precision 3-floating point); 1 Enter and leave with AC=~ unless otherwise noted. 17 t.he last operator encountered in the expression is returned in LASTOP; skips 1 instruction if expres~.ion found. ADRGET : uses EXPR to get an expression and checks the type, j.f type was not integer (or undefined) it prints i~he *BX* message ERMSGl writes out the next word as a 2 character error message on pass 1 or 2 ~ ERMSG: ~:;a me as ERMS Gl, except only prints on pass 2 LOOKUP: Lakes the identifier in BUCKET, NAMEl, NAME2, NAME3 ? @ LINE FE:ED RETURl'-·1 ALTMCDE RUBOUr CON TWL/I (TAB) C.2 External (ASCII) 262 263 264 265 266 267 270 271 272 273 274 275 276 277 300 212 215 375 377 211 Internal 62 63 64 65 66 67 70 71 72 73 74 75 76 77 I Ilegal (not displayed) 37 43 (not displayed) None (not displayed) None (not displayed) 47 (not displayed} Operators Char Operation Define parameters + Combine symbols or numbers Combine symbols or numbers * Multiply I Divide; comment (preceded by space) Value of current location counter Terminate coding line & Logical AND Logical IOR (integer) tab Logical IOR (integer) space Logical IOR (integer) return Terminate statement C-2 C.3 Pseudo-operations BASE expr Assign base register for 1-word instructions. CHAIN "name" unit Continue assembly at program "name" on unit (f0-7). DECIMAL Set radix for integer conversion to decimal numbers. EJECT Continue listing at top of next line printer paper page. END Terminate input, IFNEG n Assemble if n is negative. IFNZRO n Assemble if n is not zero. IFPOS n Assemble if n is positive .. IFREF symbol Assemble if symbol has already been defined or referenced .. IFZERO n Assemble if n is LISTOF Turn program listing off. LISTON Turn program listing on. LITORG expr Start literal list at location expr. OCTAL Set radix for integer conversion to octal numbers. ORG expr Set starting location for output to lower 15 bits of expr. PAGE Continue output at start of next core page. TEXT Print the line of text between delimiters. zero~ Equate symbol on left of = to that on the right. IOT MICROINSTRUCTIONS Mnemonic Operation Octal Keyboard/Reader KSF KCC KRS KRB 6fa'3 l 6,032 6f03 4 6,036 Skip if keyboard/reader flag = 1 Clear AC and keyboard/reader flag Read keyboard/reader buffer Clear AC and read keyboard buffer, and clear keyboard flag Teleprinter/Punch TSF TCF TPC 6,041 6,042 6,044 TLS 6,046 Skip if teleprinter/punch flag = 1 Clear teleprinter/punch flag Load teleprinter/punch buffer, select and print Load teleprinter/punch buffer, select and print, and clear teleprinter/punch flag C-3 Mnemonic Operation Octal Extended Memory (Type MC8/I) C.4 Change to data field n Change to instruction field n Read data field into AC Read instruction field into AC Restore memory field Read interrupt buffer 62nl 62n2 62n4 6224 6244 6234 CDF CIF RDF RIF RMF RIB FPP Symbols DATA REFERENCE INSTRUCTIONS Mnemonic Data Function FLDA F.ADD FADDM FSUB FDIV FMUL FMUL.M FSTA C(Y)-+FAC C(Y)+C(FAC)-+FAC C(Y)+C(FAC)-+Y C(FAC)-C(Y)-+FAC C(FAC)/C(Y)-+FAC C(FAC)*C(Y)-+FAC C(FAC)*C(Y)-+Y C(FAC)-+Y INDEX REGISTER MODIFIERS Operation Mnemonic JXN The index register is incremented if bit 5=1 and a jump is executed-to the address contained in bits 9-23 if index register X is nonzero. TRAP3 thru TRAP? The instruction trap status bit is set and the FPP-12 exits, causing a PDP interrupt. The unindexed operand address is dumped into the APT. LDX The contents of the index register specified to bits 9-11 are replaced by the contents of bits 12-23. ADDX The contents of bits 12-23 are added to the index ~egister specified by bits 9-11. ALN The mantissa of the FAC is shifted until the FAC exponent equals the contents of the index register specified by bits 9-11. If bits 9-11 are zero, the FAC is aligned such that the exponent 1 := ( 23) . In double precision mode, an ari thmetic sht~t is performed on the FAC fraction. The number of shifts is equal to the absolute value of the contents of the specified index register. The direction of shifting depends on the sign of the index register contPnts. A positive sign indicates a shift towards the least significant bit while a negative sign indicates a shift towards the most significant bit. The FAC exponent is not altered by the ALN instruction in double precision mode. 1 setting the exponent= (23) number. The JAL instruction integerizes 1 ~ tests to see C-4 or fixes the floating point if fixing is possible. Operation Mnemonic ATX The contents of the FAC is fixed and the least significant 12 bits of the mantissa are loaded into the index register specified by bits 9-11. In double precisjon mode the least significant 12 bits of the FAC are loaded into the specified index register. The FAC itself is not altered by the ATX instruction. XTA The contents of the index register specified by bits 9-11 are loaded right justified into the FAC mantissa. The FAC exponent is loaded wi~h (23) 1 and then the FAC is normalized. This operatign is typically termed floating a 12-bit number. In double precision mode the FAC is not normalized. OPERATES FEXIT Dump active registers into the active parameter table, reset the FPP-12 run flip-flop to the ¢ state,· and interrupt the PDP processor. FPAUSE Wait for external synchronizing signal. This instruction is designed to cooperate with the AIP-12 option. IOT FPST (6555) will restart the FPP-12 executing the instruction following FPAUSE. FCLA Zero the FAC mantissa and exponent. FNEG Complement the FAC mantissa. FNORM Normalize the FAC. FNORM is a NOP. STARTF Start floating-point mode. STARTD Start double-precision mode. FNOP These single-word instructions perform no operation. JAC Jump to the location specified by the 1st least significant 15 bits of the FAC mantissa. In double precision mode CONDITIONAL JUMPS JEQ JGE JLE JA JNE JLT JGT JAL Jump if the FAC ¢ Jump if the FAC > ¢ Jump if the FAC 2. ¢ Jump always Jump if the FAC f: ¢ Jump if the FAC < ¢ Jump if the FAC > ¢ Jump if impossible to fix the floating point number contained in the FAC; i.e., if the exponent is greater than (23) ¢. 1 C-5 POINTER MOVES Mnemonic Operation Octal SETX Set X~ to the address contained in bits 9-23 of the instruction. SETB Set the base register to the address contained in bits 9-23. JSR Jump and save return. The jump is to the location specified in bits 9-23 and the return is saved in bits 21-35 of the 1st entry of the data block. JSA An unconditional jump is deposited in the address and address+l where address is specified by bits 9-23. The FPC is set to address+2. FLOATING POINT FPINT 6551 Skip on FPP interrupt. FPICL 6552 Clear the FPP interrupt flag and reset all important registers. FPICL is equivalent to an I/O present for the FPP. FPCOM 6553 Load FPP conunand register and field bits of the APT pointer if: a) b) The FPP is not running and The FPP interrupt flag is reset. FPHLT 6554 Force an FPP exit at the end of the current instruction. FPST 6555 Load the 12 least significant 12-bits of the APT pointer and start if the FPP is a) b) not running and if the FPP interrupt flag is reset, FPST will restart the FPP following an FPAUSE instruction without reinitialization. If the FPP is started or restarted, FPST will skip. FPRST 6556 Read the FPP status register into the AC. FPIST 6557 Skip on the FPP interrupt flag. If the skip is granted, clear the flag, and read the FPP status into the AC. FUNCTION OF PDP AC BITS WITH FPCOM (6553) IOT AC~ Select double precision mode. ACl Exit on exponent underflow error. C-6 Operation Mnemonic AC2 Enable memory protection. AC3 Enable interrupt. AC4 Do not store op address on exits. ACS Do not store address of index registers on exits. AC6 Do not store address of indirect pointer lists on exits. AC7 Do not store FAC on exits. ACS Lockout CPU when FPP is active. AC9 } AClfJ ACll 4K field select bits of "Active Parameter Table" pointer. PDP AC AFTER READ STATUS IOT'S FPIST (6SS7) OR FPRST (6SS6) AC{J Double precision mode. ACl Instruction trap. AC2 CPU force trap AC3 Divide by zero AC4 Fraction overflow (double precision mode only) ACS Exponent overflow AC6 Exponent underflow ACS AC9 AC?} Unused AClfJ Pa.used ACll Run ACTIVE PARAMETER TABLE FORMAT Contents Location Field bits of Operand Address p p p p p p p p + + + + + + + 1 2 3 4 s 6 7 Field bits of Base Register Field bits Field bits of Index Reg of ister Loc'n FPC Lower 12 bits of FPC Lower bits of index register 0 location X 0 Lower bits of Base Register Lower bits of operand address Exponent of FAC MSW of FAC LSW of FAC NOTE: APT address points to location P. NOTE: APT address points to location P. c-7 APPENDIX D SYSTEM FLOW CHARTS READ NEW LINE FROM BUFFER UNTIL CARRIAGE RETURN SET CHRPTR AND NCHARS SKIP OVER SEMICOLON .---~--i ( ASMBL ) GET A CHARACTER PRINT LINE IF IT WAS NOT PRINTED TURN ASSEMBLY BACK ON PRINT MESSAGE *EG* PUT BACK CHARACTER D-1 CHECK FOR CONTROL-D OR CONTROL-L ~OTEG Yes ( LUNAME) _ ____.._ __ SAVE CHAR POSITION No _) GET NEXT CHAR No DO SYMBOL TABLE SEARCH No D-2 TRYEQU ) No PRINT MESSAGE *MD* ASMBL FIX DATA FIELD DEFLBL TRYEQU SET SYMBOL TYPE TO "ADDRESS" TRYBLK SAVE LOCATION COUNTER AS VALUE OF SYMBOL SAVE SYMBOL NAME IN EQUN (4 WORDS) GET VALUE USING EXPR Yes NEXTST RESTORE SYMBOL NAME DO SEARCH FOR THIS SYMBOL D-3 ALLOCATE ROOM FOR l-----"'VALUE:F.P.-3 WORDS---·D.P. & address2 WORDS NEWSYM No---~""' --~-~-·~-~-T ___,+---~{ __ .... _ NEXTST ) STORE VALl:'a OF EXPRESE:ION INTO SYMBCL TABLE ENTEY NEXTST ) TRYBLK ) GETEXP No -----+i LOOKUP SYMBOL IN SYMBOL TABLE GET EXPRESSION' VALUE USING EXPR BACK UP TO BEGINNING OF LINE GETEXP ~ JUMP THROt.TG TABLE USH.fG SYMBOL TYPE ~~;~~ d FPPMR '> . _e;-- FPPS 1 i---------7• - FPPS2 ~~~~~~ ~FPPSS FPPMRL D-4 ~ OUTPUT (B Ii~AR~ 1 WORD ADDRESFJ 2 WORDS D.P. 3 WORDS F.P. TO FPPAS~2 CHAINING TO ~PPASM3 CH~l~ING /FPP A.SSEMBL..ER 04/01171 /COPYRIGHT /DIGITAi.. EQUIPMENT CORP, 0001 0002 001C3 0004 /MAY NARO, MASS, 00P!~ Fl..00•~ 0006 00e17 Fl..01•10 0010 0000~ li5014 VERS, fll!ll 11 00004 ~; 1rj \.'.!re OL..ON3, 00H? 00005 t'.000 OTf MP, 0wH3 00006 ~1000 OCNT, 14 ORG 0 0 0. 121014 00007 771/J2 PAGSIZ, •16 0 0015 00010 t~ ~1c>.0 x10, 0 0'116 00011 y; 0 v: 0 x11, 0~17 00012 tl00l iO x12, 0 01.!12~1 ~0013 t'l.,,00 X13, 0Vl21 00014 ~H~00 X14, 0022 00015 01!100 X15, 0023 00016 1140 NtXTr 3 /VERSION NUMBER /TEMP FOR L.OOKUP /A COUPL.E OF TEMPS THAT /OIDNT FIT INTO THEIR PAGE IL.INES PER PAGE COUNTER "' 0 0 r~t:t:.•1 0}024 00017 ~1~~0 CHRPTR, 0 0025 00020 7777 NCHARS, • 1 /CHARACTER INPUT STUFF 0026 00021 0027 00022 llJ03"" Ql0023 0031 00024 0032 00025 eJ033 00ri:J26 0034 ~0027 /USED TO SAVE CHAR POSITION /SIZE OF L.INE FOR PRINTING /CHAR COUNT FOR INPUT FIL.E /NUMBER OF I.INES PER PAGE /24 BIT L.OCATION COUNTER ~1000 CPTMP, Vl~00 NCTMP, 0 r:~~~ L..INSIZ, " 7777 CHRCNT, •1 77'?:2 SIZPAG, •76 00(00 1..0CTR1 1 0 0200 L.OCTR2, 200 IH:1110 L.ITRG1, 40~0 0035 0003~ 0~36 00031 1:~0e·0 LITRG2 1 00032 4frrn0 oASER, !2!0033 0-100 00Q!34 ,, 0tt;ei EXPVAL. 1 00035 ~10N" li'0036 ~rn0 Vi fll0037 viill~0 E)(PTYP I 00040 00~'.0 E.XPS~, 00041 ;~i!i0e wORD1, 00042 v::~~0 ~UR02, 00043 ili~H10 FPPAOR, 00044 (10Ct,~ 00045 ~J id~ 0 OPCODE, 00046 v::.a~e I~OEX, 00047 PV:ll/\0 INORCT, 00050 i:HM:t1 XlNCw, 00051 ~1~00 bUCKET, 00052 ?0C•0 NAf¥'.E1, 00053 111000 NAMt::2, 0121054 0000 NAME3, 00055 "'1iiH7i0 L~STOF, 00056 0001 PASSNO, 0037 0040 0041 ()1042 0043 0044 0045 0046 0047 V.1050 0051 0052 0053 0~54 0.055 0050 0057 ~06~ 0061 0~H52 0063 ~la~A l'HJln1"7 •:l~~vr ~H!!P0 0065 00060 ~,0~0 ~!£.f\11'"""1 0 /FIRST WORD OF L.ITERAL.. CFP) ORG 0 4000 /BASE REGISTER SETTING 0 0 0 0 0 0 "'0 0 /EXPRESSION VALUE /EXPRESSION TYPE IFL..AG•l IF NO EXPR /TEMPORARY 2 WORD OPERAND /ADDRESS FIELD FOR FPP INDEX INS ~ 0 0 0 1 0 0 0 0 0 1 ASMOF;; 0 LINENO, 0 /OPCODE OR PSEUDO•OP /INDEX FL.AG II /INDIRECT FL.AG • 1 IF II " POINTE~ I NO EX PRESENT IF IND IN FPP IF + LEGAL IN INDEX EX /FIRST CHAR OF NAME /CHARS 2 ANO 3 OF NAME /CHARS 4 AND 5 OF NAME /CHAR 6 OF NAME ANO TYPE OPERATOR ENCOUNTERRf D IN E I /PASS NUMBER !SET TO 1 ittHEN ASSEMBLY OFF /LINE NUMBER /FL.AG H &C'I' 't..~\oJ 0 11•i.1V 1 LlSTSw, 1 1 0"'b7 ~0(;i62 ft':1'.H'1 1 LSTl1N, 007._., 00063 .,.i0ft0 OLJTSWT, '1 0 0071 0006.cl ll0e!l scswr, 006f') 0~061 0Vl72 ~ti065 Viv.!111'0 0'173 00Pl66 (h.'JVi kl R4DIX, fij LT ttiP, "1 0 007'1 00Ql67 i• ~~Iii Ill l:XTMP, 0075 0007li:i 0070 00071 ~H!Hi)0 ~XH1P2, 0 v~~~iv. E.l:flJN, 0HH0Ji!J 00~72 ~0073 VI 0t.>ie, ~~ 00074 oev.·~1 \iHH~e 010~~ 00075 ~10f;)0 01JJI 1 01'12 0103 0U4 0105 0105 ,,,0077 00(10 0010@ ~ivhHi'! L.ITRL., 00101 763~ OULRO, ~0102 7632 OIALWR, 00103 ~~eie1 88L.OCt<, 00104 f137€ BF'Ui)GE, 00105 t,Hrn0 SbLOC!<, 00106 Vi370 SFUOGE, 00101 ~000 STAR20, 00110 V\177 P01.IT, 00111 ~177 CPL IT, 00112 k1000 ACE, 01~7 l'if /f\10 LIST OPTION S~ITCH /OUT SWITCH /SEMICOLON S~ITCH /RADIX FOR INTEGERS (0 IS OCTAL) /TEMP USED BY LOOKUP /TEMPS USEO av EXP~ ANO OTHERS 0 e' ~'! 0ft177 0007~ 0110 0111 0112 0113 0114 0115 0011~ 0115 00114 0117 00115 121?1 00116 0121 0.0117 0122 00120 0123 00121 0124 00122 /l.IST Slli ITCH FPPSWT, 0 FPP2WD, 0 FPPW02r 0 OPE, 0000 TMP, 00~~;- ACO, 00f10 (~000 ACL., 0000 ACH, 0 7630 7632 0 370 0 370 0 177 177 0 0 0 '1 0 0 000!0 OPO, 00~0 OPL, 0 0 0000 OPH, 0 it!HHEr~ FINO ING FPP ADR EXPR /SET BY EXPR TO FORCE 2 WO FMT /SET ·BY FPP2WO.OR.EXPTYP,EQ.0 /SET I: 1 FOR t..ITEtACH(1) 0300 /0060 FSPA ~301 /~070 0Je2 /0120 FSPASNA /0130 f SMASZA 0303 0304 00342 0305 00343 0306 00344 0307 00345 031 l~ 00346 0311 00341 0312 00350 0313 00351 0314 00352 0315 00353 0316 00354 0317 00355 9.j ia Ii; 0 AR1, 7300 1117 7010 7020 7010 3117 1116 7010 3116 7010 3115 ~320 00356 2112 0321 00357 ~120 POPU, 0322 00360 5742 FPJUMP, 0323 00361 3112 AOCEXP, 0324 00362 52!it0 0325 FADR• 11 0326 00363 Mrn"1 FNEGX, 0327" 00364 1J57 033:?1 003155 3241 03-31 12!0366 7346 0332 00367 J342 0333 00370 7~24 Nf.GL.P, 0334 00371 1641 ~335 00372 7141 0335 00313 3641 0337 00374 2241 0340 00375 2342 0341 00376 5370 0342 00377 5763 FSMA /RIGHT SHIFT AC ONE PLACE 0 CLA CLL HD ACH SPA CML. RAR OCA ACH TAD A.CL RAR DCA ACL. RAR i.JC.A ACO /UNL.T \)A Vt (JN ISZ ACE OPO t "H Ur WVt:.Kt 1..UW. WUl' JMP I AR 1 OCA ACE JMP F76~~1 ITRIPLE·~ORO 0 TAO POPO OCA /ZERO EXPONENT ANO GET NEXT INST. /AC=0 OR •3 ON ENTRY ALl CLA CLI.. NEGATION Cf'!A ~TL.. DCA M727 0410 00443 ~10~0 0411 00444 730~ 0412 00445 1122 0413 00446 7510 0414 ~0447 7~20 0415 00450 7010 04H> 00451 3122 0417 00452 1121 0420 00453 7au1 0421 00454 3121 ~422 00455 7~10 042J 00456 3120 0424 00457 2113 /SECOND PAGE OF F"LOAl lNG POINT PACKAGE /A,00 OP TO AC OR 1, TAO OPH CLA JMP I PANOk~ HO ACH SNA CLA JMP DOAODS+2 TAD ACE CIA CLL UD OPE SNA JMP OOADOS S~A JMS I PAR1 SPA CLA JMS OR1 JMP FPADLP JMS OR1 Jf'IS I PAR1 JMS OAOtl Ji'"!P I PF'PLCE. 0 CL.A CLI. /OP=0 • NOP /AC•0 . SET AC /COMPARE AC EXP TO OP EXP /EQUAL • GO ADO /OPE> ACE /A.CE>OPE /Uf'1r..t0RMAL.IZE 60TH 8Y ONE PLACE /SET ACE•OPE CIN CASE AC WAS 0) /SHIFT OPERAND RIGHT ONE PLACE TAO OPH SPA CML RAR OCA OPH HO OPL Rf.R DCA OPL. IUR OCA OPO ISZ OPE 0425 00460 0~(il0 F ITC NT r 0 0426 00461 5643 J~P I 0~1 0427 00462 1122 F'PMUL1 TAO OPH TO OP /OP OVFLO 1110 SNA CLA PF PL.AC TAO ACH 043\0 00463 /65V: Jli;,p I U31 00464 5773 0432 00465 1117 0433 00465 755e 0434 00467 5774 S~A CL.A J~p I PANORM TAD ACE 0435 00470 1112 0436 00471 1113 0431 00472 3113 0440 00473 1117 0441 0047A 3243 DCA 0442 00475 1116 0443 00476 3114 TAO ACI.. DCA T~P 0476 00531 1122 0477 00532 7450 0500 00533 5773 li:IS~1 00534 77fll0 ~502 00535 5340 0503 00535 7346 05~4 00537 4775 0505 00540 4776 0506 00541 1113 0t;07 Vl0!542 7~41 0510 00543 1112 0511 00544 3113 0"........ 4 'l 00545 133~ 0513 00546 320~ 0514 0121547 1117 0515 ill0550 70\1:4 RESULT•0 TAO OPE DCA OPE TAO ACM TAD 0444 00477 1:.S30 0445 00500 326~ 0446 00501 3117 0447 00502 3116 ftll450 00~03 7100 0451 00504 5314 0452 00e05 4776 ~403 00:506 i24~ 0454 00507 7010 0A55 00510 3243 0456 00511 1114 0457 00512 7!d10 0460 00513 3114 0461 00514 1114 0462 0051~ 7004 0463 00516 7•i'lt'! 1 "464 00517 7012 0465 00520 7620 0465 00521 5J24 06167 00522 4775 0470 00523 4200 ri11471 00524 2260 0472 00525 b3V15 0473 00526 5727 0474 00527 it1304 0475 00530 775k'.I /EITHER ARGm0 MC:ANS OR1 r~3P: /ITERATION COUNTER OCA FITCNT OCA ACH OCA ACL. CL.L FPMLL.P, JMP F'PMDCD JMS I PAR1 HO ORi /RIGHT Sl-IIFT AC ONE PL.ACE FOR OCA OR1 TAD TMP FUR DC.A Tfi'P F'PMOCO, TAO /RIGHT S11IFT ~UL. TI PL. I ER /DOES BIT SMlfTED OUT • Tt;iP RAL. UC RTR SNL CLA J~P FMNOAO JMS I PNEG FM"'40AO, JMS OAOD /NEGATE MUL..TIPl.ICANO /ADO TO PROUUCT ISZ FITCNT J,.,P FPMLL.P JMP I .+1 /NOW GO SET ACE Pf PL.CE, FPL.ACE Fl"l30, FPDIV, IYES • DO NOTHING • NEXT BIT? OPE •30 TAO OPH SNA JMP I Pf PL.AC SMA CLA JMP .+3 /DIVIDE BY ZERO RESULTS IN ZERO! /CHECK DIVISOR SIGN CL.A CL.I. CMA RTI.. /IF NEGATIVE, JMS I PNEG J~S I P~R1 /NEGATE AC /UNNORMAI. IZE TAO OPE DIVIDEND ONE PL.ACE cu TAO ACE OCA OPE TA!"\ I .... .., FM30 DCA FITCNT /SET UP RESULTANT EXPONENT /SET UP ITERATION COUNT TAO ACH R•L. /INITIALIZE LINK ~515 ~~501 12H~ FPL' V1..P, 0517 00502 1122 id52\1 00553 77'1.;~ lo 521 00554 4775 "022 0~t'55 a56 1 112 0524 fll0557 7td4 .;1525 ~056V! Jll2 ~526 k105b1 1114 ~527 ~0562 7Z04 053e 00563 3114 ~531 003~ Vi533 0534 tJ535 ~53b 0537 0540 ~541 0542 0543 ~544 ~0564 4777 00565 2260 ~0566 5351 V'IVJ567 1114 '10570 3122 00571 1112 00572 5773 0.0573 V.3~ 1 PF PL AC, (('10574 0Jk',() PAt~ORM, 0~575 ¥'363 Pf\t.G, 00576 If 342 PAR 1 1 "10577 V.:241 P AL.1, CL.A RArt HU OPl-1 ~MA LLA Jft1$ I pt.;EG J"1S UAOQ TAO ACE RAL ACE TAO TMP /GE.T tl!VIOEN.0 SIGN FRUM LINK AFTER /DOES DIVIDEND SlGN JMP FPO\ILP uo TMP OC• OPH TAO ACE JMP I .+1 rPL.AC+1 A~ORM rNEGX AR1 AL1 IJIVISOR SIGN? /ADO CARRY INTO lilUOTIENT DCA RAI. DCA TMP JMS I PAL1 ISZ FITCNT II - NEGATE OIVISOR /ADD DIVISOR TO DIVIDEND /YES IL.EFT SHIFT DIVIDEND /LOOP /PUT ~ESUL.T INTO AC L.EFTS EJECT CPLBUF=6"1Pi0 0545 0540 0547 LINE•62~0 0550 USETBL=634l1 BINARY=6400 SOURCE•7000 0551 0552 Pe.LBUF=7400 l.JSEB•14 0553 0554 BINARB=1!> SOURCB=16 0551 PAGE 0560 00600 72A~ t..iEXTST, CLA CMA PASS NO 0561 00601 1056 HU 05!55 0556 0562 ~0602 7650 SNA ~563 00603 5222 JMP TAO 0564 ~0604 1~61 0565 00505 7650 05'56 ~0606 !:>222 ~067 00507 1~63 0070 0061121 7640 ~571 00611 t>222 0572 00612 "1576 0573 00613 1060 0574 He14 4075 ~575 00615 1174 0576 00616 4076 0577 ~0617 1174 0600 00620 4576 015~1 00621 4777 0602 00622 41573 ST.ART, 0se3 ft:l0623 5226 0604 00624 4572 060!S ~0625 0507 0606 00626 1~6'1 ~OTEG, 0607 00627 765~ ll!610 00630 5235 0611 00631 3064 061~ 00632 2017 0613 00633 202ki e! 014 00534 5776 0615 00635 1171 0616 00635 3017 @617 00637 1375 062!~ 00540 3066 0621 ~0641 3063 ~622 00642 3361 0523 00643 2"124 RDL..OOP, ~624 ©0644 527"1 0525 00645 1J35 Vio2o 00546 3024 0627 00647 117 Vi 063~ ~065~ 3362 0631 00651 3360 SNA JMP CLA START LIST SW CLA HD START OUT~WT SU CLA JMP JMS I T.AO START CPfilINTC L.INENO I tOClOUT JMS I [247 tPRlNTC [247 J~S TAD TAO Jf-'S I Jt-\S I JMS I JMP JMS I CPRINTC CPRr-.iTLN CGt::TCHR TAO CERfw!SG /THEN TAB /ANOTHER TAB /THEN PRINT LINE /ANY MORE CHARS ? /EXTRA GM~BAGE ON LAST 1.INE .+5 /NO /t HO 11~~6 TAO 327~ PCA ~U~L.OK 11 :IJ7 HO SUR20 7640 5265 SZA CLA. 210'1 1374 3024 0643 !00663 1373 ~644 00664 3362 0645 00665 4501 064!) SBLCC!< SFUCGE 00666 0.000 0647 00667 ~hH6 0650 00670 vi000 0651 00671 vHHH 0652 00672 721(.!0 0653 00673 2105 0654 00674 1360 0655 00675 7640 06!56 00676 533~ 0657 00677 2360 06M1 0070VI 1762 0661 00701 7012 0662 00702 7012 0663 00703 7~12 0664 00704 ~167 0665 00705 7450 0666 00706 5172 0667 00707 1166 0670 00710 74~0 0671 00711 5334 0672 00712 1371 0673 00713 7510 0674 00714 1165 0675 00715 1164 0676 00716 3417 0677 00717 2066 0700 00720 5243 0701 00721 7240 0702 00722 3066 0703 00723 7240 0704 007241 HH7 0705 00725 3017 0706 00726 2361 0707 00727 5243 07 li.1 00730 JJS~ 0711 00731 1762 0712 00732 2362 0713 et0733 53~4 eJ714 00734 2~6~ 0715 ""735 7~0121 0715 t'10736 1~616 071-7 00737 7421 RO~LOK, /CHECK FOR FIRST Rf AO Jt-IP .+6 ISZ HO STAR20 /SET (•774 DCA DCA CHkCNT CSOURCt.+2 wOPTR /IGNORE FIRST FOUR CHARACTERS JMS I DIAL RD uo S~CUNT, /FIND BLOCK NUMBER SWITCH /SKIP FIRST TWO WORDS /DIAL READ 0 /SOURCE UNIT SOURCB /CO,RE L.OC OVER 256 0 1 CLA ISZ SSL.CCI< ODDE.VN l\OREAO, TAO /BLOCK NUMBER /NUMBER Of BLOCKS /DOES DIAL RETURN ZERO AC? /INCREMENT REL.A TI VE BL.OCK NUMBER /WHICH CHAR? SH Ck.A Jfl!P OOOCHR ISZ OOOEVN WOP TR /ODD ONE /FLIP SWITCH /GET EVEN CHAR RTR ANO SNA [77 /SIX JMP I CENCX TAO [•4~ /DIAL JMP ENOL.IN /SUMP l.INE NUMBER TAO SPA (3 /CONVE~T TAD TAO [ 1 '1~ DCA I Cl-IRPTR TAD I RTR RTR OOCt-tR, ans /ZERO IS EOF ISO 00 "ENO" CR SNA TO ASCII C24~ ISZ MAXLIN J~P ROLOOP /TEST FOR L.INE TOO L.ONG /PUT CHAR Aw AV AND GET NEXT 1 MOLIN /IGNORE REST OF LINE CHRPTR CHRPTR LTMSG /8ACK UP BUFFER CLA CMA OCA Cl.A UD CM4 OCA ISZ JMP ROl..OOP OOOCHR, DCA ODOEVN /SET SWITCH ISZ WOP TR JMP /GET ODD CHAR /BUMP WORD POINTER OOCHR LINE NO /BUMP l.INE NUMBER TAD I ENLiLINr lSZ Mle00, NOP TAD 7421 w.OPTR LINE.NO /PUT L.INE l\4UM 11\fTO MQ 00740 72~'0 CL.A 1~17 7~40 TAO /NO BUG ON NON,,.MQ MACHINES 0720 0721 0722 0723 00743 1171 TAO tLif\sE,,.1 ~724 00744 3020 OC4 NCHARS 00741 00742 CtiRPTR 0725 00745 70~1 UC 0726 00746 0727 00747 0730 00750 0731 00751 1l12UJ T~D NCHARS 3©23 1171 DCA TAO L. INS IZ CLit-.E•l 3017 OCA 0732 00752 13f' 1 uo 0733 ~0753 7550 0734 lli21754 5776 0735 00755 4572 SNA CL.A ~136 1'124 JMP I JMS I 0075ti ,.42.d JMP I 0737 00757 5776 07 4~1 0741 ~0760 0742 00761 0743 00762 ~ 0.'10 ~0~0 00!-'10 /FINO 1111 NUMBER OF CHARS CM.\ CHRPTR OtJDEVN, 121 Pl 0 1 /SAVE SIZE OF L.INE FOR PRINT /SET POINTER 1..TMSG /CHECK FOR L.INE TOO LONG MESSAGE (ASMBL. tERMSG /NONE, OK ( AS,..·BL MAXL.IN•L. TEMP LTMSG, WDPTR, - /PRINT L.INE TOO L.ONG MESSAGE .l•~.T• EJECT C17 4 ..i ~v.17 71 tr'. /1;,~3 110772 ~6n~ rt!0773 7 ~~: 2 0'1774 7•H'4 0~77f) 7 ti 41 00775 1 ~H~ ~) VJ0777 2tlt0 07115 0746 0100f?l Aj73 ASMRI..., 0747 01001 5563 075L~ ih1002 1162 0751 01003 745~; rt!752 01004 t>2t.!0 Vl753 fil10~5 1J77 0754 01006 1450. 0755 01007 5223 0756 0101el 137b 0757 01011 7!:>50 076t~ 01012 b2t1~ 0761 01013 4561 1?1762 01014 4560 0763 01015 l! DC.A DIVISOR FROM EXTMP2 /SAVE MQ /GET BACK AC /COMPL.ETE SHIFT /TEST COUNT /l•3 SET LINK TO 1 SZt.. TAO THREE /SET SHIFT COUNT (•3 RAI. DCA AC BY (•15 CLI. TAO TAO /DIVIDE /MQ LTEMP OCA ASSEM6LY BACK ON CIF IT WA EXTMP2 OCA TAO OCA CLL. /TURN /SAVE !If ORD 1"'22 1023 1024 1025 1026 1027 1030 1031 1032 1033 01054 1157 TAO 0105~ DC~ OCNT TAO OTEP"P ~006 01056 10?.5 OLOOP, 010e1 71~5 01060 i'0V4 01061 3td05 C•4 Cl.L RTL RAL. OC4 OTEMP 01062 10~5 TAO OTE,..P 01063 01064 01065 01065 01067 01070 01071 7004 0156 1155 RAL. ANO 4576 2006 uo t7 JMS I [260 CPRINTC 5256 1164 ISZ JMP OCNT OLOOP TAD 104ft) 01072 4576 JMS I [240 CPRINTC 1034 1030 1"136 1037 1047 1050 1051 H152 1~e;3 1054 1055 1~56 01100 01101 ftH 102 01103 01104 01105 01106 01107 01110 01111 1~40 TAD 7640 SZA CL.A JMP I 5770 1055 7450 1063 01115 1~64 01116 1065 01117 1066 01120 UHS7 01121 107!i.1 01122 1071 01123 1072 01124 1073 01125 ASCII /PRINT BL..ANK /ENO OF EXPR, PUT BACK CHAR /LITERAL ? /GO CREATE LlTERA~ /DONT SKIP IF NO EXPRESSION (BAO L.ASTOP /BECAUSE ITS AN ERROR /WAS THERE A TRAIL.ING OPERATOR ? /NO, JUST RETURN /WAS IT PLUS ? SIU JMP I (O! 1'17 tj 1077 1100 1101 01176 01177 0:tH~4 01200 01201 01202 01203 01204 UI 17 L.UNAME, r.~13 PAGE TAD NCHARS OCA NCTf-'1P CGETNAM JMS I JMP I JMS I JMP CGETCHR JS TONE /NO COMMA, CHECK FOR EQUAL /I.DOK UP SYMBOL. I ITS COMPLETEL. Y NEW TAO I /CHECK LOCCTR AGAINST OLD DEFINI xHJ LOi;TRl TAD SZA CLA TAO I .+5 X10 TAO 1.0CTR2 J""P cu 01226 1027 01227 7650 01231(! 52£14 1127 01231 4572 SNA JMP 01232 1!S04 /LOOK FOR NA.ME /NONE, Pi1IGHT BE EXPRESSION /1.00K FOR COMMA /ITS JUST ONE SYMBOi. /COMMA TEST JMP TRVE.QU JMS I CL. OOKUP JMP NEWL6l. SNA CLA JMP DEfl..BI. cu 01225 7041 1131 01233 1132 01234 1133 01235 113A 01236 1135 1(11237 1136 01240 EXPGET (19254 TAD SZA 01222 7640 01223 5231 01224 1410 /SAV0 1120 1121 1122 1123 1124 1125 1126 uo DCA 3021 CLA I ITS UNDEFINED /FIRST UPPERR HALF /THEN L.01t11ER HALF DE FIND JralS I CERMSG 1504 JMP l /M.UL. TI PLY /•MO• C.ASMBL DEFINED 2466 DEFLBL., ISZ I L TE~P 1026 LOCTR1 X10 /FIELD IS OK /BUMP NEXT BY 2 /TO MAKE ROOM /FOR NEW SYMBOL, /SET TYPE TO 1 (USER ADOR) /PUT l.OCATION COUNTER /INTO VAl.UE 1.0CTR2 XHJ FLD0 /GO l.001< FOR ANOTHER TAG 577b 7126 NE~Lt:iL, 1016 3016 1137 01241 34U 11M'l 01242 1027 1141 ~1243 3410 1142 01244 62tli1 DEFINO, Cl..L C1'4L. RTL T.AO OCA. T.AO OCA I TAO DCA I COF 1143 01245 5776 JMP I 1144 01246 137e> TRYEQU, TAD 1145 01247 744e SZA JMP 1146 01250 5340 NEXT NEXT (ASMBI. (•21 /CHECK FOR EQUAL SIGN TRYBl.K /NO, TRY B~ANI< 1147 01251 1052 1150 01252 3071 1151 01253 U5;, 1152 01254 3072 1153 01255 1054 115A 01256 3073 1 U55 01257 1051 1156 01260 3ill74 1157 01261 4551 1160 1161 1162 1163 01262 532fl 1164 1165 1166 1167 1170 01266 01267 01270 01271 f.!11272 01263 103 7 U254 765e 01265 5563 1071 3052 1072 3053 1073 1171 01273 312154 1172 01274 1074 1173 01275 3051 11741 1175 1176 1177 120e 01276 4552 01277 5331 01300 7450 01301 7001 01302 7041 1201 01303 1037 1202 01304 7640 1203 01305 5J26 1204 01306 7144 PUTVAL.1 HO OC4 NAME1 EQU~ HD EQUN+1 DC: A. TAO DC4 TAO 81.JCl6 12 3 ti 01340 1J73 Tr;Yr?Lt<, TAO SZA cu 1237 01341 7ti~H'l J!'V1P I 124\'' 01342 b7b4 1241 ~1343 4~52 JSTONE, JMS I JMP l 1242 01344 5772 1243 ~1345 13t'13 TAO 1244 ~1346 3J52 OC 4 1245 01347 14H'1 uu I 124b 013~~ 3't.l40 1247 01351 b2ti 1250 01352 Vvifi'•0 UPCJMP, 1251 l('l 1353 0754 OPCTBL., 1252 i?ll 354 12:>3 01355 1254 01356 1250 01357 1256 01360 1257 01361 /CHEC~ E>'PGtT /NO 6LANt<, GU TRY f OR [L OtiK UP F' OR bl..A~K EXPRESSION x1 ll OCA UPC:OUt:. /ITS Alli CDF FLO~· 0 Jf'!iP I .+1 EXPGET, GE TEX? l 4V:3 GtTEXP 14163 1403 GETEXP GETEXP GETEXP PSEUDO 12bl ~1363 1431 1262 01364 153.tl 1263 01355 1637 1264 01366 1!)!;2 1265 01367 ltl47 126b 01370 1655 1267 01371 1473 ( ~ !) /LOOKUP SYMBOL /ITS A NEiti SYMBOL /CREATE JUMP Tl-tRU TABLE /SAVE n /PICK iJP FIRST WORD OF VALUE 14v;3 1403 15h5 1260 01362 16\ro!t) PL1TV AL PDP8MR FPPMR FPPS1 (Nf~;UNE UPClBL LlPCJMP /JUMP OPCODE-MAYBE? SOME~HE.RE I UNOE F'I NED /LJSt:R ADDRESS JU SER DP /USER FP /POP 8 OPERATE /PSEUDO OP /PDPij MR IF PP MR /OTl"IER FPP OPCODES FPPS2 FPPS3 FPPS~ FP?S5 FPPMR~ /FPP 2 itf0RO l"IR FORMAT EJECT 1270 01372 140" 01~73 0035 01~74 7740 01375 7757 01316 U\l!e 01377 7524 1271 PAGE 1272 01400 341b NE~UNE, 1273 01401 3416 1274 01402 62V11 1275 1;11403 rn21 GU EXP, 1276 01404 3017 1277 01405 l!d2~ DCA I DCA I NEXT CDF HO FLO~ CPTf"\P OCA TAD OCA NCTl"'P NCH.ARS /TO JUST /TRY FOR AN EXPRESSION /IF NOttlE, ERROR 130it5 01406 3162~ 1301 01407 4551 1302 1303 1304 1305 1306 0141~ b226 01411 71 ~Al JMS I CEXPR B.At>EXP CL.L. Ct-IA R•L TAO 7450 SNA 5221 J~P 7110 SPA CL.A 5223 JMP 1311 01417 1V:l34 OUT3fti0 1 TAO 1312 01420 455~ JMS I 01421 1ill35 OUT2wD, TAO JMS I 01422 4550 U423 1'136 oun~o, TAO JMS I 01424 4!:>5k'i JMP I 1317 01425 5563 132Ql 01426 4072 BADEXP, JMS I 0230 1321 01427 0:230 JMP I 1322 01430 5563 1323 01431 4!547 FPP"'1R, JMS I CLA IAC 1324 01432 72~1 1325 01433 3V)47 OCA JMS I 1326 01434 4546 1327 01435 1077 TAO SZA CLA 1330 01436 7640 1331 01437 5277 JMP TAO 1332 01440 1033 1333 01441 ?' U51 CLL CML. 1313 1314 1315 1316 1334 01442 1335 01443 1335 01444 1337 01445 1044 3\142 7004 1032 1340 01446 7041 1341 01447 Ul43 1342 01450 764fb c;., , 1343 ~1451 !5,,"., 1344 01452 1047 1345 01453 7650 1346 01454 5315 CHkPTR JMP 014412 li1J/ 01413 01414 1307 01415 1310 01416 NEXT HD /RESTORE CHARACTER POINTER AFTER TAG CIF /C!'1t.CK TYPE OUT2WO /O,P,, OUTPUT OUT1w0 t•OORESS, OUTPUT 1 WORD /F,P., OUTPUT 3 WORDS EXPVAt.. [OUTWRD 2 4NY) WORDS EXPVALU [0Ul114RO EXPVAL+2 tOUTWRD CNEXTST CER,.,SG tNEXTST tCi-11< lNO /GO 00 NEXT STJi;T /BAD EXPRESSION /DO NEXT STMT FOR INDIRECT /CHECt< /SET SWITCH I"'DRCT FPP~D2 /GO GET ADDRESS AND INDEX /CHECK FOR FORCED 2 WORD ADDR F OR~Tl /FORWO REFNCE, USE 2 CGET AOR BASER+l ~ORD CIA FPPADR+1 /COMPARE BASE /BY OOUBL.E SUBTRACTION OCA WORC2 BASER TAD FPPADR SU CLA r:-ncanT • W"n P I .. J~P ,- TAO INDRCT SNA Cl,,.A Jf"P TYPE t:.Xfo'TYi"' RAL. TAD cu /RESERVE 2 WORDS /THUS ASSUMING AOOR FORt-'IT3 FORMAT WITH AODR I n1Ur:: /IF HIGH ORDER WORD NOT ...l'JI , ........... /IF INDIRECT, USE SHORTEST FORM 1347 1£11455 1 0, t1 t> 13f>v.1 01456 7 ti .av 1351 01457 ':.·277 1352 '114b© lvl42 1353 Pl1461 71 (..iv 1354 ~1462 1J77 TAO SZA Jf'.iP /IF INDf:.X HO F'Ot lJl1463 7o::w CLI. TAO c-oelD SZL. CLA 01464 ~277 JMP 1356 1357 1360 13b1 1362 1.363 lA42 fUkMT2 1 TAO JMS l 01466 f;,lfb 01467 Ht.io TAO 01470 11~5 HD JttiS I 01471 455~ 1364 01472 b56.3 JMP I 1365 01473 4547 FPPt-4kL, JMS I 1366 01474 72V;1 CLA UC OCA 1367 01475 3!147 JMS I 1370 01476 ~546 1371 01477 1047 Ftikt-i:T 1, TAO 1372 0150ei 764i/i SU CLA JMP 1373 01501 53ti5 1374 ~1502 4072 JMS I 1375 ©1503 1111 1111 1376 01504 3047 OCA 1377 01505 4544 JMS I 14€0 01506 1043 TAO 1401 U507 Vl~b ANO 1402 ~1465 01~10 U45 1403 Z1511 4j50 1404 01512 1~A4 HO SNt.. /TURN ON A BIT /OUTPUT IT COlJl WRD tNEXTSl tCHKIND INDRCT CGt.1 ADR /GET ICHt.CK FOi< INDIRECT ADORESS FIELD /IF !NOIRE CT, THIS IS A NO•NO .+4 CERMSG H'!ORCT CFIXOPC FPPAOR /ILl..EGJ\L. INDIRECT /•II• /CLEM< SWITCH !GO PUT IN INDEX AND lNCREME.NT /GET ADDRESS t7 COIJT~RD /Pt..,US EXTENSION OPCODE /OUTPUT IT rPPAOR+l COUT~RP /THEN REST OF ADDRESS (NEXT ST wORD2 /TRY INDIRECT FORMAT C•3e /DISPLACEMENT CAN BE c OR CLA vv0Rl2 1 \!j45 TAO UPCOOE 1145 a tH.H1 TAO JMS 1 5Jt>3 JMP I 4547 FPPSl, JMS I b340 J~P 143~ 01536 '072 1431 01537 1111 J~S 4:S46 /CHECK FOR '' 1" CINUIRECT) /SET SWITCH H63 J'"1P I 4323 FPPS4, JMS ADRGET 0Ui50 1'i136 01651 0156 1524 01652 1045 1525 01653 45~0 1526 01654 5563 1527 01655 72e:t FPPS5, 153i0 01656 4337 t531 01657 1046 HO EXPVAL.+2 [7 JMS I Al\iO TAD JMS I JMP I cu [OUT!NRO LNt::XTST OPCODE COUTWkO /GET AOORESS (UPPER 5 BITS ZERO) IPL.US OPCODE /OUTPUT WORD /GET ADDRESS FIELD /PUT EXTENSION /WITH OPCODE /OUT /REST OF AODR /GET INDEX REG EXPRESSION /GET LOWER 3 BITS /OF INDEX REG EXPR /WITH OPCODE /OUT [NE>ITST UC J~S GE TA DR TAO INOEX /SET INDEX INCR SWITCH OFF /GET AOR ANO INDEX F"IEL.OS /WAS THERE AN INDEX? CL.A 1532 0Ui60 765e: U533 01651 5264 1534 01662 1036 1535 01863 ~156 SN,\ AND [7 1536 1537 1540 1541 1542 01664 1045 01665 4550 TAO OPCODE 1543 XITEMP, 01671 0000 CHKINO, 0 1544 1545 1546 1547 1550 1551 JM? uo 01666 1044 01667 4550 0167121 5563 01674 1020 01675 3022 01676 4:553 1f552 01677 5671 1553 01700 U51 1554 01701 1375 COUT,.RD TAO FPPAOR+1 JMS I tOUTwRO JMP I [NEXT ST CHRPTR CPTMP OCA NCTMP JMS I JMP I CGE.TNAM /I.DOK FOR NAME CHKlNO HO BUClCA JMS I ~737 JMP I GE TA OR (•254 1627 1631 Ill 175b 1632 01757 1 ti~ J ii117b?. 1634 !!'.! 1761 163b 01762 163b 01763 1637 ~H764 16411 01765 1641 ~1766 1642 ~1767 1b43 01770 164 '1 e 1n1 1645 ~1172 1646 01773 LLA 1374 TAO 7 ti4llJ 5J71 20'16 1a1 SZA ~) J.I 0 ,3 4.323 205~! :,.737 4572 C:kR2, 230 "5737 \f cu CGtTCHR JMP ERR2 ISZ INDEX TAO XIH.MP OCA XI NCR JMS ISZ JMP I JMS I I /SAVE ADORESS VAl..UE /LOOK FOR COMMA /NO INDEX /NO~ COMMA IS BAD /SET INDEX SWITCH /SET INDEX INCREMENT SWITCH AD~GET XI NCR /CL.EAR INDEX INCREMENT GE TA OR [ER MSG 0230 J~P /FORCE 2 wORO FORMAT /ZERO INDEX SWT GETADR /BA.0 ADDR /•Sh EXPR SWITCH 1647 EJEC:T 01774 7524 01775 7767 ~1776 3~17 01777 0400 1 s~rn P~GE 1651 02000 !t'~~0 PRNTL.N 1 0 TAO 16!52 02001 1063 1653 02002 7640 1654 02003 56'10 1655 02004 2063 SZA CLA JMP I PRNTL.N ISZ 1656 02005 1171 TAD 1657 02006 301'1 OCA 1660 020~7 141 f(I TAO I 1661 02010 4~76 JMS I 1662 02011 2023 ISZ 1663 02012 5207 JMP 1664 02013 ~6V•0 JMP l 166~ 02014 (ll~,~0 Gt::TUNT, 0 JMS I 1666 02015 4573 JMP 1b67 02016 5230 JMS I 167~ 02017 4561 JMS I 1671 02020 45!54 1672 02021 1""36 TAD 1673 02022 1377 TAD 1674 02023 7500 SMA J~P I 1675 02024 5776 1676 02025 1375 TAO SPA 1677 0202~ 7510 JMP I 170"1 02027 !!1776 1701 02030 3774 NOUN IT r OCA I JMP I 17ta2 ~2031 5614 T.AD 17"'3 '112032 1 Q!4e, FP, 1704 02033 7650 SNA CLA 17£ll5 02034 5237 JMP 1706 1707 1710 1711 1712 1713 1714 1715 1716 1717 1720 1721 1722 1723 1724 1725 • ., ,, II: .. , c;, .... 02035 1373 TAO 02036 3037 02037 1037 02040 7440 02041 1372 02042 7640 02043 5771 02044 1410 02045 3355 02046 1410 02047 3356 02050 1410 02051 3357 02052 62(tl 02053 3040 02054 1370 OCA 12"lfJ:ll\llt. Lt--~ W'W •r""" .. u .......... 1727 02056 3263 OUTSwT tLlNE•l X10 X10 CPRINTC LIN51Z NOU~IT CBACKl [AORGET /BUMP COUNT UNIT FOR CHAIN /IS ANYTHING THERE ? /TREAT IT AS UNIT " /PUT BACK EXPR CHAR /GET UNIT EXPR /CHECK (C!o!ERR RANGE /TOO BIG (10 (Cl'fERR (UNIT /TOO SMALL GETUNT /RETURN EXPSlll /FIRST TIME THRU ? .+J /NO (3 EXPTYP t:XPTYP /SAVE UNIT /SET TVPE TO 3 CFP) /CHECK TYPE OF EXPR so FAR 10 (UNO) IS OK /SO IS 3 CF Pl /ANYTHING EL.SE IS A /GET OPERAND NO•NO QPIUNO X1~ TAD I COF X10 0Pf .. - V I WI XFOPR iCi.EAR FIRST TIME SWITCH /GET CORRECT f P OPERATION JI A ~T OPER!;"!'OR IAOOR OF CORRECT OPERATION , .. ~WI 173.,., lll2~57 tot~ 1731 ··'2 Vl 0 Y' .J 2 f, 3 1732 V'·2M1 a 177 HD I 1!1.5 4 17~.3 ~)2~62 j 173'1 02~63 1cv.lV0 173~ v.;2004 ~ XFOPI(, !1 ;, '1 1736 e12~05 v' 1~ c:~0 1731 0217!66 o~;)7 17 4~i 17 41 174c XFOP~ J~S XFOPR 177 3ftVjl1: EXPV•L. " EXPvAl. ()CA ~U~lrn V1 Jff.P I t0Pk8R XDPRND•UPRA~U&177 XSAO:sBH\X&177 '1Jb5 XFPTt.;L, 1743 0207V! b355 1744 02~71 6300 1745 i.12~72 7300 1740 ~2073 1275 02~67 XOPRND XOPRNP XOPRNO 42eJ0 52~0 6200 7200 XOPRNI) XBAO 12 ~ei XBAC /GET CORRECT OPERAlION /STORE IT /ENTER FPP~L /FPL AC EXPVAL /FPXXX OP RAND /F'PSTO EXP VAL. /FPEXIT /GO GET OPERATOR /PAGE AOOR Of OPRANO /PAGE ADOR OF BAOX /FPAOO OPRAND IFPSUB OPRAND /FPMUL.. OPRANO /FPO IV OPRANO /FPJMP BAOX /FPJMP BADX 1747 02074 1275 1200 175e! 02075 ~l!/l('\(!\ BAOX, 1751 ta2076 5767 ~ 1752 V12e77 a766 Hif'"P, JMS I (FLINTP J~P FP /ITS FP 17 !> 4 02HH 1410 Xl~ 1755 175b 1757 1760 17b1 1762 1763 1764 1765 02102 3355 OP, 02103 141 et TAO I DCA TAD I OPIOND OP~ BUT NORMAL. I ZED /PUT EXPONENT ITHE.N HIGH PART OCA TAD I OPRAN0+1 oc~ OPRAN0+2 CDF HO FL.De EXPSw 1767 1770 1771 1772 1773 177A 1775 02114 ~"'37 02115 1037 02116 7440 175J ~2100 5232 02104 3356 02105 141"'! 02106 3357 02107 62f·i1 02110 1040 02111 7o50 02112 531~ 17 t>6 02113 7126 1776 1777 20U 2001 2002 2003 200~ 2005 2006 02117 1365 0212~ 7640 02121 02122 02123 02124 02125 ia2126 02127 02130 02131 02132 02133 5771 304"1 1 ~J55 /FPEXlT JMP I SNA cu DCA TAO SZA TAD 1734 DCA JMS 3355 3200 2200 3000 2355 ~~34 2~07 02134 r1000 XDOPR, 21d10 02135 V10ll:l0 2011 02136 1112 IJNNOR~, 2012 02137 7450 2013 0214" 5347 2014 02141 7500 201!5 02142 1364 XU EXPTYP EXPTYP /ITS /THEN L.OW PART /TYPE CHECK /FIR.ST TIME SETS TYPE /CHECK (•2 (XFPTBL•1 XDOPR XOOPR XOOPR 177 XOPRr..D XO PR ND EXPVAL.. /MIXED TYPES /GET CORRECT OPERATION /ENTER FPPRL /FPL.AC OPRAND If PSTO OPRANO ACE (NORMALIZES) /FPL.AC: EXPVAI. /FPXXX OP RAND /FEX IT /CHECK EXPONENT MOVEOP /OONT SHIFT IF EXP 0 (•27 /IF POS EXP, INTEGERIZE 0 0 HO I& L BAO FOR FP OR OP /GET FP OR OP NUMBER 10 OR 2 OK SZA CLA JMP I (MXDTYP EXPSW OCA uo LAST OF' 3334 4177 3334 X10 JMP .+3 CLI.. CML. RTL. HO DCA HD I 137~ (8A.C SNA JMP S~A TAO 2016 02143 7700 SMA CLA JM? 2017 '12144 !')347 2020 02145 4163 JMS I JMP 2021 02146 5330 2022 02147 3034 MOVEDP, DC.\ 2023 02150 1116 TAO 2024 02U51 ~~36 DCA 2025 02U52 1117 TAD 2026 02153 3035 DC4 2027 '112U54 5537 JMP I 203rt 02U55 ~000 OPRAND, 0. ra 02156 ~ tdr'!0 02157 0000 MOVEOP (AR1 UNNORM EXPvAL /IF STI~L /Si"llFT AC /CONTINUE POS OONT SHIFT FUG~T 1 UN•NORMA~IZATION /ZERO EXPONENT ACL. EXPVAL+2 ACH EXPVAL+l COPR8R /LOwER ~ORO /UPPER WORD /GET OPERATOR EJECT 2~31 02163 0342 02164 7701 02165 7776 02166 22~~V; ~2167 0217~ ~2171 244~ 20f:i6 2:l54 02172 7775 02173 '~0~"'13 et2174 5243 02175 I(:~ 10 02176 5347 02177 7770 2032 2l?33 0220LI\ Vi0f V! FLlNTP I 2034 02201 ;;;,;24 2035 ~2202 43P6 2036 022~3 4573 2037 02204 b211 2~4~ 02205 113b 2041 02206 764!0 2042 02207 5216 2043 ©22H" 1324 2044 02211 7640 2U5 02212 5221 2046 02213 3361 2047 02214 2324 2050 02215 533A 2051 n216 ,561 ENDFPN, 2052 02217 1324 2053 02220 7640 2054 02221 13f)1 PER2, 2055 02222 7041 2056 02223 3325 2057 el2224 1065 2060 !tl2225 3326 2061 02225 :?.i.165 2062 !ll2227 "1573 2~163 02230 6267 2064 02231 1377 2065 02232 7450 2066 02233 5237 2067 02234 7tllllJ 1 2070 0223~ 7450 2071 02236 f?2Q!~l 2~72 02237 7640 2073 02240 5266 2074 02241 '1573 PAGE: 0 OCA JMS JMS I PRSw DECONV tG~ TCHR /SET PERIOD SWITCH /GET CHAR J~P ENDFPN+1 TAO SZA CLA [•256 /IS IT JMP ENOFPN PRSLc. /IF NOT, 1..00K. FOR E:.XPONENT /PER IOO rOUNO PREVIOUSLY ? HO SZA CLA JMP PER2 DNUMBR DC4 ISZ JMP PRSt-i DECON Jf'IS I CBACI< 1 TAO PRS" SZA CLA DNUM6R TAD CIA SEXP OCA RADIX TAO DECO NV OCA ISZ kADIX JftiS I Jf'!P CGt:TCl-1R TAO F'PFIX (•305 SNA Jf'iP .+4 IAC: SNA ISZ II • II /YES, SECOND PERIOD /ZERO OIGIT COUNT /SET PERIOD SWITCH /CONVERT REST OF STRING /PUT BACK NON PERIOD /PERIOD READ IN PREVIOUSl..Y ? /YES, •NUMBER OF DIGITS TO SEXP /NO, ZERO TO SEXP /SAVE RAO IX /AND SET RADIX TO DECIMAL.. /CHECK TERMINATOR /END OF 1.INE /"E"? /YES l"O"? Fl..INTP SZA CL.A "D" OR "E" ? tGETC:HR V,12242 b2t57 JMP /NO, ENO OF NUMBER /l.001< FOR SIGN l~O 2016 02243 1376 FPFIX TAO C.,2SJ 2077 02244 7450. 2100 02245 0202 /IS IT + SNA ISPLUS /YES 2~75 JMP JfriS l JMP FPFIX•l /SKIP ON RETURN IF OP I SIGN 2101 02246 ,, 375 2102 02247 7650 2103 02250 5253 2104 02251 4561 2100 ~2252 71!101 2106 02253 3373 TAO SN4 JM? (25;'5•255 /IS IT .. ISPLUS+1 /YES /PUT CLA JMS I CBACK1 DCA FPESGN ISPL.US, UC [NUMBER 2107 02254 4535 J"1S I 2110 02255 5267 2111 022f>6 1373 2112 02257 711 ei JMP FPfIX TAD F"PESGN 211~ 1042 TAO WORD2 2114 02261 7420 2115 02262 7041 2116 02263 132~ SNI. CIA 0226~ 2117 02264 212~ 02265 2121 02266 2122 02267 2123 0227PJ 21~4 C: LL. RAR 3325 TAD OC:A 7410 SKP 4561 1325 FPFIX, 7450 02271 5311 2125 02272 7700 2126 02273 53Q!2 2127 02274 232~ 2130 02275 7000 2131 02275 ~177 2132 02277 7321 2133 02300 0000 2134 02301 5267 2135 02302 7240 MUL T 10, 2136 02303 1325 2137 02304 3325 2140 02305 '1177 2141 02306 6J21 2142 02307 0000 2143 02310 5267 2144 02311 4177 ENOFPI, 2145 02312 23155 2146 0231! 0000 2147 02314 1326 21!50 02315 3065 2151 02316 1374 2152 02317 3010 2153 02320 5500 215A 02321 0004 TEN, SEXP SEXP IT SACK /SET EXP SIGN /GET EXP /NO EXP /GET SIGN INDICATOR /INTO L.INK /EXPONENT VAL.LIE /COMPL.EMENT IF SIGN .. /NUMBER OF DIGITS RIGHT OF /GIVES MOOI~IEO JMS I CBACK1 TAD SEXP /KEEP GOING ? ENOFF: /NC, RE'rURN MUI.. T10 /"11Ji. T BY SNA JM.? SMA JMP /RETURN CHAR CLA ISZ SEXP EXPONENT u. /INCREMENT BY 1 NOP JMS 177 TEN&177+7200 /DIVIDE SY 10. 0 JMP F'PFIX CL.A CMA. DCA SEXP SEXP JMS 177 TAO TEN&171+6200 /DECREMENT BY 1 /MUI.. TIPL. Y BY 10. 0 JMP JMS FPFIX 177 /PUT NUMBER INTO FPTMP FPTMP&177+2200 0 TAO OCA TAO DCA JMP I DECO NV R•OIX CFPTMP•1 X10 FLINTP 4124001~ /RESTORE RADIX /SET POINTER IN XU /RETURN 110. 02322 24l'!0 02323 0000 2155 02~24 Vi000 PRSW, 2156 02325 "0N!I SEXP, 0 0. :; 116 2162 02331 3117 2163 02332 3115 2164 0233J 3361 OCA OCA OCA DCA 2157 02325 00~0 OECONV, 0 2160 02327 3112 DCA 24£4 6V4 ~233~ ACE /ZERO FAC AC!.. ACM ACO ONUMBR /ZERO DIGIT COUNT • 2165 02334 4573 DE.CON, 21b6 ~2335 5726 JMS I J t1 p I 2167 02336 1134 UD 2170 02337 7:>0~ SMA 2171 0230 t>357 2172 02341 1133 2173 02342 7510 2174 02343 5357 2175 02344 3364 2176 02345 4177 2177 02346 2365 220© 02347 3362 2201 02350 2370 22el2 1212351 3355 2203 02352 6321 2204 02353 4370 2205 P.12354 0l.1CA0 2206 02355 2361 JMP TAO SPA · JMP OCA /GET A CHARACTf.:.R /RETURN /TEST FOR OlGIT NOTFPO /NOT A OIGIT tGElCHR [ 12 NOT FPO rPDIGT+2 JMS 177 FPTMP&177+2200 /NORMAL.IZE DIGIT /MUL.T 0 ISZ DNU"1BR OE CON CBACl<1 DECONV 01010 02366 0000 02367 0000 221!:5 02370 ~0"'0 FPTMP2, 01010 02371 0000 02372 2216 "237~ 000~ 0~00 ~000 /SAVE FAC FPTMP2&117+2200 FPTMP&177+3200 TEN&177+6200 FPTMP2&177+4200 f'PTMP, /STORE IN I.OW PART OF f'P NUMBER FPOIGTU 77+32e"0 2207 023f56 ~334 JMP 221~ 02357 4~61 NOT FPO, JMS I 2211 02360 e>726 JMP I 2212 02361 0000 ONUMBR, 0 2213 02362 0027 fPUIGT, 27J010 02363 v.1000 02364 e:000 2214 02365 liifd~0 DEC:ONV [•272 FPESGN, 0 CHAIN 11 FPPASM2 11 /GET FAC SY 10. I.ADO NEW DIGIT /FEX IT /INCR DIGIT COUNT /L.OOP EJECT 0001 02374 2364 02315 7775 02376 7525 02377 7473 0002 000~ 02400 Cl!0V10 12100 4 02401 3034 121005 0202 3035 0006 02403 3035 EXPR, PAGE 121 OCA OCA OCA 0007 02404 3037 0010 02405 7201 OCA 0 lll11 1212406 312140 0012 02407 3076 0013 02410 7201 OCA 0014 02411 3055 DCA 0015 02412 0016 02413 0017 02414 0020 02415 0021 02415 0022 02417 0023 02420 0024 02421 a532 JMS I 4573 JMS I JMP l TAD SNA 0025 02422 0026 02423 0027 02424 0030 02425 0031 02426 0032 02427 0033 02430 0034 02431 CLA UC DCA CL.A 5600 1377 7450 UC EXPVAL EXPVAL+1 EXPVAL.+2 EXPTYP EXPSW FPP2WO t.•STOP EXPH /NO EXPRESSION (•255 /IS IT • L.ASTOP /SET I.AST OPER8R TO • ISZ SU (255•253 TAO SU Cl.A JMS I SYMBOi., JMS I JMP 5247 45!52 JMS I JMP 5357 4553 TAO 1375 7500 0035 02432 5245 0036 02433 1236 0037 02434 3235 0040 02435 0000 0041 02436 5644 0057 0245A 5275 0060 02A55 ~573 0051 02455 5331 CL.OOKUP /LOOK IT UP /NEW SYMBOL. /C~ECK FOR BADDIES DEFSYM (•5 /NOW PICK UP NAME /NONE, TRY OTHER SAO SYMTYP /BAO EXPRESSION DCA .+1 /STORE JUMP /JUMP THRU TABLE 0 SYMTYP, JMP I 0042 02437 2600 PUNOEF, UNOEF AOR 0043 02440 2520 OP 0044 02441 2102 0045 02442 2032 FP 0046 02443 2:525 ONE 0053 02450 3067 0054 02451 1020 0055 02452 3070 0056 02453 1.;;4 /NO, PUT CHAR BACK TAD JMP 0051 02446 5600 0052 02447 lid 17 NOSYM, /IS IT + OR "" CBACI< 1 CGETNAM NOSYM SPU 0041 02444 2200 OK EXP, 0050 02445 7200 SAO, /SET FORCE SW ITCH OFF /SET L.ASTOP TO + /GO CHECK FOR ~ITER•L /LOOK FOR UNARY+ • 2055 4561 /ANO TYPE /SET EXPR SWITCH TO NO EXPR CCHKL.IT [GETCHR 7440 1376 7640 /GET EXPRESSION /ZERO EXPR VAl.UE .+6 /UNDEFINED /USER ADDRESS /USER O.P. EXPR !USER F1 P, IPDP•8 OPERA.TE /GOOD EXPR, sur-;p RETURN TAO EXPR CHRPTR /RETURN /NO NAME, SAVE CHAR PCS OCA Exriv.P ISZ CLA JMP I HD OCA Jr'·S I JMP JMS ! JMP NCH~RS EXTMP2 CNUriSER NOTNUM CGETCHR AOREXP /LOOK FOR A NUr;SER /NO NUMBER !LOOK AT NEXT CHAR /NO NEXT CHAR, USE NUMBER 0062 02457 0~63 02460 1!)~64 e·246 t t-1065 e.2462 0066 02463 0067 ~2464 0~7£1 02465 1136 7 44~: 1J73 7440 TAO SZA TAO SZA 7:;1Q:1 l~C /650 S~A CL4 5270 Ji"IP JfiitS I 0071 02466 '1:561 J"1P 0072 02467 0331 0073 02470 1·-167 GUFPN, TAD 01l174 02411 3017 OCA 0075 02472 1 ti)70 HO 0076 02473 302ei DCA 0077 0247.1 5772 JMP I 01'H1 02475 4!)73 NOTNlJM, JMS I JMP I 0101 02476 5771 Ql102 02477 1136 T.A 0 0103 ~2500 7640 SZA Ct,.A JMP I 0104 02501 5170 0105 ~2502 4073 Jt-!S I 010& 02503 5J13 JMP 0107 02504 1134 0110 02505 7!'H~0 TAO [•256 /IS CH4R (25t- .. 3~5 /IS IT "E" ? /IS IT "0'' ? GETFPN CB At!\ 1 ADfCEXP EXTt-;p /TRY FOR OP NUM /OTHERWISE PUT IT ~ACK /GO lJSE lT /RESET CHAR POINTER ~CHARS CINFP CGETCHR (ENDEXP+1 t-2~6 /TRY FOR FP OR OP NUMBER /NOT A NUMt3ER, GET A CHAR /NONE l.EFT, ,, ? ENO 115 IT " . tGEl CHR I SOOT t-272 /NO, ENO EXPR /l.OOK AT NEXT CHAR /NO NEXT CtiAR, ITS L.OC SYMBOL /IS NEXT CHAR A DIGIT /NO (END EXP 5~4 ISDOT•1 TAO [ 12 011~ SMA Jf'\P 02510 77P·0 0114 '-12511 !1270 0115 02512 4561 0116 02513 1026 !SOOT, 3~,H 02515 1027 CLA JMS I GEHPN CB ACK 1 /YES, TREAT ". t'·JI' /OTHER"4IS~ AS FP NUMBER PUT IT BACK TAO L.0CTR1 /THIS WAS L.OC SYMBOL. OCA WORD1 HD LOCTR2 /PUT VAl..UE INTO WORD1,2 02516 3 ~1.42 OCA 02517 5331 JMP AO!iEXP /ANO USE TAO I L. TE.MP l7131 ANO /CHECK FORCE BIT FOR THIS [40 7o4~ SZA Cl.A 02520 1466 0124 02521 0120 02522 0126 02523 0127 02524 013v1 02525 0131 02526 2~76 1410 AU~, ISZ TAO I DC.\ TAO I 3041 ONE, 14Ul 0132 02527 31.142 OCA COF 0133 02530 62V11 0134 02531 1~40 AORC:XP, u.o 0135 02532 744'1 SZA 0136 ~2533 3~37 0137 02534 7144 12114?. ~2535 1037 0141 02536 7700 0142 0143 0144 0145 01A6 0147 fl E.XTf-IP2 Jf"IP 02514 • CHRPTR 0111 02506 5312 0112 02507 1133 0117 01U 0121 0122 U23 II 02~37 5354 02540 311140 02541 1~~5 e:2542 1ilA5 ~2543 3344 02544 l/i 101(1 (ii OCA WORD2 FPP2WD XU WORD1 XU WORD2 FL. oe, EXPSW EXPTYP CL.I. CMA R•t. uo EXPlYP SMA CL.A Jtl.P MXOTYP EXPSw OCA TAD I.AST OP TAO OCA "" AOROP .+1 VAL..UE SYMBOL, /ANO SET SWITCH IF BIT ON /GET FIRST "40RO OF VALUE /SINGL.E WORD SYMBOi.., HIGH=0 /GET REST OF SYMBOi. /FIX FIEl.O /FIRST TIME THROUGH 7 /IF so THEN SET TYPE TO ADDR /OTHERWISE LEAVE IT AL.ONE /CHECK FOR TYPE CONFL.ICT - MEANS FP OR OP /KILL. FIRST TIME SW IT CM /PICK UP I.AST OPERATOR /MAKE Jti1P l /NOT • /00 IT 015iZ 02545 5745 0151 02545 2641 0152 0153 0154 0155 0156 0157 ADROP, JMP I ADR I\ DO 02547 2652 AD~sue ~2550 025!51 2445 ADRMUL BAD 02552 2064 ADRANO 025!53 2673 AOROR 27'1!6 02554 4572 MXDTYP, JMS I 0160 02!555 1524 1524 0161 02!556 5537 JMP I 0162 02557 3416 OEFSYM, OCA I 0163 02560 3 4115 OCA I 0164 025t51 5637 JMP I /INTEGER DIVIDE NOT IMPL..EM.ENTED CER~SG COPR8R NEXT NEXT PUNOEF /MIXED TYPES l•Mh /NEw SYMBOL., AL.L.OCATE 2 WORDS IT~EN TRE•T LIKE UNDEFINED EJECT 0165 rt257v.' 147 4 02571 1J75 V-2572 2077 02573 77t> 1 fJ!2574 ~475 ~2575 7773 02576 i.! "~:2 02577 752~ 0166 0167 02600 h17!5 UNOEF, 017V. 02601 7000 0171 02602 su.7 0172 02603 14b6 0173 02604 ~_;-377 0174 026'-'J5 1131 0175 02606 3466 0176 ~2607 3037 0177 02510 62E1 02!2!~' 02611 304~ 0201 02612 71~4 0202 02613 1056 0212!3 02614 7710 020-4 0261t5 5220 PAGE FPPSwT /IS THIS AN FPP ADOR ? Jl'"'P .+5 /NO, TAO I l.TEMP /TURN (7737 t40 /FOR Tl-IIS SYMBOL. TAO SN4 CL,, A. ANO uo DCA I CDF OC4 CL.L HO SP• JMP LTE.MP EXPTYP FLOe· OCA t:XPS~ CMA RAL 7~041 0235 02645 1id3 5 02647 1041 02~6 /•2 /IF > PA.SS 1 f UNDEFINED ERROR OPReR /IJNUEFINEO CLA. RAL uo EXPVAL+1 TAO DCA WOR01 EXPVAL+1 0237 02650 3035 020 02651 5220 JMP 0241 02652 U42 AOHSU6, TAO /SET TYPE TO UNDEFINED /FIX FIEL.O /KILL FIRST TIME Sw ITCH PASSNO 0205 02616 A572 JMS I CERtriSG ~206 02617 2523 2f>23 02el7 02620 1376 OP~8R, TAO (OPR8RS•1 021k1 02621 3011 OCA X11 0211 02622 3050 1..ASTOP OCA JtilS I 0212 02623 4573 CG~TCI-!~ 0213 02624 5775 JMP I (ENDEXP+1 Exn,p 0214 02625 3067 OCA 0215 02626 1411 FlNOOP, TAO I X11 0216 02627 7450 SNA JMP I (ENDEXP 0217 02630 5771. 0220 02631 1057 EXTfw!P HO SNA CL. A 0221 02632 7550 JMP 0222 02633 b236 GOTOP 0223 02634 2ei 11 ISZ X11 0224 02635 5226 JMP FINDOP 0225 02636 1411 GtJlOP, TAO I X11 022t> 02637 3055 L.ASTOP OCA JMP I 0227 02640 5773 CSYfv'.BOL 0230 02ei41 1036 ADFrADO, TAO EXP\IAl.+2 0231 02e42 71e0 CLI. 0232 02643 10~2 WORD2 TAO 0233 02644 3036 EXPVAL..+2 DCA (('1234 0264!5 SKIP AROU~D ON FORCE BIT OPRSR WORQ2 HAS VALUE 0 /•Uh /SET POINTER /TO OPERATOR TABL..E /ZERO LAST OP /GET CHAR /NONE, DONE /SAVE IT /GET NEXT 1.IST ENTRY /ZERO IS ENO OF LIST /COMPARE /THIS I& THE OPERATOR /NO, BUP4P PTR 11..00P /PICK UP OTHER VALUE /SAVE IN "L.ASTOP'' /l.OOK FOR OPERAND /ADO FOR 15 BIT ADDRESS /ZERO 1.INI< /ADD L.OW WORDS RESUL.T /PUT CARRY INTO BIT 11 /ADD HIGH /SAVE /ORDER WORDS /SAVE RESUl. TT /LOOK FOR OPERATOR /SUBTRACT L.0 '4 12 BITS 0242 02653 7151 0243 02654 103 6 cL. L. PJ244 02655 3VJ36 0245 025515 70~4 0246 02657 1041 0247 02660 7041 025~ 02661 1035 OCA fUL. HO T.60 CIA uo CML. c I.A EXPVAL.+2 EXP'f AL+2 /SAVE WORD1 /SUBTRACT HIGH HAL.f L.O~ HA.L.F EXP\iAL+1 DCA 0251 02662 3~35 JMP 0252 02663 5220 0253 02664 1041 AOR.ANO, TAO 0254 02665 0035 A~D OCA 0255 02666 303~ EXPVAL.+1 OPRBR waRD1 EXPVAL+1 EXP\IAL.+1 /SAVE HIGH HAL.F /GET OPERATOR /ANO /HIGM 0256 02667 /HAL.F 1~42 TAO WORD2 /THEN 0257 02670 0036 AND EXPVAL.+2 02671 3036 OCA 0261 02672 5220 JMP 0262 02673 1041 .A.DROR I 0263 02674 7040 EXPVAL+2 OPR8R WORD1 IL.OW 026~ CMA 0264 0257~ VJJ035 1!!12eo 02676 IV;14l 0266 02577 J035 0267 02700 1042 uo AND ho DCA HO EXPVAL.+1 "401'<0 l EXPVAt..+1 WOR[J2 CMA 0270 02701 7040 ANO EXPVAL•2 0271 02702 0fc136 WOR02 0272 02703 1042 TAO EXPVAL+2 0273 02704 3036 DCA 0274 02705 522e OPR8R JMP SIGNX 027~ 02706 3066 ADRMUL.r OCA TAD EXPVAl.+1 0276 02707 1035 SPA CL.A 0277 02710 1710 COMP!. J"4S 0300 02711 4352 , .. 31 0301 02712 1372 TAO DCA NB ITS 0302 02713 3010 EXT MP OCA 0303 02714 3067 EXTr-;P2 OCA 0304 02715 3070 EXT"4P 0305 02716 1067 MULOOP, TAD 0~M 02717 7110 CL.L RAR EXTf.iP 0307 02720 3067 DCA EXTMP2 0310 02721 U70 TAO RAR 0311 02722 7010 EXTMP2 OCA 0312 02723 3ld70 EXP\'4L.+1 TAD 0313 02724 1035 0314 02725 7010 0315 02726 3035 0316 02727 1036 0317 02130 101 e 0320 02731 3036 RAR OC• EXPVAL+1 TAO EXPVAL.+2 0321 02732 7420 0322 02733 5344 0323 02734 1070 SNL. 0324 02735 7100 0325 02736 1042 ,. l 032~ OCA ~2737 3070 0327 02740 7004 RAR OC4 JMP TAO RAL. /OR IS THE SAME AS /SETTING THE BITS /THAT ARE ON IN B AND ,1QT ON IN /AND THEN SETTING H~f. bl 'f i) /THAT ARE ON IN A IL.DOK ,OR OPERATOR /ZERO SW ITCH /IS EXPR NEGATIVE /YES, COMPL,EHENT lT /BIT COUNT /ZERO RESUL-T (HIGH 24 BITS) /RECEPTACL.E /ROTATE 48 BIT REGISTER /RIGHT ONE EXP\iAL+2 NO ADO /IS LINK ON? /NO, DONT ADO WOR02 EXTMP2 I (THIS IS A 2 EXTMP2 I ""' "'"' TAD /HAL.F /THEN COOL. IT /YES, ADD MUI.. Tl PLIER ITC HIGH HAL.F OF 48 BIT IRESUL.T ~ORD ADOJ 0330 02741 1~41 0331 i,2742 1 t.67 0332 vi27 43 3~67 033.~ \;J2744 2ii1 ~ NU ADU, 0334 (~2745 !'IJ16 0335 ~2746 116~6 033t' ~'27 47 7041D 0337 1112750 '1352 03~i/1 027~1 522~ 0341 e!2752 0ibvH'l COMPL, 0342 ~27'53 2066 0343 0275111 l;d36 0344 02755 7 lf51 0345 ~12756 3036 ~346 v.12707 7004 0347 ~}276V' 1035 035(., !?2761 7~41 0351 02162 3,~35 0352 02763 5752 0353 0354 TAO TAu DCA ISZ JMP uo ~O!Wl EXTl-"P EX Tt-iP N9ITS Ml.JL.OOP /INCREMENT COUNTER /L..OOP SIG~X /CHECK FOR Rf .,COMPLEMENT COMPL. /YES, GO 00 IT SH CL.A JMS JMP OPRcR /LOOK FOR OPERATOR 0 ISZ uo SIGNX EXPVA.L.+2 CLL. CMl. CIA OC4 EXPV.AL.+2 /SET SWITCH /COMPLEMENT /Tl-ff /TWO RAl. TAO CIA EXPV.Al..+1 OCA EXPVAL.+1 /WORD /THING JMP I COMPL. SIGNX•L.TEMP NSITS•X 10 /~ETURN EJECT 0355 02772 77 47 ~2773 2424 02774 1074 ~2775 1075 02776 4~53 02777 ;737 0356 PAGE 0357 03000 0000 CHKL1T 1 0 0360 03001 3362 OCA 0351 03002 3100 0362 03003 4573 0363 03004 5600 0364 03005 1377 ld36~ 0!006 7450 0366 03007 2362 0367 03010 7441Z! 0371d 03011 1376 Wl37l 03012 i'50 0372 03013 2100 0373 0~014 76~0 0374 03015 4561 0;s75 03'116 5600 0376 03~1'1 r-000 CRL.INK, 0377 0302e 1217 0401t 03021 3232 0401 0402 0403 0404 0405 03"22 03023 v.J3024 03025 03026 PAGENO DCA JMS I JMP I L.ITRL TAO (•250 /CHECK FOR c PA GENO c.. es3 /CURRENT PAGE L.ITERA~ /SKIP IF AL.READY ZERO /CHECK FOR t LITRL. /SET CGETCl-IR CHKLIT SNA ISZ SZA TAO ISZ SZA Cl..A JMS I CBACK1 JMP I CHKL. IT 0 CRL.lNK TAO OCA TAD CRLIT 1375 3045 TAO DCA (400 CLA UC OPCODE 7 21211 3362 OCA PA GENO JMS I CERt-ISG 0411 et3032 0000 C!otL.IT, 0412 0413 03033 1075 1407 OPCODE JMP 0 NOTP0 TAD FPPSWT 0414 03034 7640 SZA Cl...A 0415 03et35 5774 0-116 03036 1362 0417 03037 7642 042~ 03040 5245 0421 03041 1373 JMP I CFPPt. IT PA GENO TAO SZA CL. A. TAO CP0L.8UF 0422 03042 3364 0423 03043 1372 0424 03044 5251 0425 0304!5 1371 NOTP0 1 DCA L.ITBAS (17 OOL.IT ~426 ~3046 3364 /GET CHARACTER /NO L. ITER AL. Sr~A 1045 0406 ~3"127 4572 0407 03030 1407 041"1 030:51 5245 /CHECK FOR ~ITERAL. /ZERO PAGE NUMBER JMP TAO JMP HO OC4 0427 03047 1027 043~ 03050 0141 TAD 0431 0~051 336~ OOL. IT, 0432 113052 1362 043J 039963 1130 DCA •ND NOTP0 SWITCH /PUT BACK NON Ct /CREATE L.INI< /FIX RETURN ADDR /SET INDIRECT BIT /SET INDICATOR l•L.G• /CREATE LITERAL WITH TYPE EXPTYP /VAl.UEIEXPVAl.1 IN PAGEIPAGENO /FP LITER AL. ? /CHECK FOR PAGE " /NOT A PAGE 0 1.lTERAL /SET B~SE TO PAGE 0 LIT BUFFER CCPL.BUF /ASSUME FIRST 20 WORDS USED /GO DO LITERAL /CURRENT PAGE LIT BUFFER 1.ITBAS 1.0CTR2 /NUMBER OF WORDS USED IN PAGE [ 1:n TAO NwUSEO PAGE NO TAO CP0L IT /GET POINTER TO /LITERAL BOUNDARY XPM~t. ~3"1bA ;,;~o3 0J~l55 17 ti3 OCA TAD l XPAGE V,)436 0437 03~5b ~Jbt· DCA LllPTR /DISPLACEMENT OF LIT BUFR /INTO t..ITPTR ~;"H'.'57 EXPTYP /TYPE 0306V' 1.tJ37 7 44~) TAD 044~'1 SZA !ii 4 41 .•3 /CHECK FOR UNOE.FINE.O /OK, ITS DEFINED /UNDEFINED, ASSUME ZERO i.1434 04:jh i7'3,3b l 52b4 JMP V5 3~lb2 3.030 0443 :;13063 70~1 044d 03064 7 i14 l OCA 0445 030bo ~037 0446 03066 1370 0447 ~3067 l tt37 OCA EXPTYP TAO (E.XPVAL.+2 TAD EXPTYP 3~H2 OCA X12 ~442 ~45~ f!'307~ itJ451 03071 1 !~37 f\JOTIT, ~452 03~72 7041 0453 03073 136b 0454 0455 fd456 0457 04E0 03074 03075 031676 ""3077 G3100 03UH 03102 03103 EXPVAL+2 TAO EXPTYP TAD LITPTR ~:!145 ANO [200 71:)411'.· SZA CL.A IS ACTUALLY SIZE OF L.ITERA /GET THE COMPLEMENT /GET POINTER TO VAL.UE /MIN'US ONE INTO X12 /CHECK FOR ENO OF TABLE /POINTER+SIZE /SHOULD BE t..ESS THAN 200 OCA X15 HO TAD LITPTR /ENTER NEW L. ITER AL /PUT COPY OF LENGTH /INTO L.TEMP /ANO COPY OF PROTOTYPE POINTER /INTO X15 /NOW GET POINTER LIT BAS /TO TABLE DCA X11 LITPTR x11 /FOR COMPARISON /INCREMENT POINTER /GET WORD OF LITERAL. X1~ /COMPARE 5331 JMP NEW LIT 1~37 HO EXPTYP 3:dfib DCA L,TEMP X12 0461 hH2 0462 3~15 0463 1366 0464 03104 1J64 0465 03105 3011 0466 03106 2366 0467 ~3107 1411 TSTLIT, 047~) 03110 7041 0471 0311 \ 1415 0472 03112 7640 0473 03113 5271 0474 03114 2'166 0475 !i.13115 5307 0476 03116 1J62 L.ITAOR, 0477 03117 7640 050'1 03120 1027 0501 03121 0142 0502 ~3122 136b 0503 ~3123 3036 0504 ~3124 1026 0505 t~3125 31t)35 RE TL IT, 0506 03126 72\11 0507 l3 3410 0534 03154 2~37 0535 ~3155 b.352 0536 DI'.\ 1 !763 0537 03157 i' 0© 1 0540 031f)0 3366 0541 03ltH 5316 '"'· !!&~ ~ "II\ v TAD ;;- TAO I DCA I ~~0rl' /ZERO ADDRESS XPAGE XPAGE /SET UP POINTER FOR MOVE l.IT6AS X10 X12 XU /MOVE L.ITERAL. INTO PL.ACE ISZ EXPTYP TAO ! XP•GE !SE1' !JP DC.\ L ITPTR L. IT AOR /RETURN LITERAL ADDRESS JMP UC JMP 0542 ~3162 0!000 PA GENO, 0 0543 03163 eio~rn XPAGE, 0 0544 03164 lfi!d00 1.lTBAS, 0 0545 0316!5 0000 NW USED, 0 0546 03166 EXPVAL+2 RE TL.IT X10 1.lTPTR, 0 .-3 -. I TT;"DAI : ;;...:-, ~_,,..., 1nncu;;QQ a1-1• .irA TAD I CDF OC4 DCA TAD I Al'!D JMP I 1004 03440 1466 1005 1006 U07 1010 /SYMBO~ SUCK ET CBUCKTS .. 1 BUCKET BUCKET NEXT" NAME3 IAODR OF TYPE WORD /GET TYPE lNTO AC /WITHOUT FORCE BIT /RETURN /NAMES DIFFER, IS NAME 1,2,3 c E /YES, HOOK IN HERE /GET AOOR Of I.INK INTO AC /L.OOP /GET FORWARD L.INK TO /NEXT ENTRY INTO NEW ENTRY /PUT FORWARD LINK TO NEW /ENTRY INTO PREVIOUS ENTRY /PUT IN NAME OC• I 11(1241 ~, 3 4 6 ?- .! 4 l 0 1025 V'l3461 1~,1 e 1!62b f'.-3462 3 t-'1 ll' 1027 li\3463 1016 1 (i)~~1 0J4b4 ;)i}bf> 1~~1 ~i3465 1;,Ho 1032 113466 711?~ 1 ~~3~~ ~3467 1133 1~34 0347~'-' 7520 1030 03471 56~~~ 103b 03472 4J27 uo DCA TAO OCA uo CLL. HO SNL. Cl.A J~P I JMS I 1037 03473 2~24 1040 03474 h775 1041 V.~3475 lij 0flk'j 2324 JMP I NUMt\f.R, 10.42 it.3476 3352 0 OCA OCA 1043 \113477 3041 ~:3500 31142 OC4 1045 t~3501 '4573 NUMLUP, JMS I 1046 ~35\12 !:>J46 JMP 1047 03503 1134 TAO SM4 10519 03504 7 5vifi:l 1051 03505 53'15 J~P 1052 03506 1133 TAO 1(1;53 03b07 7:; 1 ~ SPA 1ki54 03510 ti345 JMP 1056 \13511 3J53 OCA 1~b6 03512 1041 TAD h'!57 03513 3354 OCA 1044 106~; 1061 1062 H'63 1064 1065 1066 106 7 116 '.7 ~' HO v·3514 111:'142 03515 3355 OCA JMS JMS ~3516 4356 03517 4356 03520 1065 ~3521 7650 \.13522 5333 03523 7100 03524 1355 TAO JMP 1~42 ~3526 3~42 DC• 1073 03527 7ld04 10)1l 03530! 1354 1075 03531 l ld41 1070 03532 3041 NEXT LOOKUP (RETSYS I.ST• I ST 1FULL., NSWTCH WORD1 WORD2 /CL.EAR SWITCH /CL.EAR 2~ BIT f',IUMBER t-272 NODGT /NO, TOO BIT (NO SIGN) t 12 NOUGT NUM /NO, TOO SMAL.t.. WORDl /SAVE NUM1 /OF NUMBER WORD2 NUM2 SHIFT /YES, SA\IE IT CURRENT VALUE. SHIFT R•DIX /SHIFT WOR01,2, L.EFT 1 CMUL.T BY 100 IT AGAIN (MULT SY 4) ll.OOK AT RADIX (1•DECIMAI..) OCTNUM /ITS OCTAL.. /DECIMAL., ADO IN NUMBER NUM2 WORD2 wORD2 /THUS MUL. TI PL. YI NG BY 5 RAL. uo TAO DCA NUt11 WORD1 WOR01 J~S SHIFT TAD WORD2 11~1 ~3535 71'~0 CLL. 1102 03536 1353 1103 V'.:3537 3042 1104 V-i3540 70e14 OCA A~tH ABORT /GET INTEGER NUMBER /GET A CHAR /NONE l.EFT /IS IT A DIGIT? tGET CHR NODGT+1 1~42 ~.3~4~ INO PROBLEMS, RETURN (NO SKIP) CERf¥lSG1 ~3534 1 11 1 /CHECK FOR TABLE FUL.L t 12 11 ~~)I 11 ei5 '~3541 1041 11 es 03542 3041 11'17 r.3~43 2352 111 ~· 03~4" 53"91 /LTEMP•NEXT L TE.MP CLl. 1071 e3525 1077 ~3533 4356 IX 10•NEXT SNA CL.• TAO TAD 1~72 NDT NEXT X10 NEXT OCTNUM, UD NUM WOR02 /SHIFT L.EFT 1 AGAIN, THUS I MUI.. TI PL. YI NG BY 8 OR 10 /THEN ADD IN NEW DIGIT FUI. TAO ISZ WOR01 WORC1 NSwTCH Jfi!S I NUML.UP CB ACK 1 OCA J,_.,P NODGT. /SET s~nTCH IL.OOP /PUT BACK 1"40N•DIGIT 1112 e3~4e TAO NSWTCH SZ4 CLA NUMBER ISZ JMP I NUMBER 13!52 111 ~ 03547 7640 1114 03550 227!5 1115 P.3551 5675 1116 03552 0id00 NS~TCH, 1117 03553 00rc0 NUM, 1120 03554 0000 NUM 11 1121 ~3555 0000 NU~2r 1122 03556 00~0 SHIFT, 1123 03557 1042 1124 ~13560 7104 1125 03561 3042 1126 03562 1041 1127 0356~ 70~4 1130 0.3564 ~041 1131 03565 5755 llOS iiiERE A NUMBER /YES, SKIP /RETURN 0 0 0 0 0 WOR02 TAO CLL. RAL. WOR.02 DCA TAD WORD1 RAL. DCA JMP I WOR01 SfollFT /SHif'T DOUSL.E WORD LEFT 1 E.JtCT 1132 ~3575 4 i::;i 'll3576 77N11 03577 4k121 PAGE 113 ..'i 1134 !0360~ ~3601 i10~'·0 oACj(.1, VJ IB•CKUP COUNT 724~ CLA 1136 03602 1020 TAD NC:HARS 1137 ~136'13 3:.12rt 1140 03604 724'1 1141 \03605 10-17 1142 03606 3017 OCA i~CH/lFiS 1143 li'l3607 OOV0 1144 0351~ V'~HHc GE TN AM, 1145 03611 A.311 11'16 03612 5611(_; 1147 ~3613 4255 1150 03614 ~251 1151 03615 l/1167 1152 03616 ~h151 1153 03617 3452 1135 1154 115!) 1106 1157 1160 03620 3453 03621 3054 Q13622 1377 3253 03624 7146 ~3623 CMA CLA CMA. TAD CH~PTR OCA CHRPTR JP..1P I t\ACK1 v.i 1166 03632 3653 1167 03633 4270 117 '1 03634 1653 1171 03635 3653 1172 03636 2253 1173 03637 2204 1174 03640 5226 1175 03641 4270 117 6 03642 72~0 1177 03643 5241 1200 03644 1054 1'.Jl)l!NE, 1201 03645 0376 1202 03646 3054 12t"3 03641 ~ 21 rt 1204 03650 5610 1205 03651 42P0 NONAME, /GET A NAME bETl\AM Jf"IS LETTER Jl"iP AND NONAMt: /GET FIRST CHAR /NO CHAR, NO NAME /FIRST CrUR MUST BE L.ETTER /OTHERWISE, NO NAME:. C77 dUCl\ET /THIS CHAR GETCHR DCA DCA NAME.l OCA NAMt2 OCA NAME3 (NA.Pt'f.1 TAD NPTR OCA CL.I... Ct-i4 RH. NCNT OCA IS BUCKET /ZERO REST /OF NAME /SET /POINTER /AND /COUNTER /GET NAME CHAR (LETTER DR DIGIT) /SHIFT TO UPPER HALF RTL RTL. L1CA I NP1R JMS Gl'IC TAO I NPTR DCA I ~~PTR ISZ NF'TR NCNT /SAVE HAl.F /GET NEXT CHAR /PUT 2 TOGETHER /STORE /BUMP POINTER /AND COUNTER JMP PAKL~? GNC /L.OOP Jli"S ISZ CLA JMP TAD .-2 NAME3 ANO (7100 OCA. NAMEJ ISZ GET NAM GET NAM JMP I JMS B:ACI< 1 J~P GE TN AM 12~6 03652 56U& 12"117 03653 ~~ 0" ~ Nl"'TR r 121~ 12'3654 ~; Vll"0 l'llC!'!T, 1211 035~5 Ill ill{' Vi LE. TTER, 1212 fd3656 1J75 0 0 0 1213 03657 SPA 751~ POINTER JMS JMP I 1161 !l!3625 3254 GNC 1162 03t52b 4270 PAKLuP, JMS 1163 03627 7H·6 CLL RT!. 1164 v1353~ 7006 1165 03631 7~06 /ANO TA.O l /SKIP AMY EXTRA /ZERO TVPE FIEL.O /SKIP /RETURN /PUT CHAR BACK /NO•SKIP, RETURN /IS AC A LETTER? (•301 CHARS 5266 J~1P NLETR 1215 036tl1 1374 121 cs 03662 7510 1217 1(13663 2255 1220 ~366.0 1J73 TAD (•32 1214 0366~ 1221 03665 5655 1222 03666 1372 NL.tTR, 1223 03667 0655 1224 03670 0~0~ GNC, 1225 03671 4311 1226 03672 ti244 1227 03573 4255 1230 03674 fl277 1231 03675 VJ 16 7 1232 03676 b670 1233 03677 1134 1234 037~0 7500 1235 03701 5307 1236 03702 1133 123i lb37fl33 751~ SPA ISZ LETTER TAD (333 JMP I LETTER TAO (301 LETTER J~P I 0 JMS JMP JMS JMP GETCHR NOONE LETTER .+3 1266 12157 127 ei 1271 1272 1273 03732 2311 03733 5711 03134 20.20 81.ANK, IRE.TURN /GET A CHAR IF I.ETTER OR DIGIT /NONE L.EFT /IS IT A LETTER? /NO /ONLY 6 BITS JMP I G"'C [•272 /RETURN /CHECK FOR DIGIT JMP ,+6 /NO, TOO BIG TAO [ 12 HD SMA SPA. /NO, TOO SMALL /OK, MAt7 5711 1314 0-376~ 72i'11 St MI CL., 1315 ~3761 ~v'.!i; 4 1316 03762 42!1''.;0 1317 037ti3 ti 711 c-1 e: /IS IT SL.ASH ? JMP GETC2 TAO SNI\ CLA (257-273 /YES, (6L..ANK.OR.TAt:i) SL..ASH::CR /IS IT SEMI COLON ? JM? JtwiS St:.MICL. 8ACt-: 1 TAD C2"e' TAO 5"'4 ISZ GETCl-IR JMP l CLA UC GETC.H~ DCA Jr-is Jl"IP I scsv.r i-3ACK 1 Gt.TC HR /YES /NOl'!E OF THESE, PUT IT BACK /AND RElURN A SINGL-E BLANK /SET SE:Ml COL.ON SWITCH /PUT' SAC!( SEMI COLON EJECT 1320 03164 7764 03765 7770 03766 0273 03757 7754 03770 7771 03771 0060 03172 '1301 03173 0.333 037'4 7746 03775 7477 03775 77~0 03777 t-?052 1321 1322 04000 ~·1 00V'i 1323 04001 1046 1324 04002 7650 132~ 04003 5216 1326 0"4004 7240 1327 04005 1 ltl55 1330 04006 7550 1331 04007 1165 1332 04010 1~45 1333 04011 3045 1334 04012 1036 1335 04013 0156 1336 04014 7106 1337 1340 1341 1342 1343 1344 1345 1345 1347 04015 700~ PAGE FIXOPC, 0 INDEX TAO SNA CL 4 JMP Ci..A HO SNA TAO TAO 1360 04036 1361 04037 1~62 04040 1363 04041 1364 04042 1365 040~3 1366 04044 1367 04045 1370 04046 0637 OCA TAO AND /IF ZERO, NO INDEX REG L.ASTOP /IF INDEX, CHECK FOR C11D0 /YES, PUT + BIT ON /CO~BINE WITH OPCODE OPCODE OPCODE EXPVAL..+2 t7 CLL RTL. /GET INDEX REG. EXPR /ONl..Y 3 BITS /SHIFT INTO POSITION RAL. RLIST CL I ST OLIST ELI ST FLIST GL.IST HLIST IL.IST JLIST t25 •253 14~1 0.4?.57 v; 0 C·~ 1 1 1411:2 il!4~b0 7!:>23 -2:55 14f. J ~4001 (,~vw2 2 1.ae4 04062 1:i26 -2~2 14~~ 04063 v. i,llV: 3 .3 1406 04064 7521 •257 1374 ~14052 14~,, rll4065 lll0v'4 4 141 ii} 04066 7!>32 •246 5 •241 1411 fil4067 '10&ib 141~ 04070 7:,37 1413 1414 1410 1416 1417 1420 1421 1422 1423 1424 1425 04071 6 f/111,!f.iltl 04072 ~".01ti0 0 04073 rt IQ ~l Vl CKKILL, 0 04074 6031 KSF 04075 5673 JMP I frl4076 6036 !7 Q14175 ;,; d l ~.\ ~4176 ]jb4 04177 ~J4v'[ 1504 15f:I 0420~ \!·10c0 PAGE PR!Nl'C, 0 /PRINT CHAR ON ANAL.EX, l.P08 1006 k14201 7450 151l7 11'4202 0223 SNA JMP CRLF 151 \~ vi4203 1377 TAO (•247 1511 ~14204 7 46~'; 1512 04205 5215 1f:H3 04206 1164 1514 04207 4245 SZA TAO NOUS [240. JMS PCi1R ISZ TABCNT J~P .-3 c-10 Jf!ilP 151!'.> C64210 22(,11 U>lo ft14211 521r~e 1517 04212 1376 SET TAB, TAO 1520 0421~ 3241 DCA 1521 04214 56V.C!! 1522 04215 1174 NO TAB, 1523 04215 4245 1524 04217 4560 1525 ~4220 1526 04221 1527 04222 1530 04223 1531 04224 1532 04225 1533 04226 1534 04227 1535 0423et 1536 04231 1537 v14232 1540 04233 1541 04234 1542 1543 1544 1545 04235 TA~CNT JMP I /DO TAB GOING UNTIL TAB STOP /KEE.P /SET TAB COUNTER PRI~TC TAO [247 JMS JMS I PCl-!R ISZ 2241 /ZERO IS CR .. 1.F [Cl\KILL TA6CNT /FIX Ct1AR ABORT /CHE.CK FOR SETT AB /RETURN /RESET TAB COUNT HO L.SIZE (215 /OUTPUT CR•L.F 4245 Jfo\S PCl"IR 1374 T.AD JMS PC!-4R 060~, JMP I JMP 5212 3242 CkLF, DCA 1375 4245 20(1·7 ISZ 5236 Jf"iP 1025 TAD DCA 3~07 04236 1243 til4237 3242 04240 5212 PAGSIZ NEJECT SIZPAG 1555 ~425~ 5254 1556 ei4251 724~ 1557 04252 3242 WIDTH LSIZE OCA JMP SETTA8 0 •111 /RESET COUNT /START NEW PAGE /SET WIDTH OF PRINTER /RESET TAB SETTING /WIUTH OF TTV 0 DCA ACt'iR lSZ JMP CLA L..SIZE NOCRl.F OCA /NO (214 PCHR 1546 04241 7771,0 T'1bCNT, •10 1551 04244 4311 PC, 1552 04245 0vill·0 PCiiR, 1553 ~4246 3257 1554 1~4247 2242 /NEW PAGE ? PAGSIZ NEJECT, TAD 1547 04242 lli\1tf.H~ LSIZE, 155lti 04243 7667 WlUTH, /MAKE SURE THERES ROOM (212 TAO JMS 1373 42~5 PIHNTC PRINTER IN CHARS /TAKE CARE OF PRINTER WIDTH /SAVE CHAR /ANY ROOM LEFT INO, GO /TRUNCATE L.INE CMA I.SIZE OR T 156\1 v.J4253 5ti4!:) JMP I 1561 04254 1257 NQCRLF, HD JMS 1 1562 04255 4644 1563 ~4256 5645 JMP 1 1564 1565 156b ~4257 0000 ACl"IR ~4260 ~4261 0~~~0 1 ANAl.,EX, PC!-!R ACl"IR PC PCHR 0 /ANAL.EX "' ~257 OCA ACHR 1567 04262 1207 157 ~~ '14263 1372 1!571 04264 7650 1572 04265 5660 1573 04266 6001 TAD TAD ACHR 1574 Ql4267 1575 04270 1575 04271 1577 Q!4272 ti266 6652 1257 1371 160Vi 04273 7450 1601 04274 5300 ! 6'112 !Jl4215 70V-1 1603 04276 7650 1604 04277 5304 160ei 1606 1607 161 '11 1611 1612 1613 1614 1615 04300 1257 04301 66ti4 72\'ift'l ~4310 566~ CLA JMP I ANAL.EX $NA /YES, IGNORE IT 1i.AIT FOR 6661 Jf"IP 6652 l.AO .-1 ACHR (•215 TAO PRINTER /CL.EAR FLAG CHAR SACK /ENO L.INE ON CR /GET SNA FINL PB JMP ! AC SNA /C1-4ECK F"OR INLPB•1 ACHR f CLA JMP I 0 04313 5312 1621 04314 6046 1622 04315 7~0ril 1623 04316 5711 1624 04317 Ql000 LP08, 1625 04320 51561 1626 04321 53?0 1627 04322 6666 163'=' 04:523 7200 i631 04324 5717 1632 r.4325 ~000 ERMSG1 1 1633 04326 72;~0 1634 04327 02~1 1635 043391 1325 1636 04331 3336 1637 04332 42110 1640 04333 1060 1541 ¥14334 4575 1642 0433~ 5352 1643 04336 0000 ERMSG, i644 04337 02e1 1645 0434Vt 7240 JMP ~ORP4 CLA JMP TAO 6654 1t316 04311 00~~0 TTY, 1617 ll!4312 6•141 162~ /LINE FEED? (•212 04302 7200 CL.A 04303 5660 JMP I 04304 115b uo 04305 1370 FINLP8, TAD 04306 6664 6664 ~4307 PRINTER HANDLER ANALEX C7 /PAGE EJECT ON FORM /PRINT CHAR /SET CONTROL. (1k'! AN ALEX TSF .-1 TL.S CLA JMP I TTY 0 6661 JMP .-1 6666 CL.A JMP I LP08 /PASS 1 MESSAGES 0 CL.A FL De CDF uo ERMSG1 DCA ER MSG ICOMMONIZE CALL JMS PRI~TC /CR•LF HO JMS I L.INENO COCTOUT PR MSG /PRINT L.INE NUMBER /ON PASS 1 MESSAGE FL.De /FIX FlEi..D /NO MESSAGE ON PASS 1 J~P /SKIP OVER PASS TEST 0 CDF CLA CMA 16 4 ti l.14341 1 ~1 h6 1647 04342 76~H'' 165~1 .,.,4343 5Jb~; 1651 ~i4344 '12l-;;~ 1502 ~\4345 1061 1653 (1}4346 754!t 1601:1 04347 t>Jo2 16!:!5 ~4350 1 ·b6~ 4:)75 TAO ~it~ A cu J~.p PA~SNO MSGGUN TC JMS P~H HD LISTSw SZA CL~ Jlw!P HD 1655 04351 JMS I 1657 04352 1367 ~RMSG, TAO 166fi; 04353 42ti ~:; JMS 1bf!1 043b4 1736 TAO I 1662 04355 471;)6 JMS I 1663 04356 1367 HO 1664 04357 42n" JMS 16f5 k14360 2j36 MSGOtJN, ISl 1660 !i\4361 27~5 ISZ 1 1667 Qf 4362 ~7 ~~6 JMP I 167 ~~ 04363 5736 JMP I "'+.3 /PRINT CR•l.F /IS LIST ON ? /YES PRINT Ll NF:NO [OCT OUT /NO, (2!>2 /PRINT PR 1 N TC C:.RMSG L.!NE NUMBER • CP~lNT2 /FIRST CHAR Of CODE /PRINT THE MESSAGE (252 /PRINT PRI~TC * t:RMSG (ERRORS ERMSG ERPt'SG /BUMP ERROR COUNT EJECT 1671 04365 04366 04367 04J70 04371 4762 5714 0252 0010 7563 04372 7566 04373 V'214 ~4374 0212 04375 vJ215 04376 7770 04377 7531 PAGE OUTwRD, 0 wRD OC4 1674 ~4401 3356 1675 04402 7240 CLA CMA 1672 1673 04400 /OUTPUT ROUTINE /SAVE wORO ~i00~ /CHECK PASS 1676 04403 U56 TAD 1677 U404 7o50 SNA CLA 170ii) VJ4405 5351 17i:': 1 04406 1027 JMP C:~•1JOvT TAO L..OCTR2 /GET /GET PAGE NUMBER (WITHIN FIELD) /SAVE PAGE NUMBER PASSNO 17(12 ~4407 7006 1703 04410 7~1t~6 1704 04411 700b 1700 04412 ill 126 17V.6 04413 3005 1707 04414 1~'25 1710 04415 7040 1711 04416 7 \d01 1712 04417 1130 1713 04420 3357 RTL TAO [P0~ OCA O~TEMP 1714 04421 1027 TAD LOCTR2 1715 04422 0141 1716 04423 7041 1717 04424 1757 1720 04425 77V0 1721 fd4426 5232 1722 04427 4572 1723 0443'21 2vJ17 1724 04431 !;J22 1725 04432 1~05 1726 V\4433 7110 1727 04434 3005 ANO ti 77 TAD I OiilTEMP 173!.1 ~4435 1026 1731 ~4436 0272 RTl,, RTL. AND C37 OCA OTE~P TAD SZA CLA OTE~P LO~ 12 BITS OF- LOCATION /POINTER TO P01. IT OR CPL.IT UC cu SM~ JMP JMS IT /GET CURRENT ADDRESS /COMPARE WITH L.ITERAL BOUNDARY CL.A .+4 I 2017 JMP PRNTST OTEMP TAO CLL. RAR DCA TAO At'10 /NO PAGE OVER FL.OW tER'"1SG /•PO• /DONT STORE IF PAGE OVERFL.OW /NOW GET SUPER•PAGE NUMBER OTEMP LOCTR1 01 /ANO SAVE IT /GET FIEL.D ens OTE~P IT"iIS GIVES TAPE /ONL.Y ONE BIT FOR DIAL. CRAP 1732 04437 71 iil6 1733 ~4440 7JQ'6 1734 ~4441 1 ~~15 CLL. RTL. 173!> \14442 ;)l{)l(lt) DC4 OTEp.op 1ns 04443 11~~3 /GET CURRENT BLOCK 7;_a41 TAO CIA TAO BBLOCK 1n1 OTE~P /COMPARE SAMBL.K /SAME BLOCK ~14444 17 A.tl V.4445 1 ~V'\5 17" 1 04446 7050 1742 lll4447 oJ14 RTL TAO SNA JMP DISPL.ACEMEN CL• WITH BLOCK NUMBER DESIRED BL.OCK 17 43 iti4450 11~~3 1744 ~'· 4451 1 l ~~ 4 1745 1(.44:>2 3~!io 17~6 04453 4 ;)~-· 2 1747 ~4454 17 5 t. 04455 ~, ~1(" 1 bbLtlCi< Jtl.S I i.HAL~~ /"'RlTE C!UT OLD BLOCK OTf:.MP /Cl-it.CK wRtil. QK 1 176;3 0447~ ~274 OCA ~~4471 4!H'i 1 JMS I 1765 04472 ~H1k11 01, 1766 ki4473 b" IGi 10 1767 v•447 A Y,l;j~~1 BL.OCKN, 177(.1 04475 0ib01 UCi'fT OCNT 3Jb!{l V,!4502 1~74 1776 ~4503 ;'5:357 1777 04004 2Cil(ltvJ €1 4505 2001 04506 2002 04507 3760 DCA TAD OCA DCA I 23ne ISZ 2357 !:>304 J~P bFUDGE BLOC KN ulALRD ISZ TAO 20:30 04535 4772 kEAL bLOCK ISZ /INCREMENT COUNT OF BL.I< S CLRB!N /Cl.EAR OUT SUFFER USE U~TEMP Cl..RB!N CL.REHN owTEMP OUTSwT TAO SZA CL.A .+4 Jt"!P L.INENO TAO JMS I IN (•4ft!0 ~RO 2013 04520 1356 TAD OTt::MP 2014 04521 :.)41,.'!0 DCA I LlSTSW 201~ 04522 1061 PRNTST, TAD SNA CLA 2016 kl4523 7oM~ ENOOUT JMP 2017 04524 5351 [?RINTC Jf.iS I 2~2~ ~4525 4576 ~4ti31 1 V)6~ Pl4532 4575 04533 534'6 04!534 4772 FINO /NUMBER AND Rf.AD BLOCK (USET!;L.•1 (BINARY uo !a453£i! bJ34 usrn usrn, OO~T0 I ,•3 OTt::MP TAO 881..0CK OCA CLA CMA UCNT 20~6 ft:'!4513 34'~6 OCA I 2'-?'17 04514 1Vi27 SAM6L.K, L.OCTR2 ANO (377 20H.I 1.1,:4515 jl,373 (BINARY 2e11 04516 1~7b TAD OTEft!P 2012 04517 3Id,15 OCA 2023 2"24 2025 2026 2027 THH~ /f /BLOCK WAS 10e5 OOl\IT0, 2004 1?14511 3103 2'100 04512 7~4W:l 1063 IkST NE.WBl.I'. OTC:l'!·P ~4510 ~4526 /POINTER INTO LISE TAeLE /GET, INDICATOR 1 04501 04527 7640 ALREADY us 0 J~P 202~ HUS liLOCK 1 [(_14476 5J10 ~i4477 2776 Nti;.bL.K, 04500 1;)75 2~21 FO~ (USETBL SHURt:.i 1771 1772 1773 1774 1775 200~ t-ltAL tiLuCK l'luMBEk bf UUG~ t-".J 16 8lNARB 1751 1.14456 M;,11t'vi !"iliBLOI', 0 17~2 044e>7 ~~1 v.; vi 1 1 uo 175..; ~i4460 hH!5 1754 tij4461 1377 TAD OCA 175ti 04462 30.i'6 1756 04463 14L~6 TAO I SNA CL A 1757 04464 7'55~ JMP 17trn ~14465 b217 TAD 1761 e4466 l~V~ 1762 ~14467 11 ''14 TAD 1764 tr rr-.o TAO TA l) OCA /RESET CURRENT BL.CCI< /SET 61..0CK IN IJSE /GET POINTER f OR STORING WORD /GEl wORD /STORE IT /IS L.IST ON ? /NO, OONT PRINT /PUT CR•LF /US LINE NUM PRINTED YET? /NO, PRINT IT Jl'1P COCTOUT NOBLNK /SKIP OVER BLANKS JMS I (PFCINT2 12 t\L.ANKS Jf'IS I (PRINT2 12 ~ORE 2031 2032 2033 2034 2~35 Vi4535 1154 TAD 04537 4576 JMS I 04040 1 v.J2o N06L.Nt<, TAO 04541 e: 156 ANO 04542 1155 TAO 2036 04~43 A576 2037 04544 10~7 2e40 04545 4075 2041 04546 1356 2~~2 ili454i' ~5i5 ~4556 00~0 ~R Li, L.OCTR1 C26~ CPRINTC TAu L.OCTR2 JMS I TAO JMS .L COCTOUT wRO COCiOUI (PRNTLN L.OCTR2 OUTWRO LOCTRl OUTwRD OU HJ RO 0 2052 04557 0000 Q;.;TEMP 1 0 ~456".I 0000 CL.RB IN, 0 0000 CHAIN 11 MORE 4 ~ /PRINT l.OCATION COUNTER [7 JMS I 21443 0455~ "1771 J"'1S I 2044 04b51 211127 ENOOUT, ISZ 2046 04502 55t':~ JMP I 2046 V'l4553 21126 ISZ 2~47 ~45~4 t5600 JMP I 2050 04555 5tHH.'l JMP I 2051 [24~ tPRINTC 2053 11 FPPASM3" /FIRST DIGIT /NEXT FOUR DIGITS /NOW WORO /PRINT L.INE IF NECESURY /BUMP LOCATION COUNTER /BUMP SECOND WORD EJECT ~e,r1 v.14571 20i-'l~) 04572 0714 'l·377 ~4574 74Ui 1!'457!5 64?0 ,: 4 ':57 ~j PJ37 11_:4577 e3ttei ~J4573 00~2 0003 04tiV)0 00lii4 r,4s01 0005 ~146fll2 0006 Vi45~3 01ll!.'i7 e4604 00rn Vl4605 lilvJl 1 ~J46rll5 0012 Vi4607 0013 046H1 0014 04611 0~1!; 31t.6!) Et-iOX, 7240 1056 7640 5243 CL• ~AOIX CMA OEFAUL.T CONDITIONS OF WHICH PASS ? /SET /ENO, PASSNO TAD SZA CLA E.OP2 /ENO UF 3107 JMP JMS I OC4 CP/lGE.J '~ l ;~!"· 2" li:.J£CT AFTER PASS ONE /RESET STUPIDITY SWITCH ~~0M' !) (:A Ub~E.N.0 /ZERO L.INE NUMBER ~H157 ()CA ASMOf' 30t.'4 0.4612 1 iljF2 DCA TAD SCSwT LS TON LISTSw /ZEl JMS I HO Jt-115 I TAD JMS I JMS I TAO OCA TAO OCA 0071 04666 1365 TAO 0072 04667 3051 DCA 0073 04670 141:; SlPRNT, TAO I 0074 ei4671 6211 COF 0075 04672 ~067 DCA 0076 04573 72V.0 L.UP8KT, CL.A 0077 04674 1467 TAD I SNA 0100 04675 7450 JMP QI 1~1 04616 ~353 ~102 04677 ~~67 OCA 0103 04100 1067 TAO 3014 OC4 1414 T.40 I OCA TAO I 0111 0112 04701 04702 04703 04704 04705 04706 04707 0113 0471~ 1054 0104 0105 010b 01~7 011 qi 3052 1414 3053 1414 3~54 0114 04711 ~126 0115 04712 1157 0116 lt14713 75e0 OCA TAD I OCA TAO ANO HO (PR1NT2 (2217 (PRINT2 /PRINT RO (22~3 /PRINT RS (PRlNT2 (PAGEJ (BUCi5016 0207 05017 EXPR ORGE.RR EXPVAL+1 JMP I ADDRESS /WAS TH.ING DEFINED 05006 3032 0177 05007 1036 020"' 05010 3033 02rc1 ~5011 5563 /GET EXPTYP CLA uo 1035 CACRGET JMS I ...... ,., I I~!# CLA T~~CI /CHECK FOR SAME PAGE SA MP AG JMP CLA IAC JMS DMPL IT TAO c177 05~46 b253 0237 ~5047 72111 ~240 05~5(?1 4275 0230 02 41 kj242 0243 0244 0245 0246 !i1247 0250 0251 05051 1141 ~15052 3111 OCA 05053 1J35 SAMPAG, TAO ~ti054 V' 156 .\NO f15055 3026 DCA e.5056 U3o TAO 05057 3027 OCA "1506~ ~5061 5!>63 1062 LSTONX, 0252 ~15062 3~61 LSTOFX, 0253 "15063 ~563 02f>4 ~5064 1Vl27 PAGEX, 0255 rti!>065 710~ 0256 ~H:i066 1141 0257 05067 01.4 2 0260 L:1507PI 31136 0261 ~5071 7Vl04 0262 05072 1026 0263 05073 3035 0264 05074 5223 0265 0266 ~5075 00~0 OMPL. IT, 0267 ~5076 3112 027~ 05077 1063 0271 ~5100 0272 0273 0274 0275 05101 2053 05102 1112 '11276 c,,277 0300 0301 05103 05104 05105 05106 05107 V1!5110 0302 05111 0303 05112 0304 05113 0305 \!15114 0306 05115 03~7 0310 0311 ~5116 1?1~117 0512~ 3113 1130 3~66 /OUMP CURRENT PAGE l.ITERAl.S /RESET BOUNDARY CPL IT EXF'VAL+l [7 /PUT LOCTR1 /INTO L.OCATION COUTER O~G VAL.LIE E:.XPVAL.+2 JM? I LOCTR2 [NEltTST HO L.STON OCA LIST SW JMP I CNE::XTST TAD LOCTR2 /SET LIST STATUS /ADVANCE TO NEXT PAGE CL.I. TAO [177 ANO C76U OCA RAL. EXPVAL.+2 TAD L.OCTR1 EXPVAL.+1 JMP FIXO~G SltWTOUT•OPE DCA 0 DCA PA.GEN OUTSWT SW TOUT TAO OCA ISZ TAO TAO DC4 1112 TAO 7651() SNA. 1377 TAD TAD 1376 1466 3010 1112 7640 1027 0142 1466 70c;, 1 /PAGE IS THE SAME /OONT PRINT L.INE WITH L.ITERAL.S tP0L IT /GET BOUNDARY POINTER I. TEMP CLA PAGEN /WHICH l.ITERAL BUFFER ? CP0L.BUF•CPl.BUF IP•GE CCPLBUF TAO I L. TEpF.P X10 P4GEN SZA TAO CLA LOCTR2 ANO t7Se0 TAD I LTEMP I/lC 0312 05121 3027 0313 05122 1466 0314 05123 3112 0315 05124 1141 0316 05125 3466 0317 05126 U10 L.I.TLUP, OCA LOCTR2 TAO I L. TEf133 0~134 1410 4550 0f)135 05136 05137 0510 JMP 5326 1112 OMPFIN, TAO 3466 OCA I TAD 1113 ~5141 3063 x19! /NO, GET NEXT L.ITERAI.. L.ITLUP 11..00P PA GEN /GET CORRECT ~ITERAL BOUNDARY /PUT IT IN ITS PL.ACE /RESTORE OUTPUT SWITCH COUTWRO I.. Tt.MP SW TOUT DCA OUTSWT 05142 5675 JMP I OMPLIT PAGEN•ACE 05143 7240 EJECTX, CLA CMA 0336 05144 11456 0337 05145 7650 0340 ~5146 5563 0341 ~~1147 1061 0342 05150 7650 0343 05U51 5563 0344 05U52 4354 0345 05153 5563 0346 05154 '11~00 PAGEJ, 0347 05155 4576 0350 05156 1374 03~1 05157 4576 0352 051tS0 1025 0353 05161 3~07 0354 05162 5754 TAO CNf:.XTST TAO L.lSTSW SNA CLA JMP I CNEXTST JMS PAGEJ JMP I HO JMS I TAO OCA JMP I /AL.L OONE /NO EJECT ON PASS 1 PASSNO SNA CLA JMP I 0 J"1S I /OUTPUT "40RO ANO BUMP IOH 1.lST OFF CNEXTST /PAGE EJECT SUBROUTINE CPRINTC (214 CPRINTC S IZPAG PAGSIZ PAGEJ ICR.-1..F /FORM FEED /FIX PAGE COUNTER L.C EJECT 'a35:!1 !tJ:>174 0214 ttl5175 7 ti r.t ~5176 f,0;l\l) 05177 1400 03~d 0357 05200 4573 0360 05201 5347 0361 Ql52fd2 1377 0362 052ft.'13 7640 0363 05204 52r?i0 0364 ~5205 1157 0365 05206 3~66 0366 0521d1 1376 0367 05210 3067 037~ ri5211 3353 0371 05212 4775 0372 05213 7106 0373 05214 7~06 0374 0~215 70!.116 0375 05216 3467 0376 05217 4775 0377 0522~ 1467 04e.0 05221 3467 0401 05222 2067 0402 05223 2066 0403 05224 5212 0404 lti5225 4573 0405 0~226 b347 04015 05227 1J77 0407 05230 7540 0410 05231 5347 0411 05232 4774 0412 05233 7144 0413 05234 3067 0414 05235 1373 0415 05236 3352 0415 05237 1372 0417 05240 1117!6 0420 05241 3245 0421 05242 4501 0422 05243 0~W0 0423 05244 v'l01 S 0424 05245 0000 0425 05246 0001 0425 05247 2245 0427 05250 1371 043~J 05251 3~10 0431 @5252 1353 0432 05253 2353 0433 05254 7640 0434 052!55 5263 0435 052~6 1570 PAGE CHAINX, JMS I JMP TAD SZA JMP CGeTCl"IR CHERR /LOOK FOR FIRST " /MISSING F'IL.E NAME (•242 CLA CHAINX [•4 TAO DCA /KE~P 1.00KING /NAME itfORO COUNT LTE.~P uo Cf NAME /NAME POINTER EXTfYiP DCA OCA cesw n /SET CAT 81..0CK /GET CHAR EXH'lP /SAVE UPPER HAL.F (GETCN CNLOOP, JMS I CLL. RTL S;t1ITCH RTL RTl. OCA I JMS I TAD I OCA I ISZ ISZ JMP J~S JMP HO SZA CGETCN E.XTMP EXTMP EXT MP LTEMP ONO CGt.TCHR /L,.OOK CNLOOP I HALVES /BUMP POINTER COUNT CHERR FOR CLOSE QUOTE (•242 CLA JMP CHE.RR JMS I CGETUNT CLI. CMA I'{ ~I.. OCA TAO (.. '4r NF'IL.ES OCA OIRL.UP, JMS I /GO GET UNIT NUMBER /2 BL.OCKS OF CAT EXTr"iP OCA TAD TAO UNIT, /UNITE (•22 SFUDGE /32 ENTRIES PER /COMPUTE BL.OCK CAT BL.OCK NUMBER DIRBl..K DUL RD /READ CA TAL.OG 0 SOURCB OIRSLK, 0 /INTO SOURCE BUFFER 1 ISZ OIRBL.I< TAO DCA CSOlJRCE•1 XU Ta\O ces~ ISZ /INCR l:SL.OCK /GET cu POINTER IT casi-.1 T /IS THIS SECOND HALF OF CAT ? FIL.LUP CSOl.JRCE /YES /SET SW IT CM SU CL. A JMP TAO I /CHECK FIRST NAME FOR ,. 11111111 ,, 0436 05257 1370 0437 05260 760 0440 052tH 0441 VJ5252 ~442 05263 0443 052fS4 0444 05265 0445 052ei6 0446 05267 0447 05270 04!5Q! 05271 (•5757 TAO SU CL.A b347 JMP C:HfRR 5340 JM? NOTFIL 136 i' FIL.L.UP, HD CFNAME•1 3U1 OCA X11 1010 TAD X1~ 3012 DCA X12 1157 TAO 3066 DCA 1412 FNL.OOP, TAO I 21451 05272 7 ia41 cu 0452 0f5273 1411 HO I 0453 05274 7b40 SH CLA 045.4 ~5275 53.40 JM? 0455 05276 2055 ISZ 0456 05277 !5271 JMP 04!57 053P.10 1106 '21460 0!5301 7041 0461 05302 1412 0462 05303 0453 05304 0464 05305 0465 05306 lll46 5 05307 OJ4t51 05310 U70 05311 0471 05312 0472 05313 0473 0531"4 0474 05315 0475 05316 047e 05317 TAD .. . , ... lo} x11 NOT FIL /NOT THIS ONE LTE'"1P FNLOOP /NOT DONE /GET REL.ATIVE BLOC!< NUM X12 581..0Ct< X12 /CHECK SIZE 5347 JMP 1243 TAD OCA I Cl-if.RR UNIT /SAVE UNIT 37~6 TAD I SPA 7id40 3id24 CMA 3060 OCA CL.A 3064 OCA 3107 7240 DCA CLA 302~ OCA 3122U n'"'I.::,,-.. UD I x1IQ ISZ LTE~P Jr'!P .-3 JMS I JIYIP I 0516 '15337 5~63 0517 0534~ 1010 NOTFIL., TAD 0520 05341 1362 TAO \ri..J~ /COMPARE NAMES X12 TAO I 0512 05333 1410 0513 05334 4763 0514 k115335 2066 0515 05336 5333 ,r!C1 /NAME SIZE [•4 OC4 0506 ld5327 1365 0507 0533~ 3066 05H'l 05331 1364 0511 0·5332 3010 ~5342 /SAvE CAT POINTER 3105 1412 7710 0477 0e320 7240 0500 05321 11d56 0501 05322 7640 0502 05323 1061 0503 05324 7640 0504 ~5325 b553 0505 05326 4576 0521 0522 /NAME POINTER l.TEMP SFUDGE cu /FIL.E NOT FOUND /GO BUMP NAME POINTER (PR"1T2 ONO POINTER /GET wORO OF MESSAGE /PRINT 2 Cl'iARS X10 /PRINT CHA.IN COMMAND /BUMP CAT POINTER ( 10 iBY 8 CNE)CTST OCA X1itl 'P C'7 t..;i::'l'I ""'" JMP /DNL.Y IF PASS1, OR PASS2 & NOLIS /CR•L.F /MESSAGE SIZE l~J ....... c::'C: -.~ f"IL.1..UP /MORE /YES ._ S:TI j;'q, ' ........ !N BL.OCK ? ~5345 2067 ISZ 05346 524i2 JMP eJo26 05347 ~527 Cl-'tR~, J!W!S I :Jl527 1il!>~.HH1 V3U~ t1310 053~j 05351 571"\1 JMP I ·~531 05352 ii;;,WVJ NF!L.E.S, 0 0532 05353 v~v-e CBS~d T, 0 ~52'1 EXnP ~52~ DI~LUP /ANOTHER BL..OCK ? /YES CERfl'SGl (RtTSYS /•CH* /FATAL ERROR EJECT 0533 05361 4131 £!15362 ~~10 05353 5726 05364 5753 05365 7766 05366 0666 05367 5761 05370 2~21 05371 b777 05372 7756 05373 7740 '2~~74 (.S:.; .. 0~375 f")4fa0 r')."Jo 4 A till; 05376 5762 05377 7536 0534 0535 05400 ~1krn0 GETCN, 0536 05401 4573 0537 05402 5777 054VI 0540~ 1376 0541 05404 7450 0542 05405 5211 ~543 054k16 1375 0!544 05407 ~167 0545 054U ~6k'0 0546 05411 4561 !SQ, 0547 0!5412 1167 0550 05413 5600 PAGE JMS I JMP I CGETCHR (CHE RR /RETURN NEXT CHAR OR 7'l /GET CH.AR /NONE, GIVE ERROR TAD (•242 /IS IT ISl!I /YES (242 IF IX CHAR 0 SNA JMP TAO ANO JMP I JMS I TAO JMP I " [77 GETCN CBACK1 [77 GETCN /RETURN IT /PUT BACK " /RETURN 77 EJECT eJ 551 ?-5575 V242 05575 7536 05577 ~347 1~55~ ~1~600 4f>73 TtXTX, eJ5b4 ~15601 0563 0552 P'1GE JMS I JMP I [NEXTST OCA 0556 rA5603 3~~67 0557 v.15604 4222 LUOPoB, JMS 0t>6,~ '-156~5 5563 JMP I EX H''-P GE.TCHl tNC.XTST iJ555 ~15602 7Q141 056.1 00606 7 lk~b ~562 05607 70fr'6 0563 V,15610 0564 kHHS 11 0f:i6~ '15612 0566 Vl~613 lil567 05614 ld57tA N;f)15 0571 tt5616 0072 05617 057;j ~5620 0574 fi'l5621 RTI. 4~22 OCA Jfl'!S 5217 Jl"lP ~5623 2020. 0577 i!'.15624 74H~ 0600 05625 5622 0fH~ 1 ~5626 1417 061C2 05627 3051 0603 05630 1051 tOUTwRD L00P66 11..00P 1.3ETCHT JMP I CUTT XT L TE.~·P LTn'P tOulwRO ISZ /GET CHAR FOR TEXT NCl-l.t.! 0!;632 765'-'1 06k:i4 05631 - OEL.IM /GET HIG OROEf( CHAR /SAVE /SHIFT IT UP /SAVE HAl.F /GET L.OWER CHAR /GO PUT I.AST /PUT 2 CHARS TOGETt-IER /OUTPUT WORD L TEf"iP 1066 HD 4:>511 JMS I JM? 520.4 hH'.16 OUTTXT, TAO 4 :>5vJ JMS l 0\?H~0 /t\IUl..L. STMT CLL RTL ~ii66 5563 /GET DEi.I MITER RTL.. 71a1t~o 0575 05622 0576 cu CG~iCHR TAD ASMCF /IF BOTH ~Al.VES 0, SET SWITCH [ND f ST [ADRGET /GET EXPR FOR IF ZERO EXPVAL+l s~·~ uo EXPVAL+2 SZA CLA ISZ JMP I lFNEGX, JMS I TAO AS;~OF /IF BOTH H•L.VES NON ZERO, SET SW [NtXTST tAuRGET ~XPVAL.+1 /GET EXPR FOR IF NEG /CHECK SIGN SMA CLA 0633 ~5660 77~~C/'; 0634 '115661 2057 0635 05662 ~563 ISZ ASMOF JM? I 0636 05663 4554 IFPOSX, JMS I 0637 05664 1035 TAD 0640 05665 7710 SP.A CLA 06 '41 ~5665 2~57 ISZ JMP l 0642 05667 5~63 0643 05670 '1553 IFREFX, JMS I 0644 05671 5t>63 0645 ~5672 4:552 0646 t(l567J 530~ 0647 05614 72V)~ 06!50 £:15675 3ra57 0651 05676 62~.i 1 0652 05677 5563 0653 05700 1016 0654 05701 1157 ~655 05102 3016 06bt> 0:5/0j 1~11) 0657 05104 3010 0660 05705 1410 Jt-1P I JMS I JMP CLA NOT~EF, ~661 05106 34€<4 0B62 05701 b2f1 l 0663 0664 0665 0666 0667 0670 0671 0672 0573 0674 NtXT fAl) r~t X. 1 OCA X10 TAO I OC4 I Xl"' OCA ~~00 01e2 0!5726 0·d00 07f!i4 ~5730 1J13 0705 05731 7012 0706 05732 7012 0707 05733 7012 071Z 05734 3.314 0711 05735 1314 JMP I ULDf\13 FLU~· ASMOF' [r-tEX T ST /NOT REFERENC~O YET /REFERENCED, ASSEMBL.Y ON /FIX DATA FIEL.D /SYMBOL.. WAS JUST ENT ERRED /FIRST FIX NEXT /SEl UP POINTER /GET FwO POINTER /INTO PREVIOUS ENTRY ASSEMBL.Y /PRINT TWO OFF P~CKED CHARS P2 RTR RTR RTR JMS I PRNT2, TAD CP 1 P2 JMS I JMP I PRI,...T2 (P1 0 DCA P2 P2 TAD RTR RTR RTR OC4 P3 TAO P3 (77 TAO (•77 071~ SNA CLA 0716 05742 '· 314 0717 05743 4777 ~721!1 05744 1313 1s.r. P2 OCA TAD ANO 057421 7650 SYMBOL. NAME /RETURN IF NONE 1.00l75~ ~7&iti J~.p I 0725 05751 1j13 (1726 057~2 4777 0727 ~57~3 5726 TAD ~731?: Vi5754 v•31 V' Cr·i~)(~, 05755 Id 11 rt!:i756 (7 7 (-77 JMS I JMP I TEXT ~i;n-iT2 i.;i2 (Pl PRNT2 11 Cl"IA lt..ilNG TO II UH 1 oi:~ 7 el5757 i 0576~ 41:'.124 05'151 174(0 0731 05762 V~t~0 F'l\AME, 0HHidhl 05763 f1 ~H" VI 05764 t'd.11{0 V1o765 ~vl00 0732 05765 72~·· 1 UE.L:X 1 CLA UC t-; 1 '-"V:.'2 10v;,, 1 V.llr.4 10~~ FPPMtff:7 FPPSF J: Hi 1006 FPPSF2=11 10e.7 f PPSF3=12 1'1hl FPPSf 4=13 FPPSF5=14 1011 Hi12 FPMRFt..=15 ~HH25 1''022 00126 ,, i6 ~3 7 00127 '1~20 00130 c 1 lei 00131 k'.i04k:; V110132 3/.JV\0 00133 0•ti 12 ~!0134 751,•o 00135 3475 0(£1136 7022 00137 2620 ~0140 00141 01U42 7~4V! ~H77 7150~ 00143 7750 ~0144 4l(lf~0 00145 V12V! 0 00146 17 ;)7 00147 1671 00150 a Av! 0 00151 24V'd(l 00152 342·0 00153 3oui 00154 1723 00155 k·26ei 00156 ~'~rn 7 00157 7774 00160 4073 lll\1151 3600 e.0162 7521 00163 015~'1?! 00164 k~2Ak' 00165 V'i 1M0 00166 7735 Vi0167 l":;.ti77 0017ei 70%10 ~0171 e 177 ~0172 ~ld173 4J36 3711 00174 02'17 0017~ 1052 01(1176 4200 00117 0vrn0 ORG 1013 Ulf'i20 1014 1002Ql 00"'0 FPLIST, 0 1015 10021 Q!00~ OPL.IST, 1.1 1016 10°'22 0023 AL.IST, .+1 .+5 1017 1002~ e. 0 3"' 102in 10024 ei404 10025 3fc10.V. 1021 10026 ~1014 1022 1Hl27 e.11 ~ 1023 10030 0035 1024 10031 1416 10"32 fli~V.0 102~ 10033 Vlf.113 0110 .+5 FPPSF4 PDPl'IR ANO ei 0 2430 H'l .. 10040 vi~rH.\ 1H41 ~000 1033 1012142 9'0Pl0 1034 10043 2430 10044 .+5 1604H• /AND /ATX 0ii:)~0 1035 10045 ~~13 1036 10046 002C!J 1037 10047 "''150 Bl.. IS i, 1040 10C, 50 0000 1041 10051 ,, 123 FPPSF.4 002~ .+1 /BASE 0 0123J05~0 10052 1042 10053 ~J500 ~HH~i5 PSUDO 1043 1044 1045 1045 o~fM' fUSEX 10054 0.1..N 141610 4 l'l "I • ~-.- /AOOX FPPSF5 00U 10~2 /OP L.ITERAL.. 0404i3td00 1026 100134 0010 1027 10035 lH,42 103" 10036 16~4 10Ql37 CilitH~0 . /INITIAL. SYMBOL. TA8l..E /FP L.ITERAL. BUCKET 10055 0~56 CL.IST, 10056 vilfl63 10051 04Qlo .+1 .+5 0406;0 /COF 1006'1! 0000 1~47 100fH 0'11\114 U'50 10062 621ii 1 1051 10063 \.1070 1052 10064 101111 10065 1116 U53 10066 11005 1054 10067 520~ U5t> 10070 V'\1675 1056 10071 11V.:1 10072 001!0 1057 10073 01.104 U 6it. 10074 71~41 1061 10075 0102 1062 10076 111716 10077 1"1 fi ~' 1064 106:> U6o e. 0~H'i 1010QI 00rt4 10101 6202 1011d2 li.\V 7 10103 14~1 PDP OP COF .+5 1001'1116 /CHAIN PS UDO CHAINX .+5 /CIA 110110 F'DPOP cu .+5 110610 /CIF POPOP CIF . "" • •;;;i 140110 Jr"I A ..... !" ~. BUCKET 10104 l--~00~ 1067 10105 Q) ~·'H' 4 1IZl71t1 10106 72v1 ~ 1071 10107 '~ 1,_4 107~ 10110 1414 10111 1076 10115 1501 10116 ~~000 1077 1'H17 01!1e4 110'1 10120 7~40 11'11 10121 f'l00(!! 1102 10122 t514 10123 ~HHH1 1103 10124 M11~4 1104 10125 7020 1105 10126 0127 DL.lST, 1 H'!6 10127 01.3 4 11@7 1013Qi (~ ..i\?J 1 t!'l005 1122 10145 5143 1123 10147 ~~00 1124 10150 1 oe·A 10151 0£100 1125 10152 ~~i!105 112b 10153 4500 1127 10154 0155 Fl..IST, 1130 10155 0162 1131 1!0156 ~HG1<4 10157 ro 4io~ 1132 10160 0007 1133 10161 b100 1134 101t>2 0157 1135 10163 ~~ 104 10164 k'j 414 113b 10165 0015 11J7 10166 100~ 10167 0174 11A1 10170 ~1kl4 114~ HH7t /CLL. 14141@ PD POP CLL ,+5 15011ei /CMA POPOP C~A 0 /CMI. 101410 PDPOP CMl.. ,+1 ,+5 /DCA 0301;~ ~~t(W0 1110 10132 \!006 1111 10133 3vrn~ 1112 10134 ~~~00 1113 10135 ~H:.>Vl 3 10136 1115 1114 10137 \AH;5 1115 10140 5766 1116 HH41 0142 ELIST, 1117 10142 ~147 1120 10143 1205 10144 0324 1121 10145 ,+5 V~t1.0 1073 10112 Vl00A 1074 10113 7H~0 1075 10114 'H21 10131 PD POP c: L, 4 Ii' A 1 !5 POPMri OCA 0 0 /DECIMAL. 050311115 PSUOO \H"'0 DECX .+1 .+5 /EJECT 1205;~324 PS UDO EJECTX /END 0 16~4J0 PSUOO ENOX ,+1 I HS IFADO 01041000 FPPMRF 1000 .+5 /FAOOL 0104JOJ414 FPMRFL 1000 ,+5 0104HU15 /FAOOM 1142 10172 00"'' 1143 10173 501110 1144 10174 0201 1145 10175 t'l 104 10176 0415 FPPMRF 5000 ,+5 1146 10177 1415 FPMRFL+1400 1147 10200 5000 50~0 115l1 10201 021ii6 1151 10202 0314 10203 1152 10204 1 HS3 10205 1154 10206 1155 10207 10210 1156 10211 1157 10212 0100 ,+5 /FCl.A 031410100 0012 FPPSF3 00~2 0002 V:213 0411 0411126~0 ,+5 /FDIV 2600 0007 FPPMRF 3~00 3000 ,+5 IU11 J2fH4 1160 102H vl 22kl 1161 10214 0411 l~2l5 tt6l.4 1162 10216 0015 1163 10217 30~0 3000 .+5 1165 10221 0530 053011124 10222 1124 1156 10223 0012 1167 10224 0000 1170 10225 0232 FPPSF3 ,+5 140410100 10227 01~0 1172 10230 0007 1173 10231 0000 1174 10232 0237 0000 • +!5 /Fl.DAL. 14041~114 FPMRFL 000121 152~ 1525114~0 ,+5 ~0~7 FPPMRF 410~0 4000 ,+5 1204 10244 0251 12e:5 10245 1525 /FL.DA FPPMRF 0000 0244 1400 IFEXIT '1000 1171 10226 1404 1404 0114 0015 /FDIVL. FPMRFL. 1164 10220 0225 1175 10233 10234 117 t5 10235 1177 10236 12~rn 10237 1201 1020 10241 12e2 10242 1203 10243 /FA00ti4L. 010410415 /FMUL /FMULL. 1!52511414 10246 1414 1206 10247 12!015 1207 10250 400\:l 1210 10251 0256 1211 10252 1525 10253 1415 1212 10254 !lH~~? 1213 1025!5 7000 1214 10256 0263 1215 10257 1525 FPMRFL. 4000 ,+5 1525114 us /FMUL.M FPPMRF 7000 .+5 152511415 IFMULML 10260 1 4 1 ei 1216 10261 1410 1217 10202 rn~··e 122~ 10263 F270 1221 10264 1ti~5 U265 ~~ 7 .+5 160511111 CH~ /F'NEG v Vl 1222 1':J266 ~'~ 12 1223 10267 ~~ ~rn 3 1224 1027V'J 0275 1225 10271 1617 10272 2 ~.H1 (il 1225 10273 v..1 1-112 1227 10274 ki V,14\1 123~] 10275 (~!3~·2 1231 10276 1tH7 10277 2215 1232 10300 !?t·.!'J 12 1233 1~3U ;A.~1f/; 4 1234 10302 ~l Jf·~ 7 1235 10303 2l(H·: 1 103~4 FPMRFL+14eV: 7000 FPPSF3 '10!~3 .+5 /FNOP 161712~~~ FPPSF3 ~'140 .+5 1tH7;2215 /FNORM FPPSF3 0004 • + :> 21210112523 IF PAUSE 2'23 1235 10305 21012 1 '/) v 1 FPPSF3+,15fll0 1237 l!ll306 ~·') 1240 10307 1241 1031~ 10311 1242 10312 1243 10313 1244 10314 124!.S 10315 ~~· .,i 1 4 2~k13 .+5 200311715 1715 0004 6553 POPOP 1246 10317 ~004 i~.521 2010 10316 1424 1247 10320 b554 125Z' 11d321 0326 1251 10322 2011 ,10.~1 IFPCOM 6553 .+5 /FPl-tL.T 2~1011424 PDPOP 5554 .+5 2011'0314 /F"PICL 10323 ;1J 1.ci 12 !5 2 U324 [,'%4 1253 10325 15!:>52 1254 1ia325 1255 1~327 it:3J3 2'111 POPOP 5552 .+5 IFPINT 2Vi11'1624 U330 1624 1256 10331 ft' '-10 4 10332 t• !:) :11 12 ts (II 10333 ~340 1261 U334 2011 10335 2J:24 12~7 126~ 1ill336 V'tH~4 PDPDP 65!51 .+5 PD POP 1263 10331 fi!:557 12 f\ 4 Hi34~ ~· 345 1265 10341 2!022 10342 2J24 1266 10343 ki~r;.~ 12ti7 lkl344 6556 0557 127~ .+5 10345 1"•302 /f PIST 217.11' 2324 .+5 /FPRST 2n2;2324 PDPOP 655b JFPST 1271 10346 2~H'!3 2~231240~ 10347 24~H1 1272 10350 ~~0e4 1273 10351 6555 1274 10352 [!1357 1275 10353 2324 10354 PDPOP 6555 .+5 ~1 100 FPPMRF 1276 1035~ Vi0Vl7 1277 10356 6011l0 13~11i 10357 ~136A 13£-l 1 1036~ 2324 U361 ~H 14 1302 10362 Ii)~ 15 1303 l!tj363 '5000 130 4 10364 ~~ 3 71 1305 10365 2325 6000 .+5 232410114 "" .. • "I • f'lo ;;; .,. ..... ,i.'M;Ji .. ,+5 232510200 ~ 1311 10372 2325 1312 1313 1314 1315 1316 1317 lli21 A 10374 ~1 015 0 10401 1424 142410 2000 0 ,+1 PD POP 1321 10404 7402 HLT 1040~ 04~•6 ~413 01~3 10410 V,!0~'10 1325 1326 1327 133id 10411 0004 10412 U413 10414 10415 13:,, 1 10416 1332 10417 70k11 ILlST, .+5 0103, 0 /UC POP OP IAC • +f5 0616 0507 061610507 0005 5656 PSUDO 13315 10424 564ft 1337 10425 (i'432 1340 10425 0020 /HLT .+1 ~420 1333 10420 ~425 1334 10421 0616 10422 3222 1335 10423 17V'5 • l!r l"i l a I FPMRFL. 10402 0000 132Vl 10403 00~4 1322 ,,.., ....... 232510214 10375 2'100 10376 0000 GLl ST, 10377 0400 HL.IST, 10400 0000 1323 10406 1324 10407 IFSU8 FPPMRF 2000 ?~7¥J 1037~ /FSUL. FPMl-~H?,e 1362 10455 0011 13~5 13bJ 10456 103~ 1364 10457 t;:454 t365 10460 V.103 10461 ~>tltjt~ /IFZERO PSU00+17el0 IFZROX /ISZ 233210 POP MR ISZ 0 .+1 11!+5 0100 rn /JA. FPPSF2 1030 .+5 0U310 /JAC 0 13Sti 10452 0vH2 13b7 10463 (,'1007 1370 10464 k1471 1371 10455 0114 10466 0000 1~467 0011 1373 10470. 1070 1374 10471 l(i476 1~15 10472 l(;521 1372 10473 ~~~HHl! 1376 10474 16011 1377 10475 1000 140,j 10416 V.i503 1401 10477 v• 7rtb 10500 V.l0ri;~' 102 10501 0Ql11 1403 10502 1>iJ 10 1404 10503 ~'1!)1~ 1405 10504 0724 FPPSF3 0.007 .+5 0114H' /JAL FPPSF2 i070 .+5 052110 /JEQ FPPSF2 1000 .+5 IJGE 070510 F'PPSF2 1010 ,+5 /JGT 07241"1 1050!5 HiV-0 10506 0~11 10507 1060 141'~ 1051~ eio 1 s 1411 10!511 1405 10512 ii0V.0 1412 10513 ~011 1413 10514 102~ 1~06 14~7 1414 1051~ FPPSF2 U60 .+5 FPPSF2 1020 .+5 V·522 1415 10516 1424 142410 10517 Vi0~0 1416 10.520 V.011 FPPSF:2 1 411 7 1111!'§21 1 til511! /JL.E 140510 U15Gll IJL.T 142e 10522 e.527 1421 10523 1520 10524 0000 1422 UH52!5 ~0G6 1423 10526 50t(H! 1424 10527 ~534 1425 10530 1523 10531 e:000 1425 10532 0~v·6 1427 10533 4000 1430 10534 ~H541 1431 10535 16it.5 ,+5 1520 "~ /JMP PDPMR Jf'IP 0 .+5 1523'0 POPMR JMS 0 .+5 /JMS /JNE 16051~ 10536 0000 1432 10537 ~~11 1433 10540 lldA0 1434 10541 0546 1435 10542 23~1 10543 "'000 FPPSf 2 1040 ,+5 230110 ~011 112~ FPPSF'2 1440 10546 0553 1441 10547 2.322 .+5 23221121 1436 10544 143/ U54e> 1442 1443 1444 1445 10550 10551 10552 10553 10554 10 555 ~011 1130 1462 FPPSF2 1130 Y.!000 0 3016 3016,0 /JSR /JXN 00"10 FPPSF1 2000 ,+1 .+5 ll 10636 1114 HHS 10637 0fd00 MLIST, 1517 10640 0641 NL.IST, 152Vl 10641 0000 1521 10642 1720 10643 0000 1522 10644 e.lJQ'..4 1523 10645 7000 1524 10646 0647 OLISTr 1525 10647 0054 1526 10650 ~324 us 10651 0.114 1527 10652 0005 1530 10653 57f.7 1531 10554 0661 1532 10655 2207 10656 0000 1533 10657 1534 10660 1535 1'!1661 1536 10662 10653 IL.DX 043010 /LISTON PSU00+1600 LSTONX 0 112411722 IL. ITORG PSU00+00700 LITOHX 0 .+1 0 /NOP 1720;0 PDPOP NOP .+1 ,+5 /OCTAL. 032410114 PSUDO OCTAl..X .+5 /ORG 220710 V•005 PSUOO 5012 0000 ORGX 0 ?322 232210 /CSR ~\{(10,~ POPOP 1537 10664 vi~04 1540 10665 7 4l14 1541 10666 0667 PL.IST, OSR 1542 10667 1!54J 10670 01ti00 0 01~7 01011050~ .+1 10671 050.0 1544 10672 000~ 1545 H1673 51(164 1546 10674 wh100 QL.lST, , 5~117 10675 M76 RLIST. PSUDO PAGEX 0 .+1 /PAGE 1550 10675 0103 1551 10677 0114 107~0 .+5 01141~ ~000 1562 101rD1 ei004 POPOP 1553 10702 7004 1554 U7fd3 v.'1710 1555 1071214 M22 10106 v1~00 FOL 1555 10706 00V.4 1557 10707 7010 POPOP RAR 156~ 10710 1561 10711 10712 1562 10713 156 J 10714 .+5 040610 0715 0406 .+5 /RAR V'l 122' 0 /ROF ~00'1 0004 6214 1564 10715 0722 1565 10716 1102 10717 000ei 1566 10120 ~004 106i i 0721 6234 1570 10722 IRAL. ~127 H571 10723 1106 POPOP ROF .+5 /RIB 1102, 0 PO POP R18 .+5 110J5J0 /RIF 10724 L?101,?:0 1572 10725 ~0~4 H>73 10126 6224 1574 10727 Q!7~4 1575 10730 1506 10731 ~000 1576 10732 V·!tJ04 1577 10733 fl2A4 160~ 10734 0741 Hi01 10735 2414 10736 V'k>00 1602 10737 V!V104 1612'3 1074" 7VJ~6 1604 10741 era0e Hi05 10742 2422 10743 0!r:l00 1606 10744 ?.01t!4 POPOP RIF .+5 150610 POPOP RMF ,+5 2414JV' 0 PDPOP 1f)10 10746 1611 10747 1612 10750 10751 1613 10752 1614 10753 1615 1075'1 1616 10755 10756 .+1 V:J754 e+5 0524 05241 ((!200 ()I 1622 10762 132v1 10763 0 •:1t:~0 /RTR 242210 RTR 0200 0011 111 ~ ~i75 l 0524 3000 1617 10757 0011 4 (JI., ... 162~ ""rJ' ""'w;_J 11 e-~ 1621 10761 0766 /RTL. POP OP RTL 1607 10745 'Cd 12 Vi7 47 SLIST, /RMF FPPSF2 1110 .+5 ISElB ISETX 05241300~ FPPSF2 1100 .+5 132010 /SKP 1623 1 \:l7o4 ~~ ~H~ 4 162 '1 1071':i~ 7 41 ~1 1625 1076f; 0.773 1626 107b7 1 5 ("'1 1id77il1 iLH~N'i 1627 10771 00l'!4 163?, 10772 750~ 1631 10773 1..C0~ 1632 1077 '1 16~1 10775 en~00 1633 10776 ~·ii!J~4 1634 1!d777 745e1635 1hHd0 H1~5 1636 1 U01 1614 11002 V•000 1637 11©~3 0~04 164~; 1101c7!4 74?.0 1641 11~'15 hi12 1642 11 l!'V!6 2i,1t11 11007 ~'1'10 1643 1HH0 vi~%'.•4 1544 11011 751(? 164ti 11012 1LH7 1646 11013 11014 1647 11015 16tH1 1HH6 1651 11017 1652 1102L'! 11021 1653 11022 1654 11023 165~ 11024 1656 11025 11itj26 1657 11027 16fH~ 1103€ 1661 11031 1662 11'1132 11033 24vH 2224 PO POP Sl

65 11105 @010 11106 b000 11107 1114 11110 ~201 11111 2~66 17 30 11112 !f !2110 1731 11113 60Qle 1732 11114 1121 17~3 11115 22Cll 1 11116 2067 1724 172f> 1726 1727 17~4 11117 ~010 1735 11120 71d00 1736 11121 ~HMne 1737 11122 230b 11123 e'000 1740 1741 1742 1743 11124 00N 11125 6041 11126 Ql~00 UL.IST, 11127 ~H~00 VL.lST, 1744 11130 ~HHH1 WL.IST, 1745 11131 11 :S2 LISTX, 1746 11132 e~00 1747 11133 24ei1 11134 053012400 24~~e PSUDO TEXTX .•5 ITL.S 142310 POPOP Tl.. S .+5 ITPC 200310 PDP OP TPC /TRAP3 .+5 2201J2t'153 FPPSF1 3000 ,+5 220112064 FPPSF1 4000 .+5 220112Jiib5 ITFUP5 FPPSF'l 5000 ,+5 /TRAPS 220112066 FPPSF'1 6000 .+5 220112067 ITFOP7 FPPSF1 7000 0 /TSF 2306,0 PDPOP TSF 0 0 0 .+1 /XTA 0 240110 e.0~0 1750 11135 IM~13 i;5i iii36 h33~ 1752 11137 0it?V: ~ YLlST, /TRAP4 FPPSf 4 ,_ rSi . . ~ IQ~.;1'0 0 17b3 1754 1114~ ~J0~ lLIST, f~EE, ~ EJECT PAGE 1757 1120e- 7211:0 lNlTA.L, CLA 17b0 11201 e~ 211 CDF 175~ 1756 3777 FL. w1 (7775 (5772 1761 .112~2 1762 1763 1764 1760 112"' 3 1376 11204 'J 77 5 DCA l (777fJ 11205 131' 4 TAO (577 3 (7777 11206 3773 1766 11207 IJ 772 1767 1121ll 1273 177~ 11211 £>771 1771 1772 1773 1774 177:; 1776 11212 11213 11214 11215 11216 11217 1171 ll2~1i', ~ i! 11 HD OCA l Jf"\S I RD SYS Jf"'lS I CDF 4~.~~~~ 4vH-Hl1 t-211 COF 7 ~H?·~ 7i>.~~ l [IJ!? ~ 4772 Jf'i.S I n~c;, 11221 177(1; 11222 331/v'. 1122J 1167 11224 ~277 2004 11225 477"2000 2'101 2002 2003 20~b OCA I 13V0 7o4vJ C717 4 /FINO FUUGE FACTOR F"OR SOURCE (777rt /GET kEAO ENTRY POINT (7771 In NO STUFF FOR BINARY (777'/J /MAKE SUHE ITS THE CIA ROOIAL TAO SZ A CLA HLT TAD 1 (7771 f.2l: 1 COF FLD0 3766 DCA I TAO OCA I FUUGES 1 ~77 376b 1 Jll·e· Ct·364 1363 37f:2 7126 TAD CSfl.JDC,E ROU IAL AND (177 HO C7be!ll CDIALRC CLL CML tHL (OHLRD (DUL.WR 6211 CDF FLDl lJ'?V• TAU AND RDlJIAL. DCA JMS I CDF .+J (~ ;)63 47516 6211 ~-· vJ''; vi 2036 11257 t' 2 ~:11 2037 1126/l 7 6~~~ 20~\.'i 112t\1 ii 2 ':' ~ 2041 11252 ~707 /TiillO DIFFERENT HANDLERS /STORE BINARY FUDGE /NO~ SOURCE FUDGE /READ ENTRY POINT /GET PAGE DISPLACEMENT /PLUS BASE OCA I TAO I OCA I ;3256 SAME HANOI.ER CBfliDGE 37~1 l7b2 /SOURCE FU OGE NUMBER (7774 1767 7 4 1,;2 UP FL.01 FUvGES TAO I 71141 /!-10\IE ROUTINE OCA Jt'IS I 20Vofl 11227 1771i1 2007 1123el 201~ 11231 2011 11232 2'-112 11233 2013 11234 2014 11235 2015 1123'5 2(() 16 11237 2017 1124~ 202it1 11241 2021 11242 2t!l22 11243 202.3 11244 2024 11245 2025 11246 2~26 11247 2i02i 1125v1 2030 11251 20.31 11252 2032 11253 2'133 11254 2'134 11255 2035 11256 (42q:0 FL..01 ROOIAL OL1~Y6 I/O RUUT H1ES /READ I COPL.ETE COPY OF 1/0 STUF /POINTER TO ARGS FOR SYS READ IN OC .A TAO I 11226 1267 UP OIAL (717 4 102illl (IL' Ml~ TA f) I /FIX (76~0 (72V:~ /NOW WRITE ENTRY POINT /GET PAGE /MOVE AOOR OF' l/O ROUTINE ROUTINE TO FIELD FL. 01 0 I"'"' r: 1.ovr C'I r i.. f\fl Uf' 76~0 2e·ill JMP I (GETLPT /GO FIND LINE PRINTER 0 2~4~ 1 12~3 11264 1126~ \' lF 1 t: d'.•HY~, 1lilllSClU.,.Cf-';v;1 ~' \~J 1' '.j ;! ~ 11266 .,, VJ•'• 1 2043 11267 n 11 OU"'· Yb, 1 1 1 ; d l 1\i PJ.C R H' ; l 1l27:il ~-. ~11 b \1271 (i tJ?lt 11272 ~, 0 [,' 1 21{!44 11273 V'l~~ wnsv~, 1 ~ ~H 3 0 J 2 2 ; 2 11274 ,;·, •fJ3V,: 11275 ~·· -!.22 11276 V·M-2 204:; 11277 l~\.1V.> f'ULll.it:::;, 0 2040 113ti.ti;ll v, vj ir ~~ ROUIAl., 0 EJECT 2047 11357 14n'! 11360 7 (ff 0 11361 e. U''.2 11352 p 101 11363 16~".!Vi 11364 d77 11365 nv.o 11366 lA! I( .4 11367 7771 1137~ 7770 11371 42,1"1 11372 7774 11373 7177 11374 '.i773 11375 777b 11376 5772 11371 777 f) ~!~C r,.. c:; ~ J- ~! ~i.. 11400 6201 GETLPT, CDF 2052 114~1 t.002 5652 6662 205~ 11402 606? 2054 114~3 1J77 TAO 21t155 11404 3245 DCA QC A 2056 11405 3246 2057 11406 ~H146 TLS 6661 206k• 11407 ti 6 61 ALPT, 2051 2~61 20b2 2063 2064 2065 20t>6 2~67 20rn 2071 /CHE.CK FOR AN ALEX 5207 224b J~P ALf-lT ISZ JMP LPT 1142~ b666 1377 TAO DCA 6666 ~24~ 2077 11426 1'222 2100 11427 2245 0222 2111 1144~ 2112 11441 /INlTIAL.IZE TTY J~ip 2072 11421 7 2 ~~Vi 2073 11422 ~So 1 2074 11423 7410 207b 11424 !)2A0 2076 1142~ 2246 21"5 11435 2107 11436 21112! 11437 LPl2 t>233 224ti 52~'17 62k'13 ALPT (•4 ISZ JMP ISZ J~P TSTLST, COF CIF /ITS THE 645 /INCREMENT TIMER /RESET TIMER FOR L.P08 TRY L.PT /TEST 6661 St

AOR OR 02673 ADRSU6 02652 ALI ST 10022 AL.PT 114~7 AL.1 00241 ANAL.EX 04261!1 ANORM 00306 AR1 rt'0342 ASM~L. 010~~ A5"10F' ~0057 BACK1 0361eHt• BAD BAOEXP BADX BASER BAS EX BBLOCK BFUDGE 8INAR8 BIN'1RY 02445 01426 02075 00032 0500v; 00103 00104 01D015 0640k~ BL•NK 037341 BL.IST 10"'47 BLOCl. BUSINESS REPLY MAIL NO POSTAGE STAMP NECESSARY IF MAILED IN THE UNITED STATi-:S - Postage will be paid by: - - - - - - - - - - - - - - - - - - - ~amaama Digital Equipment Corporation Software Information Services 146 Main Street, Bldg. 3-S Maynard, Massachusetts 01754 - - - - - - - - - - . . . .. 1 . READER'S COMMENTS FPP Assemblers User's Manual DEC-12-AQZA-D Di gi ta I Equipment Corporation ma into ins a continuous effort to improve the qua Iity and usefulness of its publications. To do this effectively we need user feedback -- your critical evaluation of th is manua I. Please comment on this manua I's completeness, accuracy. organization, usab i I ity and readabi Iity. Did you find errors in this manual? If so, specify by page. How can th is manua I be improved? Other comments? Please state your position. Date: --------------------~ ------- Name: - - - - - - - - - - - - - - - - - - O r g a n i z a t i o n : - - - - - - - - - - - - - Street: - - - - - - - - - - - - - - - - - - Department: - - - - - - - - - - - - - - City: ------------ State: ----------- Zip or Country ------- ·- ·-· - -- - - - - -- - - - - - -· - - - - - - - - - - - Fold Here - - - - - - - - - - - - - - -· - Do Not Tear - Fold Here and Staple - - - -- - - - - - -- - - FIRSTC=J PERMIT NO. 33 -----1-----1-----1-----1----------·----------·MA YNARD~iS. BUSINESS REPLY MAIL NO POSTAGE STAMP NECESSARY IF MAILED IN THE UNITED STATl-S _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Postage will be paid by: ~nmnama Digital Equipment Corporation Software Information Services 146 Main Street. Bldg. 3-5 Maynard, Ma~chusetts 01754 . . . . . . . . . . . . . . . . . . . . . . . . . I .


Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.6
Linearized                      : No
Create Date                     : 2015:05:20 17:38:39-08:00
Modify Date                     : 2015:05:20 17:06:30-07:00
XMP Toolkit                     : Adobe XMP Core 5.4-c005 78.147326, 2012/08/23-13:03:03
Metadata Date                   : 2015:05:20 17:06:30-07:00
Producer                        : Acrobat 11.0.11 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:9f6cbb41-b7a3-bb48-af03-e3596c2f18ac
Instance ID                     : uuid:1aea4aa5-c8bd-4745-aca9-6bd815b4ffbf
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 146
EXIF Metadata provided by EXIF.tools

Navigation menu