#include "cmm450.csci"
F0001:

	push(0)
	push(0)
	push(0)
	push(5)
	push(1)
	load(SP)
	store(SP)
	push(4)
	push(1)
	load(SP)
	push(0)
	load(SP)
	add
	load(0)
	store(SP)
	push(3)
	push(1)
	load(SP)
	push(1)
	add
	store(SP)
L0001:

	push(3)
	load(SP)
	push(2)
	load(SP)
	lt
	brz( L0002 )
	push(3)
	load(SP)
	push(-1 )
	call( 1 )
	push(3)
	load(SP)
	push(0)
	load(SP)
	add
	load(0)
	push(4)
	load(SP)
	lt
	brz( L0004 )
	push(4)
	push(3)
	load(SP)
	push(0)
	load(SP)
	add
	load(0)
	store(SP)
	push(5)
	push(3)
	load(SP)
	store(SP)
	jump( L0003 )
L0004:

L0003:

	push(3)
	push(3)
	load(SP)
	push(1)
	add
	store(SP)
	jump( L0001 )
L0002:

	push(5)
	load(SP)
	push(-1 )
	call( 1 )
	push(5)
	load(SP)
	ret
	ret
F0002:

	push(0)
	push(0)
	push(0)
	store(SP)
L0005:

	push(0)
	load(SP)
	push(3)
	lt
	brz( L0006 )
	push(0)
	load(SP)
	push(0)
	add
	push(-2 )
	call( 0 )
	store(0)
	push(0)
	push(0)
	load(SP)
	push(1)
	add
	store(SP)
	jump( L0005 )
L0006:

	push(0)
	push(0)
	push(10)
	push(1 )
	call( 3 )
	push(0)
	add
	load(0)
	push(-1 )
	call( 1 )
	end
CALLSWITCH:
	jumptable
	entry( -2 , INPUT )
	entry ( -1 , OUTPUT )
	entry ( 0 , INIT )
	entry ( 1 , F0001 )
MAIN:
	entry ( 2 , F0002 )
	endtable
INIT:
	push(0)
	push(0)
	push(0)
	push(0)
	push(0)
	push(0)
	push(0)
	push(0)
	push(0)
	push(0)
	start
