- 主题:如果全部用汇编语言来写stm32
我写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.*
union里面4个char本来都是单独操作的,特定情况才需要整体清零,
比如你程序其他地方
B[0],B[1]会单独赋值,如果有一个代码需要同时清零B[0]~B[3],编译器不会一个32位清零,这时候就要像我这样子人工控制4句话变成1句话了
其实这个场景应用很小,只有时间要求很严格的时钟中断里才会用
【 在 tom6bj 的大作中提到: 】
: 不是吧。。。memset应该是有32位优化的
:
: 我写stm32程序至今都是RCC->AHBENR这样子直接赋值
: ...................
--
FROM 117.63.239.*
光盘吧,刻硬盘的大神我见过的是拿着一块磁铁在硬盘上左右晃写硬盘的
【 在 chenyx 的大作中提到: 】
: 嗯,据说上古时代的大神都是拿着一把小刀在硬盘上刻出操作系统
:
: #发自zSMTH@MI MAX 2
--
FROM 114.228.211.*