📄 main.lst
字号:
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 + -