ZHCU875Z August 2001 – October 2023 SM320F28335-EP
初始化 32 位整数
.longvalue1[, ..., valuen]
.ulongvalue1[, ..., valuen]
.xlongvalue1[, ..., valuen]
.long、.ulong 和 .xlong 指令用于将一个或多个 32 位值放入当前段的连续字中。最高有效字最先存储。.long 指令在长字边界上对齐结果,而 .xlong 指令不会对齐。
值可以是绝对表达式或可重定位表达式。如果某个表达式可重定位,则汇编器会生成引用适当符号的重定位条目;然后链接器可以正确修补(重定位)引用。这样您就可以使用指向变量或标签的指针来初始化存储器。
如果在这些指令中使用标签,则它会指向已初始化的第一个字。
当您在 .struct/.endstruct 序列中使用 .long 时,.long 会定义成员的大小;但不会初始化存储器。请参阅 .struct/.endstruct/.tag 主题。
此示例展示了 .long 和 .xlong 指令如何初始化双字。
1 000000 ABCD DAT1: .long 0ABCDh, 'A' + 100h, 'g', 'o'
000001 0000
000002 0141
000003 0000
000004 0067
000005 0000
000006 006F
000007 0000
2 000008 0000' .xlong DAT1, 0AABBCCDDh
000009 0000
00000a CCDD
00000b AABB
3 00000c DAT2: