#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(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) ret ret F0002: push(0) push(0) push(3) push(1) load(SP) store(SP) L0005: push(3) load(SP) push(2) load(SP) push(1) sub lt brz( L0006 ) push(0) push(4) push(0) load(SP) push(3) load(SP) push(2) load(SP) push(3 ) push(1 ) call store(SP) push(5) push(4) load(SP) push(0) load(SP) add load(0) store(SP) push(4) load(SP) push(0) load(SP) add push(3) load(SP) push(0) load(SP) add load(0) store(0) push(3) load(SP) push(0) load(SP) add push(5) load(SP) store(0) push(3) push(3) load(SP) push(1) add store(SP) jump( L0005 ) L0006: end F0003: push(0) push(0) push(0) store(SP) L0007: push(0) load(SP) push(10) lt brz( L0008 ) push(0) load(SP) push(0) add push(0 ) push(-2 ) call store(0) push(0) push(0) load(SP) push(1) add store(SP) jump( L0007 ) L0008: push(0) push(0) push(10) push(3 ) push(2 ) call push(0) push(0) store(SP) L0009: push(0) load(SP) push(10) lt brz( L0010 ) push(0) load(SP) push(0) add load(0) push(1 ) push(-1 ) call push(0) push(0) load(SP) push(1) add store(SP) jump( L0009 ) L0010: end CALLSWITCH: jumptable entry( -2 , INPUT ) entry ( -1 , OUTPUT ) entry ( 0 , INIT ) entry ( 1 , F0001 ) entry ( 2 , F0002 ) MAIN: entry ( 3 , F0003 ) endtable INIT: push(0) push(0) push(0) push(0) push(0) push(0) push(0) push(0) push(0) push(0) start