Compucolor.org – Virtual Media

Listing of file='HEXOUT.MAC;03' on disk='vmedia/asm_utility_3-sector.ccvf'

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;	CONVERT A BYTE TO ASCII EQUIVALENT FOR THE HEX
;
;	VALUES ON ENTRY:
;	   A  =  BYTE TO OUTPUT IN HEX
;	   HL => POINTER TO BUFFER FOR ASCII EQUIVALENT
;
;	RETURNS:
;	   HL INCREMENTED TO END OF BUFFER
;
;	DESTROYS:
;	   NOTHING
;

	ENTRY	HEXOUT

HEXOUT:	PUSH	PSW
	ANI	0F0H	;GET HIGH DIGIT FIRST
	RRC
	RRC
	RRC
	RRC
	ADI	'0'	;CONVERT TO ASCII
	CPI	'9'+1	;MAY BE A-F
	JC	HX10
	ADI	7	;ADJUST IF A-F
HX10:	MOV	M,A	;STORE THE DIGIT
	POP	PSW	;GET BACK THE BYTE
	PUSH	PSW
	ANI	0FH	;PICK OFF LOW DIGIT
	ADI	'0'
	CPI	'9'+1
	JC	HX20
	ADI	7
HX20:	INX	H
	MOV	M,A	;STORE LOW DIGIT TOO
	POP	PSW
	RET

	END