精华内容
下载资源
问答
  • 中断返回指令

    千次阅读 2009-05-02 09:30:00
    为了实现此项功能,指令系统提供了一条专用的中断返回指令。该指令的格式如下: IRET/IRETD 该指令执行的过程基本上是INT指令的逆过程,具体如下: ◆、从栈顶弹出内容送入IP; ◆、再从新栈顶弹出内容送入CS; ◆、...

     当一个中断服务程序执行完毕时,CPU将恢复被中断的现场,返回到引起中断的程序中。为了实现此项功能,指令系统提供了一条专用的中断返回指令。该指令的格式如下:
    IRET/IRETD
    该指令执行的过程基本上是INT指令的逆过程,具体如下:
    ◆、从栈顶弹出内容送入IP;
    ◆、再从新栈顶弹出内容送入CS;
    ◆、再从新栈顶弹出内容送入标志寄存器;

    对80386及其以后的CPU,指令IRETD从栈顶弹出32位内容送入EIP。
    8.2.4 中断和子程序的比较
    中断和子程序调用之间有其相似和不同之处。它们的工作过程非常相似,即:暂停当前程序的执行,转而执行另一程序段,当该程序段执行完时,CPU都自动恢复原程序的执行。
    如图8.3所示。 
    图8.3 中断和子程序调用的工作过程
    它们的主要差异有:
    ◆、子程序调用一定是程序员在编写源程序时事先安排好的,是可知的,而中断是由中断源根据自身的需要产生的,是不可预见的(用指令INT引起的中断除外);
    ◆、子程序调用是用CALL指令来实现的,但没有调用中断的指令,只有发出中断请求的事件(指令INT是发出内部中断信号,而不要理解为调用中断服务程序);
    ◆、子程序的返回指令是RET,而中断服务程序的返回指令是IRET/IRETD。
    ◆、在通常情况下,子程序是由应用系统的开发者编写的,而中断服务

     

    出处:http://www.zxbc.cn/html/20070428/7672.html

    展开全文
  • 中断指令

    2019-12-21 11:08:35
    中断指令并不是指令系统中的一条真正的指令,它没有操作码,所以中断指令是一种不允许、也不可能为用户使用的特殊指令。其所完成的操作主要有: (1)保存断点 为了保证在中断服务程序执行完毕能正确返回原来的...

    中断隐指令指CPU响应中断之后,经过某些操作,转去执行中断服务程序的一种操作。
    中断隐指令并不是指令系统中的一条真正的指令,它没有操作码,所以中断隐指令是一种不允许、也不可能为用户使用的特殊指令。其所完成的操作主要有:
    (1)保存断点
    为了保证在中断服务程序执行完毕能正确返回原来的程序,必须将原来程序的断点(即程序计数器(PC)的内容)保存起来。断点可以压入堆栈,也可以存入主存的特定单元中。
    (2)暂不允许中断
    暂不允许中断即关中断。在中断服务程序中,为了保护中断现场(即CPU主要寄存器的内容)期间不被新的中断所打断,必须要关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。
    并不是所有的计算机都在中断隐指令中由硬件自动地关中断,也有些计算机的这一操作是由软件(中断服务程序)来实现的。中断服务程序一般用来保存通用寄存器和状态寄存器的内容。
    (3)引出中断服务程序
    引出中断服务程序的实质就是取出中断服务程序的入口地址送程序计数器(PC)。对于向量中断和非向量中断,因此中断服务程序的方法是不相同的。

    展开全文
  • 程序控制类指令中断指令

    千次阅读 2018-12-11 21:23:26
    1. 中断指令 中断指令的执行过程 例: 2. 中断返回指令

    在这里插入图片描述

    1. 中断指令

    在这里插入图片描述

    • 中断指令的执行过程
    • 在这里插入图片描述
    • 例:
      在这里插入图片描述
      在这里插入图片描述

    2. 中断返回指令

    在这里插入图片描述

    展开全文
  • 中断&中断返回

    千次阅读 2017-02-20 14:54:18
    2、将当前指令的下一条指令地址入栈(返回地址) 3、跳转到函数体执行,在函数体开始执行时还需要完成一部分操作:ebp入栈,将ebp指向esp(栈顶),分配所需字节的临时空间,保存寄存器 汇编代码 ...

    中断


    1、将所有参数或一部分参数入栈
    2、将当前指令的下一条指令地址入栈(返回地址)
    3、跳转到函数体执行,在函数体开始执行时还需要完成一部分操作:ebp入栈,将ebp指向esp(栈顶),分配所需字节的临时空间,保存寄存器


    汇编代码


    1. push ebp    /*将old ebp入栈*/

    2. mov ebp,esp    /*将ebp指向栈顶,经过上面的一步,此时esp即指向了old ebp的位置,因此完成将ebp寄存器指向old ebp的功能*/

    3. sub esp,临时空间字节数    /*可选,根据局部变量的具体情况来定*/

    4. push寄存器名    /*可选,即保存寄存器的值,对于多个寄存器来说可以重复多次*/


    中断返回

    1、将寄存器出栈,还原需要保存的寄存器值
    2、将ebp的地址赋给esp,即回收临时空间 
    3、ebp出栈,还原ebp值 
    4、ret 执行原来保存的当前指令的下条指令

    汇编代码

    1. pop寄存器名    /*对应于上面的最后一步操作,有n个寄存器就需要出栈n次*/

    2. mov esp,ebp    /*将esp指向ebp指向的位置,简单来说就是将栈顶设置在了old ebp的具体存储位置上,那么堆与局部变量的部分就属于了栈外,相当于回收了局部变量占用的空间*/

    3. pop ebp    /*将ebp的值恢复*/

    4. ret    /*位于ebp上面的部分就是返回地址,从而ret命令获取返回地址,并跳转到该位置上,于是完成了一个函数的调用结束返回的工作*/



    展开全文
  • 这里写目录标题先验知识回顾控制寄存器回顾1、8086中断类型1、外部可屏蔽中断2、外部不可屏蔽中断3、除法错中断4、单步中断5、断点中断6、溢出...屏蔽中断响应2、外部不可屏蔽中断响应3、内部中断响应4、8086中断返回...
  • 汇编语言中断指令

    2017-04-04 20:24:00
    中断指令为INT指令,格式为INT 中断向量号,比较常用的中断向量号是21H,完整的中断指令为INT 21H INT 21H的作用是功能中断,即通知CPU要实现某种功能,因此需要配合功能号使用,功能号保存在AH寄存器中。 例子1:...
  • 中断、int指令、端口 x86汇编

    千次阅读 2015-12-31 19:48:39
    第二部分,int指令中断以及BIOS和DOS中断服务函数 第三部分,介绍了端口 中断中断的产生有如下情况的时候会产生中断: 1. 除法错误 2. 单步执行 3. 执行into指令 4. 执行int指令 8086CPU用中断类型号来...
  • 操作系统-中断指令

    千次阅读 2018-02-12 00:36:03
    中断指令并不是指令系统中的一条真正的指令,它没有操作码,所以中断指令是一种不允许、也不可能为用户使用的特殊指令。其所完成的操作主要有: (1)保存断点 为了保证在中断服务程序执行完毕能正确返回原来的...
  • int指令(软件中断指令

    千次阅读 2017-12-26 20:11:46
    INT(软件中断指令)是CALL指令的一种特殊形式。call指令调用调用的子程序是用户程序的一部分,而INT指令调用的操作系统提供的子程序或者其他特殊的子程序。   中断服务子程序和标准过程的最大区别是 汇编程序可以...
  • 是指中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续...
  • ARM 软中断指令SWI

    万次阅读 多人点赞 2016-03-01 22:35:40
    前面我们学习ARM工作模式中,处理器模式切换可以通过软件控制进行切换...于是ARM指令集中提供了两条产生异常的指令,通过这两条指令可以用软件的方法实现异常,其中一个就是中断指令SWI 。   一、软件中断  软中
  • 170427 汇编-内中断指令和设置

    千次阅读 2017-04-27 21:39:28
    1625-5 王子昂 总结《2017年4月27日》 【连续第208天总结】 A. 汇编语言 第十二章 100% B. CPU的中断过程为: ...取得中断类型码 ...从中断向量表中读取中断...返回中断指令是iret,与ret类似,从栈中读出IP、CS的值送
  • ARM中断返回地址详细分析

    千次阅读 2016-09-07 09:25:33
    ARM中断返回地址详细分析 在ARM体系中,通常有以下3种方式控制程序的执行流程: 1、在正常执行过程中,每执行一条ARM指令,程序计数器PC的值加4个字节;每执行一条Thumb指令,程序计数器PC加2个字节。整个过程是...
  • INT(软件中断指令)是CALL指令的一种特殊形式。call指令调用调用的子程序是用户程序的一部分,而INT指令调用的操作系统提供的子程序或者其他特殊的子程序。 中断服务子程序和标准过程的最大区别是 汇编程序可以...
  • 1.5.3 访管指令与访管中断

    万次阅读 多人点赞 2016-06-19 22:57:22
    在用户程序中,因要求操作系统提供服务而有意识地使用访管指令,从而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断。访管中断由访管指令产生,程序员使用访管指令向操作系统请求服务。 为...
  • ARM中断返回PC值分析

    千次阅读 2016-05-18 11:07:08
    ARM中断返回PC值分析 在ARM程序的开发过程中,对中断的处理是很普遍的、也是相当重要的。Realview MDK使用的RVCT编译器提供了__irq关键字,用此关键字修饰的函数被作为中断来函数编译,即在编译的过程中,编译器...
  • 汇编语言----中断指令

    千次阅读 2017-01-01 17:21:13
    (1)中断指令  格式 : INT n  功能 : 产生一个中断类型号为n的软中断  指令完成的操作  a.标志寄存器入栈  b.断电地址入栈 : cs先入栈,然后ip入栈  c.从中断向量表中获取中断服务程序入口地
  • Ubuntu 中断操作快捷键、指令

    千次阅读 2016-11-26 14:28:18
    /******************************vi编辑器的使用******************************/ 【13】vi编辑器的三种工作模式 (1)命令行模式:最初进入的模式,可以进行复制,粘贴等操作 (2)插入模式: 可对文件...
  • 但各种模式返回的方法却又区别 1.SWI和UNDEF异常(即软件中断) PC值未更新 这种情况下我们使用: MOVS PC,LR 通常这种中断是由当前执行的指令所引起的,当中断发生的时候,PC指向当前指令后面...
  • 子程序调用和中断指令

    千次阅读 2007-05-20 17:25:00
    子程序的调用及返回指令1.调用call dst;调用的时候ip或eip压栈将机器执行的当前值(即call指令的下一条指令的地址)压入堆栈以便子程序返回用。2.返回ret返回时ip出栈带参数的返回指令 ret NN是一个16位的常数(偶数...
  • 分析指令,对指令的操作码部分进行阶码,分析这条指令要完成什么功能,是指令集中哪一条指令 执行指令,CPU的控制器发出各种操作命令,由这些操作命令控制相应的部件去完成指令要求的操作,这些操作命令具有...
  •  开关中断发生在: 1 中断指令会关中断、2 Do_IRQ过程中会开/关中断、3返回时IRET指令恢复EFLAGS会开中断 2 cpu上正在运行的是现行程序(各种主动的内核/用户的线程/进程)   这种情况下中断也应该是打开...
  • 4、int指令和iret指令的配合使用与call指令和ret指令的配合使用有异曲同工之妙。 5、BIOS和DOS中断例程的安装过程:  a、开机后,CPU 一加电,初始化(CS)=0FFFFH,(IP)=0,自动从FFFF:0单元开始执行程序。FFFF:...
  • 重要基础知识:R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,因此 PC总是指向第三条...
  • SWI指令---软件中断实例详解

    千次阅读 2015-06-01 15:54:39
    SWI指令---软件中断实例详解 关键字: SWI,指令,软件中断,实例,详解 SWI,即software interrupt软件中断。该指令产生一个SWI异常。意思就是处理器模式改变为超级用户模式,CPSR寄存器保存到超级用户模式下的SPSR...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,063
精华内容 46,425
关键字:

中断返回使用的指令