首页
社区
课程
招聘
[求助]何谓dereferenced?
发表于: 2008-11-23 09:12 7177

[求助]何谓dereferenced?

2008-11-23 09:12
7177
.data
ByteArray BYTE 10h, 20h, 30h, 40h, 50h, 60h, 70h, 80h
.code
    INVOKE Swap, ADDR [ByteArray + 0], ADDR [ByteAray + 1]

The program will assemble and run, but when ESI and EDI are deferenced, 32-bit values are exchanged.

在书上看到一段叙述
请问何谓"dereferenced"?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
dereference,直接译为“解引用”,是C/C++中用于指针类型的 * 操作符的一种译法,台湾译为“指针提领”。

你给的例子不完整,看不出来到底说的是什么,不过据我猜测,Swap函数的参数莫非是通过esi和edi传递的,而书中的dereference说的是当esi,edi寄存器被访问时??

属于猜测,可能说得不对。如果有个完整的代码,可能更容易理解。
2008-11-23 17:35
0
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
mov esi, pValX
mov edi, pValY
mov eax, [esi]
xchg eax, [edi]
mov [esi], eax
ret
2008-11-23 23:06
0
雪    币: 723
活跃值: (81)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
书呆彭说得没错。
dereference 一般是c/c++的术语

int a;
int *p = &a;
*p = 10;              // *p 是 dereference 的过程
------------------------------------------------
mov eax,


mov dword ptr [eax], 10

2008-11-23 23:23
0
游客
登录 | 注册 方可回帖
返回
//