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

📄 init860.s

📁 微处理器MPC860的相关C程序
💻 S
📖 第 1 页 / 共 5 页
字号:

   #~~~~~~~~~~~~~                                          
   # 0D00: TRACE                 
   #~~~~~~~~~~~~~                                          

   .skip 0x0D00-(.-VectorTable)

__Xtrace:

   #-------------------------------------------#
   # save off registers used in vector routine #
   #-------------------------------------------#

   mtspr SPRG3,r3    # save r3
   
   mfspr r3,LR
   mtspr SPRG2,r3    # save LR

   #---------------------------------------------------
   # Load the vector offset value in SPRG0 for handler
   #--------------------------------------------------- 

   addi  r3,r0,0x0D00
   mtspr SPRG0,r3

   #---------------------------------------------------------
   # load link register in order to jump to physical address
   #---------------------------------------------------------

   addis    r3,0,handler@h    
   ori      r3,r3,handler@l
   mtspr    LR,r3 
   bclr     20,0                 # jump unconditionally to address in Link 
                                 # Register (LR)


   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                          
   # 0E00: FLOATING-POINT UNAVAILABLE           
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                          

   # never generated by the MPC8xx
   

   #~~~~~~~~~~~~~~~                                          
   # 0F00: RESERVED              
   #~~~~~~~~~~~~~~~                                          
   

   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
   # 1000: IMPLEMENTATION-DEPENDENT SOFTWARE EMULATION              
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   .skip 0x1000-(.-VectorTable)

__Xswem:

   #-------------------------------------------#
   # save off registers used in vector routine #
   #-------------------------------------------#

   mtspr SPRG3,r3    # save r3
   
   mfspr r3,LR
   mtspr SPRG2,r3    # save LR

   #---------------------------------------------------
   # Load the vector offset value in SPRG0 for handler
   #--------------------------------------------------- 

   addi  r3,r0,0x1000
   mtspr SPRG0,r3

   #---------------------------------------------------------
   # load link register in order to jump to physical address
   #---------------------------------------------------------

   addis    r3,0,handler@h    
   ori      r3,r3,handler@l
   mtspr    LR,r3 
   bclr     20,0                 # jump unconditionally to address in Link 
                                 # Register (LR)


   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   # 1100:IMPLEMENTATION-DEPENDENT INSTRUCTION TLB MISS          
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   .skip 0x1100-(.-VectorTable)

__Xitlbmiss:

   #-------------------------------------------#
   # save off registers used in vector routine #
   #-------------------------------------------#

   mtspr SPRG3,r3    # save r3
   
   mfspr r3,LR
   mtspr SPRG2,r3    # save LR

   #---------------------------------------------------
   # Load the vector offset value in SPRG0 for handler
   #--------------------------------------------------- 

   addi  r3,r0,0x1100
   mtspr SPRG0,r3

   #---------------------------------------------------------
   # load link register in order to jump to physical address
   #---------------------------------------------------------

   addis    r3,0,handler@h    
   ori      r3,r3,handler@l
   mtspr    LR,r3 
   bclr     20,0                 # jump unconditionally to address in Link 
                                 # Register (LR)


   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   # 1200:IMPLEMENTATION-DEPENDENT DATA TLB MISS          
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   .skip 0x1200-(.-VectorTable)

__Xdtlbmiss:

   #-------------------------------------------#
   # save off registers used in vector routine #
   #-------------------------------------------#

   mtspr SPRG3,r3    # save r3
   
   mfspr r3,LR
   mtspr SPRG2,r3    # save LR

   #---------------------------------------------------
   # Load the vector offset value in SPRG0 for handler
   #--------------------------------------------------- 

   addi  r3,r0,0x1200
   mtspr SPRG0,r3

   #---------------------------------------------------------
   # load link register in order to jump to physical address
   #---------------------------------------------------------

   addis    r3,0,handler@h    
   ori      r3,r3,handler@l
   mtspr    LR,r3 
   bclr     20,0                 # jump unconditionally to address in Link 
                                 # Register (LR)


   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   # 1300:IMPLEMENTATION-DEPENDENT INSTRUCTION TLB ERROR          
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   .skip 0x1300-(.-VectorTable)

__Xitlberr:

   #-------------------------------------------#
   # save off registers used in vector routine #
   #-------------------------------------------#

   mtspr SPRG3,r3    # save r3
   
   mfspr r3,LR
   mtspr SPRG2,r3    # save LR

   #---------------------------------------------------
   # Load the vector offset value in SPRG0 for handler
   #--------------------------------------------------- 

   addi  r3,r0,0x1300
   mtspr SPRG0,r3

   #---------------------------------------------------------
   # load link register in order to jump to physical address
   #---------------------------------------------------------

   addis    r3,0,handler@h    
   ori      r3,r3,handler@l
   mtspr    LR,r3 
   bclr     20,0                 # jump unconditionally to address in Link 
                                 # Register (LR)


   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   # 1400:IMPLEMENTATION-DEPENDENT DATA TLB ERROR          
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   .skip 0x1400-(.-VectorTable)

__Xdtlberr:

   #-------------------------------------------#
   # save off registers used in vector routine #
   #-------------------------------------------#

   mtspr SPRG3,r3    # save r3
   
   mfspr r3,LR
   mtspr SPRG2,r3    # save LR

   #---------------------------------------------------
   # Load the vector offset value in SPRG0 for handler
   #--------------------------------------------------- 

   addi  r3,r0,0x1400
   mtspr SPRG0,r3

   #---------------------------------------------------------
   # load link register in order to jump to physical address
   #---------------------------------------------------------

   addis    r3,0,handler@h    
   ori      r3,r3,handler@l
   mtspr    LR,r3 
   bclr     20,0                 # jump unconditionally to address in Link 
                                 # Register (LR)


   #~~~~~~~~~~~~~~~                                          
   # 1500: RESERVED              
   #~~~~~~~~~~~~~~~                                          
   

   #~~~~~~~~~~~~~~~                                          
   # 1600: RESERVED              
   #~~~~~~~~~~~~~~~                                          
   

   #~~~~~~~~~~~~~~~                                          
   # 1700: RESERVED              
   #~~~~~~~~~~~~~~~                                          
   

   #~~~~~~~~~~~~~~~                                          
   # 1800: RESERVED              
   #~~~~~~~~~~~~~~~                                          
   

   #~~~~~~~~~~~~~~~                                          
   # 1900: RESERVED              
   #~~~~~~~~~~~~~~~                                          
   

   #~~~~~~~~~~~~~~~                                          
   # 1A00: RESERVED              
   #~~~~~~~~~~~~~~~                                          
   

   #~~~~~~~~~~~~~~~                                          
   # 1B00: RESERVED              
   #~~~~~~~~~~~~~~~                                          
   

   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   # 1C00: IMPLEMENTATION-DEPENDENT DATA BREAKPOINT          
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   .skip 0x1C00-(.-VectorTable)

__Xdbrk:

   #-------------------------------------------#
   # save off registers used in vector routine #
   #-------------------------------------------#

   mtspr SPRG3,r3    # save r3
   
   mfspr r3,LR
   mtspr SPRG2,r3    # save LR

   #---------------------------------------------------
   # Load the vector offset value in SPRG0 for handler
   #--------------------------------------------------- 

   addi  r3,r0,0x1C00
   mtspr SPRG0,r3

   #---------------------------------------------------------
   # load link register in order to jump to physical address
   #---------------------------------------------------------

   addis    r3,0,handler@h    
   ori      r3,r3,handler@l
   mtspr    LR,r3 
   bclr     20,0                 # jump unconditionally to address in Link 
                                 # Register (LR)


   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   # 1D00: IMPLEMENTATION-DEPENDENT INSTRUCTION BREAKPOINT          
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   .skip 0x1D00-(.-VectorTable)

__Xibrk:

   #-------------------------------------------#
   # save off registers used in vector routine #
   #-------------------------------------------#

   mtspr SPRG3,r3    # save r3
   
   mfspr r3,LR
   mtspr SPRG2,r3    # save LR

   #---------------------------------------------------
   # Load the vector offset value in SPRG0 for handler
   #--------------------------------------------------- 

   addi  r3,r0,0x1D00
   mtspr SPRG0,r3

   #---------------------------------------------------------
   # load link register in order to jump to physical address
   #---------------------------------------------------------

   addis    r3,0,handler@h    
   ori      r3,r3,handler@l
   mtspr    LR,r3 
   bclr     20,0                 # jump unconditionally to address in Link 
                                 # Register (LR)


   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   # 1E00: IMPLEMENTATION-DEPENDENT PERIPHERAL BREAKPOINT          
   #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   .skip 0x1E00-(.-VectorTable)

__Xpbrk:

   #-------------------------------------------#
   # save off registers used in vector routine #
   #-------------------------------------------#

   mtspr SPRG3,r3    # save r3
   
   mfspr r3,LR
   mtspr SPRG2,r3    # save LR

   #---------------------------------------------------
   # Load the vector offset value in SPRG0 for handler

⌨️ 快捷键说明

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