玩惯硬件的人再去玩软件,汇编语言是个无法忽略的过程。在汇编中可以看到、听到甚至触摸到一条语句如何让一 ...
这个比较难,汇编还好,C语言更难,主要是实现这些必须学习电脑编程,这个是最大的阻碍了!
如果先使用手工C转汇编应该可以,后面在用电脑实现! washu 发表于 2019-12-8 20:27
简单说就是懒。
上个世纪二十年代,美帝一个化学家生了个很懒的不爱读书成绩很差的儿子,不读书成绩不 ...
不得不承认,正是“懒惰”、“贪婪”、“欲望”促进了科技进步!
不想写汇编,于是有了Fortran;
不想大半夜从温暖的被窝里起来关电视,于是发明了夜壶,不,是遥控器;
不想控制电脑的硬件和软件资源,于是有了操作系统;
不想每次手摇发动机启动,于是发明了启动电机一键点火。。。。。。 分立元件 发表于 2019-12-8 23:57
现在就C语言、汇编语言没有淘汰,
直接起源于 Fortran,比 C 还古老的 Basic 语言表示,我还没死呢 :'(
本帖最后由 yngz 于 2019-12-9 11:29 编辑
高级语言(包括C语言)是“抽象化”思维的产物。
汇编语言与机器指令密切相关,汇编指令只是机器指令的助记符。
数学家运用抽象思维,排除具体的细节,就发明出了各种与机器指令无关的编程语言。
这些高级的编程语言一般基于某种抽象的“自动机”。编绎程序会把高级语言程序翻译成自动机指令,再进一步翻译成具体的机器指令。计算机语言的抽象程度,在现代抽象数学的思维中,实在不算什么。计算机高级语言处理的自动机理论,随着计算机的发明,很快就被数学家发展起来了。
计算机语言的“抽象度”越高,越高级。与别的高级语言相比,C语言的抽象度中等,属于中级语言。
中间还隔着如Lisp等一票语言 不要太在意C怎么来的。C严格说和汇编无必然关系,千万不要联系到一起。不要在意这些东西。C其实和UNIX相关很大的,关系复杂。
总之一句话,因为人比较懒。。 懒惰是进步的源动力。 yngz 发表于 2019-12-9 11:23
高级语言(包括C语言)是“抽象化”思维的产物。
汇编语言与机器指令密切相关,汇编指令只是机器指令的助记 ...
是的。。。如果人工智能有大进步。。
会在1万亿个逻辑组合里,找到更高效,更容易的编程语言 现代 arm 系嵌入单片机,似乎不支持汇编语言了找不到汇编指令集,
是不是厂商刻意掩盖其内部技术核,故意不发布,而只允许用户使用 C ,甚至连标准库也不提供只允许HAL库
我不太懂 C ,我理解的arm 没错吧。 崂山 发表于 2025-4-5 10:49
现代 arm 系嵌入单片机,似乎不支持汇编语言了找不到汇编指令集,
是不是厂商刻意掩盖其内部技术核,故 ...
任何CPU,包括单片机,
指令集是必须的,
找不到汇编指令集很可能是你没有认真去找,
或者很少有人需要,
厂家不主动提供了。
以STM32系列单片机为例,
你完全可以直接使用汇编,
或者使用C但并不使用任何库(直接读写寄存器),
当然也可以使用标准库,
之所以你觉得连标准库都不提供了,
只提供Hal库,
还是因为人变得越来越懒(或者说高级)了。
先有汇编,
后来用的多的模块就变成汇编语言的子程序,
然后子程序多了,而子程序内会用到临时变量,而cpu的寄存器数量是有限的,就会用到内存,而子程序经常会被嵌套调用,例如‘“重入’,就导致内存变量被覆盖,所以就有了统一调用接口,
然后这些子程序模块就可以变成高级语言的函数了。 washu 发表于 2019-12-8 20:27
简单说就是懒。
上个世纪二十年代,美帝一个化学家生了个很懒的不爱读书成绩很差的儿子,不读书成绩不 ...
这是我听到最最有趣的问题答案!:lol abbey_tom 发表于 2025-4-5 14:01
任何CPU,包括单片机,
指令集是必须的,
找不到汇编指令集很可能是你没有认真去找,
我在网络上查找或说搜索的能力很差 例如
英飞凌 infineon 单片机型号TLE9872、TLE9879、 属于 ARM Cortex-M3 核心 的单片机
他们任何一款型号的 汇编语言指令集在哪里可以找到查到 ?
再比如 STM32L476 或者STM32L496 它的标准库STD库在哪里?
如能帮忙查找找到线索将感激不尽。
如果厂商确实没有给公众提供,那么厂家是出于什么考虑而不提供给用户的?应该怎么理解它的不开放和不提供?
崂山 发表于 2025-4-5 18:40
我在网络上查找或说搜索的能力很差 例如
英飞凌 infineon 单片机型号TLE9872、TLE9879 ...
既然是ARM Cortex-M3核心,
那么它的主要指令集就是ARM Cortex-M3核心的指令集。
至于有些CPU不提供标准库,
很可能是没有多少需求了,
就像您说的,现在很多CPU,厂家都只提供Hal库了。
我认为,所有的CPU,指令集是必须的,也是最基本的,
有的厂家之所以不公开,并不是想要保密,还是什么的。
我猜想,很可能还是需求的人太少,
也就是说,市面上买这种单片机的人,
几乎没有一个人会想着使用汇编来操控这种单片机。
打个比方:使用汇编语言就像爬行;使用C语言就像行走。成年人都是行走,只有极其特殊的场合才会去爬。 分立元件 发表于 2019-12-7 09:58
就像是:汇编是元器件,C是集成电路,多个不同的汇编组合完成了不同的C语句吗?
汇编也不是元器件,换句话说有字母出现的语言(哪怕再低级)都不能算元器件。只有0101001这样机器码编程的才能算元器件;P
页:
1
[2]