
高分悬赏INT 与 CALL FAR指令的区别?
1个回答
展开全部
CALL FAR 段间直接调用
执行操作:① (SP) ← (SP)-2,((SP)) ← (CS)当前
(SP) ← (SP)-2,((SP)) ← (IP)当前
② (IP) ← 偏移地址(在指令的第2、3个字节中)
(CS) ← 段地址(在指令的第4、5个字节中)
INT n 中断指令(interrupt),n为中断类型号
执行操作:① 入栈保存FLAGS:(SP) ← (SP)-2,((SP)) ← (FLAGS)
② 入栈保存返回地址:(SP) ← (SP)-2,((SP)) ← (CS)
(SP) ← (SP)-2,((SP)) ← (IP)
③ 转中断处理程序:(IP) ← (n×4)
(CS) ← (n×4+2)
CALL FAR 远调用
远调用适用于调用程序(也称为主程序)和子程序不在同一段中的情况,所以也叫做段间调用。和近调用指令一样,远调用指令中的寻址方式也可用直接方式和间接方式。
INT虽然也是一种远调用,但一般只用于调用中断例行程序(又称中断服务程序)。执行中断指令时,首先要入栈保存调用程序执行的现场,即当时的标志寄存器的值和断点的地址,然后,根据中断类型号(n×4)到中断向量表中取得中断例行程序的入口地址,分别送给IP和CS,以实现调用中断例行程序的功能。
并且INT指令执行后,把IF和TF置0,但不影响其它标志位。
执行操作:① (SP) ← (SP)-2,((SP)) ← (CS)当前
(SP) ← (SP)-2,((SP)) ← (IP)当前
② (IP) ← 偏移地址(在指令的第2、3个字节中)
(CS) ← 段地址(在指令的第4、5个字节中)
INT n 中断指令(interrupt),n为中断类型号
执行操作:① 入栈保存FLAGS:(SP) ← (SP)-2,((SP)) ← (FLAGS)
② 入栈保存返回地址:(SP) ← (SP)-2,((SP)) ← (CS)
(SP) ← (SP)-2,((SP)) ← (IP)
③ 转中断处理程序:(IP) ← (n×4)
(CS) ← (n×4+2)
CALL FAR 远调用
远调用适用于调用程序(也称为主程序)和子程序不在同一段中的情况,所以也叫做段间调用。和近调用指令一样,远调用指令中的寻址方式也可用直接方式和间接方式。
INT虽然也是一种远调用,但一般只用于调用中断例行程序(又称中断服务程序)。执行中断指令时,首先要入栈保存调用程序执行的现场,即当时的标志寄存器的值和断点的地址,然后,根据中断类型号(n×4)到中断向量表中取得中断例行程序的入口地址,分别送给IP和CS,以实现调用中断例行程序的功能。
并且INT指令执行后,把IF和TF置0,但不影响其它标志位。

2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询