File TEMP2

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

$1500
[PROG TYPDEC WITH BINDEC LABELS CHANGED FROM 
[9 TO 8.  ALSO ENTRY ELIMINATED
[MOD BY L. MATIN
[ ****** BINDEC 1 ******
[BINDEC 1
[   DJN   7| 5|68
[SIGNED 12-BIT BINARY TO DECIMAL CONVERSION
[  RIGHT JUSTIFIED
[  ENTER WITH BINARY NUMBER IN ACCUMULATOR VIA A JMP 9J
[  DECIMAL KBD CODES STORED VIA IR 1
[  LEADING ZEROES SUPPRESSED
[  NON-INTERRUPTABLE
[  ALSO USES IR 2,3
[  USES TAGS 9J-9Q
[CHANGED BY L. MATIN
[TO TAGS 8J-8Q
[
[TIMING- CLASSIC LINC
[   1.4 TO 3.5 MSEC
[
#A28J   SCRi1 [SIGN TO LINK BIT
ROLi1
APOi [MAKE NEGATIVE
COM
STC A28N [SAVE IT
ADD 0 [SAVE RETURN
STC A28P
LDAi [LOAD POSSIBLE SIGNS
#A28K   "- "
LZE [GET CORRECT SIGNS
ROR 6
STHi1 [AND STORE IT
SETi2 [SET ADDEND POINTER
A28Q-1
JMP A28M [CONVERT A DIGIT
AZE [IS IT A LEADING ZERO
JMP A28L [NO
ADD A28K [YES: MOVE THE SIGN RIGHT ONE PLACE
STH 1 [STORE A SPACE OVER THE SIGN
LZE [GET THE CORRECT SIGN
ROR 6
STHi1 [AND STORE IT
JMP p-10 [  THEN CONTINUE CONVERTING
#A28L   STHi1 [STORE A DIGIT
JMP A28M [CONVERT NEXT DIGITI
JMP A28L [AND STORE IT
[LITTLE SUBROUTINE TO DO THE CONVERSION
#A28M   LDA [SAVE RETURN
0
STC A28P-2
SETi3 [SET DIGIT COUNTER
1777
XSKi2 [MOVE ADDEND POINTER
ADD A28N [LOAD THE VALUE
XSKi3 [BUMP COUNTER
STAi [SAVE REMAINING PART
#A28N   **
ADA 2 [TRIAL ADD
APO [STILL NEGATIVE
JMP p-5 [YES: COUNT AND ADD AGAIN
LDA [NO:  GET THE COUNTER
3
SROi [LAST DIGIT
3567
JMP ** [NO:  BACK TO THE SUBROUTINE
STHi1 [YES: STORE IT
#A28P   JMP ** [    AND RETURN TO CALLING PGM
[ADDEND TABLE
#A28Q   1750
 144
  12
   1
[END BINDEC 1
[ 7| 5|68
T
[TECSUB
[TELETYPE SUB
[FOR DEC INT-
[ERFACE----
[TAGS 4T 5T
[6T 7T AND
[INDEX REG.
[16 AND 17
#A27T   SET 17
0
[FORM RETURN
ROL 4
[CODE TEST
APO
JMP A26T-1
[TELETYPE CODE
ROR 4
[LINC CODE
SAE i
12
[EOL TEST
JMP p+4
[NOT EOL
LDA i
5215
[MAKE CR LF
JMP A26T
[OUTPUT
ADA i
-11
[NUMBER TEST
APO i
JMP p+4
[NOT A NUMBER
ADA i
[CONVERT NUMBER
271
JMP A26T
[OUTPUT
ADA i
-12
[1ST SPECIAL
[CHARACTER TEST
APO i
JMP p+6
[NOT SPECIAL
[CHAR. TYPE 1
ADA i
A25T+10
STC 16
[CONVRT SPECIAL
[CHARACTERS
ADA 16
JMP A26T
[OUTPUT
ADA i
-32
[LETTER TEST
APO i
JMP A27T+27
[CONVRT SPECIAL
[CHAR. TYPE II
ADA i
[CONVRT LETTER
332
JMP A26T
[OUTPUT
ROR 4
#A26T   APO i
[CR LF--HUH
JMPp+4
514
LDA i
212
514
[ PRNT CHAR.
JMP 17
[RETURN
#A24T   SET 17
0
LDA i
5215
JMP A26T+2
#A25T   207
[BELL FOR DEL
240
[SPACE
246
[AMPERSAND FOR 
[ i
247
[APOSTROPHE
[FOR p
255
[-
253
[+
257
[SLASH
243
[ TAG SYMBOL
0
[NO OUTPUT FOR
[CASE
275
[=
300
[AT SIGN FOR u
254
[COMMA
256
[PERIOD
244
[DOLLAR SIGN
[FOR ORIGN SIGN
333
[COMMENT SYMBOL
T
[DECBIN 1
[  DJN  9|20|68
[
[DECIMAL-TO-SINGLE PRECISION BINARY
[  CONVERTS FROM -4095 TO +4095
[
[CALLING SEQUENCE
[  JMP 9A
[  ERROR RETURN
[  NORMAL RETURN
[
[IR1 MUST BE SET JUST BEFORE THE FIRST CH
[  DECBIN 1 LOOKS AT 5 CHARACTERS
[  USES IR1-4
[       TAGS 9A-9G
[  INTERRUPTABLE
[
[TIMING- CLASSIC LINC
[        0.7 - 2.1 MSEC
[
#A29A   SET 3 [SAVE RETURN
0
SETi4 [CH COUNTER
#A29H   -4 [MOD L. MATIN
SETi2 [MINUS FLAG
1777
CLR
#A29B   STC A29C [SAVE RESULT
XSKi4 [ENOUGH CHS DONE
JMP A29D [NO
LDAi3 [YES: INDEX RETURN
LDAi [LOAD RESULT
#A29C    **
XSK 2 [MINUS
COM [YES
JMP 3 [RETURN
#A29D   LDHi1 [LOAD NEXT CH
SHDi [SPACE
"  "
JMP A29B+1 [     IGNORE
SHDi [PLUS
"+ "
JMP A29B+1 [     IGNORE
SHDi [MINUS
"- "
JMP A29G [     SET FLAG
COM [NONE OF THOSE
ADD A29F
APO [IS IT A LEGAL DIGIT
JMP 3 [NO:  ERROR RETURN
LDH 1 [YES: SAVE IT
STC A29E
ADD A29C
MUL [ X # BASE
4|A29F
SCR 1
AZE [OVERFLOW
JMP 3 [YES: ERROR RETURN
ZTA [NO:  RETRIEVE IT
ROL 1
ZZZ
ADD A29F+1 [+1
LAMi
#A29E    **
LZE [OVERFLOW
JMP 3 [YES: ERROR RETURN
JMP A29B [NO:  CONTINUE
#A29F    12  [NUMBER BASE
 1
#A29G   XSKi2 [SET MINUS FLAG



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