汇编相较于C语言的优点是什么

RT,C语言的有点不用说了,就说汇编更优的地方!... RT,C语言的有点不用说了,就说汇编更优的地方! 展开
 我来答
TLast_Ghost
推荐于2017-08-23 · TA获得超过1542个赞
知道小有建树答主
回答量:649
采纳率:20%
帮助的人:513万
展开全部
1.汇编不伏燃用遵循调用规则,即一个子程序可以不返回,多线程技术属于从一个函数无返回跳转到另一个无关的函数,这种技术C的规则是做不到的,所以多线程技术的底层代码,即跳转必须用汇编实现,汇编完成的工作有保存当前线程现场,然后跳转到令一个函数恢复到程序之前的现场。。。。
2. 汇编可以在不设定栈指针的情况下运行,这些C语言以及更高级语言都做不到,因为入栈是C语言的基本操作,你声明一个自动变量,就意味着一次入栈,在没有定位栈指针的情况下,C语言这种操作意味着程序崩溃。缺迟虚。。
3. C语言不能直接访问CPU工作寄存器,C语言操作东西必须寻址,而CPU工作寄存器没有地址,也就意味着单纯的C代码做不到这个目标,因为C语言的工作寄存器使用规则是编译器安排的,与编程员无关,如果想用只能用汇编指令实现。。
4. 中断跳转相关的,中断属于严重违背C语言规则的执行方式,必须汇编来保护C语言环境不被破坏。。。
说白了就是C不能做的,汇编都可以做,因为汇编旦缺直接对应机器码,没有优化黑科技,程序最终到机器码的方式是100%受制于人,而不是编译器。。。
汇编缺点就不说了,如果能用C的地方,一般是不会考虑汇编的,连出入栈这种基本操作都亲历亲行,显然不是一种好的编程方式,因为这种代码写的越多错的越多,写的又慢又易错。。。
做而论道
高能答主

2015-08-12 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
灵活、方便。

最大的优点是,它可以考验编程者的智商。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kppy
2015-08-07 · 超过20用户采纳过TA的回答
知道答主
回答量:90
采纳率:100%
帮助的人:40.6万
展开全部
执行效率更高,更快。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式