松翰数学运算库:8/16/32位加减乘除程序模块
3星 · 超过75%的资源 需积分: 50 67 浏览量
更新于2024-09-10
收藏 14KB TXT 举报
"该资源是一个名为Math.lib的运算程序库,专为松翰(可能是指一家专注于微控制器或嵌入式系统的公司)设计,包含了针对8位、16位和32位数值的加法、减法、乘法和除法运算程序模块。此库的创建日期为2003年07月22日,由SamLin编写。程序库在不断地更新和优化,例如在2003年12月30日进行了版本1.1的修订,增加了新的功能。此外,还存在一个对24位数值进行除法的运算模块,在版本1.2中被引入,更新于2004年01月06日。使用这些运算程序模块会占用一定的ROM空间,具体为7个字节的ROM空间,并且某些操作如除法会有特定的指令周期和执行时间。"
详细说明:
松翰运算程序库提供了针对不同位宽数值的算术运算函数,旨在简化微控制器或嵌入式系统中的数学计算任务。以下是对各个运算模块的详细解释:
1. **加法模块**:
- `add16ar0,ar1`:这是一个16位加法器,将`ar0`和`ar1`中的16位数值相加,结果存储回`ar0`。
- `add16mmem0,mem1,mem2,mem3`:这个宏执行16位加法,将内存地址`mem0`和`mem1`表示的16位数值与`mem2`和`mem3`表示的16位数值相加,结果分别存储到`arg0H`和`arg0L`。
2. **减法模块**:
- `sub16ar0,ar1`:16位减法器,从`ar0`中减去`ar1`的值,结果保存回`ar0`。
- `sub16mmem0,mem1,mem2,mem3`:执行16位减法,将`mem0`和`mem1`表示的数值减去`mem2`和`mem3`表示的数值,结果存入`arg0H`和`arg0L`。
3. **乘法模块**:
- `mul16mmem0,mem1,mem2,mem3`:这是一个16位乘法器,计算`mem0`和`mem1`所代表的16位数值与`mem2`和`mem3`的乘积,结果分为两部分存储到`arg0H`, `arg0L`, `arg1H`, `arg1L`。
4. **除法模块**:
- `div16mmem0,mem1,mem2,mem3,mem4,mem5`:执行16位除法,`<mem0,mem1,mem2,mem3>`除以`<mem4,mem5>`,商存储到`arg2msb`, `arg2H`, `arg2M`, `arg2L`,余数存储到`arg0H`, `arg0L`。这个操作需要大约1100个指令周期。
- `div24mmem0,mem1,mem2,mem3,mem4,mem5,mem6`:这是24位除法的新功能,在版本1.2中加入,`<mem0,mem1,mem2,mem3>`除以`<mem4,mem5,mem6>`,商存入`arg2msb`, `arg2H`, `arg2M`, `arg2L`,余数存入`arg0msb`, `arg0H`, `arg0L`。
这些运算程序模块在嵌入式系统中特别有用,因为它们可以高效地处理各种位宽的算术运算,而无需开发人员从头编写底层代码。此外,随着版本的升级,该库不仅保持了功能的完善性,还提高了性能,如减少ROM空间占用和优化指令周期,以适应不同的计算需求。
2022-09-14 上传
2014-01-13 上传
2019-05-08 上传
2016-08-15 上传
xcj780427
- 粉丝: 1
- 资源: 7
最新资源
- 虾数据集VOC格式+yolo格式107张1类别.zip
- 彩绘花朵装饰婚礼邀请卡
- API的一个demo备份,预感日后一定会用到的好东西
- 行业资料-电子功用-光电连接器组件及其光纤连接模块的说明分析.rar
- Excel模板场地使用费核定表.zip
- 物联网行业实训仿真_v2.4.24.31.rar
- wfc-candy:wfc 发糖果
- 行业资料-电子功用-光电能量转换装置的说明分析.rar
- STM8_485_1_success.rar
- 图书馆管理系统(html+jsp+javabean代码)
- 可视化5678.zip
- java开发oa办公系统源码-zheng:zheng
- AttendanceApp:这个应用程式会追踪您的出勤情况,并协助维持所需的最低出勤率
- 虱子数据集VOC格式+yolo格式75张1类别.zip
- FlashAirFileManager:通过网络在FlashAir:trade_mark:上浏览和下载文件的应用程序
- Excel模板抄税反馈单.zip