来知道电脑站

您的位置: 主页>操作系统> 8086汇编语言指令的寻址方式有哪几类? 哪一种速度更快

8086汇编语言指令的寻址方式有哪几类? 哪一种速度更快

 qzn0212 

8086汇编语言指令的寻址方式有哪几类? 哪一种速度更快


解决方法



SP)←(SP) 2
段间带立即数远返回:RET EXP(同段内带立即数返回

中断
中 断就是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为中断源,称处理紧急事务的程序为中断服务程序或中断处理程序。

中断处理程序基本上是系统程序员编写好的,是为操作系统或用户程序服务的。为了在应用程序中使用中断服务程序,程序员必须能够在程序中有目的地安排中断的发生。为此,指令系统提供了各种引起中断的指令
中断向量表和中断服务程序
中断向量表是一个特殊的线性表,它保存着系统所有中断服务程序的入口地址(偏移量和段地址)。在微机系统中,该向量表有256个元素(0~0FFH),每个元素占4个字节,总共1K字节。
图中的“中断偏移量”和“中断段地址”是指该中断服务程序入口单元的“偏移量”和“段地址”。由此不难看出:假如中断号为N,那么,在中断向量表中存储该中断处理程序的入口地址的单元地址为:4N。
中断指令 INT
一般格式:INT TYPE
其中:立即数TYPE是一个0~0FFH范围内的整数。
指令执行的步骤:
(1)把标志寄存器压栈,清除标志位IF和TF;
(2)把代码段寄存器CS和指令指针寄存器IP的内容压栈;
(3)(IP) ←(TYPE*4),(CS) ←(TYPE*4 2)

溢出指令 INTO
当标志位OF为1时,引起中断。
该指令的格式如下: INTO
该指令影响标志位:IF和TF。
中断返回指令 IRET
当一个中断服务程序执行完毕时,CPU将恢复被中断的现场,返回到引起中断的程序中。为了实现此项功能,指令系统提供了一条专用的中断返回指令。

指令格式: IRET

该指令执行的过程基本上是INT指令的逆过程,具体如下:
(1)从栈顶弹出内容送入IP;
(2)再从新栈顶弹出内容送入CS;
(3)再从新栈顶弹出内容送入标志寄存器;
中断和子程序的比较:
中断和子程序调用之间有其相似和不同之处。它们的工作过程非常相似,即:暂停当前程序的执行,转而执行另一程序段,当该程序段执行完时,CPU都自动恢复原程序的执行。它们的主要差异有:
(1)子程序调用一定是程序员在编写源程序时事先安排好的,是可知的,而中断是由中断源根据自身的需要产生的,是不可预见的(用指令INT引起的中断除外);
(2)子程序调用是用CALL指令来实现的,但没有调用中断的指令,只有发出中断请求的事件(指令INT是发出内部中断信号,而不要理解为调用中断服务程序);
(3)子程序的返回指令是RET,而中断服务程序的返回指令是IRET。
(4)在通常情况下,子程序是由应用系统的开发者编写的,而中断服务程序是由系统软件设计者编写的。

处理机控制和杂项指令
标志处理指令:
CLC 进位位置0指令 ; CF ← 0
CMC 进位位求反指令 ; CF ← ?CF
STC 进位位置1指令 ;CF ← 1
CLD 方向标志位置0指令 ;DF ← 0
STD 方向标志位置1指令 ;DF ← 1
CLI 中断标志位置0指令 ;IF ← 0
STI 中断标志位置1指令 ;IF ← 1

注意:以上指令只影响本指令指定的标志

共2页: 上一页 1 [2] 下一页

上一篇:为什么安装了苹果系统美化包后,系统发生了异常??    下一篇:没有了

操作系统相关文章

操作系统热门文章

操作系统推荐文章