今天我们分享两个关于计算器的开源软件,这两个开源软件都是用汇编语言编写,学习这两个软件有助于我们理解相关的指令和数据转换的方法。

rdebug的计算器

第一个开源软件来自rdebug的博客:https://en.rdebug.com/2012/07/29/calculator-in-assembly-nasm-window/。这个计算器软件完全使用汇编编写,运行在DOS下。运行效果如下:


计算器源码java 计算器源码用什么软件_开源软件

计算器源码java 计算器源码用什么软件_计算器源码java_02

计算器源码java 计算器源码用什么软件_开源软件_03

这个软件没有依赖第三方库,仅使用了DOS中断用于输入和输出。从这个例子,我们可以学到:


  • 如何将字符串转换为二进制数
  • 基本的输入和输出函数,如 GetCh,、PutCh、NewLine、WriteLine
  • 基本的基于文本的菜单系统
  • 如何处理128比特数据
  • 使用连加和连减代替MUL和DIV指令

软件是使用NASM软件编写的,采用Intel助记符,但是和我们课上介绍的MASM有一些小差别。完整的软件的源代码是保存在谷歌Docs上的,考虑到大多数人无法下载,我把代码上传到百度盘上了,链接是:

 https://pan.baidu.com/s/1DfbnzJ_Kalueb0WQD6Pz9Q 提取码: 6dcc 

flouthoc的calc.asm

第二个软件来自Github,地址是:https://github.com/flouthoc/calc.asm。这个软件也是使用NASM编写,基于Linux环境,参数是通过命令行传递的,使用了64位代码。程序中规中矩,非常便于阅读和理解。运行效果如下:


计算器源码java 计算器源码用什么软件_计算器源码java_04

很多汇编语言课程都喜欢把编写计算器作为大作业,所以在Github上还可以找到更多的代码,学习这些代码有助于同学们快速掌握基本的汇编语言技巧。