当我查看GCC生成的汇编代码时,有许多行开头.LBB
和一个数字.似乎它们不是操作指令.更像是标记文件的内容或什么.
是什么.LFB
,.LVL
,LBB
,LBE
等是在编译器生成的汇编代码?
.loc是否意味着"代码行".那些线条只是表明了symbol table
吗?
这是一段代码,
main:
.LFB1:
.loc 1 8 0
.cfi_startproc
.LVL2:
.LBB4:
.LBB5:
.loc 1 2 0
movsd b(%rip), %xmm0
.LBE5:
.LBE4:
.loc 1 10 0
xorl %eax, %eax
.LBB7:
.LBB6:
.loc 1 2 0
mulsd a(%rip), %xmm0
.LBE6:
.LBE7:
.loc 1 9 0
movsd %xmm0, a(%rip)
.LVL3:
.loc 1 10 0
ret
.cfi_endproc
Run Code Online (Sandbox Code Playgroud)