高级语言和汇编语言最后都转化为机器指令,那么为什么说汇编代码运行效率高?

 我来答
百度网友ab835a052
2009-01-10 · TA获得超过341个赞
知道答主
回答量:89
采纳率:0%
帮助的人:99.4万
展开全部
楼上的那段汇编如果去掉栈段将会更短些^^我也说两句吧,概括型~~
高级语言必须在操作系统环境下编译运行,通常会调用操作系统提供的库,比如WINDOWS环境下通常会调用GDI,而汇编代码是机器指令的助记符,机器指令可不需要操作系统环境直接基于硬件运行,,想想硬盘的0磁头0柱面1扇区的主引导记录吧~~ 还有一点就是人是非常智能的,用汇编编程时会根据数据大小分配合适的存储单位,合理利用内存空间,而用高级语言编程,以VISUAL BASIC为例,不必考虑数据是一个字节或是一个字或是一个双字,编译器编译有时统一以双字为单位分配,就大大的浪费了内存空间,而且用汇编编程常求精简,而高级语言编译器由于没有人类智能,对于同样一个目标可能会绕些弯子~这样一来,同样功能的程序用高级语言编译生成的要比直接用汇编生成的要长多啦,有时甚至几倍!所以说汇编代码效率要高。
但是现在之所以高级语言非常通用,是因为大型的程序如果用汇编去实现是非常庞大的工程,而调用已总结的库文件则轻松的多,C语言编译器就提供了相当大的库函数方便编程者调用,就好像别人已经为你烧制好砖头,你只要盖房子就好。
sd_jack
2009-01-17 · TA获得超过1704个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:0
展开全部
前面朋友说得都不错,我再说说更深层的原因。
高级语言之所以“高级”,是说它“抽象和归类”了许多相近的操作和数据结构,以便更符合人的思维习惯,而且同时不可避免地,忽略了一些可以发挥“技巧”的特性(因为它要考虑通用性)。
而在汇编中,我们可以尽情利用所有的“技巧”和“针对某种结构的”最优算法(因为没有任何限制和“封装”),所以汇编效率无论在空间上还是时间上都可以做到比“高级语言”更优。
换个角度理解,汇编是更接近机器的语言,由“编程者”将“问题”转化成机器的操作去实现,而高级语言更接近于数学(或者说人),必须“翻译”成计算机能够执行的“指令”,“人”对问题的描述简化了(数学化),但是翻译时(例如编译)不可能是高效率的 —— 为什么?因为“抽象”和“通用”的要求与效率是矛盾的!

说到底是因为:翻译程序不如人聪明!呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
文刀舍予
2009-01-10 · TA获得超过5715个赞
知道小有建树答主
回答量:1196
采纳率:0%
帮助的人:0
展开全部
你可以自己做一下试验
分别用C和汇编做一个显示一个字符的程序
然后看看他两的大小你就明白了
include <stdio.h>
main
{
putchar('a');
}
好久没碰C了,不知道写没写错
stack segment
db 64 dup (?)
stack ends
code segment
assume cs:code,ss:stack
start:
mov ah,02H
mov dl,'a'
int 21H
mov ah,07H
int 21H
mov ax,4C00H
int 21H
code ends
end start

确实老了,刚才把那个C的代码编译了一下,根本就没通过编译,囧
#include <stdio.h>
#include <conio.h>
int main ()
{
putchar('a');
getch();
}
=======================================
比较大小的活我也帮你干了
C编的那个程序16,490 字节
汇编的591 字节
不言而喻了吧?
=======================================
=======================================
每一条指令的运行都需要时间,可能这个简单的任务显示不了汇编在速度上的优势,但如果任务比较复杂的话,哼哼~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
232198748
2009-01-10 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:140万
展开全部
是这样的,高级语言其实就是一个个汇编语言的模块拼凑在一起

当然这些模块的运行效率是经过的极大的优化的,不同的模块之间是相对独立互补干扰的

但这里还是有一个问题就是这些代码放在实际应用中会还是存在一些浪费现象

重复,多余,等等

比如int,如果我现在一个程序的一个数,绝对只在0~9之间,那int是不是就浪费了一些字节

还有些其他的差别,等你深入学习你知道了,说多倒反影响理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1a4c3ca0d
2009-01-10 · TA获得超过2707个赞
知道大有可为答主
回答量:1449
采纳率:0%
帮助的人:1856万
展开全部
为什么说汇编代码运行效率高?
为什么说汇编代码运行效率高?
为什么说汇编代码运行效率高?
你问重复了?!!

汇编语言执行效率高是指什么?
http://zhidao.baidu.com/question/81906237.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式