如何在MASM中定义嵌套结构



我正试图在MASM中定义一个嵌套结构,但错误对我没有太大帮助,而且我找不到任何引用。

一个简单的例子如下:

.const
child   struct
value   byte   ?
child   ends
parent  struct
Id      byte   ?
Child   child  {}
parent  ends
.data
; ok
Parent1 parent {1}
; Error A2151: Missing operator in expression
; Error A2233: Invalid data initializer: Child
Parent2 parent {1, child {1}}

我需要在Parent2的定义中更正什么?

MASM 6.1程序员指南列出了定义结构或并集类型变量的语法变体:

[[name]] typename < [[initializer [[,initializer]]...]] >
[[name]] typename { [[initializer [[,initializer]]...]] }
[[name]] typename constant DUP ({ [[initializer [[,initializer]]...]] })

如果提供了初始值设定项,那么它们应该只是在类型中与类型声明中定义的字段相对应的值。

因此,要定义Id为1、Child.value为2的parent变量,可以编写:

Parent2 parent {1, {2}}

相关内容

  • 没有找到相关文章

最新更新