精华内容
下载资源
问答
  • 2、调用子程序:是指调用子程序的指令,包括调用指令(转子指令)和返回指令(返主指令)。二、特点不同1、调用中断服务程序:当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个...

    一、主体不同

    1、调用中断服务程序:可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的。

    2、调用子程序:是指调用子程序的指令,包括调用指令(转子指令)和返回指令(返主指令)。

    二、特点不同

    1、调用中断服务程序:当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作。

    2、调用子程序:子程序调用指令用于实现程序与程序之间的转移,与转移指令不同(转移指令用于实现同一程序内的转移)。子程序调用指令还可以进行嵌套调用,即可调用别的子程序,还可以实现递归调用。

    1e94f7ca13f925ed58589156cc56b238.png

    三、方式不同

    1、调用中断服务程序:保护被中断进程现场。为了在中断处理结束后能够使进程准确地返回到中断点,系统必须保存当前处理机程序状态字PSW和程序计数器PC等的值。

    2、调用子程序:把常用的程序段编写成独立的子程序或过程,在需要时随时调用,调用子程序需要用到调用指令。

    参考资料来源:百度百科-子程序调用指令

    参考资料来源:百度百科-中断服务程序

    展开全文
  • 汇编之控制转移指令之子程序中断指令和系统功能调用前言子程序CALL调用指令RET返回指令中断指令和系统功能调用中断中断中断种类中断向量软中断指令中断响应过程中断嵌套中断处理程序设计设置中断向量DOS系统...


    前言

    子程序

    在汇编语言中将某些具有独立功能的部分编写成独立的程序模块,称之为子程序。
    在这里插入图片描述

    CALL调用指令

    在这里插入图片描述
    段内调用也分直接和间接;
    段间调用也分直接和间接。
    在这里插入图片描述
    段内调用,只需要IP进栈
    段间调用,需要IP和CS进栈

    RET返回指令

    中断指令和系统功能调用

    中断与中断源

    中断种类

    中断向量

    软中断指令

    中断响应过程

    中断嵌套

    中断处理程序设计

    设置中断向量

    DOS系统功能调用

    展开全文
  • 所以,中断子程序中不要写调用延时子程序,中断子程序也不要写得过长,处理过多的任务,要尽快处理后及时返回,如果中断一次有很多任务需要执行完全,可以在中断子程序中设置一个标志位,在主程序中查这个标志位,当...

    A回答:
    通常在中断子程序中是不调用延时子程序的,这样会增加中断处理时间,如果有其它低级中断了,就会延误响应中断了。

    所以,中断子程序中不要写调用延时子程序,中断子程序也不要写得过长,处理过多的任务,要尽快处理后及时返回,如果中断一次有很多任务需要执行完全,可以在中断子程序中设置一个标志位,在主程序中查这个标志位,当标志为1时,就在主程序中完成这些任务,这样就不会影响其它中断源的中断,也不会使中断产生混乱。

    首先,对于CPU频率的理解,1Mhz的频率CPU周期就是1us(1 / 1000000秒)
    B回答:
    1、既然1Mhz对应1us(也就是1us对应一个指令周期,不考虑流水线的单指令周期),这样,一个指令周期就对应一条指令。

    2、假设每条指令都有2个字节大小(16位指令),这样,1ms时间内1Mhz的CPU可以大约运行2KB的代码。因此如果中断处理函数的代码越接近2KB,则越容易对中断。

    3、假设一个10Khz外设,中断处理程序允许的最大安全尺寸是多少?

    易Cortex M3为例,支持16/32位指令操作(大部分为单周期指令),假设主频为72Mhz,100Khz相当于100us 。

    则如果是16位指令(前面算过1ms 2KB代码),72 * 100 * 2到72 * 100 * 4之间(14.4~28.8),去最小14.4KB。

    展开全文
  • 子程序调用和中断指令

    千次阅读 2007-05-20 17:25:00
    调用的时候ip或eip压栈将机器执行的当前值(即call指令的下一条指令的地址)压入堆栈以便子程序返回用。2.返回ret返回时ip出栈带参数的返回指令 ret NN是一个16位的常数(偶数),该指令是将返回地址弹入ip或eip后在...

    子程序的调用及返回指令

    1.调用call dst;
    调用的时候ip或eip压栈将机器执行的当前值(即call指令的下一条指令的地址)压入堆栈以便子程序返回用。
    2.返回ret
    返回时ip出栈
    带参数的返回指令 ret N
    N是一个16位的常数(偶数),该指令是将返回地址弹入ip或eip后在执行sp/esp+N -->sp/esp.
    该指令允许返回地址出栈后修改堆栈的指针,这便于调用子程序以前把子程序所需要的参数入栈,
    以便子程序运行时使用这些参数。当子程序返回后,这些参数已不再使用,就可以修改指针使其指向参数入栈
    以前的值。

    中断指令
    中断服务程序可以被认为是一种特殊的子程序,可以被存放在主存的任何位置。中断服务程序的首(起始、入口)地址,被安排在中断向量表中。
          中断向量表设置在主存的最低1KB区域内,物理地址000H ~ 3FFH。向量表从0开始,每4个字节(双字)对应一个中断,低字存放中断服务程序的偏移地址IP,高字存放其段地址CS。中断向量号n的中断服务程序存放在中断向量表4×n的物理地址处。
          中断时,为保证中断服务程序正确返回原来的程序,要把被中断程序的断点处逻辑地址CS : IP压入堆栈保存,还要保存反映现场状态的标志寄存器FLAGS。然后,将中断服务程序的入口地址送CS和IP寄存器转去执行中断服务程序。
          中断服务程序执行完后返回原程序时,应恢复堆栈中保存的断点地址CS : IP,以及标志寄存器。中断返回指令IRET实现从中断服务程序返回原程序
      1. int n   ;产生中断类型为n的中断
      2. into;溢出中断指令
      3. iret;中断返回指令 相关内容要出栈


    int 21h;系统功能调用指令
    通过用int 21h;再调用每个功能事先规定的功能号,就可以进入相应的中断服务程序入口。

    如何使用21号中断?
    答:把功能调用编号置于寄存器AH中,设置入口参数,cpu执行int 21h,最后给出出口参数。
    举例:
    mov ah,1;功能号01h->ah
    int 21h;调用21h号软中断
    功能:等待键盘输入,并回送显示器。

    mov dl,41h;       将字符A的ASCII码,送->DL
    mov ah,2;         21h的2软中断,将dl内容显示到屏幕上
    int 21h

    mov ah,4ch;
    int 21h;  功能号4ch终止程序,返回dos

     

    展开全文
  • 中断服务子程序是如何被执行的 ?

    千次阅读 2020-05-25 00:07:18
    笔者在 《程序是如何在 CPU 中运行的(二)》中从 PC 指针寄存器的角度分析了一级函数调用和二级函数调用执行的过程,那么中断服务子程序又是如何被执行的呢?两者的相同点和不同点是什么呢?该篇文章笔者将详细地阐述...
  • 1、两过程定义与作用 子程序是微机基本程序结构中的1种,基本程序结构包括顺序(简单)、分支(判断)、循环、...一般微机首先执行主程序,碰到调用指令就转去执行子程序子程序执行完后,返回指令就返回主程序断点...
  • 子程序调用和中断的几个概念

    千次阅读 2015-10-10 15:54:01
     完成子程序调用/中断需要几个概念: 入口地址。程序是一组指令,第一条指令的地址称为程序的入口地址。 中断和断口地址。一个程序在执行的过程中去执行另一个程序,我们称之为中断,程序中断时的下一条指令的地址...
  • 实验三 中断子程序设计 一. 实验目的 1、掌握子程序、宏和中断程序的设计方法; 2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。 二. 实验内容 1. 编写一个子程序计算z=f(x,y)=x/y+x-y...
  • 中断返回指令

    千次阅读 2009-05-02 09:30:00
    为了实现此项功能,指令系统提供了一条专用的中断返回指令。该指令的格式如下: IRET/IRETD 该指令执行的过程基本上是INT指令的逆过程,具体如下: ◆、从栈顶弹出内容送入IP; ◆、再从新栈顶弹出内容送入CS; ◆、...
  • 程序是一组可以公用的指令序列,只要给出子程序的入口地址就能从主程序转入子程序子程序在功能上具有相对的独立性,在执行主程序的过程中往往被多次调 用,甚至被不同的程序所调用。一般微机首先执行主程序,碰到...
  • 中断处理程序入口程序CS:IP 中断号*4 例:int 21h 21h*4=84h (低字存放IP,高字存放CS) 则中断指令的入口地址 IP存放0084h,0085h 入口地址CS存放0086H 0087H 中断调用 INT 21H DOS中断调用步骤 第一步:置...
  • 中断调用和子程序的调用的异同

    千次阅读 2013-06-06 18:08:00
    1、两过程定义与作用 子程序是微机基本程序结构中的1种,基本程序结构包括顺序(简单)、分支(判断)、循环、子程序...一般微机首先执行主程序,碰到调用指令就转去执行子程序子程序执行完后,返回指令就返回主程...
  • 0x00 子程序指令 主程序与子程序的运行... 当运行完子程序功能后,采用RET返回指令回到主程序继续执行CALL指令 1.CALL指令分为4种类型(类似JMP) CALL label ;段内调用、直接寻址 CALL r16/m16 ;段内调用、间接寻
  • 然后,系统将控制返回至调用子程序网络中的主程序。子程序用于为程序分段和分块,使其成为较小的、更易管理的块。在程序中调试和维护时,您可以利用这项优势。通过使用较小的程序块,对这些区...
  • 实验16 编写包含多个功能子程序中断例程 测试程序 一、实验要求1、完全测试实验16中断例程17ch的所有功能,包含清屏、改变前景色、改变背景色、向上滚动一行2、用一个菜单来提示用户输入3、通过判断用户输入的...
  • 微机原理指令系统 主程序 子程序 堆栈指针 调用子程序(或过程)或发生中断时要保护断点的地址, 子程序中断返回时恢复断点
  • 子程序是一组可以公用的指令序列,只要给出子程序的入口地址就能从主程序转入子程序子程序在功能上具有相对的独立性, 在执行主程序的过程中往往被多次调用,甚至被不同的程序所调用。一般微机首先执行主程序,...
  • 中断服务程序设计实验

    千次阅读 2014-04-27 19:54:28
    中断服务程序设计实验 2.7.1 实验目的 1、 熟悉中断的概念、中断响应过程、中断向量表以及系统是如何根据中断类型号在中断向量表中得到该中断对应的中断服务程序的入口地址等内容。 2、 掌握中断服务程序的...
  • 中断&中断返回

    千次阅读 2017-02-20 14:54:18
    2、将当前指令的下一条指令地址入栈(返回地址) 3、跳转到函数体执行,在函数体开始执行时还需要完成一部分操作:ebp入栈,将ebp指向esp(栈顶),分配所需字节的临时空间,保存寄存器 汇编代码 ...
  • 因为ARM指令是三级流水线就是说取指,译指,执行时同时执行的 ,这样说吧,现在PC指向的是正在取指的地址,那么cpu正在译指的指令地址是PC-4(假设在ARM状态下,一个指令占4个字节),cpu正在执行的指令地址是PC-8....
  • 4.0 利用子程序中断 已经掌握了汇编语言?没错,你现在已经可以去破译别人代码中的秘密。然而,我们还有一件重要的东西没有提到,那就是自程序和中断。这两件东西是如此的重要,以至于你的程序几乎不可能离开它们...
  • PIC单片机中断服务程序

    千次阅读 2017-08-03 20:48:55
    中断服务程序有一个特殊的定义方法: void interrupt ISR(void);其中的函数名“ISR”可以改成任意合法的字母或数字组合,但其入口参数和返回参数类型必须是“void”型,亦即没有入口参数和返回参数,且中间必须有一...
  • 是指中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续...
  • 8086中断处理程序分析

    千次阅读 2017-09-02 14:50:41
    中断处理程序的入口地址,即中断向量必须存储在对应的中断向量表表项中,通俗的讲就是中断处理程序的地址放在一块内存中,这块存储中断处理程序的入口的地址空间叫中断向量表,而实际地址就叫中断向量
  • arm_linux中断子系统

    千次阅读 2018-04-20 15:22:37
    1. Arm Linux 中断子系统1.1. 中断硬件系统3个组成部分:外设(中断源)、中断控制器、CPU1.2. Linux中断子系统4个部分:普通外设驱动、Linux kernel通用中断处理模块(硬件无关代码)、CPU架构相关处理、中断...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,749
精华内容 36,699
关键字:

中断子程序的返回指令是