Embedded Systems Design - July 2008 - (Page 38) 20 years ago Listing 1 Sys_fault handler. ; ; + + ; | Copyright (c) - 1989, Thomas E. Besemer | ; + + ; ; Filename: sys_flt.c ; Contains: general-purpose 8086-family exception handler (16-bit) ; Associated Files: sys_flta.asm ; Date: 3-10-89 ; Revision Author Description ; void csys_fault(); void sys_fmt_crsh_rpt(); /*======================================================*/ /*===== type definition for stack format on crash =====*/ /* This format is set up by the assembler routine _sys_fault. When called, it disables ints and */ /* pushes the registers on the stack, then calls csys_fault() with a pointer to the stack frame */ /* (see the file sys_flta.asm for this interface). Note that stack contents are formatted from */ /* the return address offset field for display. */ /*======================================================*/ typedef { /* 0x00 /* 0x02 /* 0x04 /* 0x06 /* 0x08 /* 0x0A /* 0x0C /* 0x0E /* 0X10 /* 0x12 /* 0x14 /* 0x16 /* 0x18 /* 0x1C struct */ */ */ */ */ */ */ */ */ */ */ */ */ */ short short short short short short short short short short short short long short reg_es; reg_ds; reg_di; reg_si; reg_dx; reg_cx; reg_bx; reg_ax; reg_psw; reg_bp; ret_offset; ret_segment; crash_code; error_code; /* /* /* /* /* /* /* /* /* /* /* /* /* /* register ES register DS register DI register SI register DX register CX register BX register AX flags register register BP RET offset RET segment required crash code optional error code */ */ */ */ */ */ */ */ */ */ */ */ */ */ } SYS_CRASH_REGS; /*===== crash buffer-where to format crash report =====*/ char sys_crsh_buff[ 80 * 25 ]; /* full screen worth */ char *sys_crsh_pntr = sys_crsh_buff; /* in case we want to make a fixed location */ /*===== crash report format =====*/ char *sys_crsh_rpt[] = { “\n\n\r SOFTWARE FAULT %s”, “\n\r”, “ Crash Code: %04X Error Code: %04X\n\r”, “\n\r”, AX = %04X BX = %04X CX = %04X DX = %04X\n\r”, “ “ ES = %04X DS = %04X SI = %04X DI = %04X\n\r”, “ BP = %04X SS = %04X SP = %04X PSW = %04X\n\r”, “\n\r”, “ Called From: %04X:%04X\n\r”, “\n\r”, “ Stack Contents:\n\r”, “\n\r”, “”, }; /* /* /* /* /* /* /* /* /* /* /* /* /* 0x00 0x01 0x02 0x03 0X04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C */ */ */ */ */ */ */ */ */ */ */ */ */ Listing 1 continues on opposite page. 38 JULY 2008 | embedded systems design | www.embedded.com http://www.embedded.com
Table of Contents Feed for the Digital Edition of Embedded Systems Design - July 2008 Embedded Systems Design - July 2008 Contents #Include Parity Bit Programming Pointers Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design Building a Power Supply for Discontinuous Transmission Wireless Networks An Exception Primer Advertising Index Break Points Marketplace Embedded Systems Design - July 2008 Embedded Systems Design - July 2008 - Embedded Systems Design - July 2008 (Page Cover1) Embedded Systems Design - July 2008 - Embedded Systems Design - July 2008 (Page Cover2) Embedded Systems Design - July 2008 - Embedded Systems Design - July 2008 (Page 1) Embedded Systems Design - July 2008 - Embedded Systems Design - July 2008 (Page 2) Embedded Systems Design - July 2008 - Contents (Page 3) Embedded Systems Design - July 2008 - Contents (Page 4) Embedded Systems Design - July 2008 - Contents (Page 5) Embedded Systems Design - July 2008 - Contents (Page 6) Embedded Systems Design - July 2008 - #Include (Page 7) Embedded Systems Design - July 2008 - #Include (Page 8) Embedded Systems Design - July 2008 - Parity Bit (Page 9) Embedded Systems Design - July 2008 - Programming Pointers (Page 10) Embedded Systems Design - July 2008 - Programming Pointers (Page 11) Embedded Systems Design - July 2008 - Programming Pointers (Page 12) Embedded Systems Design - July 2008 - Programming Pointers (Page 13) Embedded Systems Design - July 2008 - Programming Pointers (Page 14) Embedded Systems Design - July 2008 - Programming Pointers (Page 15) Embedded Systems Design - July 2008 - Programming Pointers (Page 16) Embedded Systems Design - July 2008 - Programming Pointers (Page 17) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 18) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 19) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 20) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 21) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 22) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 23) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 24) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 25) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 26) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 27) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 28) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 29) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 30) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 31) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 32) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 33) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 34) Embedded Systems Design - July 2008 - An Exception Primer (Page 35) Embedded Systems Design - July 2008 - An Exception Primer (Page 36) Embedded Systems Design - July 2008 - An Exception Primer (Page 37) Embedded Systems Design - July 2008 - An Exception Primer (Page 38) Embedded Systems Design - July 2008 - An Exception Primer (Page 39) Embedded Systems Design - July 2008 - An Exception Primer (Page 40) Embedded Systems Design - July 2008 - An Exception Primer (Page 41) Embedded Systems Design - July 2008 - An Exception Primer (Page 42) Embedded Systems Design - July 2008 - An Exception Primer (Page 43) Embedded Systems Design - July 2008 - Advertising Index (Page 44) Embedded Systems Design - July 2008 - Break Points (Page 45) Embedded Systems Design - July 2008 - Break Points (Page 46) Embedded Systems Design - July 2008 - Marketplace (Page 47) Embedded Systems Design - July 2008 - Marketplace (Page 48) Embedded Systems Design - July 2008 - Marketplace (Page Cover3) Embedded Systems Design - July 2008 - Marketplace (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.