	.data
buffer:	.space	200
format:	.asciiz "%d%% of all %ss say %d (%u) %c %x!\n"
str:	.asciiz "American"
chrs:	.asciiz " characters:\n"

	.text

__start:addi	$sp, $sp, -36
	la	$8, buffer
	sw	$8, 0($sp)
	la	$8, format
	sw	$8, 4($sp)
	addi	$8, $0, 87
	sw	$8, 8($sp)
	la	$8, str
	sw	$8, 12($sp)
	addi	$8, $0, -5002
	sw	$8, 16($sp)
	sw	$8, 20($sp)	# same arg twice
	addi	$8, $0, 60
	sw	$8, 24($sp)
	addi	$8, $0, 3840
	sw	$8, 28($sp)
	jal	sprintf
	add	$4, $2, $0
	jal	putint
	puts	chrs
	puts	buffer
	addi	$sp, $sp, 36
	done

putint:	addi	$sp, $sp, -8
	sw	$31, 0($sp)
	rem	$8, $4, 10
	addi	$8, $8, '0'
	div	$4, $4, 10
	beqz	$4, onedig
	sw	$8, 4($sp)
	jal	putint
	lw	$8, 4($sp)
onedig:	putc	$8
	lw	$31, 0($sp)
	addi	$sp, $sp, 8
	jr	$31

