简答题

指出RET和IRET两条指令的区别,并说明各用在什么场合?

正确答案

(1)RET和IRET是两条返回主程序的指令,但RET是与过程(子程序)调用指令CALL对应使用的过程返回指令,而IRET是与中断指令INT n对应使用的中断返回指令。
(2)RET指令应安排在子程序的出口,即子程序的最后一条指令处,它的功能是从堆栈顶部弹出由CALL指令压入的断点地址值IP或CS、IP,迫使CPU返回到调用程序的断点去继续执行。
(3)IRET指令总是安排在中断服务程序的出口处,由它控制从堆栈中弹出程序断点送回CS和IP中,弹出标志寄存器内容送回F中,迫使CPU返回到断点继续执行后续程序。

答案解析

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

    简答题查看答案

  • 说明MOV BX,DATA和MOV BX,OFFSTE DATA指令之间的区别。

    简答题查看答案

  • 简述指令MOVAX,0AB9H和MOVAX,DS:[0AB9H]的区别。

    简答题查看答案

  • 试比较SUB AL,09H与CMP AL,09H这两条指令的异同,若AL=08H,分别执行上述两条指令后,SF=?CF=?OF=? ZF=?

    简答题查看答案

  • 阅读下列程序段,指出每条指令执行后有关寄存器的内容是多少?

    简答题查看答案

  • 分辨率和转换精度有什么区别?

    简答题查看答案

  • 什么叫指令?什么叫指令系统?

    简答题查看答案

  • 为什么需要半加器和全加器,它们之间的主要区别是什么?

    简答题查看答案

  • 简述串搜索(SCAS)指令的功能。

    简答题查看答案