- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机浮点运算子程序库
单片机浮点运算子程序库
一、目录
1: FSDT 功能:浮点数格式化 2: FADD 功能:浮点数加法 3: FSUB 功能:浮点数减法 4: FMUL 功能:浮点数乘法 5: FDIV 功能:浮点数除法 6: FCLR 功能:浮点数清零 7: FZER 功能:浮点数判零 8: FMOV 功能:浮点数传送?9: FPUS 功能:浮点数压栈?10: FPOP 功能:浮点数出栈 11: FCMP 功能:浮点数代数值比较不影响待比较操作数 12: FABS 功能:浮点绝对值函数 13: FSGN 功能:浮点符号函数 14: FINT 功能:浮点取整函数 15: FRCP 功能:浮点倒数函数 16: FSQU 功能:浮点数平方 17: FSQR 功能:浮点数开平方快速逼近算法?18: FPLN 功能:浮点数多项式计算 19: FLOG 功能:以10为底的浮点对数函数 20: FLN 功能:以e为底的浮点对数函数 21: FE10 功能:以10为底的浮点指数函数 22: FEXP 功能:以e为底的浮点指数函数 23: FE2 功能:以2为底的浮点指数函数 24: DTOF 功能:双字节十六进制定点数转换成格式化浮点数?25: FTOD 功能:格式化浮点数转换成双字节定点数?26: BTOF 功能:浮点BCD码转换成格式化浮点数 27: FTOB 功能:格式化浮点数转换成浮点BCD码 28: FCOS 功能:浮点余弦函数 29: FSIN 功能:浮点正弦函数 30: FATN 功能:浮点反正切函数?31: RTOD 功能:浮点弧度数转换成浮点度数?32: DTOR 功能:浮点度数转换成浮点弧度数?
为便于读者使用本程序库,先将有关约定说明如下:1.双字节定点操作数:用[R0]或[R1]来表示存放在由R0或R1指示的连续单元中的数据,地址小的单元存放高字节[R0]=1234H,若(R0)=30H,则(30H)=12H,(31H)=34H2.二进制浮点操作数:用三个字节表示,第一个字节的最高位为数符,其余七位为阶码(补码形式),第二字节为尾数的高字节,第三字节为尾数的低字节,尾数用双字节纯小数(原码)来表示1时,便称为规格化浮点数,简称操作数,也用[R0]或[R1]来表示R0或R1指示的浮点操作数,例如:当[R0]=-6.000时,则二进制浮点数表示为83C000H(R0)=30H,则(30H)=83H,(31H)=0C0H,(32H)=00H3.十进制浮点操作数:用三个字节表示,第一个字节的最高位为数符,其余七位为阶码(二进制补码形式),第二字节为尾数的高字节,第三字节为尾数的低字节,尾数用双字节BCD码纯小数(原码)来表示1时,阶码就等于整数部分的位数,如 876.5 的阶码是03H,-876.5 的阶码是 83H;当十进制数的绝对值小于1时,阶码就等于 80H 减去小数点后面零的个数,例如 0.00382 的阶码是 7EH,-0.00382的阶码是 0FEH,用[R0]或[R1]来表示R0或R1指示的十进制浮点操作数制浮点操作数存放在30H31H?32H中,数值是 -0.07315,即-0.7315乘以10的-1次方,则(30H)=0FFH,31H=73H,(32H)=15H[R0]来指向它,则应使(R0)=30H4.运算精度:单次定点运算精度为结果最低位的当量值;单次二进制浮点算术运算的精度优于十万分之三;单次二进制浮点超越函数运算的精度优于万分之一;BCD码浮点数本身的精度比较低(万分之一到千分之一),不宜作为运算的操作数,仅用于输入或输出时的数制转换,随着连续运算的次数增加,精度都会下降5.工作区:数据工作区固定在AB?R2~R7,数符或标志工作区固定在PSW和23H单元(位1CH~1FH),R2?R3?R4和位1FH为第一工作区,R5R6?R7和位1EH为第二工作区,程序就具有较好的透明性6.子程序调用范例:由于本程序库特别注意了各子程序接口的相容性,很容易采用积木方式(或流水线方式)完成一个公式的计算:计算 y = Ln √ | Sin (ab/c+d) |已知:a=-123.4;b=0.7577;c=56.34;d=1.276; 它们分别存放在30H33H?36H?39H开始的连续三个单元中BCD码浮点数表示时,分别为a=831234H;b=007577H;c=025634H;d=011276H求解过程:通过调用BTOF子程序,将各变量转换成二进制浮点操作数,再进行各种运算,最后调用FTOB子程序,还原成十进制形式,供输出使用:TEST: MOV R0,#39H ;指向BCD码浮点操作数dLCALL BTOF ;将其转换成二进制浮点操作数
您可能关注的文档
- 华东师范版-八年级数学上期末测试模拟题.doc
- 半钢纤维帘布压延机三指展边装置控制系统的研制.docx
- 华东政法大学在大学生党员中开展以深入学习实践.doc
- 华业代理-新区大盘开发案例.ppt
- 华中师范大学外语学院网络多媒体教学系统演示稿.ppt
- 华中师范大学新图书馆功能布局方案讨论.ppt
- 华东师范大学现代汉语题库.doc
- 华为NGN分组话音解决方案.doc
- 半自动制冷剂回收加注机.doc
- 华为交换机SNMP配置命令.doc
- 2024-2025学年安徽省亳州市涡阳县高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年江西省赣州市上犹县高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山西省卓越联盟高三下学期2月开学质量检测政治试题(解析版).docx
- 2024-2025学年新疆乌鲁木齐市高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年新疆维吾尔自治区乌鲁木齐地区高三2月大联考文科综合政治试题(解析版).docx
- 2024-2025学年安徽省蚌埠市固镇县高一上学期1月期末考试政治试题 (解析版).docx
- 2024-2025学年江苏省扬州市高三上学期期末检测政治试卷(解析版).docx
- 2024-2025学年江西省吉安市高三上学期期末教学质量检测政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二上学期1月期末考试政治试题(解析版).docx
最近下载
- 最新部编版道德与法治五年级下册全册一课一练及答案.pdf
- 第4课 画外之意——中国传统人物画 课件-2023-2024学年高中美术人教版(2019)美术鉴赏.pptx VIP
- 《中国老年骨质疏松症诊疗指南(2024)》解读.pptx VIP
- 大学英语六级词汇带音标.pdf VIP
- 美国儿科学会育儿百科-家庭教育.doc VIP
- SL 754-2017 城市防洪应急预案编制导则{高清的版}.pdf-2020-09-15-16-48-02-128.docx
- “节水”小知识竞答试题及答案.doc
- 玻璃及玻璃升降器布置.pdf VIP
- 高星级饭店运营与管理专业人才培养方案.pdf VIP
- 湖北省黄冈市黄梅县晋梅中学九年级(下)竞赛化学试卷(3月份).doc VIP
文档评论(0)