随笔 - 107, 文章 - 0, 评论 - 1898, 阅读 - 31万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

《感觉一下汇编,感觉一下过去!》(2010/05/12)

Posted on   n216  阅读(3027)  评论(34编辑  收藏  举报

我在写程序员与EOM话题的时候,有个朋友对我说:“现在的年轻人,甚至工作十年的程序员对汇编语言一点概念都没有,有时间你可以举个例子,让我们看看什么是汇编语言。”

的确,在学校学习计算机少不了要学习汇编语言,不过大家仅仅是学学而已,很少认真正学习汇编语言,并用汇编语言去编制程序的。但是,汇编语言是程序语言中非常基础的东西,懂得汇编语言及其原理对自己的技术水平的提高是大有益处的。也许,很多人并不赞同这个观点,我还是那句话“懂吃懂的苦,不懂吃不懂的苦。”

不过,我们可以笑弄一下汇编语言,感觉一下汇编语言,作为一种好奇和放松吧。

操作步骤:

1、 点击屏幕左下角开始;见“所有程序”。

2、 点击“所有程序”;见“附件”。

3、 点击“附件”;见“命令提示符”。

4、 点击“命令提示符”;见命令提示符黑框。

5、 在〉之后,输入debug回车。见“-”。

6、 在“-”之后,输入 a100 回车;输入mov ax0回车;输入int 16回车;输入int 3回车。再输入回车。见如图:

 

 

 

7、 在“-”之后,输入g=100回车

8、 输入1,见如图:

 

 

   这段程序功能就是接受用户输入一个键。

    1)      mov ax,0 就是对寄存器AX0

    2)      int 16 就是调用中断16,就是接受用户的键入,接收后,用户的键的值放在AX寄存器之中。

大家看到AX=0231,其中31就是“1”的ASCII码。

   3)      int 3 就是中断结束。表示程序执行到此为止,不继续执行下去了。

  

9、 在“-”输入q回车;系统推出debug程序。汇编程序结束。

 

 通过这个小程序,大家可以看到操作系统底层是如何接受用户键盘输入的了。如今我们早已跳过了汇编的时代,但是再高级的程序最终也要成为汇编。我一直说我们“要知其然,也要知所以然”就是这个道理。这仅仅是我正式话题中的一个插曲和放松而已,不必当真。

 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示