CODE call main,0 exit PROCBEGIN main alloc 22 move 0, _2 move _2, _4 ; i move 0, _5 ceq _4, _5, _1 beq 1, _1, 0 ; Fall through to the else part move _2, _6 ; i move 1, _7 ceq _6, _7, _1 beq 1, _1, 1 ; Fall through to the else part move _2, _8 ; i move 2, _9 ceq _8, _9, _1 beq 1, _1, 2 ; Fall through to the else part print "None of the above\n" <<< You would simply print 99 goto 3 ; Jump over then part 2: ; Start of then part print "i=2\n" 3: ; End of if statement goto 4 ; Jump over then part 1: ; Start of then part print "i=1\n" 4: ; End of if statement goto 5 ; Jump over then part 0: ; Start of then part print "i=0\n" 5: ; End of if statement move 1, _2 move _2, _10 ; i move 0, _11 ceq _10, _11, _1 beq 1, _1, 6 ; Fall through to the else part move _2, _12 ; i move 1, _13 ceq _12, _13, _1 beq 1, _1, 7 ; Fall through to the else part move _2, _14 ; i move 2, _15 ceq _14, _15, _1 beq 1, _1, 8 ; Fall through to the else part print "None of the above\n" <<< You would simply print 99 goto 9 ; Jump over then part 8: ; Start of then part print "i=2\n" 9: ; End of if statement goto 10 ; Jump over then part 7: ; Start of then part print "i=1\n" 10: ; End of if statement goto 11 ; Jump over then part 6: ; Start of then part print "i=0\n" 11: ; End of if statement move 2, _2 move _2, _16 ; i move 0, _17 ceq _16, _17, _1 beq 1, _1, 12 ; Fall through to the else part move _2, _18 ; i move 1, _19 ceq _18, _19, _1 beq 1, _1, 13 ; Fall through to the else part move _2, _20 ; i move 2, _21 ceq _20, _21, _1 beq 1, _1, 14 ; Fall through to the else part print "None of the above\n" <<< You would simply print 99 goto 15 ; Jump over then part 14: ; Start of then part print "i=2\n" 15: ; End of if statement goto 16 ; Jump over then part 13: ; Start of then part print "i=1\n" 16: ; End of if statement goto 17 ; Jump over then part 12: ; Start of then part print "i=0\n" 17: ; End of if statement free 22 PROCEND