初学者学汇编入迷快,还是C呢.还是直接学高级点的呢?
- 提问者网友:未信
- 2021-05-05 13:07
- 五星知识达人网友:骨子里都是戏
- 2021-05-05 13:41
如果你没有任何编程基础,当然去学习C语言的基础,再回过头来学习汇编,其实汇编和C语言可以同时学习,汇编和C语言配合时非常好的,函数可以互相调用,还可以用来编写操作系统,还可以在C语言中嵌入汇编.
你先去学习C语言,再去学习汇编。
我可以郑重的说,没学习过汇编的人没资格谈论计算机的硬件和软件,网络.
很多高手都是从汇编出来的,汇编的好处就不多说了,百度一下一大堆.
汇编可以让你深入底层,学习计算机组成原理和操作系统,微机原理,和Linux内核.... ..
会汇编的人和不会汇编的人的差别在与调式程序.... ...不懂汇编的人无法分析语言.
我做个例子.
int a; 你以为开辟内存了么?错,在汇编里面没有.
int a=3; 才开辟了. 汇编的代码表示,版本有很多.我个人的. mov [ebp-2],3 ,很奇怪吧~! ebp 是帧指针,内存从上而下, 学过汇编的人才知道 堆和栈的概念是不一样,没学过的人就满嘴的 堆栈,算法...其实一点都不了解 系统底层和性能.
c: for(i=1;i<9;i++) 和 c++: for(int i=1;i<9;i++)
用汇编表示:
mov [ebp-2],1
for1: inc dword btr [ebp-2]
mov eax,[ebp-2]
cmp eax,9
jl for1
你就可以分析语言了,原来C,c++ 的 在 for(int i=1 和 for(i=1 差不多.... 哪怕你在C语言前面定义了 int i;
汇编也没有开辟内存给你.... ...
所以不懂汇编的人和懂汇编的人差别很大...
无论是算法和软件开发,都需要底层的知识.... 软件是调式出来的,不是编写出来的. 算法是为了 追求效率才弄出来的,但是不能脱离 操作系统这个平台...
如果你学习完了汇编,建议你去学习一下 数字电路,这样你对微机原理能更好的理解,比如 总线 和 引脚... ..
数字电路 其实很好学习,只要下一番 辛苦,只要你学习了,你感觉是快乐的,不要忘记了, 计算机到处都是电路,不是现在的 windows操作系统....
数字电路 重要的是 逻辑代数和卡诺图,还有cmos,组合逻辑电路,还有一些... ...
好好学习吧~! 我的专业 是计算机网络的,我可以学习,你怕什么.~!~!
我的智商也没有多高啊~! 数学要好好学习.... ...线性代数和离散数学非常好的课程,你看见概率论你像看见逻辑代数一下,呵呵呵呵,开玩笑的...高等数学感觉现在没什么用,你可以以后学习.... ..不要浪费时间,这个东西博大精深,不是现在的 课本可以解决的,要好好学习 ,就要空出时间,如果学不好,还不如不要学习,不是么? 加油~!