1
fim8 OP 资料说:
汇编语言 → 机器语言( 0 ,1 ) → 机器识别 → 执行 至于0和1 是制造时就设计好的 通则是1 断则是0 那 汇编语言 又是怎么翻译成 机器语言的呢?这个翻译的工作是由什么程序来负责的呢。这个程序又是由什么程序来写的呢? 进到死循环了。。。。 |
2
levn 2011-03-25 00:19:24 +08:00
|
5
cloudbeyond 2011-03-25 00:50:09 +08:00
靠着仅有的数字电路跟汇编知识回答一下,估计不太准确,但是差不多,欢迎高手拍砖~
编程语言按照等级大概能分成2种,低级语言跟高级语言,汇编是低级语言,C/C++等等都是高级语言。 他们写出来的程序最后能被机器执行,都是要转换成机器语言的就是 0跟1,这个过程会需要一个叫编译器的东西来帮忙实现,每种语言都有他自己的编译器,汇编语言也是如此,写完汇编程序是需要编译一下的,编译器会把你的程序翻译成 01代码,然后再执行。 基本就是这个过程了。编译器一般就是汇编,C写出来的。 |
6
Leo 2011-03-25 00:51:23 +08:00
就好比宇宙起源的问题一样,越想越纠结。
时常感叹人类的伟大,从电路板开关到华丽通人性的界面操作,是个不可思议美妙的过程。 |
7
chone 2011-03-25 01:05:00 +08:00
如果在没有汇编语言翻译器(语言处理程序,后面为了避免混乱成为编译器)的情况下,当然是用下层的机器语言来写汇编程序。然后如果已经有了能够把汇编语言转换为机器码的编译器,你也可以用汇编语言来写新的编译器。关键的是只用机器码才能被硬件识别和执行,不管什么样的形式什么样的语言最终都要通过各种不同的编译器将这些代码转换为机器码。
要注意的是汇编语言虽然是机器语言的符号语言,但是他并不是一个一定要经过的层次,从某种程度上他和其他的高级语言是属于同一个层级的,所以即使不用汇编语言,只要是能操作底层硬件的语言都能和汇编语言一样用来写操作系统(比如linux用的就是c语言)。 |
8
Weakdancer 2011-03-25 02:01:38 +08:00
推荐《编码的奥密》,另外有条件的话动手diy点东西(电子控制)的同时进行学习是最好的,当你没有亲自尝试过的时候一切都看上去是无法理解的。
|
10
sinxccc 2011-03-25 03:40:51 +08:00
|
11
9hills 2011-03-25 09:21:14 +08:00
这样的话lz不要去看汇编,而要看计算机组成原理。。
|
12
skymountain 2011-03-25 09:29:45 +08:00
老实说,问这种问题,说明你对计算机还完全没有理解。
没入门的人,或者老老实实去看基础书籍,或者干脆不要想这些东西,没意义的。 |
13
nikejaycn 2011-03-25 10:54:58 +08:00
学习了,话说我也不大懂。
|
14
fim8 OP 好的,谢谢大家。
|
16
lesscome 2011-03-25 13:09:53 +08:00
@Weakdancer 《编码的奥密》+1
|