功能:浮点bcd码转换成格式化浮点数
入口条件:浮点bcd码操作数在[r0]中。
出口信息:转换成的格式化浮点数仍在[r0]中。
影响资源:psw、a、b、r2~r7、位1dh~1fh 堆栈需求:6字节
btof: inc r0 ;判断是否为零。
inc r0
mov a,@r0
mov r7,a
dec r0
mov a,@r0
mov r6,a
dec r0
orl a,r7
jnz btf0
mov @r0,#41h;为零,转换结束。
ret
btf0: mov a,@r0
mov c,acc.7
mov 1dh,c ;保存数符。
clr 1fh ;以绝对值进行转换。
mov c,acc.6 ;扩充阶码为八位。
mov acc.7,c
mov @r0,a
jnc btf1
add a,#19 ;是否小于1e-19?
jc btf2
mov @r0,#41h;小于1e-19时以0计。
inc r0
mov @r0,#0
inc r0
mov @r0,#0
dec r0
dec r0
ret
btf1: subb a,#19
jc btf2
mov a,#3fh ;大于1e19时封顶。
mov c,1dh
mov acc.7,c
mov @r0,a
inc r0
mov @r0,#0ffh
inc r0
mov @r0,#0ffh
dec r0
dec r0
ret
btf2: clr a ;准备将bcd码尾数转换成十六进制浮点数。
mov r4,a
mov r3,a
mov r2,#10h ;至少两个字节。
btf3: mov a,r7
add a,r7
da a
mov r7,a
mov a,r6
addc a,r6
da a
mov r6,a
mov a,r4
rlc a
mov r4,a
mov a,r3
rlc a
mov r3,a
dec r2
jnb acc.7,btf3;直到尾数规格化。
mov a,r6 ;四舍五入。
add a,#0b0h
clr a
addc a,r4
mov r4,a
clr a
addc a,r3
mov r3,a
jnc btf4
mov r3,#80h
inc r2
btf4: mov dptr,#btfl;准备查表得到十进制阶码对应的浮点数。
mov a,@r0
add a,#19 ;计算表格偏移量。
mov b,#3
mul ab
add a,dpl
mov dpl,a
jnc btf5
inc dph
btf5: clr a ;查表。
movc a,@a+dptr
mov c,acc.6
mov acc.7,c
mov r5,a
mov a,#1
movc a,@a+dptr
mov r6,a
mov a,#2
movc a,@a+dptr
mov r7,a
lcall mul1 ;将阶码对应的浮点数和尾数对应的浮点数相乘。
mov c,1dh ;取出数符。
mov 1fh,c
ljmp mov0 ;传送转换结果
pd2.0和pd3.0的区别
雪铁龙新C3-XR:低功率版降低价格才是正道
江苏移动为超过 34 万的 5G 终端客户提供 5G 网络服务
LED防水气密性测试案例
python调用HanLP
功能:浮点BCD码转换成格式化浮点数
西安交通大学人工智能与机器人研究所公开全球首个五维驾驶场景理解数据集
ios10.3最新消息:有多少人升级iOS10.3只是为了那多出来一两G内存的?
什么是CircleIndicator?CircleIndicator的源码实现
华为2018年财报:全球销售收入7212亿元人民币,同比增长了19.5%
小米6什么时候发布?价格开始发烧,小米最贵的手机4月19日即将发布
微软申请基于电子眼镜的血压计医疗技术专利
联想小新Air 14 2020参数,性能优于DDR4-2666
《涨知识啦19》之HEMT 的电流崩塌效应的讲解
写稿机器人抢编辑饭碗,未来还有编辑吗?
智能手机触控新风潮 嵌入式首度超越外挂
KUKA清洗机器人在汽车工业中的应用
拆解特斯拉Model3逆变器
小米11超大杯曝光:电池容量会超过4600毫安 80W无线快充加持
全球物联网发展形势相当于一所学校的教学成果