File DMOD

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

[DMOD
[DISPLAY  ON SCOPE.
[NORMALIZD DAT FRM PAGS
[15,16,17 WHEN THE KYBRD COD,
[DETECT ON PAG 0, IS DR  ORDI
[EVEN ADD FR  DR
[ODD ADD FR DI
[WHEN THE KYBRD COD IS GA
[DIS NORMALIZ DAT FRM EVEN ADD
[ON PAGS 12,13,14.
[WHEN KYBRD COD IS GN
[DIS DAT FRMODD ADD ON PAGS 12,13,14
[NORMALIZ W.R.T. PI RAD
$20
STC 2B [REAL OR IMAJ
ZTA
STC 2R
ADD 0
STC 2R+1
#2F NOP    [FOR CODS DR,DI,GA+. FOR GN JMP 2E+7. LOADED FRM MISC-2A
[FIND LARGEST ABS VALUE
SET i 6
2000
CLR
STC 2M [CLEAR REF
STC 2M+1
STC 2M+2
#2A UMB 15
LDA 6
STC 2T
UMB 16
LDA 6
STC 2T+1
UMB 17
LDA 6
STC 2T+2
ADD 2T+1
APO i [POS OR NEG
JMP p+5 [POS
JMP 1S  [MAK POS
2Z
2T
2T
JMP 1S  [SUB OLD MAX
2M
2T
3T
CLR
ADD 3T+1
APO i [CHECK FOR LARGEST
JMP p+10[1M LARGER
CLR [2T LARGER
ADD 2T [SAVE NEW REFR
STC 2M
ADD 2T+1
STC 2M+1
ADD 2T+2
STC 2M+2
#2E NOP     [FOR CODS DR,DI,GN.FOR GA LDA i6 LOADED FRM MISC-2A
XSK 6 [ALL TESTED
JMP p+2 [NO
JMP p+13 [YES 2M IS MAX
LDA i 6
CLR
JMP 2A
CLR
ADD 2P [STR PI RAD ON 2M
STC 2M
ADD 2P+1
STC 2M+1
ADD 2P+2
STC 2M+2
[CHECK FOR ZERO ARRAY
LDA
2M
AZE
JMP p+16
LDA
2M+1
AZE
JMP p+12
NOP
NOP
NOP
LDA i
0001
STC 2M [MAKE 2M =1.00
LDA i
2000
STC 2M+1
JMP 1D [DIV FP 300 BY MAX NR
2D  [300
2M
2M [NOW SCALE FACTOR
JMP 2G [DIS HOR AND VERT LINS
LDA i
#2B XXX  [REAL OR IMAJ
APO
JMP p+4 
SET i 6 [REAL
2000
JMP p+3
SET i 6 [IMAJ
2001
SET i 7
-1000
SET i 10
400
#2L UMB 15
LDA 6
STC 2T
UMB 16
LDA 6
STC 2T+1
UMB 17
LDA 6
STC 2T+2
JMP 1M [MUL SCALE FACTR TIMES VALUE
2T
2M
2T
LDA [MAKE CERTAIN VALUE IS GT 1
2T
APO i
JMP p+4 [OK
CLR
STC 2T+1 [MAKE ZERO
JMP p+4
JMP 1J [FIX
2T
2T
CLR
ADD 2T+1
DIS 10 [DISPLAY A POINT
LDA i
1
ADD 10
STA
10
SAE i
777
JMP p+2 [NO
JMP 2G [DIS LINS
XSK i 7
JMP 2R+2
KBD [END OF DISPLAY ?
ADD 2Z-1 [EOL
AZE
JMP 2B-2
#2R RTN PAGE
RTN ADDR
LDA i 6 [INDEX ONLY
LDA i 6
CLR
JMP 2L
-12 [EOL
#2Z 0000
0000
0000
#2M XXXX [LARGEST
XXXX
XXXX
#2T XXXX [TEST
XXXX
XXXX
#3T XXXX
XXXX
XXXX
#2D 0010 [300 FP
3000
0000
#2P 0002 [PI  RAD
3110
1762
#2G CLR [DIS HOR AND VERT LNS
ADD 0
STC 2H
SNS 0
JMP 2H
STC 5
CLR
DIS 5
LDA 
5
ADA i
10
STA
5
SAE i
1000
JMP p-12
SET i5
400
LDA i
-374
DIS 5
ADA i
10
SAE i
404
JMP p-5
#2H XXXX [RETURN
[XXXXXXXXXXXXXXXXXXX
[XXXXXXXXXXXXXXXXXXXX
[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