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

📄 int_pid.s

📁 S3C2410学习的基础资料 大部分实验源码及工程
💻 S
📖 第 1 页 / 共 5 页
字号:
;/* HISTORY                                                               */
;/*                                                                       */
;/*         NAME            DATE                    REMARKS               */
;/*                                                                       */
;/*      B. Sellew       12-18-1995      Created initial version 1.0      */
;/*      B. Sellew       12-20-1995      Verified version 1.0             */
;/*      D. Driscoll     05-10-2001      Implemented working version.     */
;/*                                                                       */
;/*************************************************************************/
;VOID  *INT_Setup_Vector(INT vector, VOID *new)
;{
    EXPORT  INT_Setup_Vector
INT_Setup_Vector
;
;VOID    *old_vector;                        /* Old interrupt vector      */
;VOID   **vector_table;                      /* Pointer to vector table   */
;
;    /* Calculate the starting address of the actual vector table.  */
;    vector_table =  (VOID **)&INT_IRQ_Vectors;
;
;    /* Pickup the old interrupt vector.  */
;    old_vector =  vector_table[vector];
;
;    /* Setup the new interrupt vector.  */
;    vector_table[vector] =  new;
;
;    /* Return the old interrupt vector.  */
;    return(old_vector);
;
    LDR     r2, =INT_IRQ_Vectors        ; Load the vector table address
    MOV     r0, r0, LSL #2              ; Multiply vector by 4 to get offset into table
    LDR     r3, [r2,r0]                 ; Load the old pointer
    STR     r1, [r2,r0]                 ; Store the new pointer into the vector table

    MOV     r0, r3                      ; Put the old pointer into the return register


    BX      lr                          ; 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.                                       */
;/*                                                                       */
;/*                                                                       */
;/* 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       12-18-1995      Created initial version 1.0      */
;/*      B. Sellew       12-20-1995      Verified version 1.0             */
;/*      D. Driscoll     05-10-2001      Implemented working version.     */
;/*                                                                       */
;/*************************************************************************/
;VOID  *INT_Retrieve_Shell(INT vector)
;{
    EXPORT  INT_Retrieve_Shell
INT_Retrieve_Shell
;
;    /* Return the LISR Shell interrupt routine.  */
;    return(INT_IRQ_Vectors[vector]);
;
    LDR     r1, =INT_IRQ_Vectors        ; Load the vector table address
    MOV     r0, r0, LSL #2              ; Multiply vector by 4 to get offset into table
    LDR     r0, [r1,r0]                 ; Load interrupt handler pointer into return register

 
    BX      lr                          ; Return to caller
; }
;
;/*************************************************************************/
;/*                                                                       */
;/* FUNCTION                                                              */
;/*                                                                       */
;/*      INT_Undef_Inst                                                   */
;/*                                                                       */
;/* DESCRIPTION                                                           */
;/*                                                                       */
;/*     This is a stub for the Undefined Instruction Interrupt            */
;/*                                                                       */
;/*                                                                       */
;/* CALLED BY                                                             */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* CALLS                                                                 */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* INPUTS                                                                */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* OUTPUTS                                                               */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* HISTORY                                                               */
;/*                                                                       */
;/*         NAME            DATE                    REMARKS               */
;/*     D. Driscoll       5-10-2001            Implemented stub           */
;/*                                                                       */
;/*************************************************************************/
    EXPORT  INT_Undef_Inst
INT_Undef_Inst
    B       INT_Undef_Inst

;/*************************************************************************/
;/*                                                                       */
;/* FUNCTION                                                              */
;/*                                                                       */
;/*      INT_Software                                                     */
;/*                                                                       */
;/* DESCRIPTION                                                           */
;/*                                                                       */
;/*     This is a stub for the Software Interrupt                         */
;/*                                                                       */
;/*                                                                       */
;/* CALLED BY                                                             */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* CALLS                                                                 */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* INPUTS                                                                */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* OUTPUTS                                                               */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* HISTORY                                                               */
;/*                                                                       */
;/*         NAME            DATE                    REMARKS               */
;/*     D. Driscoll       5-10-2001            Implemented stub           */
;/*                                                                       */
;/*************************************************************************/
    EXPORT  INT_Software
INT_Software
    B       INT_Software

;/*************************************************************************/
;/*                                                                       */
;/* FUNCTION                                                              */
;/*                                                                       */
;/*      INT_Prefetch_Abort                                               */
;/*                                                                       */
;/* DESCRIPTION                                                           */
;/*                                                                       */
;/*     This is a stub for the Prefetch Abort Interrupt                   */
;/*                                                                       */
;/*                                                                       */
;/* CALLED BY                                                             */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* CALLS                                                                 */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* INPUTS                                                                */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* OUTPUTS                                                               */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* HISTORY                                                               */
;/*                                                                       */
;/*         NAME            DATE                    REMARKS               */
;/*     D. Driscoll       5-10-2001            Implemented stub           */
;/*                                                                       */
;/*************************************************************************/
    EXPORT  INT_Prefetch_Abort
INT_Prefetch_Abort
    B       INT_Prefetch_Abort
;
;/*************************************************************************/
;/*                                                                       */
;/* FUNCTION                                                              */
;/*                                                                       */
;/*      INT_Data_Abort                                                   */
;/*                                                                       */
;/* DESCRIPTION                                                           */
;/*                                                                       */
;/*     This is a stub for the Data Abort Interrupt                       */
;/*                                                                       */
;/*                                                                       */
;/* CALLED BY                                                             */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* CALLS                                                                 */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* INPUTS                                                                */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* OUTPUTS                                                               */
;/*                                                                       */
;/*      None                                                             */
;/*                                                                       */
;/* HISTORY                                                               */
;/*                                                                       */
;/*         NAME            DATE                    REMARKS               */
;/*     D. Driscoll       5-10-2001            Implemented stub           */
;/*                                                                       */
;/*************************************************************************/
    EXPORT  INT_Data_Abort
INT_Data_Abort
    B       INT_Data_Abort
;
;/*************************************************************************/

⌨️ 快捷键说明

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