当前位置:  开发笔记 > 编程语言 > 正文

TRAP,软件中断和硬件中断之间的区别?

如何解决《TRAP,软件中断和硬件中断之间的区别?》经验,为你挑选了1个好方法。

我只想知道它们之间的基本区别.

我在某些地方发现TRAP本质上也被称为软件中断,或类似异常.

另外软件中断和异常之间的基本区别是什么.

软件中断可以由INT指令生成,但TRAP只能通过除零等特定场景生成?是对的吗?

请为此查询提供合适的答案,其中包括s/w中断陷阱和异常.



1> tofro..:

术语确实有点模糊,可能取决于CPU供应商.

很明显,硬件中断由硬件信号触发,并使CPU进入预定义的ISR.这些是由(通常是外部)硬件触发的异常.

陷阱的表示法在CPU供应商之间有所不同.在非英特尔CPU陷阱可以(例如,在68000或PowerPC CPU)是软件中断.那些CPU有一个TRAP指令.在x86上,该指令在PowerPC TRAP #xx上的ARM CPU SWI/SVC上为INT xxx.这是用户程序故意触发的异常(通常用于进入操作系统)

英特尔世界中的陷阱是特殊情况,例如除以零或其他错误,如无效的内存访问(但也可能由设置的单步标志触发).其他CPU供应商只是称这是一个例外.这些异常通常由CPU在正常程序流程中无法处理的错误程序或条件触发.

所有这些通常都被称为例外.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有