ZHCU875Z August 2001 – October 2023 SM320F28335-EP
以下指令支持枚举的伪作用域:
ENUM_NAME | .enum |
MEMBER1 | .emember [value] |
MEMBER2 | .emember [value] |
... | |
.endenum |
.enum 指令用于开始枚举定义,而 .endenum 用于终止枚举定义。
枚举名称 (ENUM_NAME) 不能用于分配空间;它的大小报告为零。
若要使用成员的值,格式应为 ENUM_NAME.MEMBER,类似于使用结构成员。
.emember 指令用于选择性地接受成员设置的目标值,就像在 C/C++ 中一样。如果未指定,则该成员的值比前一个成员的值大 1。与在 C/C++ 中一样,成员名称不能重复,但值可以重复。除非用 .emember 指定,否则将对第一个枚举成员赋值 0(零),就像在 C/C++ 中一样。
.endenum 指令不能与标签一同使用,而结构体 .endstruct 指令可以,因为 .endenum 指令没有像 .endstruct 那样的值(包含结构体的大小)。
条件编译指令 (.if/.else/.elseif/.endif) 是 .enum/.endenum 序列中唯一允许的其他非枚举代码。