博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2010-05-13 08:48  n216  阅读(3021)  评论(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程序。汇编程序结束。

 

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