主题:为什么高级语言可移植性强于汇编
euclid
[专家分:1670] 发布于 2005-06-06 09:26:00
这虽是个常识。汇编语言转化成对应cpu的机器码,而高级语言同样要编译成机器码,为什么后者产生的机器码能适应不同的cpu呢?难道编译程序事先要判断所在的机型再产生对应的机器码吗?
请一定要指教啊
回复列表 (共2个回复)
沙发
Troy [专家分:120] 发布于 2005-06-09 15:42:00
汇编语言说抽象点就是机器语言,它与机器语言不同的是把机器语言的0 1 代码用注记符号来表示,。和机器语言是一一对应的,程序都是用指令来完成的,很多CPU的指令系统都不一样啊。所以不能跨越硬件,比如32位CPU有的指令有些16位CPU没有。怎么移植啊?
板凳
chujidiy [专家分:20] 发布于 2005-06-10 12:59:00
这个问题我还没有仔细地想过。
我只是知道,高级语言编译后得到地目标代码,可以根据机器地具体情况转换成可执行代码。因为高级语言和可执行代码之间多了一层,移植时在该层上做文章就可以了,平台的改变,影响的是中间这一层,而不会影响高级语言的代码。
可能原因就是这样的吧。
我来回复