gdb : 反汇编代码中对 "test" 的调用是什么?

gdb : What is the call to "test" in the disassembled code?

在查看gdb中的反汇编代码时,有一行

 test   %r13,%r13

但是代码中没有任何对 "test" 的引用。

   0x00002b514569f56f <+95>:    cmpq   [=12=]x0,0x8(%rbx)
   0x00002b514569f574 <+100>:   mov    %rbx,-0x70(%rbp)
   0x00002b514569f578 <+104>:   movq   [=12=]x0,-0x68(%rbp)
   0x00002b514569f580 <+112>:   je     0x2b514569f58b <myTest+123>
   0x00002b514569f582 <+114>:   lea    -0x70(%rbp),%rdi
   0x00002b514569f586 <+118>:   callq  0x2b514591bf90 <_ZN25WeakPreserve>
   0x00002b514569f58b <+123>:   nop
   0x00002b514569f58c <+124>:   test   %r13,%r13
=> 0x00002b514569f58f <+127>:   mov    (%r15),%r14
   0x00002b514569f592 <+130>:   je     0x2b514569f700 <jni_SetObjectArrayElement+496>
   0x00002b514569f598 <+136>:   mov    0x0(%r13),%r13
   0x00002b514569f59c <+140>:   test   %r12d,%r12d
   0x00002b514569f59f <+143>:   js     0x2b514569f638 <

这个 "test" 与什么有关,因为它出现了几次,它总是表示同一件事吗?

test是汇编指令,就像你也看到的je,lea,callq,mov指令一样