For the following switch function, create the equivalent assembly code (30 points) switch (i) { case 2: y = 5; break; case 20: y -= 3; break default: y--; break; }
A) MOV AX, 2; CMP AX, i; JE Label1; MOV AX, 20; CMP AX, i; JE Label2; DEC y; JMP Exit; Label1: MOV y, 5; JMP Exit; Label2: SUB y, 3; Exit:
B) CMP AX, 2; JZ Label1; CMP AX, 20; JZ Label2; DEC y; JMP Exit; Label1: MOV y, 5; JMP Exit; Label2: SUB y, 3; Exit:
C) MOV AX, 2; CMP i, AX; JE Label1; MOV AX, 20; CMP i, AX; JE Label2; DEC y; JMP Exit; Label1: MOV y, 5; JMP Exit; Label2: SUB y, 3; Exit:
D) CMP i, 2; JZ Label1; CMP i, 20; JZ Label2; DEC y; JMP Exit; Label1: MOV y, 5; JMP Exit; Label2: SUB y, 3; Exit: