原创 N位压缩BCD加法(C51大端算法代码---乱战Bug测试版)

2007-3-14 18:12 4242 5 5 分类: MCU/ 嵌入式

/*------------------------------------------------------------------------
          N位压缩BCD加法(C51大端算法代码---乱战Bug测试版)---雁舞白沙出题
此题目的讨论见 http://bbs.21ic.com/club/bbs/ShowAnnounce.asp?id=2464366
菜地公告:引用本文必须注明出处!!!
HotPower@126.com    2007.3.14 16:22于西安大雁塔菜地  
------------------------------------------------------------------------*/
#include <REGX52.h>
#include "hotins.h"//选自HotPower的《Keil C51红杏出墙记》


/*----------------------------------------------------------------------------
CodeTest1:选择测试多种BCD加法
CodeTest2:选择测试16位BCD加法一种
CodeTest3:16位BCD加法bug测试
-----------------------------------------------------------------------------*/
#define CodeTest 3//3-bug测试


/*----------------------------------------------------------------------------
CodeMode=1:红杏出墙-代码长度130字节      DataAdd()绝对空间53个字节
                                         改天用纯汇编看看有多大的差距
           有空和邓苗同志挑战一下纯汇编的~~~
CodeMode=2:利用C51的标志-代码长度154字节 DataAdd()空间比CodeMode1多24个字节
CodeMode=3:正规战-代码长度180字节   DataAdd()空间比CodeMode1多50个字节
注意:不应该测试代码总长度,因为hotins.h要干“坏事”~~~所以应该比较绝对空间大小
-----------------------------------------------------------------------------*/
#define CodeMode 1//选择DataAdd()代码编程模式


/*----------------------------------------------------------------------------
在KeilC51中定义idata数据类型,可能会使代码简洁,因为Keil用了间接寻址.
当然这不利于代码的移植,不过在KeilC51的特定环境下还是很必要的~~~
注意:所长打PP~~~
-----------------------------------------------------------------------------*/
点击下载: BCDTEST.RAR(内含hotins.h头文件) rar


3种算法测试图:


点击看大图

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条