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

📄 ind.s

📁 NecluesRTX RTOS的源码
💻 S
📖 第 1 页 / 共 2 页
字号:
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Privilege:                             ; Privilege Violation        8
        ;
        MOVE.L  #8,D0                       ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trace:                                 ; Trace                      9
        ;
        MOVE.L  #9,D0                       ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Emul_A:                                ; Emulate A                  10
        ;
        MOVE.L  #10,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Emul_B:                                ; Emulate B                  11
        ;
        MOVE.L  #11,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Hdw_Breakpoint:                        ; Hardware Breakpoint        12
        ;
        MOVE.L  #12,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Coprocessor_Violate:                   ; Coprocessor Violation      13
        ;
        MOVE.L  #13,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Format_Error:                          ; Format Error               14
        ;
        MOVE.L  #14,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Uninitialized_Int:                     ; Uninitialize Interrupt     15
        ;
        MOVE.L  #15,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Spurious:                              ; Spurious Interrupt         24
        ;
        MOVE.L  #24,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Level_1_Auto:                          ; Level 1 Autovector         25
        ;
    BSR     SKD_Interrupt_Context_Save      ; Save current context
    BSR     CLD_Timer_Interrupt             ; Call timer interrupt routine
    JMP     SKD_Interrupt_Context_Restore   ; Restore context
    STOP    #25                             ; Stop with the vector number
        MOVE.L  #25,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Level_2_Auto:                          ; Level 2 Autovector         26
        ;
        MOVE.L  #26,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Level_3_Auto:                          ; Level 3 Autovector         27
        ;
        MOVE.L  #27,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Level_4_Auto:                          ; Level 4 Autovector         28
        ;
        MOVE.L  #28,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Level_5_Auto:                          ; Level 5 Autovector         29
        ;
        MOVE.L  #29,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Level_6_Auto:                          ; Level 6 Autovector         30
        ;
        MOVE.L  #30,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Level_7_Auto:                          ; Level 7 Autovector         31
        ;
        MOVE.L  #31,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_0:                                ; Trap 0                     32
        ;
        MOVE.L  #32,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_1:                                ; Trap 1                     33
        ;
        MOVE.L  #33,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_2:                                ; Trap 2                     34
        ;
        MOVE.L  #34,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_3:                                ; Trap 3                     35
        ;
        MOVE.L  #35,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_4:                                ; Trap 4                     36
        ;
        MOVE.L  #36,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_5:                                ; Trap 5                     37
        ;
        MOVE.L  #37,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_6:                                ; Trap 6                     38
        ;
        MOVE.L  #38,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_7:                                ; Trap 7                     39
        ;
        MOVE.L  #39,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_8:                                ; Trap 8                     40
        ;
        MOVE.L  #40,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_9:                                ; Trap 9                     41
        ;
        MOVE.L  #41,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_10:                               ; Trap 10                    42
        ;
        MOVE.L  #42,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_11:                               ; Trap 11                    43
        ;
        MOVE.L  #43,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_12:                               ; Trap 12                    44
        ;
        MOVE.L  #44,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_13:                               ; Trap 13                    45
        ;
        MOVE.L  #45,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_14:                               ; Trap 14                    46
        ;
        MOVE.L  #46,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Trap_15:                               ; Trap 15                    47
        ;
        MOVE.L  #47,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Copr_Reserved:                         ; Coprocessor Reserved    48-58
        ;
        MOVE.L  #48,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_Reserved:                              ; Reserved Interrupts 16-23,59-63
        ;
        MOVE.L  #16,D0                       ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
IND_User:                                  ; User Interrupts         64-255
        ;
        MOVE.L  #64,D0                      ; Put vector number in
        STOP    #$2700                      ; Stop with interrupt lockout
        ;
;
;}                                           /* End of IND_Initialize    */
;
;
;/************************************************************************/
;/*                                                                      */
;/*  FUNCTION                                "IND_Set_Interrupt_Level"   */
;/*                                                                      */
;/*                                                                      */
;/*  DESCRIPTION                                                         */
;/*                                                                      */
;/*      This function is used to enable or disable interrupts based on  */
;/*      the input parameter.   The current interrupt value is returned  */
;/*      in order to preserve nested disabling of interrupts.            */
;/*                                                                      */
;/*  AUTHOR                                                              */
;/*                                                                      */
;/*      William E. Lamie,  Accelerated Technology                       */
;/*                                                                      */
;/*  CALLED FROM                                                         */
;/*                                                                      */
;/*      Anywhere interrupts need to be enabled or disabled              */
;/*                                                                      */
;/*  ROUTINES CALLED                                                     */
;/*                                                                      */
;/*      None                                                            */
;/*                                                                      */
;/*  INPUTS                                                              */
;/*                                                                      */
;/*      enable_interrupts                   Enable interrupt flag       */
;/*                                                                      */
;/*  OUTPUTS                                                             */
;/*                                                                      */
;/*      interrupts_enabled                  Interrupt status prior to   */
;/*                                          the call                    */
;/*                                                                      */
;/************************************************************************/
;int  IND_Set_Interrupt_Level(interrupts_enabled)
;
;unsigned int  interrupts_enabled;
        export  IND_Set_Interrupt_Level
IND_Set_Interrupt_Level
;{
;
;    /* Pick up the value off of the stack.  */
        ;
        MOVE    SR,D0           ; Return the old interrupt status
        MOVE    6(A7),SR        ; Set the new interrupt lockout value
;    /* Fix for version 3.07 and later of the INTROL compiler
;     * Return and pop parameters off stack
;     */
;       RTD #$4
       RTS
;
;}
;
;
;/************************************************************************/
;/*                                                                      */
;/*  FUNCTION                                "IND_Major_System_Error"    */
;/*                                                                      */
;/*                                                                      */
;/*  DESCRIPTION                                                         */
;/*                                                                      */
;/*      This function is used to execute some kind of a processor halt  */
;/*      on serious nucleus system errors.                               */
;/*                                                                      */
;/*  AUTHOR                                                              */
;/*                                                                      */
;/*      William E. Lamie,  Accelerated Technology                       */
;/*                                                                      */
;/*  CALLED FROM                                                         */
;/*                                                                      */
;/*      Anywhere in nucleus                                             */
;/*                                                                      */
;/*  ROUTINES CALLED                                                     */
;/*                                                                      */
;/*      None                                                            */
;/*                                                                      */
;/*  INPUTS                                                              */
;/*                                                                      */
;/*      None                                                            */
;/*                                                                      */
;/*  OUTPUTS                                                             */
;/*                                                                      */
;/*      None                                                            */
;/*                                                                      */
;/************************************************************************/
;void  IND_Major_System_Error(error_code)
;{
        export  IND_Major_System_Error
IND_Major_System_Error
        BRA     IND_Major_System_Error
        STOP    #$2700                      ; Unconditional Stop
;}

⌨️ 快捷键说明

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