回 帖 发 新 帖 刷新版面

主题:汇编语言它是计算机语言中最难的一门,是不是落后了?

汇编语言它是计算机语言中最难的一门,是不是落后了?
自从出了高级语言C++等等
汇编语言就落后了。我想现在学汇编语言的朋友们,你们是不是太浪费时间去学汇编语言呢?
不过学也有点用的,C++等的编译都要用到汇编语言的,我们人是看不懂计算机语言的!要汇编编译成CPU指令就OK了!

回复列表 (共9个回复)

沙发

要想清楚计算机是如何计算的,就需要懂汇编语言,还是 了解得好,不要求太深入

板凳

[quote]我们人是看不懂计算机语言的![/quote]
搞笑啊,计算机语言还不是人类设计出来的!
你要想真懂计算机在干什么,要想弄懂计算机背叛人类的代码是如何执行的,就必需靠汇编.因为汇编是人类看懂机器代码本质的唯一通道.

3 楼

汇编 是更真实的语言!

4 楼

没有什么落后的语言,只是应用方面不同而已。

5 楼

高级语言,汇编语言,各有各的用途,只是适用范围不同而已。
好比说,步行比飞机慢多了,你就可以说,步行落后了吗?

汇编至少在以下方面,高级语言难以替代。
 1。编写很小的程序(使执行文件很小)
 2.编写很快的的程序,如某些数值计算方面,核心代码仍需汇编优化,你download 一个GMP,看看里面有多少汇编代码。
 3。编写对内存,硬件进行特殊访问的程序,如病毒,操作系统的启动代码。
 4。在嵌入式编程中,CPU不是很快,计算密集型的程序使用了大量的汇编代码。
 
当然,如果你是做MIS或者企业级开发的,你这辈子可能也用不到汇编语言。





6 楼

[quote]
汇编语言它是计算机语言中最难的一门,是不是落后了?
自从出了高级语言C++等等
汇编语言就落后了。我想现在学汇编语言的朋友们,你们是不是太浪费时间去学汇编语言呢?
不过学也有点用的,C++等的编译都要用到汇编语言的,我们人是看不懂计算机语言的!要汇编编译成CPU指令就OK了!
[/quote]

请看下我们平常说的简单的那个hello world 

data    SEGMENT
mess    DB      'hello world',0dh,0ah,'$'
data    ENDS
        
code    SEGMENT
      ASSUME  CS:code,DS:data
start:  MOV     AX,data
        MOV     DS,AX
        
        MOV     DX,OFFSET mess
        MOV     AH,9
        INT     21h
        MOV     AH,4ch
        INT     21h
code    ENDS
        END     start                           


好了,再请看看C的

#include<stdio.h>

int main()
{
        printf ("hello world");
}

比较下两个生成的.exe文件,看看他们两个的大小;然后再分别把这两个exe反汇编下,在看看有什么区别~~
呵呵 实在看不出来再试一试用.net写个hello world,再看看区别~~

也许你会说现在的计算机的内存大的很,更本不会在意那几K,硬盘也大的很,更不会在一那几M,
但是如果是在一些嵌入式的设备中呢,在那些内存和存储器都和有限的设备上呢?

7 楼

我原先也是认为汇编没用.

不过汇编对于理解计算机的运行和底层很有帮助

比如,你今后玩VxWork这样的实时操作系统,理解和实践计算机的启动过程,玩ARM芯片,应该都有帮助.

如果你学Java,纯粹的C语言,那其他专业的也很快能学会,那你作为计算机系的学生的特征在哪里?

我最近也在重新学习汇编.一起努力大家.

推荐一本书<IBM PC汇编程序语言设计(第五版)>

如果你最近是急着要找工作,你可以暂时不学,先去学习J2EE吧.吃饭是最重要的.
这些内功留着今后练习.


________________________

汇编可以和不少我们学过的理论课结合起来

1.计算机组成原理,CPU的计算过程,指令的执行过程,中断,磁盘的IO等等

2.操作系统,分页,分段,程序装入时的重定位等等.

3.其他的一些好玩的东西,直接往B800:0单元填充数据,达到屏幕上面显示字符的功能.
有意思啊.比C语言好玩多了.

8 楼

不精通汇编,你就不能真正精通其它任何一门高级语言。

9 楼

今天我们汇编老师引用了一句易中天的话——无用即大用!
汇编相对其他语言的确显得落后,但它带来的是思想的变化,让你对硬件、计算机的工作原理等更熟悉。

我来回复

您尚未登录,请登录后再回复。点此登录或注册