1
我在這裏有一些彙編代碼(32位,Linux,NASM),在這裏我假設有一個調用到.rodata段的一部分的地址。我無法找到關於這個確實做了什麼的信息,或者我可能只是解釋了錯誤的代碼。對.rodata段中某個地址的CALL有什麼作用?
60000f7: mov edx, 0x2
60000fc: mov eax, 0x2
;[...] EAX and EDX are not changed
6000140: lea eax, [edx+eax*8]
6000143: call DWORD PTR [eax*4+0x6001000]
據我理解的代碼:它設置EAX寄存器到地址2 + 2*8 = 18
,然後調用地址18*4 + 0x6001000 = 0x6001048
,這是在.RODATA段和指向單個ASCII字符。
但是這條指令的效果是什麼?還是我錯了?