File DECIN

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

[DECIN
[DECIMAL STRING TO DECIMAL FLOATING POINT ROUTINE
[USES XR 1,2,3,4
[CALL BY FOLLOWING:
[
[JMP 1K
[ ADDR INPUT STRING
[ ADDR OUTPUT STRING
[
#1K CLR
ADD 0
ADD p+17 [CONSTANT 2
STA
p+225
ADA i
-6002
STC 1
LDA 1
ADA i
-4000
STC 3 [INPUT STRING
LDA i1
ADD p-3
STC 2 [OUTPUT STRING
STA i2
SET 4
2  [CONSTANT, ALSO
STC p+140 [CLEAR EXPONENT TEMP STORAGE
STC p+114
STC p+122
SET i1
-1L
STC p+161 [MAKE EXPONENT SIGN +
STC p+153 [MAKE FRACTION SIGN +
ADD p+171 [CONSTANT 1
STC p+16 [EXPONENT INCREMENT=ONE
ADD p+67-1 [CONSTANT LDA i
STC p+61
 LDH i3
SHD i
1400
JMP p-3
AZE i
JMP p+47
 JMP p+34 [NUMERIC?
JMP p+13 [IF NOT NUMERIC
XSK 1
JMP p+37  [STORE 1L DIGITS
LDA i
 1
ADM 4 [INCREMENT EXPONENT
CLR
COM
STC p+63 [NEXT SIGN IS EXPONENT
LDH i3
JMP p-13
 SHD i
".;
JMP p+34 [DOT
SHD i
"E;
JMP p+67
 SHD i
"-;
JMP p+47 [SIGN -
SHD i
"+;
JMP p+44
SHD i
7700
JMP p+76 [77
 HLT [INVALID CHARACTER OR SYNTAX
 ADA i [TEST FOR NUMERIC
-11
APO
XSK i0
LDH 3
JMP 0
[STORE 1L DIGITS, THEN CHANGE FLAG
 STH i2
XSKi1
JMP 0
JMP 0
[SUPPRESS LEADING ZEROES AND SET SECOND SIGN FLAG
 COM
STC p+25
LDH i3
JMP p-57+4
[. ROUTINE
 LDA i
JMP p-20
STC p-2 [NEXT . IS ERROR
STC p-50 [EXPONENT INCREMENT=0
LDA i
 1L [CONSTANT 1L
ADD 1
AZE i
JMP p+2
JMP p-47-2 [CONTINUE READING
 LDH i3
AZE
JMP p-66
LDA i
 -1  [CONSTANT -1
ADM 4
JMP p-6
 SRO i
 0 [0 FOR FIRST SIGN
JMP p+5 [SECOND SIGN
STC p+42 [SET FRACTION SIGN
COM
STC p-4
JMP p-107 [CONTINUE READING WITH SUPPRESSION
 SRO i
 0 [ZERO FOR SECOND SIGN
JMP p-51 [TOO MANY SIGNS
STC p+40 [SET EXPONENT SIGN FLAG
COM
STC p-4
 LDH i3
SHD i
1400
JMP p-3
JMP p-60 [NUMERIC?
JMP p-73  [NON-NUMERIC
LDA i
 0   [EXPONENT TEMP. STORAGE
MUL i
12
STC p-3
LDH 3
ADM
p-6
LDH i3
JMP p-10-3 [CONTINUE READING CHARACTERS
 CLR
ADD 1 [CONSTANT 2001
ADD p-53
AZE
JMP p+3
ADD p-5+1 [CONSTANT 2001
JMP p+7+3
LDA i
 0   [FRACTION SIGN 0 FOR PLUS
ROR i1 [PUT SIGN IN L
LDA
p-24
SRO i
 0  [EXPONENT SIGN FLAG  0 FOR PLUS
COM
ADA 4
ADD p-60 [CONSTANT -1
AZE i
COM [MAKE 0 +0
ROL 1
ROR i1 [PICK UP SIGN BIT
STA 4
LDA
 1 [CONSTANT ONE
AZE i
JMP p+5
CLR
STH i2
XSK i1
JMP p-2
 RTN
1L=10
[MJM 1-29-70
[1610 CST
[FROM JAN
["DECIN;
[END DECIN



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