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

📄 without_near_main.c.o.lst

📁 XGATE Training2_Xgate_Software_Interrupts
💻 LST
字号:
ANSI-C/cC++ Compiler for HC12 V-5.0.32 Build 6345, Dec 12 2006

    1:  #include <hidef.h>      /* common defines and macros */
    2:  #include <MC9S12XEP100.h>     /* derivative information */
    3:  #pragma LINK_INFO DERIVATIVE "mc9s12xep100"
    4:  
    5:  
    6:  #include <string.h>
    7:  #include "xgate.h"
    8:  
    9:  #define ROUTE_INTERRUPT(vec_adr, cfdata)                \
   10:    INT_CFADDR= (vec_adr) & 0xF0;                         \
   11:    INT_CFDATA_ARR[((vec_adr) & 0x0F) >> 1]= (cfdata)
   12:  
   13:  /*
   14:  static void SetupXGATE(void)
   15:  {
   16:  
   17:  //Initialize vector table XGVBR 
   18:  //The Xgate assumes there is a vector table with the addresses of each channel interrupt
   19:  //stored in memory one after the other, starting at channel 0, and ending with the last implemente xgate channel.
   20:  //XGVBR expects the address of the routine that services channel zero.
   21:  //The Xgate module derives the other addresses based on this info.
   22:  //Our vector xgate vector table defined in xgate.cxgate  starts at channel 0x1E. Other channels were not listed in our vector table
   23:  //so as to save memory space, because they are not implemented.
   24:  
   25:  //Write here the correct value for XGVBR : 
   26:  XGVBR = ? 
   27:  
   28:  //Route software trigger 0 interrut to Xgate
   29:  ROUTE_INTERRUPT(?,?); 
   30:  
   31:  //Enable Xgate and Enable Xgate Interrupts
   32:  XGMCTL= ? 
   33:  }
   34:  
   35:  void main(void) {
   36:  
   37:    SetupXGATE();
   38:    EnableInterrupts;
   39:    
   40:    //triggers software trigger 0
   41:    XGSWT= ? ;
   42:    
   43:    for(;;) {} 
   44:  }
   45:  */
   46:  
   47:  
   48:  static void SetupXGATE(void) {

Function: SetupXGATE
Source  : D:\Lab2_Xgate_Software_Interrupts\Sources\main.c
Options : -BfaGapLimitBits-1 -CPUHCS12XE -D__FAR_DATA -D__NO_FLOAT__ -Env"GENPATH=D:\Lab2_Xgate_Software_Interrupts;D:\Lab2_Xgate_Software_Interrupts\bin;D:\Lab2_Xgate_Software_Interrupts\prm;D:\Lab2_Xgate_Software_Interrupts\cmd;D:\Lab2_Xgate_Software_Interrupts\Sources;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\HC12c\lib;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\HC12c\src;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\xgatec\lib;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\xgatec\src;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\HC12c\include;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\xgatec\include" -Env"LIBPATH=C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\HC12c\include;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\xgatec\include" -EnvOBJPATH=D:\Lab2_Xgate_Software_Interrupts\bin -EnvTEXTPATH=D:\Lab2_Xgate_Software_Interrupts\bin -Lasm=D:\Lab2_Xgate_Software_Interrupts\Lab2_Xgate_Software_Interrupts_Data\SofTec_HCS12\ObjectCode\main.c.o.lst -Mb -ObjN=D:\Lab2_Xgate_Software_Interrupts\Lab2_Xgate_Software_Interrupts_Data\SofTec_HCS12\ObjectCode\main.c.o -WmsgSd1106

   49:    //initialize the XGATE vector block and
   50:    //set the XGVBR register to its start address 
   51:    XGVBR= (unsigned int)(XGATE_VectorTable - XGATE_VECTOR_OFFSET);
  0000 ce0000       [2]     LDX   #GLOBAL(XGATE_VectorTable:65386)
  0003 7e0000       [3]     STX   _XGISP31
   52:  
   53:    //switch software trigger 0 interrupt to XGATE
   54:    ROUTE_INTERRUPT(0x72, 0x81); //RQST=1 and PRIO=1
  0006 cc8170       [2]     LDD   #33136
  0009 7b0000       [3]     STAB  _INT_CFADDR
  000c 7a0000       [3]     STAA  _INT_CFDATA0:1
   55:    
   56:    //switch software trigger 1 interrupt to XGATE
   57:    ROUTE_INTERRUPT(0x70, 0x81); //RQST=1 and PRIO=1
  000f 7b0000       [3]     STAB  _INT_CFADDR
  0012 7a0000       [3]     STAA  _INT_CFDATA0
   58:  
   59:    //enable XGATE mode and interrupts
   60:    XGMCTL= 0xFBC1; //XGE | XGFRZ | XGIE
  0015 cefbc1       [2]     LDX   #64449
  0018 7e0000       [3]     STX   _XGMCTL
   61:  }
  001b 0a           [7]     RTC   
   62:  
   63:  
   64:  void main(void)
   65:  {

Function: main
Source  : D:\Lab2_Xgate_Software_Interrupts\Sources\main.c
Options : -BfaGapLimitBits-1 -CPUHCS12XE -D__FAR_DATA -D__NO_FLOAT__ -Env"GENPATH=D:\Lab2_Xgate_Software_Interrupts;D:\Lab2_Xgate_Software_Interrupts\bin;D:\Lab2_Xgate_Software_Interrupts\prm;D:\Lab2_Xgate_Software_Interrupts\cmd;D:\Lab2_Xgate_Software_Interrupts\Sources;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\HC12c\lib;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\HC12c\src;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\xgatec\lib;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\xgatec\src;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\HC12c\include;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\xgatec\include" -Env"LIBPATH=C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\HC12c\include;C:\Program Files\Freescale\Codewarrior for HC12 V4.6\lib\xgatec\include" -EnvOBJPATH=D:\Lab2_Xgate_Software_Interrupts\bin -EnvTEXTPATH=D:\Lab2_Xgate_Software_Interrupts\bin -Lasm=D:\Lab2_Xgate_Software_Interrupts\Lab2_Xgate_Software_Interrupts_Data\SofTec_HCS12\ObjectCode\main.c.o.lst -Mb -ObjN=D:\Lab2_Xgate_Software_Interrupts\Lab2_Xgate_Software_Interrupts_Data\SofTec_HCS12\ObjectCode\main.c.o -WmsgSd1106

   66:    SetupXGATE();
  0000 4a000000     [7]     CALL  SetupXGATE,PAGE(SetupXGATE)
   67:    EnableInterrupts;
  0004 10ef         [1]     CLI   
   68:    //triggers software trigger 0
   69:    XGSWT=0x0101;
  0006 cc0101       [2]     LDD   #257
  0009 7c0000       [3]     STD   _XGSWT
   70:    for(;;) {} 
  000c 20fe         [3]     BRA   *+0 ;abs = 000c
   71:    
   72:  }
   73:  

⌨️ 快捷键说明

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