30.3.3.1. ИСКЛЮЧЕНИЯ
Исключение - это типа прерывание которое генерирует сам процессор.
Прерывания приходят от внешних устройств, но бывают ситуации когда программа
выполняет нежелательные действия или процессор в процессе своей работы сталкивается
с ситуацией которую не может обработать, тогда возникает исключение
Например:
Программа пыталась делить на 0
или
Комманда имела недопустимый код операции
Кроме того часто исключения используют для отладки кода.
Как правило процессоры имеют специальный режим в котором после выполнения каждой
комманды возникает специальное исключение отладчика.
Еще исключения могут быть вызваны внешними факторами - например по внешней
шине данных прошла неверная транзакция (недопустимый код операции на шине или
ошибка четности например.
Исключения на IA-32
-----------------------------------------
Num Description
-----------------------------------------
0 Divide Error (division by zero)
1 Debug
2 NMI
3 Single step
4 Overlow (INTO)
5 Boundary check (BOUND)
6 Invalid opcode
7 NPX not available
8 Double fault
9
10 Invalid TSS
11 Segment not present
12 Stack fault
13 General Protection Fault
14 Page fault
15
16 Numeric error
17 Alignment check
-----------------------------------------
Исключения на 68K
-----------------------------------------
Num Description
-----------------------------------------
0,1 Reset
2 Bus error
3 Invalid address (odd)
4 Invalid opcode
5 Division by zero
6 CHK command
7 TRAPV command
8 Privelege violution
9 Trace mode
10 FPU Emulation
11 FPU emulation
13 Coprocessor protocol violution
14 Format error
15 Uninitialized interrupt
24 Spurious Interrupt
25 Level 1 interrupt autovector
26 Level 2 interrupt autovector
27 Level 3 interrupt autovector
28 Level 4 interrupt autovector
29 Level 5 interrupt autovector
30 Level 6 interrupt autovector
31 Level 7 interrupt autovector
48 FP Branch or set on unordered condition
49 FP Unexact result
50 FP Divide by zero
51 FP Underflow
52 FP Operand Error
53 FP Overflow
54 FP Signaling NaN
55 FP Unimplemented Data Type
56 MMU Configuration Error
57 MMU Illegal Operation Error
58 MMU Access Level Violution
-----------------------------------------
Исключения на PowerPC
-----------------------------------------
Vector Description
-----------------------------------------
00100 reset
00200 CPU control
00300 data fetch error
00400 command fetch error
00500 External interrupt
00600 Alignment check
00700 Software exception
00900 Pereodic interrupt
00C00 system call
00D00 trace
00F00 PMC1 or PMC2 overflow
01300 breakpoint
01400 SMI
-----------------------------------------
Исключения на IA-64
-----------------------------------------
Vector Description
-----------------------------------------
0 VHPT Translation Vctor
1 Instruction TLB
2 Data TLB
3 Alt Instruction TLB
4 Alt. Data TLB
5 Data nested TLB
6 Instruction key miss
7 Data Key miss
8 Dirty bit
9 Instr. Access-bit
10 Data access-bit
11 Break instruction
12 External interrupt
20 Page not present
21 Key permission vector
22 Inst. acess rights
23 Data access rights
24 general exception
25 disabled FP_register
26 NaT consymption
27 Speculation
29 Debug
30 Unaligned reference
31 Unsupported data ref.
32 FP Fault
33 FP. Trap
34 Lower-Priv Transfer Trap
35 Taken Branch Trap
45 IA-32 exception
46 IA-32 intercept
47 IA-32 interrupt
-----------------------------------------
Исключения на SPARC
-----------------------------------------
Vector Description
-----------------------------------------
1 Power on reset
2 Watchdog reset
3 externally initiated reset
4 software initiated reset
8 insruction access
9 instruction access MMU miss
10 illegal instruction
11 priveleged_opcode
20 FP disabled
28 division by zero
30 data access exception
34 memort address not aligned
37 priveleged acetion
41..4F interrupt
80..9F spill_n_normal
A0..BF spill_n_other
C0..DF fill_n_normal
E0..FF fill_n_other
100.17F trap instruction
-----------------------------------------
Index Prev Next