对学好汇编语言有用的思想

来源:百度知道 编辑:UC知道 时间:2024/06/25 21:24:00

我的思想是死记硬背,灵活运用

汇编语言是与硬件紧密相联系的语言,每种处理器都有自己的语言,单片机也有自己的,不能离开硬件而直接谈论学习汇编语言,那是无用的。想学习单片机微机,也必须会汇编语言,最好能买本自己的书,这种东西虽然动手能力要求高,但是也必须有足够的书本学习时间的,尤其是初期,单片机和86系列每一个模块都有自己的语句特色,看看课本上大师们怎么编的,模仿很多遍之后,你会不知不觉的发现自己也成开发高手了。而且当你羡慕别人写的程序几百行的时候也不会想到后来自己也能写出来的,其实你可以,但是这是需要课本学习时间的,每个语句反复的揣摩自己模仿,就是这样的刻苦练的,没什么好的捷径,没有汗水不会有收获的,但是这也是一个充满乐趣的过程。用心做总会让自己有所收获的。

首先,要确定是学16位汇编还是32位汇编
原因是这样,32位汇编不是简单的对16位汇编的功能拓展,虽然从底层来说,除内存寻址和堆栈结构以外,16位汇编是32位汇编的子集,但是32位汇编除编写驱动程序外,将底层细节交给操作系统,编写者更为专注于代码的逻辑实现,并且32位汇编可移植性问题不再由硬件决定,而由操作系统决定,如,linux 32位汇编、windows 32位汇编

再则,16位汇编现在主要用于未开发C编译器的单片机且还要调用它特殊功能的情况,某些要求运算速率高的嵌入式系统,和编写16位驱动
32位汇编主要用于与C等语言混合编写,提高效率;或对编译器编译的中间代码(汇编)人工优化,以提高编译质量,编写驱动,加密解密,反病毒,制作病毒(因为汇编对病毒代码的底层加密解密以及反虚拟系统,是其他语言难以替代的),通过反汇编的逆向工程

学习方法:想学16位的自然要看王爽的《汇编语言》
想学32位的,如果没有16位基础,建议先看看《intel汇编语言程序设计》第五版(前几版是讲16位的),想编写驱动和病毒的人,应该看懂看透,其余人理解前几章就行,不看也可以

有了基础《WINDOWS下32位汇编语言程序设计》深入学习win32汇编,另外提一下,我不习惯使用masm32做编译器,因为运行代码时编译连接太麻烦,推荐RadASM作为编译器,记住必须新建工程然后在其下编写代码,否则编