ZHCU947E June 2015 – January 2023
初始化文本
.string {expr1 | "string1"} [, ..., {exprn | "stringn"} ]
.cstring {expr1 | "string1"} [, ..., {exprn | "stringn"} ]
.string 和 .cstring 指令用于将一个字符串中的 8 位字符放入当前段中。expr 或 string 可以是:
.cstring 指令用于添加 C 所需的 NUL 字符;.string 指令不会添加 NUL 字符。此外,.cstring 会解释 C 转义符 (\\ \a \b \f \n \r \t \v \<octal>)。
汇编器会截断大于八位的所有值。操作数必须纳入单一源语句行中。
如果使用标签,它会指向已初始化的第一个字节的位置。
如果在 .struct/.endstruct 序列中使用 .string 和 .cstring,该指令仅定义成员的大小;但不会初始化存储器。如需更多信息,请参阅 .struct/.endstruct/.tag 主题。
在本例中,8 位值置于当前段的连续字节中。标签 Str_Ptr 的值为 0h,这是第一个已初始化字节的位置。
1 00000000 00000041 Str_Ptr: .string "ABCD"
00000001 00000042
00000002 00000043
00000003 00000044
2 00000004 00000041 .string 41h, 42h, 43h, 44h
00000005 00000042
00000006 00000043
00000007 00000044
3 00000008 00000041 .string "Austin", "Houston"
00000009 00000075
0000000a 00000073
0000000b 00000074
0000000c 00000069
0000000d 0000006E
0000000e 00000048
0000000f 0000006F
00000010 00000075
00000011 00000073
00000012 00000074
00000013 0000006F
00000014 0000006E
4 00000015 00000030 .string 36 + 12