电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

浮点数保存代码

来源:华强电子网 作者:华仔 浏览:373

标签:

摘要: ;程序说明:浮点数变为压缩BCD码,保存在以数组中;;;;;;;;;;第1字节的位7:0正,1负.位6:0(位5--0代表小数点前的位数),1(位5--0代表小数点后0的位数);;;;;;;;;;2--4字节为压缩BCD码,有效位为7位,3个半字节,最后半个字节请使用者自行放弃;;;;;;;;;;程序占用资源PSW,A,B,DPTR,R0--R7,SP深度6,RAM;5个放数据;;;;;;;;;;

;程序说明:浮点数变为压缩BCD码,保存在以数组中
;;;;;;;;;;第1字节的位7:0正,1负.位6:0(位5--0代表小数点前的位数),1(位5--0代表小数
点后0的位数)
;;;;;;;;;;2--4字节为压缩BCD码,有效位为7位,3个半字节,最后半个字节请使用者自行放

;;;;;;;;;;程序占用资源PSW,A,B,DPTR,R0--R7,SP深度6,RAM;5个放数据
;;;;;;;;;;keil;兼容,调用KEIL;的FPMUL子程序。
;程序作者:*************陈远征**************
;目;;;;的:追求更快的执行速度,与最小的程序代码
;发布时间:2003--05--08
;编写背景:精通汇编,研究C51半个月。身感C51方便中的不便
;;;;;;;;;;研究了几种汇编及KEIL的浮点算法,特做此程序.
;声;;;;明:转载时请保留以上的信息

C程序:
extern;float;ftod(float;i);

unsigned;char;cyz[5];

main(){
;;;;;float;i=1234.567;
;;;;;ftod(i);
while(1);;
;;;;;;}

汇编程序:

PUBLIC;;;_FTOD;;;;;;;;;;;程序段
FTODP;;;;SEGMENT;CODE;;;;入口地址
RSEG;;;;;FTODP;;;;;;;;;;;程序段

EXTRN;;;;;CODE;;(?C?FPMUL)
EXTRN;;;;DATA;;(CYZ)
_FTOD:;;;;;;;;;;;;;;;参数传递在R4--R7中,浮点数IEEE标准seeeeeee;emmmmmmm;
mmmmmmmm;mmmmmmmm
FTOD:
;;;;;;;;;MOV;;;;;A,R4;;;;;;;;保存数符
;;;;;;;;;RLC;;;;;A;;;;;;;;;;;;;;;
;;;;;;;;;CLR;;;;;A;;;;;;;;;;;;;;
;;;;;;;;;RRC;;;;;A;;;;;;;;;;;;;;
;;;;;;;;;MOV;;;;;CYZ,A
;;;;;;;;;MOV;;;;;A,R4;;;;;;;;取绝对值
;;;;;;;;;CLR;;;;;ACC.7
;;;;;;;;;MOV;;;;;R4,A
;;;;;;;;;ORL;;;;;A,R5
;;;;;JNZ;;;;;FCMP_1E10
;;;;;;;;;MOV;;;;;CYZ,#0;;;;;;;数值为0
;;;;;;;;;MOV;;;;;CYZ+1,#0
;;;;;;;;;MOV;;;;;CYZ+2,#0
;;;;;;;;;MOV;;;;;CYZ+3,#0
;;;;;;;;;MOV;;;;;CYZ+4,#0
;;;;;RET
FCMP_1E10:;;
;;;;;;;;;MOV;;;;;DPTR,#YUANZHENG_DE10
;;;;;;;;;LCALL;;;FR0DPTR;;;;;;;;;;;;;;;;数值装入R0--R3
;&n
型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67