	.TITLE	ATM2N		
; JEFFREY KODOSKY	ARL	NOV75
;
; UTILITY:	CONVERT ATOM TO NUMBER
; ENTRY:	1 ARG		<N>
; EXIT:		1 ARG (SP)	INTEGER (1 WD) OR FP NUMBER
;		C BIT IS SET IF FLOATING POINT ARG
; ERRORS:	I2, IMPROPER ARGUMENT FOR NUMERIC FUNCTION
; CALLS:	NONE
; R2,R3 PRESERVED
	.GLOBL	ATM2N,QI2ERR
ATM2N:	MOV	(R5)+,R0;GET ARG
	MOV	@R0,R1
	BIT	#2,R1	;IS IT NUMERIC?
	BNE	ATM2N1	;JUMP IF SO
	TST	-(R5)	;NO: TRAP TO I2 ERROR HANDLER
	QI2ERR		;WITH BAD ARG ON STACK
ATM2N1:	BIT	#177774,R1	;OTHERWISE CHECK FOR INTEGER
	BEQ	ATM2N2	;JUMP IF INTEGER
	MOV	@R1,-(SP)	;PUSH MANTISSA
	SEC		;SET FP FLAG
	MOV	2(R0),-(SP)	;PUSH EXPONENT AND RETURN
	JMP	@-(R4)
ATM2N2:	TST	(R0)+	;POINT TO INTEGER AND CLEAR C BIT
	MOV	@R0,-(SP)	;PUSH INTEGER AND RETURN
	JMP	@-(R4)
	.END
