. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
自由讨论区
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
汇编语言为什么比高级语言的执行效率高?
[待解决]
回复[
5
次 ] 点击[
673
次 ]
zyc969
[帖 主]
[ 发表时间:2012-05-26 21:04 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2012-04-30 21:05
汇编语言为什么比高级语言的执行效率高?也就是“为什么汇编语言运行更快?”
目前我只知道两个原因:一是汇编的寻址速度快,二是如果高级语言编译器不够智能的话,会产生垃圾代码。
还有什么原因?
pickcn
[第
1
楼]
[ 回复时间:2012-06-02 14:22 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2012-06-02 13:46
看王爽的综合研究,c语言为了适应所有要求都要做初始化工作
但对于具体的汇编语言是不需要的,可以根据自己的需要来设置
但目前的cpu和内存,这些是可以忽略的
lovedebug
[第
2
楼]
[ 回复时间:2012-07-24 14:08 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2012-07-24 14:07
高级语言不少都是翻译成汇编的
而汇编语言一般直接译成机器代码了
emeraild
[第
3
楼]
[ 回复时间:2012-07-25 17:52 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2012-07-25 17:47
所谓高级语言,每句代码其实包含了很多操作,这些操作就是最基础的机器代码或汇编语句,
运行之前还要编译,自然占用更多的时间,空间,更多的中间处理,效率当然就低了。
直白说,汇编语言基本与机器语言一一对应,也就是1句汇编对应一种实际物理操作,
废话少,而高级语言进行相同的一种物理操作,要用很多的废话。
osfpu
[第
4
楼]
[ 回复时间:2012-08-03 10:51 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2012-08-01 13:45
高级语言翻译成汇编之后,垃圾代码很多.会有很多中间变量之类的
mengdana
[第
5
楼]
[ 回复时间:2013-01-01 21:39 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2013-01-01 17:35
其实高级语言最后也是编译成机器指令来执行的,也可以反汇编出汇编语言程序,但因为高级语言不清楚它需要具体用到哪些寄存器和内存,往往把不需要的寄存器也压栈保存操作,当然也要有相应的出栈恢复操作,这就花费了额外的机器时间,而汇编写的程序只保存用到的寄存器不做多余的操作,申请的空间也是用多少字节申请多少字节。所以效率比较高。节省时间和空间,所以执行效率高。
比喻来说,汇编语言要出门钓鱼,就带鱼竿,而高级语言把瓶瓶灌灌都带上了。
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved