- 主题:如果全部用汇编语言来写stm32
会不会让程序执行得飞快?
--
FROM 1.90.51.*
我来回答版宠。
不会!因为你自己用汇编编写的质量肯定比不过编译器的优化质量,实现同样的功能,编译器出来的大概率比一般人写的更精简。
只有特定情况下汇编的效率更高,比如延时函数,用汇编可能更稳定,用高级语言写可能不同的优化等级出来的时长有一些抖动。
【 在 mount 的大作中提到: 】
: 会不会让程序执行得飞快?
--
FROM 221.223.90.*
会的,
偷偷告诉你,其实用机器码写会更快,人芯合一的境界,能不快嘛
【 在 mount 的大作中提到: 】
: 会不会让程序执行得飞快?
--
FROM 180.158.52.*
学习编译器原理之后,自己手写是否比编译器更优化呢?
【 在 secondjet 的大作中提到: 】
: 我来回答版宠。
: 不会!因为你自己用汇编编写的质量肯定比不过编译器的优化质量,实现同样的功能,编译器出来的大概率比一般人写的更精简。
: 只有特定情况下汇编的效率更高,比如延时函数,用汇编可能更稳定,用高级语言写可能不同的优化等级出来的时长有一些抖动。
: ...................
--
FROM 1.90.51.*
会
难度在于人和时间
最终都是成本问题
【 在 mount 的大作中提到: 】
: 会不会让程序执行得飞快?
--
FROM 121.69.101.*
主要是没那么好脑力能记住所有指令二进制代码和寄存器地址及中断向量。
【 在 lvsoft 的大作中提到: 】
: 会的,
: 偷偷告诉你,其实用机器码写会更快,人芯合一的境界,能不快嘛
--
FROM 120.230.113.*
其实用汇编也不是大问题。
当年本科都是学汇编编程。
关键是升级换代麻烦。
【 在 secondjet 的大作中提到: 】
: 我来回答版宠。
: 不会!因为你自己用汇编编写的质量肯定比不过编译器的优化质量,实现同样的功能,编译器出来的大概率比一般人写的更精简。
: 只有特定情况下汇编的效率更高,比如延时函数,用汇编可能更稳定,用高级语言写可能不同的优化等级出来的时长有一些抖动。
: ...................
--
FROM 123.117.81.*
按行数算kpi的话很赚便宜吧
【 在 foureyesdog 的大作中提到: 】
: 其实用汇编也不是大问题。
: 当年本科都是学汇编编程。
: 关键是升级换代麻烦。
: ...................
--
FROM 223.104.212.*
我写stm32程序至今都是RCC->AHBENR这样子直接赋值
甚至如果有批量char清零的操作,还会
union
{
long int A;
char B[4];
}
清零B的时候直接用A清实现一步操作节省tic
已经是保持可读性和可维护性之后最精简的办法了
然而,人脑终有限,真优化起来,编译器还是可以继续优化的
而汇编不会机器给你优化
综上所述,二流水平的人工汇编不及机器
【 在 mount 的大作中提到: 】
: 会不会让程序执行得飞快?
--
FROM 117.63.239.*
汇编=机器码,你就别调戏mount了
【 在 lvsoft 的大作中提到: 】
: 会的,
: 偷偷告诉你,其实用机器码写会更快,人芯合一的境界,能不快嘛
--
FROM 117.63.239.*