ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【2015-01-03】《RealView编译工具汇编器指南》摘录:数据定义指令

【2015-01-03】《RealView编译工具汇编器指南》摘录:数据定义指令 [历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2015-01-03 标题《RealView编译工具汇编器指南》摘录数据定义指令分类编程 / 操作系统 / ARM 标签ARM《RealView编译工具汇编器指南》摘录数据定义指令备注7.3. 数据定义指令7.3.4. SPACE 或 FILL语法用法示例7.3.5. DCB语法用法示例EADWRITE data1 SPACE 255 ; defines 255 bytes of zeroed store data2 FILL 50,0xAB,1 ; defines 50 bytes containing 0xAB7.3.6. DCD 和 DCDU语法用法示例备注1 本部分文档摘录自ARM网站【 http://infocenter.arm.com/help/index.jsp?topic/com.arm.doc.dui0204ic/index.html 】,版权归属于ARM。2 作者只摘录了部分内容全面详细的内容清参考ARM网址。7.3. 数据定义指令7.3.4. SPACE 或 FILLSPACE 指令保留一个用零填充的内存块。 % 是 SPACE 的同义词。FILL 指令保留一个用指定值填充的内存块。语法{label} SPACE expr{label} FILL expr{,value{,valuesize}}其中label是一个可选的标签。expr取值为要填充的字节数或零请参阅数字表达式。value取值为要填充保留字节的值。value 是可选的如果省略则为 0。value 在 NOINIT 区中必须为 0。valuesize为 value 的大小字节。 它可以是 1、2 或 4。valuesize 是可选的如果省略则为 1。用法使用 ALIGN 指令可对齐 SPACE 或 FILL 指令后的任何代码。 有关详细信息请参阅ALIGN。另请参阅DCBDCD 和 DCDUDCDODCW 和 DCWU示例7.3.5. DCBDCB 指令可分配一个或多个字节的内存并定义内存的运行时初值。 是 DCB 的同义词。语法{label} DCB expr{,expr}…其中expr可以是一个数值表达式取值为 –128 到 255 之间的整数请参阅数字表达式。用引号括起来的字符串。 字符串的字符加载到内存的连续字节中。用法如果 DCB 后面有一个指令使用 ALIGN 指令可确保该指令是对齐的。 有关详细信息请参阅ALIGN。另请参阅DCD 和 DCDUDCQ 和 DCQUDCW 和 DCWUSPACE 或 FILL示例EADWRITE data1 SPACE 255 ; defines 255 bytes of zeroed store data2 FILL 50,0xAB,1 ; defines 50 bytes containing 0xAB与 C 语言字符串不同的是ARM 汇编器字符串不是空终止的。 可以使用 DCB按如下方式构造空终止的 C 字符串C_string DCB “C_string”,07.3.6. DCD 和 DCDUDCD 指令可分配一个或多个字的内存在四个字节的边界上对齐并定义内存的运行时初值。 是 DCD 的同义词。DCDU 与之相同不过内存对齐是任意的。语法{label} DCD{U} expr{,expr}其中expr可以是一个数值表达式请参阅数字表达式。一个程序相对的表达式。用法必要时DCD 可在定义的第一个字前最多插入三个填充字节以实现四字节对齐。如果不需要对齐则可使用 DCDU。另请参阅DCBDCIDCW 和 DCWUDCQ 和 DCQUSPACE 或 FILL示例data1 DCD 1,5,20 ; Defines 3 words containing ; decimal values 1, 5, and 20 data2 DCD mem06 4 ; Defines 1 word containing 4 ; the address of the label mem06 AREA MyData, DATA, READWRITE DCB 255 ; Now misaligned ... data3 DCDU 1,5,20 ; Defines 3 words containing ; 1, 5 and 20, not word aligned
返回列表