找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2098|回复: 27
收起左侧

汇编语言一定要学吗?

  [复制链接]
ID:871721 发表于 2023-11-22 23:30 来自手机 | 显示全部楼层 |阅读模式
前两天,下了份资料,结果全是汇编,只会一点C,汇编完全不懂
回复

使用道具 举报

ID:402026 发表于 2023-11-23 08:11 | 显示全部楼层
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
        用一些容易理解和记忆的缩写单词来代替一些特定的指令,例如:用"ADD"代表加法操作指令,"SUB"代表减法操作指令,以及"INC"代表增加1,"DEC"代表减去1,"MOV"代表变量传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。但计算机的硬件不认识字母符号,这时候就需要一个专门的程序把这些字符变成计算机能够识别的二进制数或机器语言。因为汇编语言只是将机器语言做了简单编译,所以并没有根本上解决机器语言的特定性,所以汇编语言和机器自身的编程环境息息相关,推广和移植很难,但是还是保持了机器语言优秀的执行效率,因为他的可阅读性和简便性,汇编语言到现在依然是常用的编程语言之一, 汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在实际应用中,通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。
至于学不学,如何学,世上无难事,只要肯登攀,要学肯定能学会,而且还有很广泛的用途。学与不学,全在一念之间!
回复

使用道具 举报

ID:798572 发表于 2023-11-23 08:31 | 显示全部楼层
汇编简单直接,但需要更复杂的编程逻辑
回复

使用道具 举报

ID:155507 发表于 2023-11-23 08:46 | 显示全部楼层
汇编只是加深你对硬件的认识和计算机的理解。
当然这个是很有必要的
回复

使用道具 举报

ID:1091344 发表于 2023-11-23 09:13 | 显示全部楼层
c语言和汇编语言都是直接对数字链路层编程,只不过C语言为了简化复杂的逻辑地址语句,提前用了汇编转C写成的库,现在的软件通常都支持用C的
回复

使用道具 举报

ID:996773 发表于 2023-11-23 09:28 | 显示全部楼层
看到楼主去年在问单片机如何擦除的问题,楼主为什么擦除,擦成全0还是全1,擦除之后

想干什么?擦除哪部分,程序rom部分还是单片机flash模拟eeprom部分?这一系列逻辑楼主

自己可能就懵圈了,我建议楼主不用学汇编,对于没有逻辑头脑的人难如登天
回复

使用道具 举报

ID:401564 发表于 2023-11-23 09:32 | 显示全部楼层
汇编是能不学就不学,如果工作中有用到,那就得学
不然的话,学不学都不重要,并不是什么必修
不会汇编的人多了去了,他们一样能写出优秀的代码
回复

使用道具 举报

ID:123289 发表于 2023-11-23 11:01 | 显示全部楼层
会精通成为高手,就必须学。
回复

使用道具 举报

ID:883242 发表于 2023-11-23 11:28 | 显示全部楼层
汇编在不同平台上面完全不一样,怎么可能一概而论?比如Cortex-M汇编难比登天,我见过几个试图用汇编的,结果代码不堪入目,效率比c编译器差太多了。
回复

使用道具 举报

ID:1007932 发表于 2023-11-23 12:11 | 显示全部楼层
非必须没必要,建议学C,C语言更通用,而且学到后面自然就能看懂汇编了,汇编和C是对应的
汇编过于底层,实际上汇编更简单直接,但逻辑性很强,你要写出CPU的每一步操作
回复

使用道具 举报

ID:584814 发表于 2023-11-23 13:42 | 显示全部楼层
吃饭一定要学么 ?睡觉一定要学么 ?旅游一定要学么 ?放浪一定要学么 ?....
汇编一定要学么 ?其实你心中已有答案的
回复

使用道具 举报

ID:283954 发表于 2023-11-23 17:39 | 显示全部楼层
买了电脑回来,玩游戏,那是皮毛,学会应用软件,那是肉身,用C写软件,那是骨子,用汇编写程序,那是骨髓。
回复

使用道具 举报

ID:1099162 发表于 2023-11-24 20:20 | 显示全部楼层
汇编是直接操作寄存器,直接写内存,C是换个方式实现,有库函数,寄存器等等,用C++会好点
回复

使用道具 举报

ID:106977 发表于 2023-11-25 14:07 | 显示全部楼层
51单片机且用于控制项目,学一下汇编,有助于深刻理解控制!
回复

使用道具 举报

ID:1101169 发表于 2023-11-25 17:36 | 显示全部楼层
汇编的控制粒度比c语言更细,一些时序控制要求高的场合首选汇编
回复

使用道具 举报

ID:1101238 发表于 2023-11-26 13:53 | 显示全部楼层
如果要深入发展,学习汇编是很有必要的
回复

使用道具 举报

ID:73992 发表于 2023-11-26 19:15 | 显示全部楼层
旅行者一号的系统控制,就是用汇编写的
回复

使用道具 举报

ID:212797 发表于 2023-11-27 09:45 | 显示全部楼层
我的建议是:不是必须学,但是需要的时候要懂一点。
   现在的单片机应用一般都是直接上Cortex-M0/M3,资源已经很充分了,使用C语言完全没问题。除非开发的还是纯粹为了走量(薄利多销)的终端传感器。所以精通C语言就已经够开发使用了。
   但是要懂一点汇编,主要是在遇到问题的时候能分析,比如看得懂芯片的startup引导文件。实际应用中,边学边用就好。
回复

使用道具 举报

ID:1101419 发表于 2023-11-27 15:46 | 显示全部楼层
不一定学,项目中几乎用不到,但是学的话会帮助理解底层
回复

使用道具 举报

ID:36321 发表于 2023-11-27 16:11 | 显示全部楼层
我个人认为还是学一下好,当然如果你只是业余玩一玩的话就没必要学了。如果以后要专业搞这行的话我认为你还是应该学的,这对你将来搞专业是相当有帮助的,到时候你就知道了。我们那时学计算机编程就是先学的汇编。
回复

使用道具 举报

ID:1101427 发表于 2023-11-27 16:45 | 显示全部楼层
汇编语言其实不难,只要是逻辑,汇编语言是很多仿真实现的基础
回复

使用道具 举报

ID:1101476 发表于 2023-11-27 20:38 | 显示全部楼层
搞嵌入式开发的必须学过微机原理,学微机原理必学汇编语言程序设计。
回复

使用道具 举报

ID:1062805 发表于 2023-11-28 00:01 | 显示全部楼层
如果你想要搞懂嵌入式的基本原理最好还是要写一下的,汇编能够让你对每一个寄存器理解能够上更大的一个层次,还有对RAM的利用率也能够提高
回复

使用道具 举报

ID:155719 发表于 2023-11-28 08:29 | 显示全部楼层
不一定吧日常开发工作很少用到了!
回复

使用道具 举报

ID:1101602 发表于 2023-11-28 18:08 | 显示全部楼层
我认为对于一般人而言,只要会高级语言就可以。但是对于底层开发的人员或者想深入理解原理,汇编还是应该要学的
回复

使用道具 举报

ID:1101567 发表于 2023-11-28 21:49 | 显示全部楼层
c语言简单一点,我们大学现在叫单片机的老师都不教汇编了,说这几届教c语言了,而且我面试的主管都说汇编过时了一些,不过说到底你如果是工作环境必须要用到汇编就必须学,你改变不了公司的环境的
回复

使用道具 举报

ID:1101739 发表于 2023-11-29 15:20 | 显示全部楼层
不一定要学,可以直接学C语言
回复

使用道具 举报

ID:1101742 发表于 2023-11-29 15:30 | 显示全部楼层
学习汇编可以更深层次的了解单片机的工作原理,了解系统是如何启动。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表