ATT 语法。
我试图理解我们在课堂上讨论过的一个练习题。
我们得到了以下 switch 语句的部分汇编代码:
movl 8(%ebp), %eax
addl $2, %eax
cmpl $6, %eax
ja .L2
jmp *.L8(,%eax,4)
//rest of switch statement would go here
.L8
.long .L3
.long .L2
.long .L4
.long .L5
.long .L6
.long .L6
.long .L7
我知道第二部分是跳表。我想不通的是如何计算原始的 C 级 switch case 值。我怎样才能做到这一点?