中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?这样做存在什么问题?

中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?这样做存在什么问题?


参考答案和解析
RET应该可以使中断服务程序返回主程序,但因为RET是子程序返回指令,他只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对原程序的继续执行造成不良影响。

相关考题:

PC机中启动硬件中断服务程序执行的是( )。A.主程序中安排的中断指令B.中断控制器发出的中断请求信号C.主程序中安排的转移指令D.主程序中安排的调用指令

PC机中的硬中断服务程序执行的是( )。A.外部中断请求CPU完成的任务B.主程序中安排的中断指令C.主程序中安排的转移指令D.主程序中安排的调用指令

硬中断服务程序结束返回断点时,程序末尾要安排一条指令IRET,它的作用是( )。A.构成中断结束命令B.恢复断点信息并返回C.转移到IRET的下一条指令D.返回到断点处

假设由CALL指令调用的某子程序使用段内返回指令RET4,问该予程序执行到 RET4指令时( )实现返回操作?A.返回到CALL指令下面一条指令继续执行主程序B.按照(SP)和(SP+1)中存放的地址执行返回操作C.按照(SP+4)和(SP+5)中存放的地址执行返回操作D.返回到CALL指令下面第4条指令继续执行主程序

中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?这样做存在什么问题?

要调用子程序,必须在主程序中用M98指令编程,而在子程序结束时用M99返回主程序。

中断服务程序的最后一条指令是IRET 。

如果在子程序中进行了现场保护,那么子程序中()。A、恢复现场在RET指令之前B、恢复现场在RET指令之后C、直接用RET指令返回D、直接用JMP指令返回

在执行中断返回指令IRET和过程(子程序)返回指令RET时,具体操作内容有什么区别?

若主程序通过堆栈向子程序传递了3个参数,子程序返回主程序时,在子程序中清除堆栈中3个参数正确的RET指令是()。A、RET 3*1B、RET 3*2C、RET 3*3D、RET 3*4

中断服务程序结束时,可用RET指令代替IRET指令返回主程序。

执行中断服务程序最后一句指令RETI后,()。A、程序返回到ACALL指令的下一句B、程序返回到LCALL指令的下一句C、程序返回到主程序开始处D、程序返回到响应中断时一句的下一句

指令“NOP”的含义是()A、中断程序结束返回B、主程序结束返回C、子程序结束返回D、空操作

用CALL指令调用子程序时,从子程序返回到主程序()。A、用JMP指令B、用INT 21H指令C、只能用RET指令D、既可以用RET又可以用JMP

指令“RET”的含义是()A、主程序结束返回B、中断程序结束返回C、子程序结束返回D、子程序结束进入低功耗状态

中断服务子程序的返回指令是RET,普通子程序的返回指令是RETI。

一主程序中有一句LP:SJMPLP,功能指令为等待中断,当发生中断且中断返回后,()。A、返回到主程序开始处B、返回到该句的下一条指令处C、返回到该句的上一条指令处D、返回到该句

指令“RETI”的含义是()A、主程序结束返回B、中断程序结束返回C、子程序结束返回D、中断程序结束进入低功耗状态

中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?

子程序和中断服务程序有何异同?为什么子程序返回指令RET和中断返回指令RETI不能相互替代?为什么同优先级中断服务可以使用同一工作寄存器区?

ICTL指令为()。A、结束子程序并返回到主程序指令B、终端指令设置指令C、进入所指定的中断程序

RET指令为()。A、结束子程序并返回到主程序指令B、终端指令设置指令C、进入所指定的中断程序

IRET指令为()。A、结束子程序并返回到主程序指令B、终端指令设置指令C、进入所指定的中断程序

当在数控程序的子程序中有返回到主程序的指令时,机床才会返回到主程序,继续按主程序的指令进行工作。

问答题在执行中断返回指令IRET和过程(子程序)返回指令RET时,具体操作内容有什么区别?

单选题如果在子程序中进行了现场保护,那么子程序中()。A恢复现场在RET指令之前B恢复现场在RET指令之后C直接用RET指令返回D直接用JMP指令返回

判断题要调用子程序,必须在主程序中用M98指令编程,而在子程序结束时用M99返回主程序。A对B错

单选题用CALL指令调用子程序时,从子程序返回到主程序()。A用JMP指令B用INT 21H指令C只能用RET指令D既可以用RET又可以用JMP