MULT:;	UNSIGNED SIXTEEN BIT INTEGER MULTIPLY.
;	ON ENTRANCE: MULTIPLIER IN DE.
;		     MULTIPLICAND IN HL.
;
;	ON EXIT: RESULT IN HL.
;
;	REGISTER USES:
;
;
;	H	HIGH ORDER PARTIAL RESULT
;	L	LOW ORDER PARTIAL RESULT
;	D	HIGH ORDER MULTIPLICAND
;	E	LOW ORDER MULTIPLICAND
;	B	COUNTER FOR NUMBER OF SHIFTS
;	C	HIGH ORDER BITS OF MULTIPLIER
;	A	LOW ORDER BITS OF MULTIPLIER
;
	LD	B,16;		NUMBER OF BITS- INITIALIZE
	LD	C,D;		MOVE MULTIPLIER
	LD	A,E;
	LD	X,Y		;SHOULD GET 'U' ERROR
	LOAD	A,B		;SHOULD GET 'O' ERROR
	CP	'A'		;TEST 'X' FORMAT
	EX	DE,HL;		MOVE MULTIPLICAND
	LD	HL,0;		CLEAR PARTIAL RESULT
	EJECT			;TEST EJECT PROCESSING
MLOOP:	SRL	C;		SHIFT MULTIPLIER RIGHT
	RRA;			LEAST SIGNIFICANT BIT IS IN CARRY
	JR	NC,NOADD-$;	IF NO CARRY SKIP THE ADD
	ADD	HL,DE;		ELSE ADD MULTIPLICAND TO PARTIAL RESULT
NOADD:	EX	DE,HL;		SHIFT MULTIPLICAND LEFT
	ADD	HL,HL;		BY MULTIPLYING IT BY TWO
	EX	DE,HL;
	DJNZ	MLOOP-$;	REPEAT UNTIL NO MORE BITS
	RET;
	END;
