PIC18F66K80扩展指令集:优化C语言编程的工具
需积分: 44 199 浏览量
更新于2024-08-10
收藏 9.9MB PDF 举报
"这篇文档详细介绍了PIC18F66K80系列微控制器的扩展指令集,这些指令集主要用于优化高级语言,尤其是C语言编写的可重入程序代码,适用于递归和软件堆栈操作。扩展指令集包含了8条额外的指令,增加了间接和变址寻址操作,并支持立即数变址寻址。这些指令主要用于动态分配和释放子程序的软件堆栈空间,函数指针调用,以及对软件堆栈指针和变量的操作。文档指出,扩展指令集默认开启,用户需在编程时设置XINST配置位来启用或禁用。"
扩展指令集为PIC18F66K80系列微控制器提供了更丰富的操作能力,包括8条新的指令,如ADDFSR、SUBFSR、ADDULNK、SUBULNK、CALLW、MOVSF、MOVSS和PUSHL。这些指令使用文件选择寄存器和偏移量进行操作,其中ADDFSR和SUBFSR有特例形式,用于在执行后自动返回。CALLW利用WREG调用子程序,而MOVSF和MOVSS用于移动数据。PUSHL则将立即数保存到FSR2,同时递减FSR2。SUBFSR和SUBULNK则分别从FSR和FSR2中减去立即数,SUBULNK执行后会返回。
扩展指令集的语法规定,当使用变址参数时,需要使用方括号包围,这在启用扩展指令集时对字节和位操作同样适用。MPASM汇编器会检查参数是否正确括起。虽然扩展指令集主要是为C语言优化,但汇编程序员也可能需要了解这些指令的语法,特别是查看编译器生成的代码时。
在编程器件时,用户必须注意XINST配置位的设置,以确定是否启用扩展指令集。如果不需要这些额外功能,可以将其关闭。扩展指令集和立即数变址寻址模式的设计目的是提高C语言编写应用程序的效率,尤其是涉及到递归和软件堆栈管理的代码。
值得注意的是,Microchip Technology Inc.提供的文档强调,中文版本仅供参考,关键信息仍需参考英文原版。此外,Microchip对其产品性能和应用信息不做任何明示或暗示的保证,并且不承担因使用这些信息产生的任何责任。对于生命维持和生命安全应用,使用者需自行承担风险,并保护Microchip免受任何法律责任。所有Microchip的商标和服务标记都在文档中有所提及。
2024-03-02 上传
2012-04-16 上传
2020-12-16 上传
点击了解资源详情
2022-12-09 上传
2020-09-04 上传
2022-05-15 上传
2022-11-14 上传
点击了解资源详情
小白便当
- 粉丝: 35
- 资源: 3905
最新资源
- 深入浅出:自定义 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色块闪烁现象解析