File ENVELOPE

Directory of image this file is from
This file as a plain text file

[ENVELOPE
[EVAL ENV OF DETECTED OUTPUT OF VEST SB
[A=100-M+M|100#X
[B=M|100#[Y1+Y2|
[E=SQRT A##2+B##2
[IN-PHAS COM, X, ON BLKS 100-113
[1ST QUA COM, Y1, ON BLKS 120-133
[2ND QUA COM, Y2, ON BLKS 140-153
[ENT MOD FACT BY KBD IN 3 DIG
[IF A NON-DIG IS ENTERED,THE PREVIOUS DIG ARE ERASED
[DX DIS X
[DY DIS Y1-Y2
[DE DIS ENV
[S SAV ENV ON TP ON BLKS 160-173
[DIS PRO MUST BE IN BLKS 30-32
[
$20
UMB 13 [DIS PRO
RDCu
4|30
RDCu
6|31
RDCu
7|32
#2M UMB 2 [RD X
RDC
4|100
RDC
5|101
RDC
6|102
RDC
7|103
UMB 3
RDC
4104
RDC
5|105
RDC
6|106
RDC
7|107
UMB 4
RDC
4|110
RDC
5|111
RDC
6|112
RDC
7|113
UMB 5 [RD Y1
RDC
4|120
RDC
5|121
RDC
6|122
RDC
7|123
UMB 6
RDC
4|124
RDC
5|125
RDC
6|126
RDC
7|127
UMB 7
RDC
4|130
RDC
5|131
RDC
6|132
RDC
7|133
UMB 10 [RD Y2
RDC
4|140
RDC
5|141
RDC
6|142
RDC
7|143
UMB 11
RDC
4|144
RDC
5|145
RDC
6|146
RDC
7|147
UMB 12
RDC
4|150
RDC
5|151
RDC
6|152
RDC
7|153
[ENTER MOD FACTOR
SET i17
-3
CLR 
STC 2X+1
#2C KBD i
STA
2X
ADA i
-7
APO
JMP p+2 [L.T. 7
JMP 2C-4[G.T. 7,ERASE PREVIOUS DIGS
LDA
2X
ADD 2X+1
XSK i17
JMP p+2
JMP p+4
ROL 3
STC 2X+1
JMP 2C
STC 2X+1
STC 2X
SET i6   [LIN FEED ON PRINT
-1
JMP 1U
LDA
2X+1
JMP 2U   [PRINT M
JMP 1I   [FLT M
2X 
2X
JMP 1D   [M|100
2X
2Z+3
2Z+6
JMP 1S   [100-M
2Z+3
2X
2X
#2B SETi17
2000
SET i16
2001
UMB 2     [PICK X
LDA 17
STC 2W
UMB 3
LDA 17
STC 2W+1
UMB 4
LDA 17
STC 2W+2
UMB 5     [PICK Y1
LDA 17
STC 2Y
UMB 6
LDA 17
STC 2Y+1
UMB 7
LDA 17
STC 2Y+2
UMB 10     [PICK Y2
LDA 17
STC 2Z
UMB 11
LDA 17
STC 2Z+1
UMB 12
LDA 17
 STC 2Z+2
JMP 1S     [Y1-Y2
2Y
2Z
2Z
UMB 5      [SAV Y
LDA
2Z
STA 17
CLR
STA 16
UMB 6
LDA
2Z+1
STA 17
CLR
STA 16
UMB 7
LDA 
2Z+2
STA 17
CLR
STA 16
JMP 1M     [M|100#Y=B
2Z
2Z+6
2Z
JMP 1M     [B##2
2Z
2Z
2Z
JMP 1M     [M|100#X
2W
2Z+6
2W
JMP 1A     [100-M+M|100#X=A
2W
2X
2W
JMP 1M     [A##2
2W
2W
2W
JMP 1A     [A##2+B##2
2W
2Z
2Z
JMP 1T     [SQRT A##2+B##2
2Z
2Z
UMB 10     [SAV ENVEL
LDA 
2Z
STA 17
CLR
STA 16
UMB 11
LDA
2Z+1
STA17
CLR
STA 16
UMB 12
LDA
2Z+2
STA17
CLR
STA 16
XSK i17
JMP p+2
JMP p+5
LDA i17    [IND 17
LDA i16    [IND 16
LDA i16    [IND 16
JMP 2B+4
#2D KBD i      [ENT COD
SAE i
46 [S
JMP p+2
JMP 2G    [SV ENVEL ON TP,BLK 520
SAE i
40 [M
JMP p+2
JMP 2M    [NEW MOD FACT, M
SAE i
27 [D
JMP 2D    [INVALID COD
KBD i
SAE i
53 [X
JMP p+2
JMP 2H     [DIS X
SAE i
54 [Y
JMP p+2
JMP 2H+3   [DIS Y
SAE i
30 [E
JMP 2D     [INV COD
LDA i     [DIS ENV
UMB 10
JMP 2J
#2H LDA i
UMB 2
JMP 2J
LDA i
UMB 5
#2J UMB 13
STA
2A         [UMB  N
STA 
2L
ADA i
1
STA
2A+3         [UMB N+1
STA
2L+3
ADD p-5
STA
2A+6         [UMBB N+2
STA
2L+6
LDA i      [ADD INST IN DIS PRO
LDA i6
STA
2E
CLR
LMB 13     [DIS PRO
JMP 20
JMP 2D
#2G UMB 10     [SV ENV ON TP
WRC
4|160
WRC
5|161
WRC
6|162
WRC
7|163
UMB 11
WRC
4|164
WRC
5|165
WRC
6|166
WRC
7|167
UMB 12
WRC
4|170
WRC
5|171
WRC
6|172
WRC
7|173
JMP 2D
#2X X     [M OR M-100
X
X
#2W X     [X
X
X
#2Y X     [Y1
X
X
#2Z X     [Y2
X
X
7     [CONST 100
2000
0000
X     [M|100
X
X
2A=2034 [ADOF 2A IN DIS PRO
2E=2073 [AD IN DIS PRO
2L=2154 [AD IN DIS PRO
[XXXXXXXXXXXXXXXXXX
[XXXXXXXXXXXXXXXXXX
[TTYSUB
[TELETYPE
[PRINTING
[SUBROUTINES
[LINE FEED
#1U SET 7
0
LDA i
215
JMP 3Q
LDA i
212
JMP 3Q
XSK i6
JMP p-4
JMP 7
[OCTAL PRINT
#2U SET i6
-4
SET 7
0
ROR 11
STA i
#3U 0
BCL i
7770
ADA i
260
JMP 3Q
LDA
3U
ROL 3
XSK i6
JMP 3U-1
JMP 7
[SPACE
#4U SET i6
-2
SET 7
0
LDA i
240
JMP 3Q
XSK i6
JMP p-4
JMP 7
[PRINT TTY 
[CODE
#3Q BCL i
4000
BSE i
3600
ROL 2
STC 2Q
LDA i
1777
STC 4Q
ADD 0
STC 7Q
MSC 4
APO i
JMP 2Q-1
LDA
2Q
SCR 2
OPR 42
JMP p-1
JMP 7Q
LDA i
#2Q 0
ROR 1
STA
2Q
BCL i
7776
ATR
LDA i
336
ADA i
-1
AZE
JMP p-3
SRO i
#4Q 0
JMP 2Q-1
#7Q JMP p
[TTYSUB
[11 NOV 67
[1045 HRS
$1140
[SQRTND
[DOUBLE-PRECISION SQUARE ROOT
[USES NEWTON APPROXIMATION
[5 ITERATIONS
[
[USE FLOD-1R
[
[JMP 1T
[ADDR RADICAND
[ADDR RESULT
[USE XR 1,2,3,4
#1T LDA
0
JMP 1X-1
ADD 1R+1
STC p+67
LDA 2
STC p+71
LDA i2
STC p+67+1
LDA i2
STC p+65+2
ADD p+64+1
APO i [RADICAND NEGATIVE?
JMP p+7
COM
STC p+60+1
ADD p+57+2
COM
STC p+55+2
ADD p+54+1
 STC p+56+1
ADD p+52+2
STC p+54+2
ADD p+50
SCR 1 [EXP|2 FOR APPROX.
STC p+51
ADD p+50+1
AZE i
JMP p+24 [RESULT ZERO
CLR
ADD 3
STC p+22 
SET i4
-5
[N|X
 JMP 1D
p+34
p+36
p+27
[+ X[N]
JMP 1A
p+25
p+32
p+31
LDA i
-1
[DIVIDE RESULT BY TWO
ADD p+26
STC p+25
XSK i4
JMP p-15
[FINISHED CALCULATING
SET i3
 ADDR RESULT
LDA
p+17
STA 3
LDA 
p+14+1
STA i3
LDA
p+11+2
STA i3
 JMP RETURN
  0
0
0
  0
0
0
  0
0
0
[END SQRTND
[MJM 2-23-70
[FLOD-1R
[SUBTRACT, FLOAT, FIX
$1245
[ENTER SUBTRACT
#1S CLR
ADD 0
JMP 1X-2
LDA 2
STC 1M+112
LDA i2
COM
STC 1M+113
LDA i 2
COM
STC 1M+114
SET i2
1M+112
JMP 1A+3
[FLOAT INTEGER
#1I LDA i
26
APO
[FLOAT FRACTION
#1F CLR
STC 1M+112
STC 1N+15
ADD 0
JMP 1X-1
LDA 2
STC 1N+6
ADD 1M+112 [EXPONENT
STA 3
LDA i 2
ROL 1
STC 1N+1
ADD 1N+6
JMP 1A+73
[FIX INTEGER
#1J LDA i
-26
APO i
[FIX FRACTION
#1G CLR
STC 1M+60
STC 1N+15
ADD 0
JMP 1X-1
[CONTAINS ZERO ON RETURN
COM
ADD 1M+60
ADA 2
APO i
JMP 1H [OVERFLOW
XSK i 2
NOP
JMP 1A+111
STA 3
JMP 1R-7
[FLOD
[KERNEL
[PORTIONS FOLLOWING
[THIS POINT
[INTERACT STRONGLY
[WITH ONE ANOTHER
$1326
[ENTER MULTIPLY
#1M CLR
ADD 0
JMP 1X-2 [SET INDEX REGISTERS
LDA 2 [COMPUTE EXPONENT
ADA 1
JMP 1Q+3
STA 3
LDA i 2 [SET UP MULTIPLICANDS
STC 1M+113 [LEFT HALF
LDA i 2
STC 1M+112 [RIGHT HALF
LDA i 1
MUL [L1 X L2
4000+1M+113
AZE i
JMP 1H+1 [PRODUCT ZERO
LZE
COM
STC 1N+6
ZTA
STC 1N+1
LDA 1
MUL [L1 X R2
4000+1M+112
LZE
COM
ADM 
1N+1
ZTA
STC 1M+60
LZE
COM
STC 1N+15
LDA i 1
MUL [R1 X R2
4000+1M+112
LZE
COM
ADM 
1M+60
LDA 1
MUL [R1 X L2
4000+1M+113
LZE
COM
STC 0
ZTA
LAM i
0 [1M+60
BCL i 
3777
ROL i 2
LAM 
0
LAM
1N+1
BCL i
3777
ROL i 2
LAM 
1N+6
LDA
1M+60
ROL i 2
LDA 
1N+1
ROL i 1
STC 1N+1
[ CLEAR LINK
ROL i 1 [1M+104
JMP 1N [NORMALIZE
LDA i
-1
JMP 1Q+2 [DECREM EXPONENT
JMP p-4
[TEMPORARY
[STORAGE
0 [1M+112
0
0
[NORMALIZE STEP
#1N LDA i
0
LAM
p-2
SCR 14
LDA i
0
LAM
p-2
OVF
JMP 0
ROR i 1
BCO i
0
STA i 3
ROL i 1
ZTA
BCO
p-5
ROL 1
ROR i1
STA i 3
[NORMAL EXIT
#1R NOP      [*  #1R LDA i 4
JMP p    [*      JMP 4
[DIVIDE
#1D CLR
ADD 0
JMP 1X-2
[COMPUTE EXPONENT
LDA 2
COM
ADA 1
STA 3
JMP 1Q+3
JMP 1Q
[SET SIGN
LDA i 2
BCO i 1
SCR 14
STC 1N+15
[CLEAR QUOTIENT
STC 1N+1
STC 1N+6
LDA 2
AZE i
JMP 1H [DIVISOR ZERO
APO i
COM
BCL i 
4000 [1D+25
[LEFT DIVISOR
STC 1D+37
LDA i 2
APO i
COM
[CLEAR SIGN AND ADD +1
ADD 1D+25
ROL i 1
ROR 1
[RIGHT DIVISOR
STC 1M+112
LAM i
0 [1D+37
LDA 1
AZE i
JMP 1H+1
APO
COM
[LEFT DIVIDEND
STC 1D+100
LDA i 1
APO
COM
[RIGHT DIVIDEND
STC 1M+113
JMP 1D+105 [TRIAL SUB
APO
JMP p+10
LDA i
-1 [CONSTANT
JMP 1Q+2
JMP 1D+73 [DIVIDE LOOP
JMP 1D+105 [TRIAL SUB
APO i
JMP 1D+73
[SUBTRACTION SUCCEEDED
ROL i 1
STC 1D+100
ZTA
ROL 1
BCL i 
4000
JMP 1D+102
[SUBTRACTION FAILED
CLR [1D+73
ADD 1M+113
SCR 12
ADD p+2
ADM i
0 [1D+100
ZTA
STC 1M+113 [1D+102
JMP 1N
JMP 1D+61 [CLOSE LOOP
[TRIAL SUBTRACT SR
CLR [1D+105
ADD 1M+113
ADD 1M+112
ROR i 1
SCR i 12
ADD 1D+100
ADD 1D+37
JMP 0
[ENTER ADD
#1A CLR
ADD 0
JMP 1X-2
LDA 1
COM
ADA 2
OVF
JMP p+4
SCR 14 [1A+10
BCO i
-40
APO i
JMP 1A+101
STC 1M+60
STC 1N+15
[SET UP ADDITION
[REG1 POINTS TO
[ADDEND WITH LARGER
[EXPONENT
[
LDA 2
STC 1N+6 [SMALLER EXPONENT
LDA 1
STA 3 [LARGER EXPONENT
LDA i 2
LDA i1
AZE
JMP p+5
[ADDEND WITH LARGER
[EXPONENT IS ZERO
ADD 1N+6
STA 3
JMP 1A+101 [SWAP
[LOAD LEFT HALF
[OF LARGER
LDA 1
STC 1N+6
[LOAD RIGHT HALF OF LARGER
LDA i 1
ROL 1
STC 1N+1
[SCALE SMALLER
ADD 1M+60
JMP 1A+110
STC 1A+53
[CLEAR LINK
ROL i1
ZTA
ROL 1
ZZZ
ADD 1Q+1 [+1
[RIGHT + RIGHT
LAM 
1N+1
SCR 14
[LEFT + LEFT
LDA i
0    [1A+53
LAM
1N+6
OVF
JMP p+6
[OVERFLOW:INDEX EXP. AND SCALE RIGHT 1
JMP 1Q
LDA
1N+6
ROR i 1
JMP 1N+16 [EXIT
STC 0
LAM
1N+1
STC 0
LAM
1N+6
AZE    [1A+73
JMP 1M+104
SAE
1N+1
JMP 1M+104
JMP 1H+1 [ZER0 RESULT
[SWAP REG1 AND REG2
STC 1D+37 [1A+101
ADD 2
SET 2
1
STC 1
ADD 1D+37
JMP 0
[24-BIT SCALE
APO   [1A+110
COM   [1A+111
ADA i
-14
SCR i 1
ROL i 1
[IF SCALE>14, L=0
APO i
ADD p-4
APO i
CLR
ADD 1A+130
STC 1A+134
LDA 2
STC 1D+37
LDA i 2
ROL 1
SCR 14 [1A+130
ADD 1D+37
LZE i
SCR 14
SCR X  [1A+134
JMP 0
[SET INDEX REGISTERS
ADD 1Q+1 [+1
ADD 1Q+1
#1X ADD 1Q+1
STA
1R+1     [*    4
ADA i
-6003 [CONSTANT 1774
STC 3
LDA 3
STC 1
LDA i3
STC 2
LDA i3
STC 3
JMP 0
[ADJUST EXPONENT
#1Q LDA i
1
ADM 3
OVF
JMP 0
APO [SKIP IF UNDERFLOW
[ERROR STOP OR RETURN
#1H HLT      [*  #1H JMP 4
CLR
STA 3
STA i3
JMP 1R-1
[FLOD-1R
[5-8-69,21:00
[XXXXXXXXXXXXXXXXXX
[XXXXXXXXXXXXXXXXXX



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search