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

📄 39vf400.asm

📁 dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,fir等的很多程序.
💻 ASM
📖 第 1 页 / 共 2 页
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx 39vf400.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\39vf400.if 
;	dspopt NOT RUN
;	C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\39vf400.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\39vf400.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\39vf400.tmp 
	.port
	.file	"39vf400.c"
	.file	"f2407regs_c.h"
	.globl	_IMR
	.globl	_GREG
	.globl	_IFR
	.globl	_IMRADDR
	.globl	_PIRQR0
	.globl	_PIRQR1
	.globl	_PIRQR2
	.globl	_PIACKR0
	.globl	_PIACKR1
	.globl	_PIACKR2
	.globl	_SCSR1
	.globl	_SCSR2
	.globl	_DINR
	.globl	_PIVR
	.globl	_WDCNTR
	.globl	_WDKEY
	.globl	_WDCR
	.globl	_SPICCR
	.globl	_SPICTL
	.globl	_SPISTS
	.globl	_SPIBRR
	.globl	_SPIEMU
	.globl	_SPIRXBUF
	.globl	_SPITXBUF
	.globl	_SPIDAT
	.globl	_SPIPRI
	.globl	_SCICCR
	.globl	_SCICTL1
	.globl	_SCIHBAUD
	.globl	_SCILBAUD
	.globl	_SCICTL2
	.globl	_SCIRXST
	.globl	_SCIRXEMU
	.globl	_SCIRXBUF
	.globl	_SCITXBUF
	.globl	_SCIPRI
	.globl	_XINT1CR
	.globl	_XINT2CR
	.globl	_PADATDIR
	.globl	_PBDATDIR
	.globl	_PCDATDIR
	.globl	_PDDATDIR
	.globl	_PEDATDIR
	.globl	_PFDATDIR
	.globl	_MCRA
	.globl	_MCRB
	.globl	_MCRC
	.globl	_ADCCTRL1
	.globl	_ADCCTRL2
	.globl	_MAXCONV
	.globl	_CHSELSEQ1
	.globl	_CHSELSEQ2
	.globl	_CHSELSEQ3
	.globl	_CHSELSEQ4
	.globl	_AUTOSEQSR
	.globl	_RESULT0
	.globl	_RESULT1
	.globl	_RESULT2
	.globl	_RESULT3
	.globl	_RESULT4
	.globl	_RESULT5
	.globl	_RESULT6
	.globl	_RESULT7
	.globl	_RESULT8
	.globl	_RESULT9
	.globl	_RESULT10
	.globl	_RESULT11
	.globl	_RESULT12
	.globl	_RESULT13
	.globl	_RESULT14
	.globl	_RESULT15
	.globl	_CALIBRATION
	.globl	_MDER
	.globl	_TCR
	.globl	_RCR
	.globl	_MCR
	.globl	_BCR2
	.globl	_BCR1
	.globl	_ESR
	.globl	_GSR
	.globl	_CEC
	.globl	_CANIFR
	.globl	_CANIMR
	.globl	_LAM0H
	.globl	_LAM0L
	.globl	_LAM1H
	.globl	_LAM1L
	.globl	_MSGID0L
	.globl	_MSGID0H
	.globl	_MSGCTRL0
	.globl	_MBX0A
	.globl	_MBX0B
	.globl	_MBX0C
	.globl	_MBX0D
	.globl	_MSGID1L
	.globl	_MSGID1H
	.globl	_MSGCTRL1
	.globl	_MBX1A
	.globl	_MBX1B
	.globl	_MBX1C
	.globl	_MBX1D
	.globl	_MSGID2L
	.globl	_MSGID2H
	.globl	_MSGCTRL2
	.globl	_MBX2A
	.globl	_MBX2B
	.globl	_MBX2C
	.globl	_MBX2D
	.globl	_MSGID3L
	.globl	_MSGID3H
	.globl	_MSGCTRL3
	.globl	_MBX3A
	.globl	_MBX3B
	.globl	_MBX3C
	.globl	_MBX3D
	.globl	_MSGID4L
	.globl	_MSGID4H
	.globl	_MSGCTRL4
	.globl	_MBX4A
	.globl	_MBX4B
	.globl	_MBX4C
	.globl	_MBX4D
	.globl	_MSGID5L
	.globl	_MSGID5H
	.globl	_MSGCTRL5
	.globl	_MBX5A
	.globl	_MBX5B
	.globl	_MBX5C
	.globl	_MBX5D
	.globl	_GPTCONA
	.globl	_T1CNT
	.globl	_T1CMPR
	.globl	_T1PR
	.globl	_T1CON
	.globl	_T2CNT
	.globl	_T2CMPR
	.globl	_T2PR
	.globl	_T2CON
	.globl	_COMCONA
	.globl	_ACTRA
	.globl	_DBTCONA
	.globl	_CMPR1
	.globl	_CMPR2
	.globl	_CMPR3
	.globl	_CAPCONA
	.globl	_CAPFIFOA
	.globl	_CAP1FIFO
	.globl	_CAP2FIFO
	.globl	_CAP3FIFO
	.globl	_CAP1FBOT
	.globl	_CAP2FBOT
	.globl	_CAP3FBOT
	.globl	_EVAIMRA
	.globl	_EVAIMRB
	.globl	_EVAIMRC
	.globl	_EVAIFRA
	.globl	_EVAIFRB
	.globl	_EVAIFRC
	.globl	_GPTCONB
	.globl	_T3CNT
	.globl	_T3CMPR
	.globl	_T3PR
	.globl	_T3CON
	.globl	_T4CNT
	.globl	_T4CMPR
	.globl	_T4PR
	.globl	_T4CON
	.globl	_COMCONB
	.globl	_ACTRB
	.globl	_DBTCONB
	.globl	_CMPR4
	.globl	_CMPR5
	.globl	_CMPR6
	.globl	_CAPCONB
	.globl	_CAPFIFOB
	.globl	_CAP4FIFO
	.globl	_CAP5FIFO
	.globl	_CAP6FIFO
	.globl	_CAP4FBOT
	.globl	_CAP5FBOT
	.globl	_CAP6FBOT
	.globl	_EVBIMRA
	.globl	_EVBIMRB
	.globl	_EVBIMRC
	.globl	_EVBIFRA
	.globl	_EVBIFRB
	.globl	_EVBIFRC
	.globl	_WSGR
	.file	"global.h"
	.globl	_port8001
	.file	"39vf400.c"
	.globl	_cfgdata
	.globl	_pcdata
	.globl	_readOneCfg
	.globl	_writeOneCfg
	.globl	_writeOneDefaultCfg
	.globl	_writeAllCfg
	.globl	_readAllCfg
	.globl	_Check_SST_39VF400A
	.globl	_CFI_Query
	.globl	_Erase_One_Sector
	.globl	_Erase_One_Block
	.globl	_Erase_Entire_Chip
	.globl	_Program_One_Word
	.globl	_Program_One_Sector
	.globl	_Program_One_Block
	.globl	_Check_Toggle_Ready
	.globl	_Check_Data_Polling
	.globl	_Delay_150_Nano_Seconds
	.text

	.sym	_Delay_150_Nano_Seconds,_Delay_150_Nano_Seconds,32,2,0
	.globl	_Delay_150_Nano_Seconds

	.func	42
;>>>> 	void  Delay_150_Nano_Seconds()
******************************************************
* FUNCTION DEF : _Delay_150_Nano_Seconds
******************************************************
_Delay_150_Nano_Seconds:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		asm(" NOP");asm(" NOP");
 NOP
 NOP
	.line	4
;>>>> 		asm(" NOP");asm(" NOP");
 NOP
 NOP
	.line	5
;>>>> 		asm(" NOP");asm(" NOP");	
 NOP
 NOP
EPI0_1:
	.line	6
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	47,000000000H,1

	.sym	_Check_SST_39VF400A,_Check_SST_39VF400A,46,2,0
	.globl	_Check_SST_39VF400A

	.func	49
;>>>> 	uint Check_SST_39VF400A()              // same device code as SST39VF400 
;>>>> 		uint *Temp;
;>>>> 	    uint *Temp1;
;>>>> 	    uint SST_id1;        
;>>>> 	    uint SST_id2;
;>>>> 	    uint  ReturnStatus;       
******************************************************
* FUNCTION DEF : _Check_SST_39VF400A
******************************************************
_Check_SST_39VF400A:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,6
	LAR	AR0,*0+,AR2

	.sym	_Temp,1,30,1,16
	.sym	_Temp1,2,30,1,16
	.sym	_SST_id1,3,14,1,16
	.sym	_SST_id2,4,14,1,16
	.sym	_ReturnStatus,5,14,1,16
	.line	9
;>>>> 	    cs_flash_0;
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1024
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	LACK	65531
	AND	_PFDATDIR
	SACL	_PFDATDIR
	.line	10
;>>>> 	    Temp1 = (uint *)(BaseAddr+0x5555); //address 5555h                         
	LARK	AR2,2
	MAR	*0+
	SPLK	#54613,* 
	.line	11
;>>>> 	    *Temp1= 0xAA;         			// write 0xAAAA        
	LAR	AR3,* ,AR3
	LACK	170
	SACL	* ,AR2
	.line	13
;>>>> 	    Temp1 = (uint *)(BaseAddr+0x2AAA); //address 2AAAh         		 
	SPLK	#43690,* 
	.line	14
;>>>> 	    *Temp1= 0x55;                 // write 0x5555         
	LAR	AR3,* ,AR3
	LACK	85
	SACL	* ,AR2
	.line	16
;>>>> 	    Temp1 = (uint *)(BaseAddr+0x5555); //address 5555h            		
	SPLK	#54613,* 
	.line	17
;>>>> 	    *Temp1= 0x90;                 // write 0x9090          
	LAR	AR3,* ,AR3
	LACK	144
	SACL	* ,AR1
	.line	19
;>>>> 	    Delay_150_Nano_Seconds();       //delay Tida 
	CALL	_Delay_150_Nano_Seconds
	.line	21
;>>>> 	    Temp  = (uint *)(BaseAddr+0x0000); //address 0000h                        		 
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	SPLK	#32768,* 
	.line	22
;>>>> 	    SST_id1  =  *Temp;              // get first ID word                           
	LAR	AR3,* ,AR3
	LAC	* ,AR2
	ADRK	2
	SACL	*-
	.line	23
;>>>> 	    Temp1 = (uint *)(BaseAddr+0x0001); //address 0001h                      		 
	SPLK	#32769,* 
	.line	24
;>>>> 	    SST_id2  =  *Temp1;             // get second ID word         
	LAR	AR4,* ,AR4
	LAC	* ,AR2
	ADRK	2
	SACL	*-
	.line	26
;>>>> 	    if ( ((SST_id1&0xff) == SST_ID) && (SST_id2 ==SST_39VF400A))ReturnStatus = TRUE;
	LACK	255
	AND	* 
	SUBK	191
	BNZ	L1
	MAR	*+
	LAC	* 
	SUBK	10112
	BNZ	L1
	LACK	1
	MAR	*+
	SACL	* 
	B	L2
L1:
	.line	27
;>>>> 	    else  ReturnStatus = FALSE;         
	LACK	0
	LARK	AR2,5
	MAR	*0+
	SACL	* 
L2:
	.line	29
;>>>> 	    Temp1  = (uint *)(BaseAddr+0x5555); //address 5555h   
	SBRK	3
	SPLK	#54613,* 
	.line	30
;>>>> 	    *Temp1 = 0xAAAA;                 // 0xAAAA   
	LAR	AR4,* ,AR4
	SPLK	#43690,* ,AR2
	.line	31
;>>>> 	    Temp1  = (uint *)(BaseAddr+0x2AAA); //address 2AAAh   
	SPLK	#43690,* 
	.line	32
;>>>> 	    *Temp1 = 0x5555;                 //0x5555  
	LAR	AR4,* ,AR4
	SPLK	#21845,* ,AR2
	.line	33
;>>>> 	    Temp1  = (uint *)(BaseAddr+0x5555); //address 5555h   
	SPLK	#54613,* 
	.line	34
;>>>> 	    *Temp1 = 0xF0F0;                 //0xF0F0
	LAR	AR4,* ,AR4
	SPLK	#61680,* ,AR1
	.line	36
;>>>> 	    Delay_150_Nano_Seconds();        //delay Tida  
	CALL	_Delay_150_Nano_Seconds
	.line	37
;>>>> 	    cs_flash_1;       
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1028
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	.line	38
;>>>> 	    return(ReturnStatus);
	MAR	* ,AR2
	LARK	AR2,5
	MAR	*0+
	ZALS	* 
EPI0_2:
	.line	39
	MAR	* ,AR1
	SBRK	7
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	87,000000000H,6

	.sym	_Erase_One_Sector,_Erase_One_Sector,46,2,0
	.globl	_Erase_One_Sector

	.func	118
;>>>> 	uint Erase_One_Sector (uint *Dst)
******************************************************
* FUNCTION DEF : _Erase_One_Sector
******************************************************
_Erase_One_Sector:

LF3	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,3
	LAR	AR0,*0+,AR2

	.sym	_Dst,-3+LF3,30,9,16
	.sym	_Temp,1,30,1,16
	.sym	_flag,2,14,1,16
	.line	2
;>>>> 	    uint *Temp;
	.line	4
;>>>> 	    uint flag = 1;
	LACK	1
	LARK	AR2,2
	MAR	*0+
	SACL	*-
	.line	6
;>>>> 	    cs_flash_0;        
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1024
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	LACK	65531
	AND	_PFDATDIR
	SACL	_PFDATDIR
	.line	8
;>>>> 	    Temp  = (uint *)(BaseAddr+0x5555); // set up address to be C000:5555h                  
	SPLK	#54613,* 
	.line	9
;>>>> 	    *Temp = 0xAAAA;                 // write data 0xAAAA to the address 
	LAR	AR3,* ,AR3
	SPLK	#43690,* ,AR2
	.line	11
;>>>> 	    Temp  = (uint *)(BaseAddr+0x2AAA); // set up address to be C000:2AAAh          
	SPLK	#43690,* 
	.line	12
;>>>> 	    *Temp = 0x5555;                 // write data 0x5555 to the address 
	LAR	AR3,* ,AR3
	SPLK	#21845,* ,AR2
	.line	14
;>>>> 	    Temp  = (uint *)(BaseAddr+0x5555); // set up address to be C000:5555h          
	SPLK	#54613,* 
	.line	15
;>>>> 	    *Temp = 0x8080;                 // write data 0x8080 to the address 
	LAR	AR3,* ,AR3
	SPLK	#32896,* ,AR2
	.line	17
;>>>> 	    Temp  = (uint *)(BaseAddr+0x5555); // set up address to be C000:5555h          
	SPLK	#54613,* 
	.line	18
;>>>> 	    *Temp = 0xAAAA;                 // write data 0xAAAA to the address 
	LAR	AR3,* ,AR3
	SPLK	#43690,* ,AR2
	.line	20
;>>>> 	    Temp  = (uint *)(BaseAddr+0x2AAA); // set up address to be C000:2AAAh          
	SPLK	#43690,* 
	.line	21
;>>>> 	    *Temp = 0x5555;                 // write data 0x5555 to the address 
	LAR	AR3,* ,AR3
	SPLK	#21845,* ,AR2
	.line	23
;>>>> 	    Temp  = Dst;                  // set up starting address to be erased        
	SBRK	4-LF3
	LAC	* 
	ADRK	4-LF3
	SACL	* 
	.line	24
;>>>> 	    *Temp = 0x3030;                 // write data 0x3030 to the address                
	LAR	AR3,* ,AR3
	SPLK	#12336,* ,AR1
	.line	25
;>>>> 	    flag = Check_Toggle_Ready(Temp); 		
	SAR	AR3,*+
	CALL	_Check_Toggle_Ready
	MAR	*-,AR2
	LARK	AR2,2
	MAR	*0+
	SACL	* 
	.line	26
;>>>> 	    cs_flash_1;
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1028
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	.line	27
;>>>> 		if(flag) return 1;
	LAC	* 
	BZ	L3
	LACK	1
	B	EPI0_3
L3:
	.line	28
;>>>> 	    else return 0;   	
	LACK	0
EPI0_3:
	.line	29
	MAR	* ,AR1
	SBRK	4
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	146,000000000H,3

	.sym	_Program_One_Word,_Program_One_Word,46,2,0
	.globl	_Program_One_Word

	.func	208
;>>>> 	uint Program_One_Word (uint SrcWord, uint *Dst)
******************************************************
* FUNCTION DEF : _Program_One_Word
******************************************************
_Program_One_Word:

LF4	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,4
	LAR	AR0,*0+,AR2

	.sym	_SrcWord,-3+LF4,14,9,16
	.sym	_Dst,-4+LF4,30,9,16
	.sym	_Temp,1,30,1,16
	.sym	_DestBuf,2,30,1,16
	.sym	_flag,3,14,1,16
	.line	2
;>>>> 		uint *Temp;
;>>>> 	    uint *DestBuf;
	.line	5
;>>>> 		uint flag = 1;
	LACK	1
	LARK	AR2,3
	MAR	*0+
	SACL	* 
	.line	7
;>>>> 	    cs_flash_0; 
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1024
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	LACK	65531
	AND	_PFDATDIR
	SACL	_PFDATDIR
	.line	8
;>>>> 	    DestBuf = Dst;         
	SBRK	7-LF4
	LAC	* 
	ADRK	6-LF4
	SACL	*-
	.line	9
;>>>> 	    Temp =  (uint *)(BaseAddr+0x5555); // address 555h        
	SPLK	#54613,* 
	.line	10
;>>>> 	    *Temp = 0xAAAA;                 // 0xAAAA         
	LAR	AR3,* ,AR3
	SPLK	#43690,* ,AR2
	.line	12
;>>>> 	    Temp =  (uint *)(BaseAddr+0x2AAA); //address 2AAAh                
	SPLK	#43690,* 
	.line	13
;>>>> 	    *Temp = 0x5555;                 //0x5555             
	LAR	AR3,* ,AR3
	SPLK	#21845,* ,AR2
	.line	15
;>>>> 	    Temp =  (uint *)(BaseAddr+0x5555); //address 5555h               
	SPLK	#54613,* 
	.line	16
;>>>> 	    *Temp = 0xA0A0;                 //0xA0A0              
	LAR	AR3,*+,AR3
	SPLK	#41120,* ,AR2
	.line	18
;>>>> 	    *DestBuf = SrcWord;            
	LAR	AR4,* 
	SBRK	5-LF4
	LAC	* ,AR4
	SACL	* ,AR1
	.line	20
;>>>> 		cs_flash_1;       
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1028
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	.line	21
;>>>> 	    flag = Check_Toggle_Ready(DestBuf);    // wait for TOGGLE bit to get ready         		
	SAR	AR4,*+
	CALL	_Check_Toggle_Ready
	MAR	*-,AR2
	LARK	AR2,3
	MAR	*0+
	SACL	* 
	.line	23
;>>>> 	    if(flag) return 1;
	LAC	* 
	BZ	L4
	LACK	1
	B	EPI0_4
L4:
	.line	24
;>>>> 	    else 	 return 0; 	
	LACK	0
EPI0_4:
	.line	25
	MAR	* ,AR1
	SBRK	5
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	232,000000000H,4

	.sym	_Check_Toggle_Ready,_Check_Toggle_Ready,46,2,0
	.globl	_Check_Toggle_Ready

	.func	310
;>>>> 	uint Check_Toggle_Ready (uint  *Dst)
******************************************************
* FUNCTION DEF : _Check_Toggle_Ready
******************************************************
_Check_Toggle_Ready:

LF5	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,6
	LAR	AR0,*0+,AR2

	.sym	_Dst,-3+LF5,30,9,16
	.sym	_Loop,1,12,1,16
	.sym	_PreData,2,14,1,16
	.sym	_CurrData,3,14,1,16
	.sym	_TimeOut,4,15,1,32
	.line	2
	.line	3
;>>>> 	    uchar Loop = TRUE;
;>>>> 	    uint PreData;
;>>>> 	    uint CurrData;
	LACK	1
	LARK	AR2,1
	MAR	*0+
	SACL	* 
	.line	6
;>>>> 	    unsigned long TimeOut = 0;
	LACK	0
	ADRK	3
	SACL	*+
	SACH	* 
	.line	8
;>>>> 		cs_flash_0;
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1024
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	LACK	65531
	AND	_PFDATDIR
	SACL	_PFDATDIR
	.line	9
;>>>> 	    PreData = *Dst;
	SBRK	8-LF5
	LAR	AR3,* ,AR3
	LAC	* ,AR2
	ADRK	5-LF5
	SACL	* 
	.line	10
;>>>> 	    PreData = PreData & 0x4040;
	LACK	16448
	AND	* 
	SACL	*-
	.line	11
;>>>> 	    while (Loop)
	LAC	* 
	BZ	L6
	SBRK	4-LF5
L5:
	.line	13
;>>>> 			CurrData = *Dst;
	LAR	AR3,* ,AR3
	LAC	* ,AR2
	ADRK	6-LF5
	SACL	* 
	.line	14
;>>>> 	        CurrData = CurrData & 0x4040;
	LACK	16448
	AND	* 
	SACL	*-
	.line	15
;>>>> 	        if (PreData == CurrData)
	LAC	*+
	SUB	* 
	BNZ	L7
	.line	16
;>>>> 	        	Loop = FALSE;   /* ready to exit the while loop */
	LACK	0
	SBRK	2
	SACL	* 
L7:
	.line	17
;>>>> 			PreData = CurrData;
	LARK	AR2,3
	MAR	*0+
	LAC	*-
	SACL	* 
	.line	18
;>>>> 	        TimeOut++;
	ADRK	2
	ZALS	*+
	ADDH	*-
	ADDK	1
	SACL	*+
	SACH	*-
	.line	19
;>>>> 	        if(TimeOut >= 0x07FFFFFF)
	LT	*+
	MPYK	1
	LPH	* 
	LALK	4095,15
	ORK	32767
	SPAC
	BZ	$+4
	BC	L8
	.line	21
;>>>> 	        	cs_flash_1;
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1028
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	.line	22
;>>>> 	            return 0;	// failed
	LACK	0
	B	EPI0_5
L8:
	.line	11
	SBRK	4
	LAC	* 
	SBRK	4-LF5
	BNZ	L5
L6:
	.line	25
;>>>> 	    cs_flash_1;
	LACK	64511
	LDPK	_MCRC
	AND	_MCRC
	SACL	_MCRC
	LACK	1028
	LDPK	_PFDATDIR
	OR	_PFDATDIR
	SACL	_PFDATDIR
	.line	26
;>>>> 	    return 1;	// success
	LACK	1
EPI0_5:
	.line	27
	MAR	* ,AR1
	SBRK	7
	LAR	AR0,*-

⌨️ 快捷键说明

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