首页 理论教育 STM系列单片机数据定义伪指令详解

STM系列单片机数据定义伪指令详解

时间:2023-11-23 理论教育 版权反馈
【摘要】:数据定义伪指令一般用于为特定的数据分配存储单元,同时可完成已分配存储单元的初始化。③DCD用于分配一片连续的字存储单元并用指定的数据初始化。⑧MAP用于定义一个结构化的内存表首地址。B FIELD 32;定义B的长度为32字节,位置为0x110。

STM系列单片机数据定义伪指令详解

数据定义伪指令一般用于为特定的数据分配存储单元,同时可完成已分配存储单元的初始化。常见的数据定义伪指令有如下几种:

①DCB用于分配一片连续的字节存储单元并用指定的数据初始化。

②DCW(DCWU)用于分配一片连续的半字存储单元并用指定的数据初始化。

③DCD(DCDU)用于分配一片连续的字存储单元并用指定的数据初始化。

④DCFD(DCFDU)用于为双精度的浮点数分配一片连续的字存储单元并用指定的数据初始化。

⑤DCFS(DCFSU)用于为单精度的浮点数分配一片连续的字存储单元并用指定的数据初始化。

⑥DCQ(DCQU)用于分配一片以8字节为单位的连续的存储单元并用指定的数据初始化。

⑦SPACE用于分配一片连续的存储单元。

⑧MAP用于定义一个结构化的内存表首地址

⑨FIELD用于定义一个结构化的内存表的数据域。

常用数据定义伪指令的使用示例:

①Str DCB“This is a test”;分配一片连续的字节存储单元并初始化。

②DataTest DCW 1,2,3;分配一片连续的半字存储单元并初始化。(www.xing528.com)

③DataTest DCD 4,5,6;分配一片连续的字存储单元并初始化。

④FDataTest DCFD 2E115,-5E7;分配一片连续的字存储单元并初始化为指定的双精度数。

⑤FDataTest DCFS 2E5,-5E-7;分配一片连续的字存储单元并初始化为指定的单精度数。

⑥DataTest DCQ 100;分配一片连续的存储单元并初始化为指定的值。

⑦DataSpace SPACE 100;分配连续100字节的存储单元并初始化为0。

⑧MAP 0x100,R0;定义结构化内存表首地址的值为0x100+R0。

⑨下面是MAP与FIELD的配合使用:

MAP 0x100;定义结构化内存表首地址的值为0x100。

A FIELD 16;定义A的长度为16字节,位置为0x100。

B FIELD 32;定义B的长度为32字节,位置为0x110。

S FIELD 256;定义S的长度为256字节,位置为0x130。

注意:MAP和FIELD伪指令仅用于定义数据结构,并不实际分配存储单元。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈