这是一段古董代码了,因为在1994年,当时我的一个老师也是做汇编项目,他跟我聊过的故事是,当时是他跟一个前辈一起去现场给客户看故障,调试,用的ARM汇编,当时前辈是赚了2w,他赚到了6k的样子。

在94年能够精通汇编,虽然不被大众认可,认为这个电脑还是比较飘幻,因为那时候还没有进入寻常百姓家,我接触电脑在初中,那时候也02-03年了,而且那时候要记指令,也没多少画面,印象不深。

记得学校有个校园网剧音频版,就是《让青春继续》,讲述的牵扯到了四小龙以及当时的包分配最终走向自营的过程,刚好也是这个时间段,主人公百脑也是系统子弟,叛逆的去学了编程,最终走出自己的传奇人生。

他们都是出生在这个时代,这个时代造就的人才,科技人才,能够接触到信息技术,那么很容易就能够出彩。像马化腾,张小龙,还有雷军,李彦宏,都是做过技术开发的,有了程序员思维,同时又在商业中寻求生存,试错的机会以及风口卷动,最终扶摇而出。

之前看到有朋友发雷军写的代码,因为现在都不直接用汇编去写代码,但是如果用汇编写过代码的话,其实对于硬件接触的多会对编码有更深的理解,具体就是能够将实现具体拆下去成颗粒状的指令,这个跟我们一般意义的C语言还是有区别的。

当写汇编的时候,会晓得一点,就是能够感知到指令周期,以及时钟运转的流程,指令是计算机中表征最小颗粒,再往下的微指令一般都不深究,到这里就足够将计算机系统搭建完成。

那么回过头来,我们看下雷军当时写的代码,因为是汇编语言,看了下大致就是MASM,于是我上网找出MASM32plus工具,但是编译的结果是报错,爆出很多不识别的指令。

这个也没细究,我之前用MASM的时候,也已经是有API的,就是汇编的API,已经不是纯粹汇编写法了,大致是这种写法了。

那么我再继续查找,这段代码跟我之前写的C51的写法差不多,我找了相关的一个编译工具,emu8086,这个工具是识别这段汇编的,但是有个报错是,重定义。这里主要就是代码中多处的@@2这类标签,在这个emu8086里面会认为这个是多重定义,但是按理说不应该,所以工具是没选对的。也就是emu8086会把标签认定成是全局的,但是实际上这个是函数内部的标签

那么我继续去找ASM的编译工具,找的关键字都是8086ASM,最终试了多个都是失败了,也是比较挫折的。今天又想着不能放弃,再找找看看有没有线索,于是便继续检索,找到了一本书,这本书给出了答案。

这本书的作者是雷军,对就是写这个的,求伯君和雷军,写出的金山软件。书名是《深入DOS编程》,因为这段代码就是DOS下的清理软件,而且时间点也是匹配的,所以这个书里面应该有答案的。(文末提供这本书的链接,以及对应的所有工具。)

我要找的是什么?就是编写代码,以及书里面怎么编译的。简单验证了下汇编写法一致,那么就剩下找到书里的编译工具,幸运的是,找到了,具体是:

TASM 3.0。引用下百度的介绍:

下一步便是找到工具,从csdn找到的开发包缺少tlink工具,于是又百度找了下,最终找全了。在win7 ,win10上面,运行不了这个工具了,因为缺少DOS环境了,那么我们就应该找到 XP 系统,这个里面是包含着DOS系统的,我们去看windows的PE结构,就知道里面前面的一部分是表征的DOS结构。

那么我们装一个虚拟机,我这里用的Vbox,我电脑装VM12装xp系统就会卡死,于是我用了Vbox安装了雨林木风的GHOST,最终把工具放到里面,运行成功。以下是运行的效果,编译过程。

具体是:tasm 汇编成obj,然后使用tlink进行链接,最终生成COM可执行程序。

最后分享个学习方法,在使用一个工具的时候,可以去看看它的官方文档,以及工具中的文件夹,幸运的是,TASM安装包有EXAMPLES,打开可以去看看一些实例,学习,编译。同时还能快速的确认出来,跟雷军的代码使用的伪指令,汇编代码差不多,也就是这个工具就对了。

当然这个工具真正要跑应用,是在DOS的实模式运行,我们的XP是模拟的DOS环境,所以也不是完全一致,这块如果要真正测验,需要一个DOS的模拟器,完全一致下,测试效果就出来了。

最后分享一张雷军还是码农的时候照片,有时候在想,是不是因为要时常辅导女同事,然后最终把自己的技术炼道成仙了呢?

所以,我们写不好代码,有可能是因为没有这么漂亮的女同事吧?不管咋,这个理由可以有。

~~ end not end ~~

代码和工具的获取方式 ,后台回复 雷军代码 。

-END-

整理文章为传播相关技术,版权归原作者所有 |

| 如有侵权,请联系删除 |

往期好文合集

如何才能学好单片机?

2020年11月全国程序员工资,新出炉!

10年老兵!从大学毕业生到嵌入式系统工程师的修炼之道……

最 后

若觉得文章不错,转发分享,也是我们继续更新的动力。

5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等

在公众号内回复「更多资源」,即可免费获取,期待你的关注~

雷军1994年写的诗一样的代码,我把它运行起来了!相关推荐

  1. 郁金香汇编代码注入怎么写看雪_雷军1994年写的诗一样的代码,我把它运行起来了!...

    这是一段古董代码了,因为在1994年,当时我的一个老师也是做汇编项目,他跟我聊过的故事是,当时是他跟一个前辈一起去现场给客户看故障,调试,用的ARM汇编,当时前辈是赚了2w,他赚到了6k的样子. 在9 ...

  2. python编写程序输出诗句_RPA交流——使用 python 写出诗一样的代码 (一)

    原标题:RPA交流--使用 python 写出诗一样的代码 (一) 下载RPA请访问:www.i-search.com.cn 学习RPA请访问:https://support.i-search.com ...

  3. 20条开发规范,写出诗一样的代码

    文章目录 简介 命名 1.命名的长度,多长合适 2.利用上下文简化命名 2.1 利用类class上下文简化命名 2.2 利用函数function上下文简化命名 3. 命名可读.可搜索 3.1 命名可读 ...

  4. 雷军1994年写的老代码曝光,被称像诗一样优雅

    雷军的代码像诗一样优雅 ↓↓↓ 有些网友在评论中质疑,说雷军代码不会是「屎」一样优雅吧.说这话的网友,也许是开玩笑的,也许是真没看过雷军写过的代码. 在2011年的时候,我们在微博转过雷军在1994年 ...

  5. 雷军 1994 年写的代码,像诗一样优雅,不服不行~

    点击上方 "程序员小乐"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 关注订阅号「程序员小乐」,收看更多精彩内容 每日英文 Everyone ha ...

  6. 雷军 1994 年写的代码,经典老古董~

    整理:程序员的那些事(id:iProgrammer) 雷军的代码像诗一样优雅 ↓↓↓ 有些网友在评论中质疑,说雷军代码不会是「屎」一样优雅吧.说这话的网友,也许是开玩笑的,也许是真没看过雷军写过的代码 ...

  7. 雷军 1994 年写的代码,经典老古董。

    整合整理:程序员的那些事(id:iProgrammer) 雷军的代码像诗一样优雅 ↓↓↓ 有些网友在评论中质疑,说雷军代码不会是「屎」一样优雅吧.说这话的网友,也许是开玩笑的,也许是真没看过雷军写过的 ...

  8. 雷军 1994 年写的代码

    (给程序员的那些事加星标) 整合整理:程序员的那些事(id:iProgrammer) 前些天,「程序员的那些事」在趣图栏目中分享了<趣图:雷军的代码像诗一样优雅>. 有些网友在评论中质疑, ...

  9. 雷军 1994 年写的代码,你见过吗?厉害了!

    来自:程序师 链接:https://www.techug.com/post/code-wroten-by-leijun-22-years-ago.html 作为小米科技的创始人.董事长和首席执行官,雷 ...

最新文章

  1. CFRunLoopRef 的内部逻辑(向 ibireme学习)
  2. 《软件需求模式》阅读笔记04
  3. ubuntu16.04 server unrar解压rar文件提示command not found和解压tar.bz2文件
  4. delphi 怎么获取工程版本号
  5. 数学建模之运筹学问题
  6. ----icon moon追加新字体图标----
  7. es6 --- 使用Symbol保护私有变量
  8. IDEA中Spring MVC实现图片上传并显示
  9. 今日恐慌与贪婪指数为74 等级转为贪婪
  10. windows批量ping脚本
  11. 计算机表格应用试题及答案,2016年职称计算机考试EXCEL练习试题及答案
  12. linux网络电视软件sopcast的安装
  13. conda 删除环境报错 CondaEnvironmentError: cannot remove current environment. deactivate and run conda remo
  14. 使用DHTMLX制作JavaScript树状图的全面指南
  15. 好的重疾险原来长这样!你被骗了这么多年...
  16. python dis模块
  17. 7-33 统计素数并求和 (20 分)
  18. 阿里云ECS学习笔记1
  19. JdbcTempalte添加修改删除查询批量操作
  20. 动圈耳机振膜_新手小白必读 1分钟看懂动圈式耳机振膜

热门文章

  1. CRM order lock will trigger product read API
  2. SAP UI5应用Opportunity S5 formatter issue
  3. SAP CRM 中间件对物料batch ID的处理
  4. Chrome开发者工具对Vue应用的支持
  5. How to find unit test class by code
  6. SAP S/4HANA销售订单创建时,会自动触发生产订单的创建 1
  7. 单步调试理解webpack里通过require加载nodejs原生模块实现原理
  8. python解释器的提示符是shell嘛_从PowerShell语法错误运行Python脚本
  9. catia中sew的用法_CATIA超级副本(PowerCopy)使用方法总结 | 坐倚北风
  10. gis环境设置在哪_三维GIS平台的可视化应用 (下)