如何学好汇编??
发布网友
发布时间:2022-05-12 21:55
我来回答
共6个回答
好二三四
时间:2022-08-11 20:10
1、 保持好心态,不要急,拿着书一点一点来,把书中碰到的每一个不会的都弄明白。碰到一些似懂非懂的可以先做个记号放那,等一会儿再回头看;
2、多动手写程序,包括书中的例子,看完题目就把书合上,先写一遍,然后和书中的对比一下。每章后面的题更要弄懂,因为接下来的几章中还会碰到这个题的延伸部分;
3、不会就问,多与人交流,可以参加论坛,里面的人都是在学习汇编教材,经常拿出自己的程序在论坛里和人交流。
热心网友
时间:2022-08-11 17:18
我是过来人,以下是我个人的经验:
1.要多动手,不要只看书和书上的例子,有条件就把例子弄到电脑上试一试,如果成功了,不要高兴,你的工作只完成了一半,把例子改一改,按你的意思,想想改了之后的结果,与上机对照一下,你会有收获的.
2.要会用debug,很多情况下当自己都不知道程序对不对的时候,用debug跟踪一下就解决了.
3.要准备一台烂机子,就是什么东西坏了都不会心痛那种老机子.用来上机调试程序.如果用自己的爱机试,一个不小心把硬盘主引导扇区洗白了就真的是后悔不已了.
4.不要理老师讲的DOS中断,那东西中看不中用.多在调试用的机子上试试底层的东西,如bios调用,IO操作,对显卡,硬盘的控制.那样你会体会到学习汇编语言的快乐.
热心网友
时间:2022-08-11 18:36
AX BX DX CX 分别是 四个寄存器
基址寄存器 bx,bp
变址寄存器 si,di
所有的寻址方式如下:
立即寻址 mov ax,常数
直接寻址 mov ax,[地址(常数)]
寄存器寻址 mov ax,通用寄存器
寄存器间接寻址 mov ax,[(bx,bp,si,di)中的一个]
寄存器相对接寻址 mov ax,[(bx,bp,si,di)+偏移量]
基址变址寻址 mov ax,[基址寄存器+变址寄存器]
相对基址变址寻址 mov ax,[基址寄存器+变址寄存器+偏移量]
要想学好汇编还是要靠自己努力的,得花大量的课余时间在电脑上练习,不然老师讲的在清楚,资料再全,也没用的。而学习的动力在于兴趣,兴趣的产生在于培养。
热心网友
时间:2022-08-11 20:11
同学,
最简单的方法就是自己写两个小程序,你现在不会写,就看书上的例子,一条一条看,自己也可以在run里面输入cmd.exe,然后在出现的模拟dos环境下,输入debug32,再输入a后回车,就可以自己输入一些简单的指令,并且看到你输入的东西的实时变化,比如,你输入
mov ax,34h 然后你就会看到相应的寄存器ax里面装了34这个数据,其实汇编并不难学,我曾经也是和你一样觉得这个东西很枯燥很难学,但是只要你慢慢的静下心来学,就会发现原来也是很简单的。
现在回答你说的那个AX、BX、CX、DX的问题,这个是汇编语言里最常用的四个寄存器,用来存放我们需要电脑记住的东西。打个比方,就像你的衣柜是装衣服的,书柜是放书的,那几个寄存器就相当于这些衣柜,书柜之类的东西。你写一个程序,肯定会用到很多数据,那么这些数据当然需要东西来装了,它们就派上用场了,当然这几个是里面最常用的几个,还有di、si、bp、sp;以及段寄存器器cs、ds、es、ss,每个寄存器都可以装数据,但是有的是专用寄存器,它就只能做专门的用途,比如段寄存器只能存放段的地址,我不知道你对段有没有概念,如果你还没有这个概念就赶紧回去看一下这一部分,这个是很重要的。
在编写程序的时候,说白了就是把你的数据和指令放在寄存器或者内存里面,等到你的程序执行到了相应的位置,就去取相应的数据,这也就是所谓的寻址,所以了解分段是很重要的,由于8086的架构有20根地址线,但是寄存器最多也只能装下16位,为了解决这个矛盾,聪明的设计师们就采用给了分段的机制,也就是把2的20次方(即1M)的内存分成了很多段,每一段的大小就是好寄存器刚好能寻址的能力(2的16次方=64KB),所以才会有CS:IP、DS:DX这种格式来表示数据,冒号前面的部分就是段地址,冒号后面的就是相对于该段地址的一个偏移量,数学学得好的人应该不难想像,一个绝对地址=基地址+偏移量,所以我们要找到一个数据的存放地址,就 要知道它的基地址和偏移量,基地址就是段地址向左移动四位得到的,因为段寄存器也是16位的容量,左移4位就刚好20位,和cpu的寻址范围一致,刚开始初学者不一定懂前辈们的巧妙心思,所以学会计算就行了。
用了这么多口水,只是想说,汇编语言不难学,如果你觉得难学,一定是你不够用心,如果你觉得我说得不对,你现在自己扪心自问,你花了多少时间来认真学习它?我敢保证,一周时间都没有。认真学习的话,要通过考试,一周时间足矣,好好加油吧!希望你不要把学习当成一种负担,等到工作了你就知道能静静地坐在教室里学习是多么地快乐!
祝你好运~
热心网友
时间:2022-08-11 22:02
如果只是想编写.就多多编程序就可以了.每条指令都自己用一下...这样就行了...
如果想清楚的了解...那就看书呗..只能这样了...听课.看书...
因为我属于前者.所以如果你是后者的情况.我就没有办法了.
多写程序..这才是王道
热心网友
时间:2022-08-12 00:10
刚开始都不入门
比较郁闷
时间长了好像自然就都会了
按照咱们中国人的学习习惯
还是多做题吧