Assembly GDB表达式

Assembly GDB表达式,assembly,gdb,Assembly,Gdb,每个0x400a8c、400d44、400faa、401262和401295都是函数的地址 我猜0x602500(,%rax,8)选择适当的函数由rax执行。但是我想确定一下我在Gnu文档中的猜测: 换言之: 您从rax派生一个指针(计算地址),标度=8 然后取该地址的偏移量0x602500 并将该值(地址+0x602500处的值)写入%rdx 比例值可以是1、2、4或8:字节、16位、32位或64位 0x00000000004013fb <+334>: mov 0

每个0x400a8c、400d44、400faa、401262和401295都是函数的地址
我猜
0x602500(,%rax,8)
选择适当的函数由rax执行。但是我想确定一下我在Gnu文档中的猜测:

换言之:

  • 您从rax派生一个指针(计算地址),标度=8

  • 然后取该地址的偏移量0x602500

  • 并将该值(地址+0x602500处的值)写入%rdx

  • 比例值可以是1、2、4或8:字节、16位、32位或64位

       0x00000000004013fb <+334>:   mov    0x602500(,%rax,8),%rdx
    
     0x00000000004012fb <+78>:  movq   $0x400a8c,0x2011fa(%rip)        # 0x602500 <func>
       0x0000000000401306 <+89>:    movq   $0x400d44,0x2011f7(%rip)        # 0x602508 <func+8>
       0x0000000000401311 <+100>:   movq   $0x400faa,0x2011f4(%rip)        # 0x602510 <func+16>
       0x000000000040131c <+111>:   movq   $0x401262,0x2011f1(%rip)        # 0x602518 <func+24>
       0x0000000000401327 <+122>:   movq   $0x401295,0x2011ee(%rip)        # 0x602520 <func+32>
    
    An Intel syntax indirect memory reference of the form
    
         section:[base + index*scale + disp]
    
    is translated into the AT&T syntax
    
         section:disp(base, index, scale)