Windows套接字asm:上下文堆栈为空



你好,我有结构问题,同时编译我的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这样的类型

最新更新