jcst.net
当前位置:首页 >> 中断指令intn和irEt异同点 >>

中断指令intn和irEt异同点

ret 是普通的子程序的返回指令 iret 是中断服务子程序的返回指令 对堆栈的操作不同

在LC正弦波振荡电路中,不用通用型集成运算放大器作放大电路的原因是其上限截止频率太低,难以产生高频振荡信号. ( )

INTR是可屏蔽外部中断,由外部设备向CPU发出请求,是随机的;而INT n中断属于软件中断,是在程序中写出来的,int n指令写在什么位置,中断就发生在那里,所以int n中断发生的位置相当于是已知的,是由编程人员设定的.

中断指令INT和中断返回指令IRET的执行过程是:INTn:①SP减2,把标志寄存器的值(记为FLAGS)推入堆栈

EI是中断开放指令,DI是中断禁止指令.这两条指令比较简单,PLC执行到EI指令就开放中断,执行到DI指令就禁止中断.这是因为PLC中断控制电路上有一个“软开关”,这个“软开关”在PLC上电初始化时是断开的,EI的作用就是接通这个

1 . EI 是允许中断功能指令.驱动此指令后PLC就允许接通中断功能. IRET是中断子程式返回指令.中断子程式运行到此步就返回到中断跳转处继续运行主程式. FEND是主程式结束子指令.2.从I001标志开始到IRET这一段程式为中断程式.3.当开了中断以后,只要X000有信号输入触发了中断,那主程式不管运行到那里都会立该暂停并马上跳转到中断子程序处执行中断程式,中断程式运行完以后就会返回到主程式暂停那个位置继续执行主程式运行.

子程序是一段程序代码,是独立的一个执行部分,你主程序调用就执行,不调用就不执行;而中断服务程序也是是一段程序代码,是独立的一个执行部分;但是只在你主程序开了中断,并且有中断条件(不如中断口接收到低电平,定时时间到了)才会去执行,并且中断服务程序会将你主程序运行时的PC指针寄存器,A累加器就信息都会入栈保护;退出中断后又会出栈进行还原;而子程序则不会;

ret 弹出一个参数,给ip,返回retf 弹出2个参数,一个给 ip,一个给 csiref 弹出 3个参数,一个给 ip,一个 给 cs ,一个 个 flag标志位他们都是返回调用点的,看你调用的时候,用的什么调用的,是 call 段内转移 ,还是call 段间转移,还是int 调用中断

1、 将标志寄存器的值压栈;2、 将标志寄存器IF和TF清零;3、 压栈保护现场(int的下一条指令地址);4、 根据中断类型从中断向量表获取中断向量(终端服务程序入口地址)转入中断处理子程序;5、 iret返回指令,恢复现场(程序转向int的下一条指令地址处继续执行).

网站首页 | 网站地图
All rights reserved Powered by www.jcst.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com