File MULTIPLY

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

[ M  GRALIA
[ JAN 29
[
[  JANC
[
[DRIVER
$0
JSR
 9A+1
TTL
[
[
[********* MULTIPLY
[
[MULTIPLY 12 BITS
[BY 12 BITS
[
[PROGRAM CONSTANTS
#9M [MULTIPLICAND [TOP] INITIALLY
#9N [MULTIPLIER [BOTTOM] INITIALLY
#9P 0 [PRODUCT: HIGH ORDER BITS
#9Q 0 [PRODUCT: LOW ORDER BITS
[
#9U [TS: PRODUCT SIGN
#9V 1 [NUMBER ONE
#9W 0 [NUMBER ZERO
#9X 14 [LOOP LIMIT
#9Y 0 [LOOP COUNTER
#9Z 4000 [COMPLEMENT SIGN BIT
[
#9A TRC
 0
LDA [CLEAR PRODUCT AREA
 9W
STO
 9P
STO
 9Q
STO [ASSUME POSITIVE PRODUCT
 9U
LDA [DETERMINE   PRODUCT SIGN
 9M
BZA [TERMINATE   EARLY
 9A
BRP
 9C
CAA [MAKE MULTIPLICAND POSITIVE
 9V
STO
 9M
LDA
 9N
BZA [TERMINATE   EARLY
 9A
BRP [SIGN NEGATIVE
 9D
CAA [MAKE MULTIPLIER POSITIVE
 9V
STO
 9N
TRC [SIGN POSITIVE
 9E
#9C LDA
 9N
BZA [TERMINATE EARLY
 9A
BRP [SIGN POS
 9E
CAA [MAKE MULTIPLIER POSITIVE
 9V
STO
 9N
#9D LDA [SET PRODUCT SIGN TO NEGATIVE
 9V
STO
 9U
[BEGIN MULTIPLICATION
#9E LDA
 9X
STO
 9Y
[SHIFT AND ADD LOOP
#9F LDA
 9N
ROR
STO
 9N
[ADD MULTIPLICAND ?
BRP
 9J
JSR [ROTATE RIGHT
 9K+1
LDA
 9P
ADD
 9M
STO
 9P
[UPDATE LOOP COUNTER
#9G CAD
 9Y
STO
 9Y
BNZ
 9F
[BEGIN EXIT
JSR
 9K+1
[FIX PRODUCT SIGN
LDA
 9U
BZA
 9A
[NEGATE PRODUCT
LDA
 9Q
CAA
 9V
STO
 9Q
BNV
 9H
LDA
 9P
CAA
 9V
STO
 9P
TRC [RETURN
 9A
#9H LDA
 9P
CAA
 9W
STO
 9P
TRC [RETURN
 9A
#9J JSR
 9K+1
TRC 
 9G
[******* ROTATE
[DOUBLE PRECISION ROTATE RIGHT
#9K TRC
 0
LDA [ROTATE LOW ORDER BITS
 9Q
ROR
BRP
 9R
ADD
 9Z
STO
 9Q
LDA [ROTATE HIGH ORDER BITS
 9P
ROR
BRN
 9S
ADD
 9Z
#9L STO
 9P
TRC
 9K
#9R STO
 9Q
LDA [ROTATE HIGH ORDER BITS
 9P
ROR
BRP
 9L
ADD
 9Z
#9S STO
 9P
LDA
 9Q
ADD
 9Z
STO
 9Q
TRC
 9K



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