优化C语言应用:PIC18F66K80的扩展指令集详解

需积分: 45 127 下载量 199 浏览量 更新于2024-08-10 收藏 9.91MB PDF 举报
"《扩展指令集 - Windows Internals Part 2(6th) 无水印PDF》详细介绍了Microchip PIC18F66K80系列单片机的可选扩展指令集。该系列器件除了基础的75条标准指令外,提供了8条额外指令,旨在优化针对高级语言,尤其是C语言编写的可重入程序。这些扩展功能包括间接和变址寻址操作,使得标准指令支持立即数变址,从而提高代码效率。 扩展指令集默认启用,但用户需要在编程时通过XINST配置位来控制这些功能的启用或禁用。这些指令主要用于动态分配和释放软件堆栈空间、函数指针调用、软件堆栈指针操作以及对堆栈中变量的操作。例如,ADDFSR和SUBFSR指令可以与FSR2配合使用,实现自动返回。 在汇编时,扩展指令通常使用文件选择寄存器和偏移量作为变址参数,用方括号标识。而在启用扩展指令集时,字节和位级别的指令也会使用方括号表示变址参数。对于非C语言直接使用的程序员,这些指令主要用于理解编译器生成的优化代码。 表29-3列出了扩展指令的详细信息,包括助记符、操作数、周期数和影响的状态位。每个指令都有明确的说明,例如ADDULNK和SUBULNK允许在执行后自动返回到上一级。请注意,这些指令集是针对C语言优化设计的,对于汇编过程的直接使用者,可能需要参考编译器产生的机器代码。 在使用这些扩展指令时,用户需确保遵循Microchip Technology Inc.的产品使用规范,因为文档中可能存在英文部分提供的重要信息。Microchip对其产品性能和使用情况的陈述不做任何形式的担保,购买者需自行负责应用的技术合规性,并且在生命维持和生命安全应用中使用Microchip器件的风险自负。 学习和理解这个扩展指令集对于开发高效、可重入的C语言应用程序在Microchip PIC18F66K80平台上的编程至关重要,同时也需要注意版权和商标的规定,避免侵权行为。"