proc hex
	filen	hexcvt.icn
	local	0,001000,s
	local	1,000020,a
	local	2,000020,c
	local	3,000000,map
	local	4,000000,ior
	local	5,000000,find
	local	6,000000,ishift
	con	0,002000,1,0
	con	1,010000,16,060,061,062,063,064,065,066,067,070,071,141,142,143,144,145,146
	con	2,002000,1,1
	con	3,002000,1,4
	declend
	line	27
	colm	11
	mark	L1
	pnull
	var	1
	int	0
	line	29
	colm	6
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	2
	pnull
	var	3
	var	0
	line	30
	colm	19
	invoke	1
	line	30
	colm	15
	bang
	line	30
	colm	12
	asgn
	pop
	mark0
	pnull
	var	1
	mark	L5
	var	4
	pnull
	var	5
	var	2
	str	1
	line	31
	colm	23
	invoke	2
	int	2
	line	31
	colm	46
	minus
	var	6
	var	1
	int	3
	line	31
	colm	56
	invoke	2
	line	31
	colm	18
	invoke	2
	esusp
	goto	L6
lab L5
	line	31
	colm	65
	pfail
lab L6
	line	31
	colm	12
	asgn
	unmark
lab L3
	efail
lab L4
	unmark
lab L2
	mark	L7
	mark	L8
	var	1
	line	32
	colm	4
	pret
lab L8
	pfail
	unmark
lab L7
	pnull
	line	33
	colm	1
	pfail
	end
proc hexstring
	local	0,001000,i
	local	1,001000,n
	local	2,001000,lowercase
	local	3,000020,s
	local	4,000020,hexchars
	local	5,000020,sign
	local	6,000000,integer
	local	7,000000,runerr
	local	8,000000,iand
	local	9,000000,ishift
	local	10,000000,right
	con	0,002000,3,101
	con	1,010000,0
	con	2,002000,1,0
	con	3,010000,1,060
	con	4,010000,1,055
	con	5,010000,16,060,061,062,063,064,065,066,067,070,071,141,142,143,144,145,146
	con	6,010000,16,060,061,062,063,064,065,066,067,070,071,101,102,103,104,105,106
	con	7,002000,1,1
	con	8,002000,2,15
	con	9,002000,1,4
	con	10,002000,2,16
	declend
	line	35
	colm	11
	mark	L1
	pnull
	var	0
	mark	L2
	var	6
	var	0
	line	37
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	7
	int	0
	var	0
	line	37
	colm	28
	invoke	2
lab L3
	line	37
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	5
	str	1
	line	38
	colm	9
	asgn
	unmark
lab L4
	mark	L5
	mark	L6
	pnull
	var	0
	int	2
	line	39
	colm	9
	numeq
	unmark
	pnull
	var	3
	str	3
	line	39
	colm	20
	asgn
	goto	L7
lab L6
	mark	L8
	mark0
	pnull
	var	1
	line	41
	colm	10
	null
	pop
	pnull
	var	0
	int	2
	line	41
	colm	17
	numlt
	unmark
	mark	L9
	pnull
	var	5
	str	4
	line	42
	colm	15
	asgn
	unmark
lab L9
	pnull
	var	0
	pnull
	var	0
	line	43
	colm	15
	neg
	line	43
	colm	12
	asgn
	unmark
lab L8
	mark	L10
	pnull
	var	4
	mark	L11
	pnull
	var	2
	line	45
	colm	22
	nonnull
	unmark
	str	5
	goto	L12
lab L11
	str	6
lab L12
	line	45
	colm	16
	asgn
	unmark
lab L10
	mark	L13
	pnull
	var	3
	str	1
	line	46
	colm	9
	asgn
	unmark
lab L13
lab L14
	mark	L15
	pnull
	var	0
	mark	L18
	int	2
	esusp
	goto	L19
lab L18
	pnull
	int	7
	line	47
	colm	22
	neg
lab L19
	line	47
	colm	15
	numeq
	unmark
	efail
lab L15
	mark	L14
	mark	L20
	pnull
	var	3
	pnull
	pnull
	var	4
	pnull
	var	8
	var	0
	int	8
	line	48
	colm	28
	invoke	2
	int	7
	line	48
	colm	35
	plus
	line	48
	colm	23
	subsc
	var	3
	line	48
	colm	40
	cat
	line	48
	colm	12
	asgn
	unmark
lab L20
	pnull
	var	0
	var	9
	var	0
	pnull
	int	9
	line	49
	colm	24
	neg
	line	49
	colm	21
	invoke	2
	line	49
	colm	12
	asgn
lab L16
	unmark
	goto	L14
lab L17
lab L7
	unmark
lab L5
	mark	L21
	mark0
	pnull
	pnull
	var	1
	line	52
	colm	7
	nonnull
	pnull
	var	3
	line	52
	colm	12
	size
	line	52
	colm	10
	numgt
	unmark
	pnull
	var	3
	var	10
	var	3
	var	1
	mark	L22
	pnull
	var	0
	int	2
	line	52
	colm	40
	numge
	unmark
	str	3
	goto	L23
lab L22
	pnull
	var	4
	int	10
	line	52
	colm	67
	subsc
lab L23
	line	52
	colm	30
	invoke	3
	line	52
	colm	22
	asgn
	unmark
lab L21
	mark	L24
	mark	L25
	pnull
	var	5
	var	3
	line	53
	colm	16
	cat
	line	53
	colm	4
	pret
lab L25
	pfail
	unmark
lab L24
	pnull
	line	54
	colm	1
	pfail
	end
