CODE call main,0 exit PROCBEGIN main alloc 23 move 1, _3 move 3, _4 add _3, _4, _3 move 4, _5 mul _3, _5, _3 move _3, _2 move _2, _6 ; i move 16, _7 ceq _6, _7, _1 beq 1, _1, 0 ; Fall through to the else part print "first test failed i = " outp _2 print ".\n" goto 1 ; Jump over then part 0: ; Start of then part print "first test passed.\n" 1: ; End of if statement move 1, _8 move 3, _9 move 4, _10 mul _9, _10, _9 add _8, _9, _8 move _8, _2 move _2, _11 ; i move 13, _12 ceq _11, _12, _1 beq 1, _1, 2 ; Fall through to the else part print "second test failed i = " outp _2 print ".\n" goto 3 ; Jump over then part 2: ; Start of then part print "second test passed.\n" 3: ; End of if statement move 16, _13 move 2, _14 div _13, _14, _13 move 3, _15 add _13, _15, _13 move _13, _2 move _2, _16 ; i move 11, _17 ceq _16, _17, _1 beq 1, _1, 4 ; Fall through to the else part print "third test failed = " outp _2 print ".\n" goto 5 ; Jump over then part 4: ; Start of then part print "third test passed.\n" 5: ; End of if statement move 32769, _18 move 2, _19 mul _18, _19, _18 move 2, _20 sub _18, _20, _18 move _18, _2 move _2, _21 ; i move 65536, _22 ceq _21, _22, _1 beq 1, _1, 6 ; Fall through to the else part print "fourth test failed = " outp _2 print ".\n" goto 7 ; Jump over then part 6: ; Start of then part print "fourth test passed.\n" 7: ; End of if statement free 23 PROCEND