program CaseExample {
section module {
}
section data {
int rax = 0
string str_0 = "Excellent!"
string str_1 = "Good job!"
string str_2 = "Average"
string str_3 = "Needs improvement"
string str_4 = "Invalid grade"
string str_5 = "Grade A"
string str_6 = "Grade B"
string str_7 = "Grade C"
string str_8 = "Grade F"
string fmt_str = "%s "
string newline = "\n"
int grade = 0
int score = 0
}
section code {
start:
mov grade, 66
cmp grade, 65
je CASE_0_1
cmp grade, 66
je CASE_1_2
cmp grade, 67
je CASE_2_3
cmp grade, 68
je CASE_3_4
cmp grade, 70
je CASE_3_4
jmp CASE_ELSE_5
CASE_0_1:
print fmt_str, str_0
print newline
jmp CASE_END_0
CASE_1_2:
print fmt_str, str_1
print newline
jmp CASE_END_0
CASE_2_3:
print fmt_str, str_2
print newline
jmp CASE_END_0
CASE_3_4:
print fmt_str, str_3
print newline
jmp CASE_END_0
CASE_ELSE_5:
print fmt_str, str_4
print newline
CASE_END_0:
mov score, 85
cmp score, 90
je CASE_0_7
cmp score, 91
je CASE_0_7
cmp score, 92
je CASE_0_7
cmp score, 93
je CASE_0_7
cmp score, 94
je CASE_0_7
cmp score, 95
je CASE_0_7
cmp score, 96
je CASE_0_7
cmp score, 97
je CASE_0_7
cmp score, 98
je CASE_0_7
cmp score, 99
je CASE_0_7
cmp score, 100
je CASE_0_7
cmp score, 80
je CASE_1_8
cmp score, 81
je CASE_1_8
cmp score, 82
je CASE_1_8
cmp score, 83
je CASE_1_8
cmp score, 84
je CASE_1_8
cmp score, 85
je CASE_1_8
cmp score, 86
je CASE_1_8
cmp score, 87
je CASE_1_8
cmp score, 88
je CASE_1_8
cmp score, 89
je CASE_1_8
cmp score, 70
je CASE_2_9
cmp score, 71
je CASE_2_9
cmp score, 72
je CASE_2_9
cmp score, 73
je CASE_2_9
cmp score, 74
je CASE_2_9
cmp score, 75
je CASE_2_9
cmp score, 76
je CASE_2_9
cmp score, 77
je CASE_2_9
cmp score, 78
je CASE_2_9
cmp score, 79
je CASE_2_9
jmp CASE_ELSE_10
CASE_0_7:
print fmt_str, str_5
print newline
jmp CASE_END_6
CASE_1_8:
print fmt_str, str_6
print newline
jmp CASE_END_6
CASE_2_9:
print fmt_str, str_7
print newline
jmp CASE_END_6
CASE_ELSE_10:
print fmt_str, str_8
print newline
CASE_END_6:
done
}
}