汇编网首页登录博客注册
sirius的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
文章收藏
友情链接

[2008-05-29 15:57] 汇编指令总结

一.数据传送指令

1.传送指令(move)
语句格式:mov opd,ops
功能:将源操作数ops,传送至目的地址opd中,即(ops)->opd
影响标志位:无

2.数据交换指令(exchange)
语句格式:xchg opd,ops
功能:将源地址与目的地址中的内容互换,(opd)->ops,(ops)->opd
影响标志位:无

3.查表转换指令(translate)
语句格式:xlat ops或xlat
功能:描述为([bx+al])->al,即将以(bx)为首址,(al)为位移量的字节存储单元中的内容传送至al中
影响标志位:无

4.传送偏移...
阅读全文 | 评论次数(4) | 浏览次数(2730) | 所属类型(学习笔记)

[2008-05-20 15:04] 第十七章学习笔记

1.键盘输入将引发9号中断,BIOS提供了int 9中断例程。CPU在9号中断发生后,执行int 9中断例程,从60h端口读出扫描码,并将其转化为相应的ASCII码或状态信息,存储在内存的指定空间(键盘缓冲区或状态字节)中。键盘缓冲区中有16个字单元,可以存储15个按键的扫描码和对应的ASCII码。缓冲区中高位字节存储扫描码,低位字节存储ASCII码。

2.BIOS提供的int 16h中断例程的0号功能进行如下的工作:
(1)检测键盘缓冲区中是否有数据;
(2)没有则继续做第1步;
(3)读取缓冲区第一个字单元中的键盘输入;
(4)将读取的扫描码送入ah,ASCII码送入al; ...
阅读全文 | 评论次数(2) | 浏览次数(1235) | 所属类型(学习笔记)

[2008-05-11 20:44] 第十六章学习笔记

1.数据标号:标记了存储的单元的地址和长度的标号,它不同于仅仅表示地址的地址标号。使用这种包含单元长度的标号,使我们可以以简洁的形式访问内存中的数据。

2.在后面加有冒号的地址标号只能在代码段中使用,不能在其他段中使用。如果想在代码段中直接用数据标号访问数据,则需要用伪指令assume将标号所在的段和一个段寄存器联系起来,这种联系是编译器的需要,以便在编译时确定标号的段地址在哪个寄存器中。

3.可以将标号当作数据来定义,此时,编译器将标号所表示的地址当作数据的值。

4.利用表,在两个数据集合之间建立一种映射关系,使我们可以用查表的方法根据给出的数据得到其在另一集合中的对应数据...
阅读全文 | 评论次数(0) | 浏览次数(1181) | 所属类型(学习笔记)

[2008-05-06 23:45] 第十五章学习笔记

1.CPU通过端口和外部设备进行联系。外设的输入不直接送入内存和CPU,而是送入相关的接口芯片的端口中;CPU向外设的输出也不是直接送入外设,而是先送入端口中,再由相关的芯片送到外设。CPU对外设的控制命令也是先送到相关芯片的端口中然后再由相关的芯片根据命令对外设实施控制。

2.在PC系统中,外中断源一共的两类:
(1)可屏蔽中断:可屏蔽中断是CPU可以不响应的外中断。CPU是否响应可屏蔽中断,要看标志寄存器的IF位的设置。当CPU检测到可屏蔽中断信息时,如果IF=1,则CPU要执行完当前指令后响应中断,引发中断过程;如果IF=0,则不响应可屏蔽中断。
可屏蔽中断引发的中断过程:
...
阅读全文 | 评论次数(1) | 浏览次数(854) | 所属类型(学习笔记)

[2008-05-05 17:12] 第十四章学习笔记

1.PC机中和CPU通过总线相连的芯片除各种存储器外,还有以下三种芯片:
(1)各种接口卡(如网卡、显卡)上的接口芯片,它们控制接口卡进行工作;
(2)主板上接口芯片,CPU通过它们对部分外设进行访问;
(3)其他芯片,用来存储相关的系统信息,或进行相关的输入输出处理。
在以上这些芯片中,都有一组可以由CPU读写的寄存器,CPU将这些寄存器都当作端口,对它们进行统一编址,建立了一个统一的端口地址空间。每个端口在地址空间中都有一个地址。
CPU可以直接读写3个地方的数据:
(1)CPU内部的寄存器;
(2)内存单元;
(3)端口。

2.在PC系统中,CPU最多可以定位64K...
阅读全文 | 评论次数(0) | 浏览次数(620) | 所属类型(学习笔记)

[2008-05-03 21:05] 第十三章学习笔记

1.int指令:可以在程序中用int指令调用任何一个中断的中断处理程序。
格式:int n
功能:引发n号中断的中断过程,n为中断类型码
说明:指令执行过程如下:
(1)取中断类型码n;
(2)标志寄存器入栈,TF=0,IF=0;
(3)CS、IP入栈;
(4)(IP)=(n*4),(CS)=(n*4+2)
然后转去执行n号中断例程。

2.BIOS的主要内容:
(1)硬件系统的检测和初始化程序;
(2)外部中断和内部中断的中断例程;
(3)用于对硬件设备进行I/O操作的中断例程;
(4)其他和硬件系统相关的中断例程。

3.BIOS和DOS中断例程的安装过程:...
阅读全文 | 评论次数(1) | 浏览次数(517) | 所属类型(学习笔记)

[2008-04-29 13:27] 第十二章学习笔记

1.中断及中断信息:CPU可以在执行完当前正在执行的指令之后,检测从CPU外部发送过来的或内部产生的一种特殊信息,这种特殊信息称之为中断信息,此时CPU不再接着(刚执行完的指令)向下执行而是转去处理这个特殊信息,称之为中断。产生中断信息的事件即中断信息的来源简称为中断源。8086CPU用称为中断类型码的数据来标识中断信息的来源,中断类型码为一个字节型数据,可以表示256种中断信息来源。

2.8086CPU内部有下面情况发生时,将产生相应的中断信息:
(1)除法错误,比如divide overflow,中断类型码为0;
(2)单步执行,中断类型码为1;
(3)执行int0指令,中断类...
阅读全文 | 评论次数(0) | 浏览次数(536) | 所属类型(学习笔记)

[2008-04-26 00:07] 第十一章学习笔记

1.8086标志寄存器的作用:
(1)用来存储相关指令的某些执行结果;
(2)用来为CPU执行相关指令提供行为依据;
(3)用来控制CPU的相关工作方式。

2.8086CPU的标志寄存器flag有16位,其存储的信息称为程序状态字(PSW),flag寄存器按位起作用,它和每一位都有专门的含义,记录特定的信息。在8086指令集中,执行后能够影响标志寄存器的大都是运算指令(进行逻辑或算术运算),而传送指令大都执行后对标志寄存器没有影响。

3.ZF标志(Zero Flag):flag的第六位,零标志位。它记录相关指令执行后,其结果是否为0。如果结果为0,则置ZF=1,如果结果不为0...
阅读全文 | 评论次数(1) | 浏览次数(583) | 所属类型(学习笔记)

[2008-04-14 22:38] 第十章学习笔记

1.ret指令:用栈中的数据,修改IP的内容,从而实现近转移。
CPU执行ret指令时,进行下面两步操作:
(1)(IP)=((ss)*16+(sp))
(2)(sp)=(sp)+2
类似于
pop IP(语句不合法,只是一种解释)

2.retf指令:用栈中的数据,修改CS和IP的内容,从而实现远转移。
CPU执行ret指令时,进行下面四步操作:
(1)(IP)=((ss)*16+(sp))
(2)(sp)=(sp)+2
(3)(cs)=((ss)*16+(sp))
(4)(sp)=(sp)+2
类似于
pop IP
pop CS

3.call指令:cal...
阅读全文 | 评论次数(1) | 浏览次数(502) | 所属类型(学习笔记)

[2008-04-12 22:19] 第九章学习笔记

1.转移指令是能够修改IP或同时修改CS和IP来控制CPU执行内存中某处的代码的指令。只修改IP的称为段内转移,同时修改CS和IP的称为段间转移。其中段内转移又根据对IP的修改范围不同分为短转移(-128~127)和近转移(-32768~32767)。8086CPU的转移指令分为五类:无条件转移指令、条件转移指令、循环指令、过程、中断。

2.操作符offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址。

3.jmp为无条件转移指令,可以只修改IP,也可以同时修改CS和IP。jmp指令要给出两种信息:转移的目的地址和转移的距离(段间转移、段内短转移、段内近转移)。...
阅读全文 | 评论次数(2) | 浏览次数(1452) | 所属类型(学习笔记)
页码数(2):  1  2