首页
社区
课程
招聘
请问一些简单汇编知识:
发表于: 2004-12-18 12:16 4126

请问一些简单汇编知识:

2004-12-18 12:16
4126
mov dword ptr fs:[0],esp
mov eax,dword ptr fs:[0]
以上两个到底是什么意思?应该用  d   还是  dd   还是   ?
dword是双字节的,和单子节有什么区别?在数据区看到有什么区别?
还有里面的fs有什么用?代表什么意思?
还有ptr代表什么意思?
d   dd   ?    这三个到底有什么区别?

lea edi,dword ptr ds:[esi+410]
上面这句执行后,edi 里面装是esi+410的值?
比如说:esi 里面装的是用户名,那么esi+1就是用户名的第一个字符,那么:[esi+1]代表什么意思?是和esi+1结果一样吗?

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

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
2
从内存中取数的时候,因为数据都是连着的,CPU不知道该取几个字节,这时候就要用dword ptr,word ptr,byte ptr来指定是取双字,字还是字节.FS是一个段寄存器,在上面代码中FS:[0]必定指向顶端的SEH处理程序.
-----------------------------------------------------------
比如说:esi 里面装的是用户名,那么esi+1就是用户名的第一个字符,那么:[esi+1]代表什么意思?是和esi+1结果一样吗?
-----------------------------------------------------------
如果不加括号表示esi这个值,加括号表示这个值所指向的地址.

比如说ESI=401000,那么[ESI]表示内存中401000这个地方的内容.
如果是12 34 56 78,那么dword ptr [esi]=78563412
word ptr [esi]=3412
byte prt [esi]=12

Do you understand?;)
2004-12-18 13:58
0
雪    币: 260
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
还是ROBA解释清楚,YES,thank you !!!
今后还有很多汇编上的问题要向ROBA多多学习,希望你不要觉得我太烦,我读了你很多文章,都非常经典,我会一如既往的支持你的!
还有下面几个问题:
**************************
d   dd   ?   
这三个到底有什么区别?
***************************
lea edi,dword ptr ds:[esi+410]
这一句是不是把[ESI+410]作为地址传送给EDI 了?
那么EDI 里面装的是地址还是地址里面的内容?
***************************
是不是在trw2000里面看到的全部都是十六进制的?
如果不是,那什么时候看到的是十进制?
***************************
谢谢ROBA给解释一下。
2004-12-18 14:35
0
雪    币: 260
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
还有就是在哪里可以找到BuLLeT,Tornado,HarvestR,The Saint Man,Acid Brun等的翻译教材?THANK YOU .
2004-12-18 14:39
0
游客
登录 | 注册 方可回帖
返回
//