PIC单片机开发:第八章双字节运算与16x16定点数乘法
121 浏览量
更新于2024-06-28
收藏 118KB DOC 举报
本资源文档主要介绍了在PIC单片机应用开发中的一些典型模块,包括第八章的程序设计部分。主要内容分为两个部分:双字节的加法和减法操作,以及16x16位定点数的乘法算法。
1. **双字节算术运算子程序**:
- **双字节减法子程序 (D_subCALLNEG_A)**:该子程序用于执行两个16位数的减法操作,其中输入为ACCB和ACCA。程序首先计算ACCA的补码,然后进行低字节的相加,判断是否有进位,如果有则累加ACCB的高字节。最后返回结果到ACCB。
- **双字节加法子程序 (D_add)**:此子程序用于执行两个16位数的加法,先将ACCB和ACCA的低字节相加,检查是否有进位,若有则累加ACCB的高字节。结果存储在ACCB中。
2. **ACCA取补子程序 (NEG_A)**:这个子程序用于求ACCA的补码,即取反并加1,如果ACCA的低8位有进位,则ACCA的高8位需减1后再次取反。
3. **16x16位定点数乘法程序**:
- **乘法运算过程**:该部分实现了一个完整的16x16位乘法算法,涉及多个临时寄存器(ACCDLOEQU28至ACCDHIEQU29, TEMPEQU2A, SIGNEQU2B)。首先通过CALLS_SIGN子程序求取乘积的符号,然后设置好初始条件,如清空乘积寄存器ACCC,初始化循环标志,进行逐位的乘法运算,包括右移操作(RRF)和进位判断(MLOOPBCFSTATUS,C)。
- **子程序调用**:在乘法运算开始时,会调用SETUP子程序,将ACCB的值传输到ACCD,以便后续的乘法步骤。
这些子程序展示了在PIC单片机开发中对复杂算术运算的处理,对于理解和实现高效的数字逻辑处理具有重要意义。通过掌握这些算法,开发人员可以构建更复杂的系统,例如数据处理、控制系统或者嵌入式应用中的数值计算任务。
2021-12-25 上传
2022-11-24 上传
2021-12-26 上传
点击了解资源详情
2024-07-18 上传
2021-11-26 上传
yyyyyyhhh222
- 粉丝: 448
- 资源: 6万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜