. : : 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