ZHCU947E June 2015 – January 2023
初始化 16 位整数
.half value1[, ...,valuen ]
.short value1[, ...,valuen ]
.uhalf value1[, ...,valuen ]
.ushort value1[, ...,valuen ]
.half、.uhalf、.short 和 .ushort 指令将一个或多个值放入当前段的连续半字中。每个值都单独放置在一个 2 字节的存储器位置。值 可以是以下任一项:
汇编器会截断大于 16 位的值。
如果在 .half、.short、.uhalf 或 .ushort 中使用标签,则它指向汇编器放置第一个字节的位置。
这些指令在数据写入段之前执行半字(16 位)对齐。这可保证数据驻留在 16 位边界上。
当您在 .struct/.endstruct 序列中使用 .half、.short、.uhalf 或 .ushort 指令时,它们会定义成员的大小,但不会初始化存储器。如需更多信息,请参阅 .struct/.endstruct/.tag 主题。
在此示例中,.half 用于将 16 位值(10、-1、abc 和 a)放入存储器的连续半字中;.short 用于将 16 位值(8、-3、def 和 b)放入存储器的连续半字中。标签 STRN 的值为 100ch,这是 .short 的第一个已初始化半字的位置。
1 00000000 .space 100h * 16
2 00001000 0000000A .half 10, -1, "abc", 'a'
00001002 0000FFFF
00001004 00000061
00001006 00000062
00001008 00000063
0000100a 00000061
3 0000100c 00000008 STRN .short 8, -3, "def", 'b'
0000100e 0000FFFD
00001010 00000064
00001012 00000065
00001014 00000066
00001016 00000062