# cc -nostdlib q.s
_start:	.globl _start
	sub	$8192+16+16,%rsp
	push	%rsp
	pop	%rdi
	cld
	push	$9
	pop	%rcx
	mov	$':',%al
	rep	stosb
	mov	$'1',%al
	stosb
	lea	-2(%rcx),%ebp
	mov	$1,%cl
	push	%rdi
main2:	mov	$0x2d0f,%bx
main1:	dec	%bl
	js	main2
	pop	%rsi
	push	%rcx
	jpo	nextm
	mov	$'F'+'i'*0x100+'z'*0x10000+'z'*0x1000000,%eax
	shr	%bh
	jnbe	skipf
stor:	stosl
skipf:	jb	skipn
	sub	$'F'+'i'*0x100-('B'+'u'*0x100),%ax
	jmp	stor
nextm:	sub	%rcx,%rsi
	rep	movsb
skipn:	mov	$0xa,%al
	stosb
	mov	%edi,%edx
	sub	%esi,%edx
	push	$1
	pop	%rax
	sub	%eax,%ebp
	je	flush
	jc	exit
	cmp	$0x20,%dh	# 8192=0x20*0x100
	jb	nofls
flush:	mov	%eax,%edi
	syscall
	push	%rsi
	pop	%rdi
nofls:	pop	%rcx
	push	%rsi
next1:	dec	%rsi
	incb	(%rsi)
	cmpb	$':',(%rsi)
	jb	main1
	subb	$10,(%rsi)
	jpe	next1
	inc	%ecx
	jmp	main1
exit:	xor	%edi,%edi
	mov	$60,%al
	syscall
