首页
社区
课程
招聘
[旧帖] 有关Intel汇编程序的结构的问题 0.00雪花
发表于: 2010-10-11 23:29 2981

[旧帖] 有关Intel汇编程序的结构的问题 0.00雪花

2010-10-11 23:29
2981
问题如下
代码如下:
.data
department Employee 5 DUP(<>)
.code
mov  esi ,TYPE Employee
mov department[esi].years,4
其中
     Employee 为60字节的结构体
问题 :esi=60字节数, department[60].years 相当于department 的第60个employee
单元 但是实际是department是5个Employee的数组 这是为什么 ?
我的修改是:

.data
department Employee 5 DUP(<>)
.codemov esi ,1
mov  department[1].years,4
能帮我解答为什么? 谢谢!

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
mov esi ,TYPE Employee
mov department[esi].years,4
其中
Employee 为60字节的结构体
问题 :esi=60字节数, department[60].years 相当于department 的第60个employee
///////////////////////////

不是 第 60 个,而是 department[60] 相当于 [department + 60],
不是数组下标,仅表示 相对 首地址 偏移 60 字节
2010-10-11 23:49
0
雪    币: 171
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=风萧兮;870542]mov esi ,TYPE Employee
mov department[esi].years,4
其中
Employee 为60字节的结构体
问题 :esi=60字节数, department[60].years 相当于department 的第60个employee
////////...[/QUOTE]

我明白这个意思 访问department为起始的第60个偏移地址
貌似还是和我的问题 没什么联系啊 !
2010-10-13 19:17
0
游客
登录 | 注册 方可回帖
返回
//