*20 /BINDEC 4 /FOR PDP-12 /D.J.NICHOLS /UNIV.WISCONSIN / /UNSIGNED 12-BIT BINARY TO DECIMAL CONVERSION / /ENTER VIA: JMP BD4 / WITH BINARY NUMBER IN ACCUMULATOR / AND IR 1 PRESET / RETURNS AT NEXT LOCATION /DECIMAL 6-BIT ASCII CODE STORED VIA IR1 / LEFT JUSTIFIED / LEADING ZEROES SUPPRESSED / FIELD NOT FILLED WITH BLANKS /NON-INTERRUPTABLE /USES IR1, 2 ? 3 / BD4, COM /COMPLEMENT STC L9BD4 /SAVE IT ADD 0 /SAVE RTN STC M9BD4 SET I 2 /SET ADDEND POINTER N9BD4-1 JMP K9BD4 /CONVERT A DIGIT AZE I /IS IT A LEADING ZERO? JMP .-2 /YES: IGNORE IT ADD M9BD4-2 /NO: MAKE ASCII STH I 1 /STORE IT JMP K9BD4 /CONVERT A DIGIT JMP .-3 /STORE IT /LITTLE SUBROUTINE TO DO THE CONVERSION K9BD4, LDA /SAVE RTN 0 STC M9BD4-4 SET I 3 /SET DIGIT COUNTER 1777 XSK I 2 /MOVE ADDEND POINTER ADD L9BD4 /LOAD THE VALUE SCR I 1 /SIGN TO LINK BIT ROL I 1 XSK I 3 /BUMP COUNTER STA I /SAVE REMAINING PART L9BD4, 0 ADA 2 /TRIAL ADD APO I /STILL OK? LZE I /MAYBE: WAS IT POSITIVE? JMP .-10 /YES: COUNT ? ADD AGAIN LDA /NO: GET THE COUNTER 3 SRO I /LAST DIGIT? 3567 JMP 0 /NO: BACK TO SUBROUTINE BSE I /YES: MAKE ASCII 60 STH I 1 /STORE IT M9BD4, JMP 0 /AND RTN TO CALLING PGM /ADDEND TABLE N9BD4, 1750 144 12 1 /END BINDEC 4 /