⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 int_sbc.s

📁 抢占
💻 S
📖 第 1 页 / 共 5 页
字号:
        MOVE.L  D1,(A0)                     ; Store it in the vector table
;    
;    /* Return the old interrupt vector.  */
;    return(old_vector);
;
        RTS                                 ; Return to caller
;}
;
;
;/*************************************************************************/
;/*                                                                       */
;/* FUNCTION                                                              */
;/*                                                                       */
;/*      INT_Retrieve_Shell                                               */
;/*                                                                       */
;/* DESCRIPTION                                                           */
;/*                                                                       */
;/*      This function retrieves the pointer to the shell interrupt       */
;/*      service routine.  The shell interrupt service routine calls      */
;/*      the LISR dispatch routine.                                       */
;/*                                                                       */
;/* AUTHOR                                                                */
;/*                                                                       */
;/*      Barry Sellew, Accelerated Technology, Inc.                       */
;/*                                                                       */
;/* CALLED BY                                                             */
;/*                                                                       */
;/*      TCC_Register_LISR                   Register LISR for vector     */
;/*                                                                       */
;/* CALLS                                                                 */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* INPUTS                                                                */
;/*                                                                       */
;/*      vector                              Vector number to setup       */
;/*                                                                       */
;/* OUTPUTS                                                               */
;/*                                                                       */
;/*      shell pointer                                                    */
;/*                                                                       */
;/* HISTORY                                                               */
;/*                                                                       */
;/*         NAME            DATE                    REMARKS               */
;/*                                                                       */
;/*      B. Sellew       02-21-1997      Created and verified version 1.0 */
;/*                                                                       */
;/*************************************************************************/
        XDEF    _INT_Retrieve_Shell
_INT_Retrieve_Shell:
;VOID  *INT_Retrieve_Shell(INT vector)
;{
;
;    /* Return the LISR Shell interrupt routine.  */
;    return(INT_Vectors[vector]);
;
        LEA     _INT_Vectors,A0             ; Build address to default ISRs
        MOVE.L  4(A7),D1                    ; Pickup the vector number
        ASL.L   #2,D1                       ; Multiply by 4
	MOVE.L	(0,A0,D1),D0                ; Pickup the default ISR
        RTS                                 ; Return to caller
;}
;
;
;/* The following area contains the default interrupt vector processing for
;   each interrupt.  Note:  Nothing else can be placed between the 
;   INT_Start_ISRs label and the INT_End_ISRs label.  */
;
        XDEF    _INT_Start_ISRs
_INT_Start_ISRs:
;
;
_INT_Bus_Error:                             ; Bus Error                 2
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Address_Error:                         ; Address Error             3
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Illegal_Instruction:                   ; Illegal Instruction       4
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Zero_Divide:                           ; Divide by zero            5
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Chk_Chk2:                              ; CHK and CHK2 instructions 6
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_TrapV:                                 ; TRAPV instruction         7
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Privilege:                             ; Privilege violation       8
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trace:                                 ; Trace                     9
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Emul_A:                                ; Emulate A                 10
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Emul_B:                                ; Emulate B                 11
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Hdw_Breakpoint:                        ; Hardware breakpoint       12
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Coprocessor_Violate:                   ; Coprocessor violation     13
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Format_Error:                          ; Format error              14
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Uninitialized_Int:                     ; Uninitialized interrupt   15
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Reserved_0:                            ; Reserved 0                16
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Reserved_1:                            ; Reserved 1                17
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Reserved_2:                            ; Reserved 2                18
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Reserved_3:                            ; Reserved 3                19
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Reserved_4:                            ; Reserved 4                20
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Reserved_5:                            ; Reserved 5                21
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Reserved_6:                            ; Reserved 6                22
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Reserved_7:                            ; Reserved 7                23
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Spurious:                              ; Spurious interrupt        24
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Level_1_Auto:                          ; Level 1 Autovector        25
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Level_2_Auto:                          ; Level 2 Autovector        26
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Level_3_Auto:                          ; Level 3 Autovector        27
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Level_4_Auto:                          ; Level 4 Autovector        28
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Level_5_Auto:                          ; Level 5 Autovector        29
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Level_6_Auto:                          ; Level 6 Autovector        30
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Level_7_Auto:                          ; Level 7 Autovector        31
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_0:                                ; Trap 0                    32
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_1:                                ; Trap 1                    33
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_2:                                ; Trap 2                    34
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_3:                                ; Trap 3                    35
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_4:                                ; Trap 4                    36
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_5:                                ; Trap 5                    37
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_6:                                ; Trap 6                    38
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_7:                                ; Trap 7                    39
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_8:                                ; Trap 8                    40
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_9:                                ; Trap 9                    41
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_10:                               ; Trap 10                   42
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_11:                               ; Trap 11                   43
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_12:                               ; Trap 12                   44
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_13:                               ; Trap 13                   45
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_14:                               ; Trap 14                   46
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Trap_15:                               ; Trap 15                   47
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Cop_Reserved_0:                        ; Coprocessor Reserved 0    48
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Cop_Reserved_1:                        ; Coprocessor Reserved 1    49
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Cop_Reserved_2:                        ; Coprocessor Reserved 2    50
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Cop_Reserved_3:                        ; Coprocessor Reserved 3    51
        BSR.W   _INT_Interrupt_Shell        ; Branch to interrupt shell
;
_INT_Cop_Reserved_4:                        ; Coprocessor Reserved 4    52

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -