+ -
当前位置:首页 → 问答吧 → 关于汇编程序和高级语言程序移植性问题~~

关于汇编程序和高级语言程序移植性问题~~

时间:2011-09-23

来源:互联网

大家好!

最近刚刚学习汇编,听说汇编程序的移植性差,高级语言写的程序移植性好,,我就不明白了,计算机都是执行的机器码,怎么就移植性不好了呢...于是在网上各种搜索,找到了一个感觉貌似比较正确的回答,但是仍有些问题,于是在这里问问问大家。大体上是这样:
我们都知道汇编是与机器码一一对应,不同的CPU对应不同的指令集,所以一台机器下编写的汇编程序在移植到其他机器是,由于CPU及软硬件环境的不同,CPU就不会将汇编指令翻译成我们之前设计的机器码,所以就会出现问题;
而高级语言对于某种功能的实现是将指令集整合为一个高级语句,再加上高级语言有其规范的基本语句结构,使得高级语言的动作实现不是与机器指令一一对应,而是相当于一个描述.对于不同指令集的CPU上的编译器,它们可以根据这种“描述”来“翻译”成本指令集的机器码,因此高级语言的移用性好。 


我有以下几个问题:
1.这种描述是什么?通过什么方式?
2.CPU上的编译器是干什么用的(以前都没听说CPU上有编译器....==)?
3.按照高级语言程序的实现方法,貌似不会发生移植性问题?但是,还是会有的啊...是因为操动作系统不同,调用函数会有影响?
求大家都表达一下看法,指点12。谢谢!

PS:本人纯属小白,是真小白。所以望大家回复请具体一些。也欢迎给出相关信息的引用楚。如有哪里说错,逗笑了大家,还请指出,见谅。。。

作者: llyanwenyuan   发布时间: 2011-09-23

你对其他语言的理解有多少?

作者: iambic   发布时间: 2011-09-23

C语言比较了解,C++有些接触,其他的就没有什么了解了...
我又那说错了吗?

作者: llyanwenyuan   发布时间: 2011-09-23