浮点取整函数

发布者:电子艺术大师最新更新时间:2015-02-03 来源: laogu关键字:浮点取整函数  堆栈需求  取整运算 手机看文章 扫描二维码
随时随地手机看文章
标号: FINT 功能:浮点取整函数

入口条件:操作数在[R0]中。
出口信息:结果仍在[R0]中。
影响资源:PSW、A、R2、R3、R4、位1FH 堆栈需求: 6字节
FINT: LCALL MVR0 ;将[R0]传送到第一工作区中
LCALL INT ;在工作寄存器中完成取整运算
LJMP MOV0 ;将结果传回到[R0]中
INT: MOV A,R3
ORL A,R4
JNZ INTA
CLR 1FH ;尾数为零,阶码也清零,结束取整
MOV R2,#41H
RET
INTA: MOV A,R2
JZ INTB ;阶码为零否?
JB ACC.7,INTB;阶符为负否?
CLR C
SUBB A,#10H ;阶码小于16否?
JC INTD
RET ;阶码大于16,已经是整数
INTB: CLR A ;绝对值小于一,取整后正数为零,负数为负一
MOV R4,A
MOV C,1FH
RRC A
MOV R3,A
RL A
MOV R2,A
JNZ INTC
MOV R2,#41H
INTC: RET
INTD: CLR F0 ;舍尾标志初始化
INTE: CLR C
LCALL RR1 ;右规一次
ORL C,F0 ;记忆舍尾情况
MOV F0,C
CJNE R2,#10H,INTE;阶码达到16(尾数完全为整数)否?
JNB F0,INTF ;舍去部分为零否?
JNB 1FH,INTF;操作数为正数否?
INC R4 ;对于带小数的负数,向下取整
MOV A,R4
JNZ INTF
INC R3
INTF: LJMP RLN ;将结果规格化

关键字:浮点取整函数  堆栈需求  取整运算 引用地址:浮点取整函数

上一篇:浮点倒数函数
下一篇:用于MSP430单片机的温度测量实验设计

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved