标题:求助啊.MASM关于结构体
只看楼主
nosaybye
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-7-11
结帖率:60%
已结贴  问题点数:18 回复次数:6 
求助啊.MASM关于结构体
DoubleWord      struc
lsw     dw      ?
msw     dw      ?
DoubleWord      ends

SectorBase      dd      ?         ; next sector to read

mov     SectorBase.lsw, 0       ; read sector zero.
mov     SectorBase.msw, 0

当我编译的时候会报错,我该怎么办?
搜索更多相关主题的帖子: 结构体 sector next 
2012-09-12 16:28
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
SectorBase      dd      ?         ; next sector to read

貌似应该是

SectorBase     DoubleWord     <?>

关于这个的语法好好去看书罢
2012-09-12 16:49
nosaybye
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-7-11
得分:0 
假如要是使用结构体的指针呢?
DoubleWord      struc
lsw     dw      ?
msw     dw      ?
DoubleWord      ends

SectorBase      DoubleWord     <?>         ;
pSectorBase     dd    ?

mov ebx,pSectorBase
mov eax,[ebx].DoubleWord ;//这样对么?
2012-09-13 09:18
nosaybye
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-7-11
得分:0 
//通过结构体的方式使用偏移
.386
PARM STRUC
BPREG DW ?
READR DW ?
PARM ENDS

CSEG SEGMENT
START:
      mov eax,[ebx].BPREG //我的目的是使用偏移
CSEG ENDS

end START

//直接使用结构体
.386
PARM STRUC
BPREG DW ?
READR DW ?
PARM ENDS

DSEG SEGMENT
APARM PARM <?>
DSEG ENDS
CSEG SEGMENT

START:
      mov ebx,APARM.BPREG


CSEG ENDS

end START

//间接使用结构体
.386
PARM STRUC
BPREG DW ?
READR DW ?
PARM ENDS

DSEG SEGMENT
APARM PARM <?>
DSEG ENDS
CSEG SEGMENT

START:
      mov ebx,offset APARM
      mov eax,[ebx].BPREG

CSEG ENDS

end START

怎么都不对啊,
2012-09-13 10:14
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
以下是引用nosaybye在2012-9-13 09:18:50的发言:

假如要是使用结构体的指针呢?
DoubleWord      struc
lsw     dw      ?
msw     dw      ?
DoubleWord      ends

SectorBase      DoubleWord              ;
pSectorBase     dd    ?

mov ebx,pSectorBase
mov eax,[ebx].DoubleWord ;//这样对么?

用lea指令就可以了
2012-09-13 10:17
nosaybye
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-7-11
得分:0 
回复 5楼 zklhp
lea eax,SectorBase
mov pSectorBase,eax
mov ebx,pSectorBase
谢谢啊
2012-09-13 10:21
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:18 
以下是引用nosaybye在2012-9-13 10:21:12的发言:

lea eax,SectorBase
mov pSectorBase,eax
mov ebx,pSectorBase
谢谢啊

觉得好记得结题
2012-09-13 10:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-381255-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.314629 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved