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

📄 main.lst

📁 freescale 协处理器应用相关实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
  0017 8184         [1]     CMPA  #132
  0019 2704         [3/1]   BEQ   *+6 ;abs = 001f
  139:        Error(0);
  001b c7           [1]     CLRB  
  001c 160000       [4]     JSR   main:0x01d2
  140:     
  141:  
  142:  
  143:  
  144:     //#define FORCE_PARTITON_FOR_DEBUG /*  partition and clear EEE */
  145:  
  146:     #ifdef FORCE_PARTITON_FOR_DEBUG
  147:        if(LaunchFlashCommand(3 ,FULL_PARTITION_D_FLASH, 0, DFPART, EEE_SECTORS, 0, 0, 0) != CCIF) /* format eee - special mode only - also erases all D-Flash */
  148:           Error(0);
  149:     #else
  150:        if(LaunchFlashCommand(1 ,EEPROM_QUERY, 0, 0, 0, 0, 0, 0) != CCIF) /* check the EEE status */
  001f 160000       [4]     JSR   main:0x019c
  0022 2704         [3/1]   BEQ   *+6 ;abs = 0028
  151:           Error(0);
  0024 c7           [1]     CLRB  
  0025 160000       [4]     JSR   main:0x01d2
  152:  	FTM.fccobix.byte = 1;
  0028 160000       [4]     JSR   main:0x01b1
  153:  	dfPart = FTM.fccob.byte.lo;
  154:  	FTM.fccobix.byte++;
  155:  	erPart = FTM.fccob.byte.lo;
  156:  
  157:     if((erPart == 0xFF) & (dfPart == 0xFF)) /* if D-Flash is clear and has not been partitioned */
  002b 048002       [3]     IBEQ  A,*+5 ;abs = 0030
  002e 87           [1]     CLRA  
  002f 8f           [2]     SKIP2 
  0030 b710         [1]     TFR   B,A
  0032 e689         [3]     LDAB  9,SP
  0034 048102       [3]     IBEQ  B,*+5 ;abs = 0039
  0037 c7           [1]     CLRB  
  0038 8f           [2]     SKIP2 
  0039 c601         [1]     LDAB  #1
  003b 37           [2]     PSHB  
  003c a4b0         [3]     ANDA  1,SP+
  003e 271d         [3/1]   BEQ   *+31 ;abs = 005d
  158:        if(LaunchFlashCommand(3 ,PARTITION_D_FLASH, 0, DFPART, EEE_SECTORS, 0, 0, 0) != CCIF) /* format eee - special mode only*/
  0040 cc2003       [2]     LDD   #8195
  0043 37           [2]     PSHB  
  0044 36           [2]     PSHA  
  0045 c7           [1]     CLRB  
  0046 37           [2]     PSHB  
  0047 87           [1]     CLRA  
  0048 3b           [2]     PSHD  
  0049 c610         [1]     LDAB  #16
  004b 3b           [2]     PSHD  
  004c c7           [1]     CLRB  
  004d 3b           [2]     PSHD  
  004e 3b           [2]     PSHD  
  004f 4a000000     [7]     CALL  LaunchFlashCommand,PAGE(LaunchFlashCommand)
  0053 1b8b         [2]     LEAS  11,SP
  0055 c180         [1]     CMPB  #128
  0057 2704         [3/1]   BEQ   *+6 ;abs = 005d
  159:           Error(0);
  0059 c7           [1]     CLRB  
  005a 160000       [4]     JSR   main:0x01d2
  160:     #endif   
  161:     
  162:     
  163:     
  164:     
  165:     
  166:     /* lets have a look to check the partitioning */
  167:     if(LaunchFlashCommand(1 ,EEPROM_QUERY, 0, 0, 0, 0, 0, 0) != CCIF) /* check the EEE status */
  005d 160000       [4]     JSR   main:0x019c
  0060 2704         [3/1]   BEQ   *+6 ;abs = 0066
  168:        Error(0);
  0062 c7           [1]     CLRB  
  0063 160000       [4]     JSR   main:0x01d2
  169:  	FTM.fccobix.byte = 1;
  0066 160000       [4]     JSR   main:0x01b1
  170:  	dfPart = FTM.fccob.byte.lo;
  171:  	FTM.fccobix.byte++;
  172:  	erPart = FTM.fccob.byte.lo;
  173:     if((erPart != EEE_SECTORS) | (dfPart != DFPART)) /* erPart should == EEE_SECTORS and dfPart == DFPART */
  0069 8110         [1]     CMPA  #16
  006b 2602         [3/1]   BNE   *+4 ;abs = 006f
  006d 87           [1]     CLRA  
  006e 8f           [2]     SKIP2 
  006f b710         [1]     TFR   B,A
  0071 e689         [3]     LDAB  9,SP
  0073 2702         [3/1]   BEQ   *+4 ;abs = 0077
  0075 c601         [1]     LDAB  #1
  0077 37           [2]     PSHB  
  0078 aab0         [3]     ORAA  1,SP+
  007a 2704         [3/1]   BEQ   *+6 ;abs = 0080
  174:        Error(0);
  007c c7           [1]     CLRB  
  007d 160000       [4]     JSR   main:0x01d2
  175:       
  176:      
  177:   /* can read / write the EEE from here on */
  178:                                               /* enable EEE error interrupts */
  179:     FTM.fercnfg.byte = ERSERIE|PGMERIE|ERSVIE0|ERSVIE1;
  0080 c6cc         [1]     LDAB  #204
  0082 7b0000       [3]     STAB  FTM:5
  180:     EnableInterrupts;     
  0085 10ef         [1]     CLI   
  181:  
  182:        
  183:        /* EEE is disabled here */     
  184:        /* copy constant parameters from D-Flash to RAM */
  185:     src_ptr_f08 = (tU08 *__far)SYS_PARAM_DFLASH_START;         /* pointer to start of D-Flash */
  0087 186984       [3]     CLRW  4,SP
  008a 8610         [1]     LDAA  #16
  008c 6a83         [2]     STAA  3,SP
  186:     dst_ptr_f08 = (tU08 *__far)SYSTEM_DATA_START;  /* pointer to first data word */
  008e ce0000       [2]     LDX   #GLOBAL(__SEG_START_SYSTEM_DATA)
  0091 c600         [1]     LDAB  #GLOBAL_PAGE(__SEG_START_SYSTEM_DATA)
  0093 6e87         [2]     STX   7,SP
  0095 6b86         [2]     STAB  6,SP
  187:     for(i = (int)__SEG_SIZE_REF(SYSTEM_DATA) ; i > 0; i--) {
  0097 cc0000       [2]     LDD   #__SEG_SIZE_SYSTEM_DATA
  009a 6c8a         [2]     STD   10,SP
  009c 2024         [3]     BRA   *+38 ;abs = 00c2
  188:        *dst_ptr_f08++ = *src_ptr_f08;
  009e ee84         [3]     LDX   4,SP
  00a0 e683         [3]     LDAB  3,SP
  00a2 5b10         [2]     STAB  /*GPAGE*/16
  00a4 18a600       [4]     GLDAA 0,X
  00a7 ed87         [3]     LDY   7,SP
  00a9 e686         [3]     LDAB  6,SP
  00ab 5b10         [2]     STAB  /*GPAGE*/16
  00ad 186a70       [3]     GSTAA 1,Y+
  00b0 6d87         [2]     STY   7,SP
  189:        checkSum += *src_ptr_f08++;
  00b2 e683         [3]     LDAB  3,SP
  00b4 5b10         [2]     STAB  /*GPAGE*/16
  00b6 18e630       [4]     GLDAB 1,X+
  00b9 6e84         [2]     STX   4,SP
  00bb eb8c         [3]     ADDB  12,SP
  00bd 6b8c         [2]     STAB  12,SP
  00bf 18638a       [4]     DECW  10,SP
  00c2 ec8a         [3]     LDD   10,SP
  00c4 2ed8         [3/1]   BGT   *-38 ;abs = 009e
  190:     }
  191:  
  192:  /* check for the EEE value to be erased the first time after EEE format - */
  193:     if (EEE_Int[0] == -1)
  00c6 fc0000       [3]     LDD   EEE_Int
  00c9 04a406       [3]     IBNE  D,*+9 ;abs = 00d2
  194:        EEE_Int[0] = 0x6006;
  00cc cc6006       [2]     LDD   #24582
  00cf 7c0000       [3]     STD   EEE_Int
  195:  
  196:  /* check the intial value of the EEE variable */
  197:  /* will only appear if the flow ran down to the while(1) loop last time */   
  198:     
  199:     if(EEE_Int[0] != 0x6006)
  00d2 fc0000       [3]     LDD   EEE_Int
  00d5 8c6006       [2]     CPD   #24582

⌨️ 快捷键说明

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