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