📄 buffer.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx buffer.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\buffer.if
; dspopt NOT RUN
; C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\buffer.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\buffer.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\buffer.tmp
.port
.bss _c_tr_data,1,1
.bss _c_db_adr,1
.bss _c_db_n,1
.bss _c_tr_id,1
.bss _c_valid_time,1
.bss _c_read,1
.bss _c_sync,1
.bss _c_sync_timeout,1
.bss _RFoffFlag,1
.bss _masterFirst,1
.bss _syncTimeoutCounter,1
.bss _syncTimeoutFlag,1
.bss _syncTimeoutCounter_out,1
.bss _syncTimeoutFlag_out,1
.bss _timeOutCome,1
.bss _bufferInitFlag,1
.bss _bufferClrFlag,1
.bss _bufferReadFlag,1
.bss _bufferReadCouner,1
.file "buffer.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 "buffer.c"
.globl _periodReadBuffer
.globl _getBufferTime
.globl _Day
.globl _Hour
.globl _Minute
.globl _Second
.globl _buffer
.globl _viccdata
.globl _labeldata
.globl _cfgdata
.globl _status_rx
.globl _pcdata
.globl _ISOMode
.globl _ISOModeSys
.globl _ISOFlagsSys
.globl _globalLevel
.globl _bReadTag
.sect ".cinit"
.word 1,_c_tr_data
.word 0
.sym _c_tr_data,_c_tr_data,12,3,16
.word 1,_c_db_adr
.word 0
.sym _c_db_adr,_c_db_adr,12,3,16
.word 1,_c_db_n
.word 0
.sym _c_db_n,_c_db_n,12,3,16
.word 1,_c_tr_id
.word 0
.sym _c_tr_id,_c_tr_id,12,3,16
.word 1,_c_valid_time
.word 0
.sym _c_valid_time,_c_valid_time,12,3,16
.word 1,_c_read
.word 0
.sym _c_read,_c_read,12,3,16
.word 1,_c_sync
.word 0
.sym _c_sync,_c_sync,12,3,16
.word 1,_c_sync_timeout
.word 0
.sym _c_sync_timeout,_c_sync_timeout,12,3,16
.word 1,_RFoffFlag
.word 0
.sym _RFoffFlag,_RFoffFlag,12,3,16
.word 1,_masterFirst
.word 0
.sym _masterFirst,_masterFirst,12,3,16
.word 1,_syncTimeoutCounter
.word 0
.sym _syncTimeoutCounter,_syncTimeoutCounter,12,2,16
.globl _syncTimeoutCounter
.word 1,_syncTimeoutFlag
.word 0
.sym _syncTimeoutFlag,_syncTimeoutFlag,12,2,16
.globl _syncTimeoutFlag
.word 1,_syncTimeoutCounter_out
.word 0
.sym _syncTimeoutCounter_out,_syncTimeoutCounter_out,12,2,16
.globl _syncTimeoutCounter_out
.word 1,_syncTimeoutFlag_out
.word 0
.sym _syncTimeoutFlag_out,_syncTimeoutFlag_out,12,2,16
.globl _syncTimeoutFlag_out
.word 1,_timeOutCome
.word 0
.sym _timeOutCome,_timeOutCome,12,3,16
.word 1,_bufferInitFlag
.word 0
.sym _bufferInitFlag,_bufferInitFlag,12,3,16
.word 1,_bufferClrFlag
.word 0
.sym _bufferClrFlag,_bufferClrFlag,12,3,16
.word 1,_bufferReadFlag
.word 0
.sym _bufferReadFlag,_bufferReadFlag,12,3,16
.globl _globalErrFlag
.globl _deviceAddr
.text
.sym _readCfg11,_readCfg11,32,2,0
.globl _readCfg11
.func 86
;>>>> void readCfg11( )
;>>>> uint i;
******************************************************
* FUNCTION DEF : _readCfg11
******************************************************
_readCfg11:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,2
LAR AR0,*0+
.sym _i,1,14,1,16
.line 4
;>>>> c_tr_data = (cfgdata[88]>>8) & 0x23;
RSXM
LDPK _cfgdata+88
LAC _cfgdata+88,7
ANDK 35,15
LDPK _c_tr_data
SACH _c_tr_data,1
.line 5
;>>>> c_db_adr = cfgdata[88]&0x1f;
LACK 31
LDPK _cfgdata+88
AND _cfgdata+88
LDPK _c_db_adr
SACL _c_db_adr
.line 6
;>>>> c_db_n = (cfgdata[89] >> 8)&0x0f;
LDPK _cfgdata+89
LAC _cfgdata+89,7
ANDK 15,15
LDPK _c_db_n
SACH _c_db_n,1
.line 7
;>>>> c_tr_id = cfgdata[89]&0x9f;
LACK 159
LDPK _cfgdata+89
AND _cfgdata+89
LDPK _c_tr_id
SACL _c_tr_id
.line 8
;>>>> c_valid_time = cfgdata[90];
BLKD #_cfgdata+90,_c_valid_time
.line 9
;>>>> c_read = (cfgdata[91]>>8) & 0x8f;
LDPK _cfgdata+91
LAC _cfgdata+91,7
ANDK 143,15
LDPK _c_read
SACH _c_read,1
.line 10
;>>>> c_sync = cfgdata[91]&0xff;
LACK 255
LDPK _cfgdata+91
AND _cfgdata+91
LDPK _c_sync
SACL _c_sync
.line 11
;>>>> c_sync_timeout = cfgdata[92]&0xff;
LACK 255
LDPK _cfgdata+92
AND _cfgdata+92
LDPK _c_sync_timeout
SACL _c_sync_timeout
.line 13
;>>>> if((c_tr_data==0x00) || (c_tr_data==0x20)){c_tr_data = 0x01;} //default
LAC _c_tr_data
BZ LL3
LAC _c_tr_data
SUBK 32
BNZ L1
LL3:
LACK 1
SACL _c_tr_data
L1:
.line 14
;>>>> if(c_db_adr >= 32) c_db_adr = 0;
ZALS _c_db_adr
SUBK 32
BLZ L2
LACK 0
SACL _c_db_adr
L2:
.line 15
;>>>> if(c_db_n >= 16) c_db_n = 1;
ZALS _c_db_n
SUBK 16
BLZ L3
LACK 1
SACL _c_db_n
L3:
.line 16
;>>>> if(c_valid_time>=80)c_valid_time = 0x0a; //default 1s
ZALS _c_valid_time
SUBK 80
BLZ L4
LACK 10
SACL _c_valid_time
L4:
.line 18
;>>>> pcdata[1] = 0xaa;
LACK 170
LDPK _pcdata+1
SACL _pcdata+1
.line 19
;>>>> initializeBuffer(); //init to clr buffer
CALL _initializeBuffer
EPI0_1:
.line 20
SBRK 3
LAR AR0,*-
PSHD *
RET
.endfunc 105,000000000H,2
.sym _bufferComPro,_bufferComPro,32,3,0
.func 106
;>>>> static void bufferComPro( )
******************************************************
* FUNCTION DEF : _bufferComPro
******************************************************
_bufferComPro:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> feedWatchDog();
;>>>> switch (pcdata[2])
CALL _feedWatchDog
B L5
L6:
.line 6
;>>>> case 0x52: {Detec_Baud_pro(); break;} //Baud Rate Detection
CALL _Detec_Baud_pro,AR1
B L7
L8:
.line 7
;>>>> case 0x63: {CPU_reset(); break;} //cpu reset
CALL _CPU_reset,AR1
B L7
L9:
.line 8
;>>>> case 0x65: {Get_DevInf_pro(); break;} //Get Reader Information
CALL _Get_DevInf_pro,AR1
B L7
L10:
.line 9
;>>>> case 0x69: {Reset_RF_pro(); break;} //RF Reset
CALL _Reset_RF_pro,AR1
B L7
L11:
.line 10
;>>>> case 0x6A: {RF_OnOff_pro(); break;} //RF ON/OFF
CALL _RF_OnOff_pro,AR1
B L7
L12:
.line 11
;>>>> case 0x6d: {getNoiseLevel(); break;} //get noise level
CALL _getNoiseLevel,AR1
B L7
L13:
.line 12
;>>>> case 0x6e: {readerDiagnostic(); break;} //reader diagnostic
CALL _readerDiagnostic,AR1
B L7
L14:
.line 13
;>>>> case 0x71: {setOutput(); break;} //set output
CALL _setOutput,AR1
B L7
L15:
.line 14
;>>>> case 0x74: {getInput(); break;} //get input
CALL _getInput,AR1
B L7
L16:
.line 15
;>>>> case 0x80: {Read_Cfg_pro(); break;} //Read Configuration
CALL _Read_Cfg_pro,AR1
B L7
L17:
.line 16
;>>>> case 0x81: {Write_Cfg_pro(); break;} //Write Configuration
CALL _Write_Cfg_pro,AR1
B L7
L18:
.line 17
;>>>> case 0x83: {Sdefault_Cfg_pro(); break;} //Set Default Configuration
CALL _Sdefault_Cfg_pro,AR1
B L7
L19:
.line 18
;>>>> case 0x85: {Wr_Rtc_pro(); break;}
CALL _Wr_Rtc_pro,AR1
B L7
L20:
.line 19
;>>>> case 0x86: {Rd_Rtc_pro(); break;}
CALL _Rd_Rtc_pro,AR1
B L7
L21:
.line 20
;>>>> case 0x88: {readIsoModeFalg(); break;}
CALL _readIsoModeFalg,AR1
B L7
L22:
.line 21
;>>>> case 0x21: {readBufferData(); break;} // buffer read mode,read buffer
CALL _readBufferData,AR1
B L7
L23:
.line 22
;>>>> case 0x31: {readDataBuffInfor();break;}
CALL _readDataBuffInfor,AR1
B L7
L24:
.line 23
;>>>> case 0x32: {clearBufferData( ); break;} // buffer read mode,clear buffer
CALL _clearBufferData,AR1
B L7
L25:
.line 24
;>>>> case 0x33: {initializeBuffer(); break;};
CALL _initializeBuffer,AR1
B L7
L26:
.line 25
;>>>> default: {default_pro(); break;} //Unknown Command
CALL _default_pro,AR1
B L7
L5:
.line 4
LDPK _pcdata+2
ZALS _pcdata+2
SUBK 33
BZ L22
SUBK 16
BZ L23
SUBK 1
BZ L24
SUBK 1
BZ L25
SUBK 31
BZ L6
SUBK 17
BZ L8
SUBK 2
BZ L9
SUBK 4
BZ L10
SUBK 1
BZ L11
SUBK 3
BZ L12
SUBK 1
BZ L13
SUBK 3
BZ L14
SUBK 3
BZ L15
SUBK 12
BZ L16
SUBK 1
BZ L17
SUBK 2
BZ L18
SUBK 2
BZ L19
SUBK 1
BZ L20
SUBK 2
BZ L21
B L26
L7:
EPI0_2:
.line 27
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 132,000000000H,1
.sym _periodReadBuffer,_periodReadBuffer,32,2,0
.globl _periodReadBuffer
.func 133
;>>>> void periodReadBuffer()
;>>>> uint i;
;>>>> uchar addrType;
******************************************************
* FUNCTION DEF : _periodReadBuffer
******************************************************
_periodReadBuffer:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,9
LAR AR0,*0+,AR2
.sym _i,1,14,1,16
.sym _addrType,2,12,1,16
.sym _slaveLast,3,12,1,16
.sym _slaveCurrent,4,12,1,16
.sym _slaveUpEdge,5,12,1,16
.sym _masterLast,6,12,1,16
.sym _masterCurrent,7,12,1,16
.sym _masterUpEdge,8,12,1,16
.line 5
;>>>> uchar slaveLast=0, slaveCurrent=0, slaveUpEdge=0;
LACK 0
LARK AR2,3
MAR *0+
SACL *+
SACL *+
SACL *+
.line 6
;>>>> uchar masterLast=0,masterCurrent=0,masterUpEdge=0;
SACL *+
SACL *+
SACL *
.line 8
;>>>> globalErrFlag = 0x00; // clear iso error flag
LDPK _globalErrFlag
SACL _globalErrFlag
.line 10
;>>>> if(status_rx==2)
LDPK _status_rx
LAC _status_rx
SUBK 2
BNZ L27
.line 12
;>>>> addrType = verifyType();
CALL _verifyType,AR1
MAR * ,AR2
LARK AR2,2
MAR *0+
SACL *
.line 13
;>>>> if(addrType)bufferComPro( );
LAC *
BZ L28
CALL _bufferComPro,AR1
L28:
.line 14
;>>>> status_rx = 0;
LACK 0
LDPK _status_rx
SACL _status_rx
L27:
.line 17
;>>>> if( (c_sync&0x03) == 0x01 ) //cascaded synchronization
LACK 3
LDPK _c_sync
AND _c_sync
SUBK 1
BNZ L29
.line 19
;>>>> if( (c_sync&0x04) == 0x04 ) // master mode
LACK 4
AND _c_sync
SUBK 4
BNZ L30
.line 21
;>>>> syncTimeoutFlag_out = 1;
LACK 1
SACL _syncTimeoutFlag_out
.line 22
;>>>> if(masterFirst == 0xaa) // second time access
LAC _masterFirst
SUBK 170
BNZ L31
.line 24
;>>>> masterCurrent = OpticInput3()&0x01;
CALL _OpticInput3,AR1
ANDK 1
MAR * ,AR2
LARK AR2,7
MAR *0+
SACL *
.line 25
;>>>> if( (masterCurrent != masterLast)&&(masterCurrent == 0x01)||(timeOutCome == 0xaa) )
LAC *-
SUB *
BZ LL8
MAR *+
LAC *
SUBK 1
BZ LL7
LL8:
LDPK _timeOutCome
LAC _timeOutCome
SUBK 170
BNZ L32
LL7:
.line 27
;>>>> syncTimeoutFlag_out = 0;
LACK 0
LDPK _syncTimeoutFlag_out
SACL _syncTimeoutFlag_out
.line 28
;>>>> masterUpEdge = 0xaa; //up edge come
LACK 170
LARK AR2,8
MAR *0+
SACL * ,AR1
.line 29
;>>>> timeOutCome = 0x00;
;>>>> //if( RFoffFlag == 0xaa )
LACK 0
SACL _timeOutCome
.line 32
;>>>> RFoffFlag = 0x00;
SACL _RFoffFlag
.line 33
;>>>> adjustX9c503(1,globalLevel); // open RF
BLKD _globalLevel+0,*+
LACK 1
SACL *+
CALL _adjustX9c503
SBRK 2
L32:
.line 36
;>>>> if( (masterUpEdge == 0xaa) || (timeOutCome == 0xaa) )
MAR * ,AR2
LARK AR2,8
MAR *0+
LAC *
SUBK 170
BZ LL9
LDPK _timeOutCome
LAC _timeOutCome
SUBK 170
BNZ L33
LL9:
.line 38
;>>>> timeOutCome = 0x00;
LACK 0
LDPK _timeOutCome
SACL _timeOutCome
.line 39
;>>>> if(buffer[0] <= 5)
LDPK _buffer
ZALS _buffer
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -