# gcc -nostdlib -nostdinc -Wl,--oformat,binary,-Ttext,0x100 a.s
# test undocumented RET instructions of 0xc0, 0xc1, 0xc8 and 0xc9
	.code16
	mov	$1, %ah
	int	$0x21
	and	$0xf, %al
	add	%al, inst
	jmp	.+2
	mov	%sp, %bx
	pushf
	pushf
	mov	%cs, %cx
	dec	%cx
	mov	$1f, %ax
	push	%cx
	push	%ax
inst:	.byte	0xc0, 0x04, 0x00
	nop
	nop
	nop
	call	pr
	.string	"Not RET"
	int	$0x20
	nop			# 1 byte
	call	pr		# 3 bytes
	.string	"RETF"		# 5 bytes
	inc	%cx		# 1 byte
	push	%cx		# 1 byte
	mov	$1f, %ax	# 3 bytes
	push	%ax		# 1 byte
	lret			# 1 byte
1:	mov	%bx, %dx
	sub	%sp, %dx
	add	$'0', %dl
	mov	$2, %ah
	int	$0x21
	call	pr
	.string	"SP"
	int	$0x20
pr:	pop	%si
	cld
	cs
	lodsb
	push	%si
	cmp	$0, %al
	je	1f
	mov	%al, %dl
	mov	$2, %ah
	int	$0x21
	jmp	pr
1:	ret
