/* BEGIN GENERATED CODE */#include "cmm450.csci" /*Declarations Section*/ /*Function Declarations Section*/ /*array x */ F0001: /*function: minloc label: F0001 param cnt: 3 */ /* BEGIN LOCAL DECLARATIONS */ push(0) push(0) push(0) /* END LOCAL DECLARATIONS */ /* Begin Expression k */ /* name:k address:5 type:12 local:2 */ /* LHS Assign (Address) */ push(5) /* RHS Assign (Value) */ /* Begin Expression low */ /* name:low address:1 type:12 local:1 */ push(1) load(SP) /* End Expression */ store(SP) /* End Expression */ /* Begin Expression x */ /* name:x address:4 type:12 local:2 */ /* LHS Assign (Address) */ push(4) /* RHS Assign (Value) */ /* Begin Expression a */ /* name:a address:0 type:13 local:1 */ /* Begin Expression low */ /* name:low address:1 type:12 local:1 */ push(1) load(SP) /* End Expression */ push(0) load(SP) add load(0) /* End Expression */ store(SP) /* End Expression */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ /* LHS Assign (Address) */ push(3) /* RHS Assign (Value) */ /* Begin Expression low */ /* name:low address:1 type:12 local:1 */ push(1) load(SP) push(1) add /* End Expression */ store(SP) /* End Expression */ L0001: /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) /* name:high address:2 type:12 local:1 */ push(2) load(SP) lt /* End Expression */ brz( L0002 ) /* BEGIN LOCAL DECLARATIONS */ /* END LOCAL DECLARATIONS */ /* Begin Expression a */ /* name:a address:0 type:13 local:1 */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) /* End Expression */ push(0) load(SP) add load(0) /* name:x address:4 type:12 local:2 */ push(4) load(SP) lt /* End Expression */ brz( L0004 ) /* BEGIN LOCAL DECLARATIONS */ /* END LOCAL DECLARATIONS */ /* Begin Expression x */ /* name:x address:4 type:12 local:2 */ /* LHS Assign (Address) */ push(4) /* RHS Assign (Value) */ /* Begin Expression a */ /* name:a address:0 type:13 local:1 */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) /* End Expression */ push(0) load(SP) add load(0) /* End Expression */ store(SP) /* End Expression */ /* Begin Expression k */ /* name:k address:5 type:12 local:2 */ /* LHS Assign (Address) */ push(5) /* RHS Assign (Value) */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) /* End Expression */ store(SP) /* End Expression */ jump( L0003 ) L0004: L0003: /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ /* LHS Assign (Address) */ push(3) /* RHS Assign (Value) */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) push(1) add /* End Expression */ store(SP) /* End Expression */ jump( L0001 ) L0002: /* Begin Expression k */ /* name:k address:5 type:12 local:2 */ push(5) load(SP) /* End Expression */ ret /* automatic return */ ret F0002: /*function: sort label: F0002 param cnt: 3 */ /* BEGIN LOCAL DECLARATIONS */ push(0) push(0) /* END LOCAL DECLARATIONS */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ /* LHS Assign (Address) */ push(3) /* RHS Assign (Value) */ /* Begin Expression low */ /* name:low address:1 type:12 local:1 */ push(1) load(SP) /* End Expression */ store(SP) /* End Expression */ L0005: /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) /* name:high address:2 type:12 local:1 */ push(2) load(SP) push(1) sub lt /* End Expression */ brz( L0006 ) /* BEGIN LOCAL DECLARATIONS */ push(0) /* END LOCAL DECLARATIONS */ /* Begin Expression k */ /* name:k address:4 type:12 local:2 */ /* LHS Assign (Address) */ push(4) /* RHS Assign (Value) */ /* Begin Expression minloc */ /* Begin Expression a */ /* name:a address:0 type:13 local:1 */ push(0) /* indirect address of array */ load(SP) /* address address of array */ /* End Expression */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) /* End Expression */ /* Begin Expression high */ /* name:high address:2 type:12 local:1 */ push(2) load(SP) /* End Expression */ push(3 ) push(1 ) call /* End Expression */ store(SP) /* End Expression */ /* Begin Expression t */ /* name:t address:5 type:12 local:3 */ /* LHS Assign (Address) */ push(5) /* RHS Assign (Value) */ /* Begin Expression a */ /* name:a address:0 type:13 local:1 */ /* Begin Expression k */ /* name:k address:4 type:12 local:2 */ push(4) load(SP) /* End Expression */ push(0) load(SP) add load(0) /* End Expression */ store(SP) /* End Expression */ /* Begin Expression a */ /* name:a address:0 type:13 local:1 */ /* Begin Expression k */ /* name:k address:4 type:12 local:2 */ push(4) load(SP) /* End Expression */ push(0) load(SP) /* indirect address of array */ add /* Begin Expression a */ /* name:a address:0 type:13 local:1 */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) /* End Expression */ push(0) load(SP) add load(0) /* End Expression */ store(0) /* End Expression */ /* Begin Expression a */ /* name:a address:0 type:13 local:1 */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) /* End Expression */ push(0) load(SP) /* indirect address of array */ add /* Begin Expression t */ /* name:t address:5 type:12 local:3 */ push(5) load(SP) /* End Expression */ store(0) /* End Expression */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ /* LHS Assign (Address) */ push(3) /* RHS Assign (Value) */ /* Begin Expression i */ /* name:i address:3 type:12 local:2 */ push(3) load(SP) push(1) add /* End Expression */ store(SP) /* End Expression */ jump( L0005 ) L0006: /* automatic return */ end F0003: /*function: main label: F0003 param cnt: 0 */ /* BEGIN LOCAL DECLARATIONS */ push(0) /* END LOCAL DECLARATIONS */ /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ /* LHS Assign (Address) */ push(0) /* RHS Assign (Value) */ /* Begin Expression 0 */ push(0) /* End Expression */ store(SP) /* End Expression */ L0007: /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ push(0) load(SP) push(10) lt /* End Expression */ brz( L0008 ) /* BEGIN LOCAL DECLARATIONS */ /* END LOCAL DECLARATIONS */ /* Begin Expression x */ /* name:x address:0 type:13 local:0 */ /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ push(0) load(SP) /* End Expression */ push(0) add /* Begin Expression input */ push(0 ) push(-2 ) call /* End Expression */ store(0) /* End Expression */ /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ /* LHS Assign (Address) */ push(0) /* RHS Assign (Value) */ /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ push(0) load(SP) push(1) add /* End Expression */ store(SP) /* End Expression */ jump( L0007 ) L0008: /* Begin Expression sort */ /* Begin Expression x */ /* name:x address:0 type:13 local:0 */ push(0) /* address address of array */ /* End Expression */ /* Begin Expression 0 */ push(0) /* End Expression */ /* Begin Expression 10 */ push(10) /* End Expression */ push(3 ) push(2 ) call /* End Expression */ /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ /* LHS Assign (Address) */ push(0) /* RHS Assign (Value) */ /* Begin Expression 0 */ push(0) /* End Expression */ store(SP) /* End Expression */ L0009: /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ push(0) load(SP) push(10) lt /* End Expression */ brz( L0010 ) /* BEGIN LOCAL DECLARATIONS */ /* END LOCAL DECLARATIONS */ /* Begin Expression output */ /* Begin Expression x */ /* name:x address:0 type:13 local:0 */ /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ push(0) load(SP) /* End Expression */ push(0) add load(0) /* End Expression */ push(1 ) push(-1 ) call /* End Expression */ /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ /* LHS Assign (Address) */ push(0) /* RHS Assign (Value) */ /* Begin Expression i */ /* name:i address:0 type:12 local:2 */ push(0) load(SP) push(1) add /* End Expression */ store(SP) /* End Expression */ jump( L0009 ) L0010: /* automatic return */ end CALLSWITCH: jumptable entry( -2 , INPUT ) entry ( -1 , OUTPUT ) entry ( 0 , INIT ) entry ( 1 , F0001 )/* minloc */ entry ( 2 , F0002 )/* sort */ MAIN: entry ( 3 , F0003 )/* main */ endtable /*Var Declarations Section*/ INIT: push(0) push(0) push(0) push(0) push(0) push(0) push(0) push(0) push(0) push(0) start /* END OF GENERATED CODE */