一C源程序文件中包含如下函数: char test(char point ) { switch(point ) { case 'A': return ...; case 'B': return ...; case 'C': return ...; ...更多跳转分支... } } 在IA-32+Linux+GCC平台上,假设GCC使用跳转表在机器级表示与实现该switch语句控制结构,进一步对相应可执行程序使用objdump进行反汇编,得到test函数的机器级指令序列如下(指令左侧为指令所在起始地址): 8049152 <test>: 8049152: push %ebp 8049153: mov %esp,%ebp 8049155: sub $0x4,%esp 8049158: mov 0x8(%ebp),%eax 804915b: mov %al,-0x4(%ebp) 804915e: movsbl -0x4(%ebp),%eax 8049162: sub $0x41,%eax 8049165: cmp $0x5,%eax 8049168: ja 804919d 804916a: mov 0x804a008(,%eax,4),%eax 8049171: jmp *%eax 8049173: mov $0x64,%eax 8049178: jmp 80491a2 804917a: mov $0x5a,%eax 804917f: jmp 80491a2 8049181: mov $0x50,%eax 8049186: jmp 80491a2 ...更多机器指令... 80491a2: leave 80491a3: ret 已知字符'A'的ASCII编码是0x41。该switch语句对应的跳转表中最少应包含多少个表项?()
A.4
B.5
C.6
D.7