susue linux防火墙,在64位的SUSUE下,g++编译的代码中,进入函数前的一段汇编让人费解,请高手解释一下?...

这是一个函数的开始,在大括号以前的汇编

120     void endianReverse( long src, long & tgt)

0x0000000000401918 <_z13endianreverselrl>:    push   %rbp

0x0000000000401919 <_z13endianreverselrl>:    mov    %rsp,%rbp

0x000000000040191c <_z13endianreverselrl>:    sub    $0x20,%rsp

0x0000000000401920 <_z13endianreverselrl>:    callq  *0x103a2a(%rip)        # 0x505350 =========>这段代码做何用途,地址好像进入了代码中的数据段(见下面的进程maps)

0x0000000000401926 <_z13endianreverselrl>:   mov    %rdi,-0x18(%rbp)

0x000000000040192a <_z13endianreverselrl>:   mov    %rsi,-0x20(%rbp)

0x000000000040192e <_z13endianreverselrl>:   mov    0x103fab(%rip),%rax        # 0x5058e0 =========>当前及下面段段又是在做甚?

0x0000000000401935 <_z13endianreverselrl>:   add    $0x1,%rax

0x0000000000401939 <_z13endianreverselrl>:   mov    %rax,0x103fa0(%rip)        # 0x5058e0

121     {

。。。。。

下面是进程的maps

nassvr:/proc/28043 # cd ../6612

nassvr:/proc/6612 # more maps

00400000-00405000 r-xp 00000000 08:03 2315435                            /home/tangzw/test/main

00505000-00506000 rw-p 00005000 08:03 2315435                            /home/tangzw/test/main

00506000-0052c000 rw-p 00506000 00:00 0                                  [heap]

2aaaaaaab000-2aaaaaac6000 r-xp 00000000 08:03 16056                      /lib64/ld-2.4.so

2aaaaaac6000-2aaaaaac7000 r-xp 2aaaaaac6000 00:00 0

2aaaaaac7000-2aaaaaac9000 rw-p 2aaaaaac7000 00:00 0

2aaaaabc5000-2aaaaabc7000 rw-p 0001a000 08:03 16056                      /lib64/ld-2.4.so

2aaaaabc7000-2aaaaabc8000 r-xp 00000000 08:03 1617517                    /lib/test.so

2aaaaabc8000-2aaaaacc7000 ---p 00001000 08:03 1617517                    /lib/test.so

2aaaaacc7000-2aaaaacc8000 rw-p 00000000 08:03 1617517                    /lib/test.so

2aaaaace5000-2aaaaadc8000 r-xp 00000000 08:03 32635                      /usr/lib64/libstdc++.so.6.0.8

2aaaaadc8000-2aaaaaec8000 ---p 000e3000 08:03 32635                      /usr/lib64/libstdc++.so.6.0.8

2aaaaaec8000-2aaaaaece000 r--p 000e3000 08:03 32635                      /usr/lib64/libstdc++.so.6.0.8

2aaaaaece000-2aaaaaed1000 rw-p 000e9000 08:03 32635                      /usr/lib64/libstdc++.so.6.0.8

2aaaaaed1000-2aaaaaee3000 rw-p 2aaaaaed1000 00:00 0

2aaaaaee3000-2aaaaaf37000 r-xp 00000000 08:03 16071                      /lib64/libm-2.4.so

2aaaaaf37000-2aaaab036000 ---p 00054000 08:03 16071                      /lib64/libm-2.4.so

2aaaab036000-2aaaab038000 rw-p 00053000 08:03 16071                      /lib64/libm-2.4.so

2aaaab038000-2aaaab039000 rw-p 2aaaab038000 00:00 0

2aaaab039000-2aaaab046000 r-xp 00000000 08:03 30774                      /lib64/libgcc_s.so.1

2aaaab046000-2aaaab145000 ---p 0000d000 08:03 30774                      /lib64/libgcc_s.so.1

2aaaab145000-2aaaab146000 rw-p 0000c000 08:03 30774                      /lib64/libgcc_s.so.1

2aaaab146000-2aaaab27c000 r-xp 00000000 08:03 16063                      /lib64/libc-2.4.so

2aaaab27c000-2aaaab37c000 ---p 00136000 08:03 16063                      /lib64/libc-2.4.so

2aaaab37c000-2aaaab37f000 r--p 00136000 08:03 16063                      /lib64/libc-2.4.so

2aaaab37f000-2aaaab381000 rw-p 00139000 08:03 16063                      /lib64/libc-2.4.so

2aaaab381000-2aaaab388000 rw-p 2aaaab381000 00:00 0

7ffffffe9000-7ffffffff000 rw-p 7ffffffe9000 00:00 0                      [stack]

ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0                  [vdso]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值