你好我在使用NASM编译我的asm代码时遇到结构问题。
这是我的结构定义和声明:
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
.
.
.
这仅适用于结构的第一行声明,并且每行继续
答案 0 :(得分:0)
istruc
需要结构名称:
istruc wsa_data_struct
请参阅:http://www.nasm.us/doc/nasmdoc4.html#section-4.12.11
BTW:.size
需要类似resd 1
的类型。