发布自己的计算器

wangjue_liuquan 2009-12-11 12:49:19
加精
前些阵着在论坛上寻求大家帮忙完成8086汇编的大数相除,现在通过自己的努力及大家的支持已经完成。
下面我将自己的原码发出来更大家分享下,会有点长哦!
同时因为这里不能上传附件,我也在下载空间发布了这个资源,里面除了代码还有我写的59页代码说明。
----------------------------
这个学期学习微机原理,接触了8086汇编语言,发现它是那么的有趣,远比java,c好玩多了。
现在,小弟现在献上自己学习一个月的成果。
一个DOS界面的支持连续加、减、除、乘的混合计算器。它带两位定点小数及美化界面。完全由最基础的低级汇编编写。
附上小弟59页的对代码的详细注释说明及完整源代码。
希望大家喜欢。同时希望高手指点。
http://download.csdn.net/source/1890461
---------------------------
...全文
5758 242 打赏 收藏 转发到动态 举报
写回复
用AI写文章
242 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉利来 2011-11-22
  • 打赏
  • 举报
回复
牛人啊~小弟正在学汇编,老师讲课很有趣,对汇编充满兴趣了
wendyncu 2011-11-22
  • 打赏
  • 举报
回复
牛人哪
fatter001 2011-11-21
  • 打赏
  • 举报
回复
拿来试试
Ferdinandyuan 2011-11-18
  • 打赏
  • 举报
回复
楼主大神 等有了积分再下 哈哈
liu199329999 2011-11-18
  • 打赏
  • 举报
回复
看起来不错,学习一下。
liangbch 2011-11-17
  • 打赏
  • 举报
回复
楼主加油。

我正在写一个大数库,目标是追求极致的速度,性能一定要超过GMP,达到世界第一的水平。
此言非虚,从目前的情况来看,对于几万位10进制数字以内的数的四则运算,我有十足的把握超越GMP。
等程序完成时,会发布在CSDN下载栏目,供大家使用和测试。

此大数库的特点是
1.大量使用汇编语言,纯手写的汇编代码超过万行,程序生成的汇编代码则更多(不要和编译器混淆,这里指我自己写的程序,可生成汇编语言源文件)
2.高度优化,以性能为第一考虑要素,为了性能考虑,宁可编写更复杂的代码。
3.底层函数,同一功能的函数有多个版本(多个实现),包含完全的C语言版本,ALU版本,使用MMX指令的版本,使用SSE2指令版本,使用SSE4指令版本.
4.双进制设计,每一个函数具有Radix为2^30的版本和10^9的版本。
5.测试驱动开发,每个函数均有对应的测试函数,可及时发现问题,亦可作回归测试。
6.能够自动测试CPU的性能特点,使得对于每一款CPU,均能发挥其最大潜力。安装时,测试同一函数多个版本的性能,记录每个函数性能最优的版本,更新CPU配置文件。
程序启动时,加载CPU配置文件,更新底层函数的指针,内部函数配置文件对用户开房,用户可修改之。
7.源码部分开放,基本的计划,对用C语言编写的低性能的函数,公布源代码。
selfi_liaowen 2011-10-31
  • 打赏
  • 举报
回复
太强大了
a81031863a 2011-10-25
  • 打赏
  • 举报
回复
顶 好东西
jbx929205249 2011-10-24
  • 打赏
  • 举报
回复
太厉害了呢
oword 2011-10-21
  • 打赏
  • 举报
回复
回头看看
selfi_liaowen 2011-10-18
  • 打赏
  • 举报
回复
楼主给力
liangbch 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 99 楼 lanseshenhua 的回复:]
用汇编写这样的程序感觉很无语。
汇编没有想象中的那么难,主要就是麻烦。搞逆向汇编有用,少数优化时要用到,一般用不上。
[/Quote]

不错,汇编语言写程序是比较麻烦。程序员的时间是有限的,大家都想使用事半功倍的做法,所谓把好刚用刀刃上,除了学习之外,不建议使用大段的汇编代码写程序。

我也很喜欢汇编,现在我经常使用x86汇编和C语言混合编程,在VS编程环境下,使用c源文件嵌入汇编代码或者 完全的汇编源文件并用ml.exe来编译。
我用汇编的主要目的是优化程序,在程序的核心部分(需多次循环执行的部分), 使用汇编编程,采用下面的一些优化手段来使得程序的速度更快些
1.使用cmovcc或者其他办法消除分支
2.使用MMX,SSE2,SSE4指令,在一条指令中做更多的计算。
3.使用跳表技术,以实现一些特殊的类似switch..case语句的功能。
4.使用adc和其他指令或者其他指令来做64bit运算,以获得比__int64型变量更快的速度
5.使用一些特殊的指令,如使用bsr指令可迅速判断出一个数的大小范围。


houzhenghui123 2011-07-12
  • 打赏
  • 举报
回复
这个一定顶!LZ威武!
fox_liucx 2011-07-01
  • 打赏
  • 举报
回复
mark, 牛人啊
kinwook 2011-07-01
  • 打赏
  • 举报
回复
好有毅力!竟然用汇编去做这个,佩服!
kongling6036 2011-06-30
  • 打赏
  • 举报
回复
赞一个!学习楼主的钻研精神!
saishow 2011-06-30
  • 打赏
  • 举报
回复
顶贴.改明天也做个.
hahayezhe112 2011-06-27
  • 打赏
  • 举报
回复
有两个地方得改改!
- - 不知道是在什么环境下编的
我用RadASM打开注释是乱码。
还有当写入计算表达式没有给 '=' 号按了回车时,会当在那里无响应
tcxch 2011-06-25
  • 打赏
  • 举报
回复
刚看王老师的汇编语言看了三天,快一半了,LZ这个不是一般的牛啊——嫉妒中
zs244011613 2011-06-20
  • 打赏
  • 举报
回复
好厉害的,一个月啊??
加载更多回复(222)

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧