	ALWAYS	31JAN4	TRANSFER	<TRANSFER - ESTABLISH TRANSFER VALUE>
	.MCALL	DIR$,CALLR
;************************************************************************
;*									*
;*	MODULE: TRANSFER - ASSIGN A VALUE TO TRNSFR			*
;*									*
;*	AUTHOR: KEVIN ANGLEY						*
;*									*
;*	DATE:	27-JUL-82						*
;*									*
;*	INPUT PARAMETERS:						*
;*									*
;*		R0 POINTS TO THE COMMAND LINE IN PROCESS		*
;*									*
;*		ALTERNATIVELY, ENTRY TRANS CAN BE CALLED FOR A		*
;*		PROGRAM INITIATED TRANSFER SETUP WITH R1/R2 HAVING THE	*
;*		TRANSFER ADDRESS.					*
;*									*
;*	OUTPUT PARAMETERS:						*
;*									*
;*		FOR COMMAND INITIATED TRANSFER,				*
;*		R0 POINTS JUST BEYOND THE LAST CHAR OF THE TRANSFER	*
;*									*
;*	DESTROYS:	R1,R2,R3,R4					*
;*									*
;*	IF NO VALUE IS SPECIFIED, THE TRANSFER VALUE IS DISPLAYED.	*
;*									*
;*									*
;*	REVISED BY: CHRIS DORAN, SIRA LTD.				*
;*									*
;*	DATE: JAN-84							*
;*									*
;*	MODIFICATIONS:							*
;*		Put local CSIFLG into this module, for overlaid code.	*
;*		Comment out currently unused TRANS entry code. (May	*
;*		  need to revise the position of the QUIET test if	*
;*		  returning it).					*
;*									*
;************************************************************************

	.ENABL	LSB
TRANSFER::
;;	CLR	CSIFLG		; INDICATE COMMAND INITIATED SETUP
	TSTB	(R0)		; VALUE SPECIFIED?
	BEQ	10$		; NO - JUST OUTPUT THE VALUE
	CALL	GETHXL		; GET A HEX VALUE FROM COMMAND LINE
	BCS	250$		;  CS: ERROR
;;	BR	5$		; JOIN COMMON CODE
;;TRANS::
;;	SETNZ	CSIFLG		; INDICATE PROGRAM INITIATED
;;5$:
	MOV	R1,TRNSFR	; ESTABLISH NEW TRANSFER VALUE
	MOV	R2,TRNSFR+2
	TST	QUIET		; Echo suppressed?
	BEQ	250$		; Yes, don't confirm
10$:
	PUSH	R0		; SAVE COMMAND STRING POINTER
	MOV	TRNSFR,R1	; PREPARE FOR CONVERSION
	MOV	TRNSFR+2,R2
	MOV	#RDT+RDTLEN-8.,R0 ; PUT INTO MESSAGE
	CALL	PUTHXJ		; CONVERT TO HEX - PUT IN MESSAGE
	OUTPUT	RDT
	POP	R0		; RESTORE COMMAND STRING POINTER
;	BR	250$		; EXIT
250$:				; Success, TST will clear carry
;;	TST	CSIFLG		; COMMAND OR PROGRAM GENERATED?
;;	BNE	255$		;  NE: PROGRAM GENERATED - SKIP EXTRA
	CALLR	EXTRA		; PURGE COMMAND LINE OF SUPERFLUOUS JUNK
;;255$:
;;	RETURN			;   AND RETURN
	.DSABL	LSB

;;	.PSECT	DATA	D,RW
;;
;;CSIFLG:	.BLKW			; Entry flag. 0 = TRANSFER, <>0 = TRANS

	.END
