	.TITLE QUADMATH
;
;	SUBROUTINE SUBQUAD.MAR
;
;	FORTRAN CALLABLE ROUTINE TO SUBTRACT TWO QUAD WORD INTEGERS
;
;	CALL SUBQUAD (A,B,C)
;
;	RETURNS: A - B -> C
;
	.ENTRY	SUBQUAD ^M<R2>
;
;
A = 4
B = 8
C = 12
	MOVQ	@A(AP),R0	;GET FIRST PARAM FOR SUBTRACT
				;NEED TO USE REGISTERS BECAUSE
				;SUBWC IS ONLY 2 ADDRESS INSTR.
	MOVAQ	@B(AP),R2	;GET ADDRESS OF SECOND PARAM.
	SUBL	(R2)+,R0	;SUBTRACT FIRST HALF OF ARGUMENTS
	SBWC	(R2),R1		;THEN DO THE SECOND HALF
	MOVQ	R0,@C(AP)	;STORE THE RESULT
	RET
;
;
;
	.ENTRY	EDIV	^M<R2>
;
;	CALL EDIV (A,B,C)
;	RETURNS  A/B -> C
;
	MOVQ	@A(AP),R0	;GET FIRST ARGUMENT
	MOVAL	@B(AP),R2	;GET LONGWORD DIVISOR ADDRESS
	EDIV	(R2),R0,R0,R1	;DO THE DIVISION
	MOVL	R0,@C(AP)	;STORE INTEGER QUOTIENT,IGNORE REM.
	RET
	.END
