ZHCUAV7Z september 1995 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , C346BA02 , C348A01 , CS241C01-Q1 , CS241C05-Q1 , CS246C01-Q1 , CS348C02-Q1 , OMAP-L132 , OMAP-L137 , OMAP-L138 , S470AV336LYSQRB , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
初始化 16 位整数
.half value1[, ..., valuen ]
.short value1[, ..., valuen ]
.uhalf value1[, ..., valuen ]
.ushort value1[, ..., valuen]
.half 和 .short 指令将一个或多个值放入当前段的连续半字中。value 可以是以下任一项:
汇编器会截断大于 16 位的值。
如果在 .half 或 .short 中使用标签,则它指向汇编器放置第一个字节的位置。
这些指令在数据写入段之前执行半字(16 位)对齐。这可保证数据驻留在 16 位边界上。
当您在 .struct/.endstruct 序列中使用 .half 或 .short 指令时,它们会定义成员的大小,但不会初始化存储器。如需更多信息,请参阅 .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 000A .half 10, -1, "abc", 'a'
00001002 FFFF
00001004 0061
00001006 0062
00001008 0063
0000100a 0061
3 0000100c 0008 STRN .short 8, -3, "def", 'b'
0000100e FFFD
00001010 0064
00001012 0065
00001014 0066
00001016 0062