# gcc -nostdlib -nostdinc -Wl,--oformat,binary,-Ttext,0x100 a.s
	.code16
lp:	call	rd
	mov	$4, %cl
	shl	%cl, %al
	push	%ax
	call	rd
	pop	%bx
	or	%bl, %al
	push	%ax
	mov	%sp, %dx
	mov	$1, %cx
	mov	%cx, %bx
	mov	$0x40, %ah
	int	$0x21
	pop	%ax
	jnc	lp
err:	mov	$'E'+'R'*256, %ax
	push	%ax
	mov	%sp, %dx
	mov	$2, %cx
	mov	%cx, %bx
	mov	$0x40, %ah
	int	$0x21
	mov	$0x4c01, %ax
	int	$0x21
rd:	mov	$0xff, %dx
	mov	$1, %cx
	xor	%bx, %bx
	mov	$0x3f, %ah
	int	$0x21
	jc	err
	mov	0xff, %al
	cmp	$'.', %al
	je	ed
	sub	$'a', %al
	jb	rd
	cmp	$16, %al
	jnb	rd
	ret
ed:	mov	$0x4c00, %ax
	int	$0x21
