这是一个函数的开始,在大括号以前的汇编
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]