MPLAB XC16汇编器伪指令详解:填充程序存储器
需积分: 50 113 浏览量
更新于2024-08-09
收藏 2.8MB PDF 举报
"MPLAB® XC16汇编器、链接器和实用程序用户指南"
在微控制器编程中,特别是使用MPLAB® XC16编译器时,程序员经常需要处理程序存储器的填充问题以优化代码布局和对齐。本文档详细介绍了三种填充伪指令,用于在代码段中填充特定字节值,以满足内存对齐或数据定义的要求。这些伪指令分别是`.fillupper`、`.fillvalue`和`.pfillvalue`。
1. `.fillupper`伪指令:
此伪指令用于在代码段中填充高字节(bit 16-23)。当由于对齐或数据定义伪指令(如`.align`、`.ascii`等)导致需要跳过高位字节时,`.fillupper`定义了这些空位的填充值。如果不指定`value`,默认填充值为0x00。这个值在整个源代码文件中对特定代码段保持持久,可以通过再次使用`.fillupper`伪指令来改变填充值。
2. `.fillvalue`伪指令:
这个伪指令涉及填充低位字(bit 0-15)。当遇到如`.align`、`.fill`等指令需要跳过低位字时,`.fillvalue`定义了填充的字节值。同样,默认值是0x0000,可以随时通过再次调用`.fillvalue`来修改填充字节。
3. `.pfillvalue`伪指令:
`.pfillvalue`适用于填充程序字(bit 0-23)。在处理p伪指令(如`.palign`、`.pfill`等)时,如果需要填充存储器,此伪指令定义了填充的字节值。如果没有指定`value`,则默认值为0x000000。与前两者一样,`.pfillvalue`的值在源代码文件中也是持久的,并可通过再次使用该伪指令来更改。
这些伪指令的使用有助于确保代码在目标硬件上的高效执行,通过精确控制内存空间的占用和对齐,可以优化程序运行速度和内存利用率。同时,它们允许程序员在编译期间更灵活地管理内存布局,以适应不同的硬件限制和性能需求。
请注意,Microchip Technology Inc. 提供的文档和工具是英文原版,中文版本仅供参考。使用这些工具进行开发时,应以英文文档为准,以获取最准确的信息和最新的更新。同时,对于使用Microchip产品在生命维持和/或生命安全应用中的风险,购买者需自行承担,Microchip对此类应用不提供任何保证或责任。最后,所有知识产权都受保护,未经授权的许可转让是禁止的。
2012-03-31 上传
2021-10-06 上传
2013-03-06 上传
点击了解资源详情
6931 浏览量
2241 浏览量
2012-08-19 上传
点击了解资源详情
点击了解资源详情
MICDEL
- 粉丝: 36
- 资源: 3948
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析