你好,我有结构问题,同时编译我的asm代码与NASM。
这是我的结构定义和声明:
struc wsa_data_struct
.wVersion resw 1
.wHighVersion resw 1
.szDescription resb WSADESCRIPTION_LEN
.szSystemStatus resb WSASYS_STATUS_LEN
.iMaxSckets resw 1
.ImaxUdpDg resw 1
.lpVendorInfo resb 1
.size
endstruc
wsa_dat:
istruc
at wsa_data_struct.wVersion, dw 0
at wsa_data_struct.wHighVersion, dw 0
at wsa_data_struct.szDescription, db 0
at wsa_data_struct.szSystemStatus, db 0
at wsa_data_struct.iMaxSckets, dw 0
at wsa_data_struct.ImaxUdpDg, dw 0
at wsa_data_struct.lpVendorInfo, db 0
iend
和当我尝试编译我的代码这个错误弹出:
error: (at:1) `%$strucname': context stack is empty
error: (at:1) `%$strucstart': context stack is empty
error: (at:1) `%$strucname': context stack is empty
error: (at:1) `%$strucstart': context stack is empty
error: (at:1) `%$strucname': context stack is empty
error: (at:1) `%$strucstart': context stack is empty
.
.
.
这只是结构声明的第一行然后每行都是
istruc
需要结构的名称:
istruc wsa_data_struct
见:http://www.nasm.us/doc/nasmdoc4.html section-4.12.11
BTW: .size
需要resd 1
这样的类型