从如下形式的C语言代码开始:
long test(long x, long y, long z) { long val =1; if 2 { if 3 val =4; else va1=5; } else if 6 val =7; return val; } GCC产生如下的汇编代码: long test (long x, long y, long z) x in %rdi, y in %rsi, z in %rdx test: leaq (%rdi,%rsi), %rax addq %rdx,%rax cmpq $-3, %rdi jge .L2 cmpq %rdx, %rsi jge .L3 movq %rdi, %rax imulq %rsi, %rax ret .L3: movq %rsi, %rax imulq %rdx, %rax ret .L2: cmpq $2,%rdi jle .L4 movq %rdi, %rax imulq %rdx, %rax .L4: rep; ret
填写C代码中缺失的表达式