当前位置:编程学习 > 汇编语言 >>

汇编语言和高级语言的问题

我对这些不懂。书上说汇编语言是最低级的语言,并且可移植性为0,因为他是为某个处理器而专门设计的,那就有问题了。书上又说通常对执行效率要求很高的代码才使用汇编语言,而汇编语言不是每个处理器都不兼容的吗?高级语言执行时要翻译成汇编代码再翻译成机器代码,高级语言又是怎么使不同机器都能相同运行的呢?
追问:第一个问题 “而汇编语言不是每个处理器都不兼容的吗”这个是反问。。。我的问题是,既然每个处理器的汇编语言都是不同的,那编程员该怎么做呢?
第二个问题 我知道编译是个翻译的过程,把高级语言翻译成机器看得懂的语言。我是问各种各样的CPU内核都不同,编译器要怎样翻译呢?
答案:真正的计算机语言是0和1,而汇编不是0和1,但他确实可以直接操作内存的。所以,电脑配置不一样,内存或者CPU不一样,指令集也不一样,所以说不可以移植。
并不是所有的高级语言都能在不同的平台上运行。但其他的语言基本上都是平台的限制,而不是电脑的限制。之所这样,是因为解释器的原因。
其他:1....,而汇编语言不是每个处理器都不兼容的吗?基本上是这样
2...高级语言执行时要翻译成汇编代码再翻译成机器代码,高级语言又是怎么使不同机器都能相同运行的呢?写程序要用到软件,c转成汇编需要用到编译器,编译器相当于翻译,你和美国人说话它就帮你翻译英语,你和德国人讲话,它就把你的话翻译成德语, 就是这样,编译器针对你的需要编译,所以不同内核的单片机的汇编语言是不一样的. 编语言是最低级的语言,每一语都有直接对应的机器代码,运行速度快,占有空间少。
高级语言,通用性强,在不同机器上运行需要不同的翻译软件,翻译成对应机器代码才能运行,  运行速度慢,占有空间多, 对于汇编语言来讲,确实是可移植性很差,因为不同的处理器它的汇编指令集是不相同的。
高级语言的编译取决与编译器。和高级语言的源程序无关。我们所说的可移植性值得是源代码。而不是指编译器。 

上一个:编译 ,内存中定义一个带符号字数组,其中第0个字给出元素个数。求所有元素的最小值并输出显示,用汇编写!
下一个:在线求高手修改汇编程序

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,