您的位置:首页 > 其它

《汇编语言·王爽》读书笔记

2014-02-14 17:21 274 查看
花了四天时间把王爽老师的《汇编语言》读了一遍,个人觉得,王老师这本书写得比较浅显易懂,非常适合入门的朋友。里面有很多的问题的解决都直接贴出了思考的过程,非常详细。

下面是我的一些收获:

1、汇编语言由三类指令组成,分别是汇编指令,伪指令,其他符号。汇编指令是指机器码的助记符,有着对应的机器码;伪指令则没有对应的机器码,由编译器执行处理,计算机本身不执行;其他符号如“+、-、*”等,同样由编译器进行处理。

2、在内存或磁盘上,指令和数据没有区别。这句话在汇编层面可以得到更好的理解。

3、总线分为地址总线,控制总线和数据总线。地址总线决定了寻址宽度;控制总线决定CPU对外部器件的控制能力;数据总线决定了CPU和外界的数据传送速度。

4、在8086CPU中,段的起始地址一定是16的倍数,最大段长为64KB。

5、8086CPU有四个段地址寄存器,分别是CS、DS、SS、ES。段寄存器不能够用立即数传值(硬件不允许)。不能用mov指令设置CS/IP的值,但可以使用jmp等跳转指令。

6、SS:SP在任意时刻指向栈顶元素,在debug设置了SS寄存器的值,会忽略单步中断,直接执行紧接着的一条指令(为了让ss和sp成对操作,一般默认把设置sp的语句放在紧跟着设置ss的语句之后),然后才会开始处理中断。

7、push和pop都是以字为单位(寄存器、段寄存器、内存单元)进行的。push先执行sp=sp-2在将数据存入指定位置;pop先将数据读出,在执行sp=sp+2。

8、将寄存器清零的方法,sub ax,ax(2个字节)或者mov ax,0(3个字节)

9、求2的n次幂采用加法解决速度更快(mov ax,2;add ax,ax;add ax,ax)

10、在汇编的源程序中,数据不能以字母开头,因此在以字母开头的数据的前面要加上一个0.

11、汇编程序的末尾有一个end伪指令,标志的程序的结束;由“end 标号”可以指定在“标号”的位置开始程序。

12、将一个字母转换大小写,除了将其ASCII值加上或减去20H之外,还可以选择将该字母的二进制数位的第六位置为0/1(从右往左)

13、在寄存器相对寻址的中括号中,只能出现bx+si,bx+di,bp+si,bp+di四种组合出现;bp没有显示给出段地址则其默认段地址放在ss中,bx默认放在ds中。

14、所有的条件转移指令和循环指令都是短转移;编译器在处理转移指令时采用了AC计数器(字节),每读到一个标号或者跳转指令都会在自己的列表里面查找,看是否有指令指向该标号,如果没有则将其存入列表中,若找到则将其指令的后面的跳转位移进行设置。

15、adc和add、sub和sbb的区别在于adc和sbb在运算时会用上cf中的值。

16、df标志位决定在使用串传送指令时si和di的值会进行递增(df=0)或者递减(df=1);使用cld可以置df为0,使用std可以置df为1;movsb(字节)和movsw(字)用于将数据从ds:si复制到es:di(设置好cx的值,使用rep movsb或者rep movsw可以完成传送任务)

17、8086CPU的中断类型码:除法错误:0;单步执行:1;执行into指令:4;执行int n指令:n

对于8086PC,中断向量表指定放在内存地址0处(0000:0000~0000:03ff);一个表项占两个字,高地址存放段地址,低地址放偏移地址。

18、中断响应构成:取得中断类型码N;标志寄存器入栈(pushf),设置TF=0,IF=0;CS、IP入栈;在中断向量表找到对应的段地址和偏移地址分别付给CS和IP

19、开机过程:CPU加电-->初始化(CS)=0FFFFH,(IP)=0-->从FFFF:0开始执行指令(该处为一条跳转指令)-->跳转执行BIOS中的硬件系统检测盒初始化程序-->建立中断向量表(登记中断例程)-->int 19h-->引导操作系统。

20、在in和out指令中,只能用ax或者al来存放从端口中读入的数据或者要发送的数据。访问8位端口用al,访问16位端口用ax,端口号放在dx中(mov dx,ax)

21、PC机键盘处理:

键盘操作-->通码/断码-->60h端口-->外中断9号(int 9h)-->中断处理-->

读出60h端口扫描码,进行判断,如果是字符键,则查找出其对应的ASCII码作为其字符码,接着将其(扫描码和字符码)传入内存中的BIOS键盘缓冲区(可以容纳15个键盘输入);如果是控制键或者是切换键则在内存中设置相应的状态字节的单位。最后对键盘系统进行相关的控制。

以上只是一部分笔记的整理,个人觉得这本书还是比较的浅显易懂,比较适合入门学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: