PIC18扩展指令集:数据存储器和寻址模式
需积分: 45 19 浏览量
更新于2024-08-10
收藏 9.91MB PDF 举报
PIC18扩展指令集数据存储器和寻址模式
PIC18扩展指令集(XINST配置位=1)对数据存储器和寻址模式产生了显著的影响。使能扩展指令集后,许多核心PIC18指令使用快速操作存储区,引入了对数据存储空间的新的寻址模式。该模式还会改变使用FSR2及其相关操作数进行间接寻址的方式。
在扩展指令集下,数据存储空间的大小及其线性寻址模式都不会改变。SFR映射也保持不变。核心PIC18指令也仍然以直接和间接寻址模式进行操作。固有和立即数寻址指令操作照旧。FSR0和FSR1的间接寻址模式也保持不变。
使用立即数偏移量进行变址寻址是扩展指令集的一种特殊寻址模式。在适当的条件下,使用快速操作存储区的指令(即绝大多数针对位和针对字节的指令)可以利用指令中的偏移量来执行变址寻址。这种特殊的寻址模式被称为使用立即数偏移量的变址寻址或立即数变址寻址模式。
使用扩展指令集时,这种寻址模式有如下要求:
• 使用快速操作存储区(a=0)
• 文件地址参数要小于或等于5Fh
在这些条件下,指令的文件地址不会被解析为地址的低字节(在直接寻址中和BSR一起使用),或快速操作存储区中的8位地址,而是被解析为由FSR2指定的地址指针的偏移量。将该偏移量与FSR2的内容相加以获取操作的目标地址。
任何使用直接寻址模式的核心PIC18指令均会受到立即数变址寻址模式的潜在影响,包括所有针对字节和针对位的指令,即核心PIC18指令集中几乎一半的指令。只有使用固有寻址或立即数寻址模式的指令不受影响。
此外,如果针对字节和针对位的指令使用快速操作存储区(快速操作RAM位=1)或包含60h以上的文件地址,它们也不受影响。符合这些条件的指令会像以前一样执行。
在扩展指令集下,用户需要注意立即数变址寻址模式下汇编语法的改变。在第29.2.1节“扩展指令的语法”中对此进行了更详细的说明。
PIC18扩展指令集对数据存储器和寻址模式产生了显著的影响,用户需要了解这些变化以便更好地使用扩展指令集。
2017-09-30 上传
2017-09-29 上传
2017-10-30 上传
2012-12-25 上传
2012-10-10 上传
2018-04-27 上传
2023-07-28 上传
2018-04-27 上传
2021-09-29 上传
Yu-Demon321
- 粉丝: 23
- 资源: 3963
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建