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