serial.lst

来自「dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,f」· LST 代码 · 共 1,452 行 · 第 1/5 页

LST
1,452
字号
     269 0016 7980          B       L3
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Dec  8 11:06:24 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
serial.asm                                                           PAGE    6

         0017 0053' 
     270 0018       L4:
     271                    .line   9
     272            ;>>>>                 case 0x07: { SCIHBAUD = 0x01;SCILBAUD = 0x03; break; }//19200
     273 0018 b901          LACK    1
     274 0019 bc00!         LDPK    _SCIHBAUD
     275 001a 9000!         SACL    _SCIHBAUD
     276 001b b903          LACK    3
     277 001c bc00!         LDPK    _SCILBAUD
     278 001d 9000!         SACL    _SCILBAUD
     279 001e 7980          B       L3
         001f 0053' 
     280 0020       L5:
     281                    .line   10
     282            ;>>>>                 case 0x08: { SCIHBAUD = 0x00;SCILBAUD = 0x81; break; }//38400
     283 0020 b900          LACK    0
     284 0021 bc00!         LDPK    _SCIHBAUD
     285 0022 9000!         SACL    _SCIHBAUD
     286 0023 b981          LACK    129
     287 0024 bc00!         LDPK    _SCILBAUD
     288 0025 9000!         SACL    _SCILBAUD
     289 0026 7980          B       L3
         0027 0053' 
     290 0028       L6:
     291                    .line   11
     292            ;>>>>                 case 0x09: { SCIHBAUD = 0x00;SCILBAUD = 0x56; break; }//57600
     293 0028 b900          LACK    0
     294 0029 bc00!         LDPK    _SCIHBAUD
     295 002a 9000!         SACL    _SCIHBAUD
     296 002b b956          LACK    86
     297 002c bc00!         LDPK    _SCILBAUD
     298 002d 9000!         SACL    _SCILBAUD
     299 002e 7980          B       L3
         002f 0053' 
     300 0030       L7:
     301                    .line   12
     302            ;>>>>                 case 0x0a: { SCIHBAUD = 0x00;SCILBAUD = 0x2a; break; }//115200
     303 0030 b900          LACK    0
     304 0031 bc00!         LDPK    _SCIHBAUD
     305 0032 9000!         SACL    _SCIHBAUD
     306 0033 b92a          LACK    42
     307 0034 bc00!         LDPK    _SCILBAUD
     308 0035 9000!         SACL    _SCILBAUD
     309 0036 7980          B       L3
         0037 0053' 
     310 0038       L8:
     311                    .line   13
     312            ;>>>>                 default :  { SCIHBAUD = 0x00;SCILBAUD = 0x81; break; }//38400
     313 0038 b900          LACK    0
     314 0039 bc00!         LDPK    _SCIHBAUD
     315 003a 9000!         SACL    _SCIHBAUD
     316 003b b981          LACK    129
     317 003c bc00!         LDPK    _SCILBAUD
     318 003d 9000!         SACL    _SCILBAUD
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Dec  8 11:06:24 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
serial.asm                                                           PAGE    7

     319 003e 7980          B       L3
         003f 0053' 
     320 0040       L1:
     321                    .line   6
     322 0040 8b90          MAR     *-
     323 0041 6980          ZALS    * 
     324 0042 ba06          SUBK    6
     325 0043 e388          BZ      L2
         0044 0010' 
     326 0045 ba01          SUBK    1
     327 0046 e388          BZ      L4
         0047 0018' 
     328 0048 ba01          SUBK    1
     329 0049 e388          BZ      L5
         004a 0020' 
     330 004b ba01          SUBK    1
     331 004c e388          BZ      L6
         004d 0028' 
     332 004e ba01          SUBK    1
     333 004f e388          BZ      L7
         0050 0030' 
     334 0051 7980          B       L8
         0052 0038' 
     335 0053       L3:
     336                    .line   15
     337            ;>>>>           if(form==0)      { SCICCR = 0x07; }          //no parity
     338 0053 8b8a          MAR     * ,AR2
     339 0054 b202          LARK    AR2,2
     340 0055 8be0          MAR     *0+
     341 0056 1080          LAC     * 
     342 0057 e308          BNZ     L9
         0058 005e' 
     343 0059 b907          LACK    7
     344 005a bc00!         LDPK    _SCICCR
     345 005b 9000!         SACL    _SCICCR
     346 005c 7980          B       L10
         005d 0073' 
     347 005e       L9:
     348                    .line   16
     349            ;>>>>           else if(form ==1){ SCICCR = 0x67; }          //even parity
     350 005e 1080          LAC     * 
     351 005f ba01          SUBK    1
     352 0060 e308          BNZ     L11
         0061 0067' 
     353 0062 b967          LACK    103
     354 0063 bc00!         LDPK    _SCICCR
     355 0064 9000!         SACL    _SCICCR
     356 0065 7980          B       L10
         0066 0073' 
     357 0067       L11:
     358                    .line   17
     359            ;>>>>           else if(form ==2){ SCICCR = 0x27; }          //odd parity
     360 0067 1080          LAC     * 
     361 0068 ba02          SUBK    2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Dec  8 11:06:24 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
serial.asm                                                           PAGE    8

     362 0069 e308          BNZ     L12
         006a 0070' 
     363 006b b927          LACK    39
     364 006c bc00!         LDPK    _SCICCR
     365 006d 9000!         SACL    _SCICCR
     366 006e 7980          B       L10
         006f 0073' 
     367 0070       L12:
     368                    .line   18
     369            ;>>>>           else             { SCICCR = 0x07; }          //no parity        
     370 0070 b907          LACK    7
     371 0071 bc00!         LDPK    _SCICCR
     372 0072 9000!         SACL    _SCICCR
     373 0073       L10:
     374                    .line   20
     375            ;>>>>           SCICTL1 = 0x03;         /*发送器接收器使能*/
     376 0073 b903          LACK    3
     377 0074 bc00!         LDPK    _SCICTL1
     378 0075 9000!         SACL    _SCICTL1
     379                    .line   21
     380            ;>>>>           SCICTL2 = 0x02;         /*使能接收中断 */    
     381 0076 b902          LACK    2
     382 0077 bc00!         LDPK    _SCICTL2
     383 0078 9000!         SACL    _SCICTL2
     384                    .line   22
     385            ;>>>>           SCICTL1 |= 0x20;        /*sw reset*/  
     386 0079 b920          LACK    32
     387 007a bc00!         LDPK    _SCICTL1
     388 007b 6d00!         OR      _SCICTL1
     389 007c 9000!         SACL    _SCICTL1
     390                    .line   23
     391            ;>>>>           SCIPRI &= 0x87;         /* high priority*/
     392 007d b987          LACK    135
     393 007e bc00!         LDPK    _SCIPRI
     394 007f 6e00!         AND     _SCIPRI
     395 0080 9000!         SACL    _SCIPRI
     396                    .line   24
     397            ;>>>>           MCRA |= 0x3;    // configure iopa0,iopa1 as SCITXD,SCIRXD 
     398 0081 b903          LACK    3
     399 0082 bc00!         LDPK    _MCRA
     400 0083 6d00!         OR      _MCRA
     401 0084 9000!         SACL    _MCRA
     402                    .line   25
     403            ;>>>>           IMR |= 0x01;            
     404 0085 b901          LACK    1
     405 0086 bc00!         LDPK    _IMR
     406 0087 6d00!         OR      _IMR
     407 0088 9000!         SACL    _IMR
     408                    .line   26
     409            ;>>>>           IFR = 0xffff;  //clr all flag
     410 0089 bc00!         LDPK    _IFR
     411 008a ae00!         SPLK    #-1,_IFR
         008b ffff  
     412                    .line   28
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Dec  8 11:06:24 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
serial.asm                                                           PAGE    9

     413            ;>>>>           pcdata[0] = 0x05;pcdata[1] = 0x44;  /*测试数据*/
     414 008c b905          LACK    5
     415 008d bc00!         LDPK    _pcdata
     416 008e 9000!         SACL    _pcdata
     417 008f b944          LACK    68
     418 0090 bc00!         LDPK    _pcdata+1
     419 0091 9001!         SACL    _pcdata+1
     420                    .line   29
     421            ;>>>>           pcdata[2] = 0x33;pcdata[3] = 0x22;
     422 0092 b933          LACK    51
     423 0093 bc00!         LDPK    _pcdata+2
     424 0094 9002!         SACL    _pcdata+2
     425 0095 b922          LACK    34
     426 0096 bc00!         LDPK    _pcdata+3
     427 0097 9003!         SACL    _pcdata+3
     428                    .line   30
     429            ;>>>>           pcdata[4] = 0x11;
     430 0098 b911          LACK    17
     431 0099 bc00!         LDPK    _pcdata+4
     432 009a 9004!         SACL    _pcdata+4
     433                    .line   32
     434            ;>>>>           status_rx = 0;                              
     435 009b b900          LACK    0
     436 009c bc00!         LDPK    _status_rx
     437 009d 9000!         SACL    _status_rx
     438                    .line   33
     439            ;>>>>           testSerialOutput();     //test Serial Output                            
     440 009e 7a89          CALL    _testSerialOutput,AR1
         009f 00a4' 
     441 00a0       EPI0_1:
     442                    .line   34
     443 00a0 7c04          SBRK    4
     444 00a1 0090          LAR     AR0,*-
     445 00a2 7680          PSHD    *
     446 00a3 ef00          RET
     447            
     448                    .endfunc        75,000000000H,3
     449            
     450                    .sym    _testSerialOutput,_testSerialOutput,32,2,0
     451                    .globl  _testSerialOutput
     452            
     453                    .func   78
     454            ;>>>>   void testSerialOutput() // initial serial port testing
     455            ;>>>>           uchar i;
     456            ******************************************************
     457            * FUNCTION DEF : _testSerialOutput
     458            ******************************************************
     459 00a4       _testSerialOutput:
     460 00a4 8aa0          POPD    *+
     461 00a5 80a0          SAR     AR0,*+
     462 00a6 8180          SAR     AR1,*
     463 00a7 b002          LARK    AR0,2
     464 00a8 00ea          LAR     AR0,*0+,AR2
     465            
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Dec  8 11:06:24 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
serial.asm                                                           PAGE   10

     466                    .sym    _i,1,12,1,16
     467                    .line   4
     468            ;>>>>           for(i=0;i<pcdata[0];i++)        
     469 00a9 b900          LACK    0
     470 00aa b201          LARK    AR2,1
     471 00ab 8be0          MAR     *0+
     472 00ac 9080          SACL    * 
     473 00ad 6980          ZALS    * 
     474 00ae bc00!         LDPK    _pcdata
     475 00af 6600!         SUBS    _pcdata
     476 00b0 e38c          BGEZ    L14
         00b1 00c6' 
     477 00b2       L13:
     478                    .line   5
     479            ;>>>>                   serialPortOutput1byte(pcdata[i]);
     480 00b2 1088          LAC     * ,AR0
     481 00b3 bf90          ADLK    _pcdata+0,0
         00b4 0000! 
     482 00b5 9080          SACL    * 
     483 00b6 038b          LAR     AR3,* ,AR3
     484 00b7 1089          LAC     * ,AR1
     485 00b8 90a0          SACL    *+
     486 00b9 7a80          CALL    _serialPortOutput1byte
         00ba 00cb' 
     487 00bb 8b9a          MAR     *-,AR2
     488                    .line   4
     489 00bc b201          LARK    AR2,1
     490 00bd 8be0          MAR     *0+
     491 00be 1080          LAC     * 
     492 00bf b801          ADDK    1
     493 00c0 9080          SACL    * 
     494 00c1 6980          ZALS    * 
     495 00c2 bc00!         LDPK    _pcdata
     496 00c3 6600!         SUBS    _pcdata
     497 00c4 e344          BLZ     L13
         00c5 00b2' 
     498 00c6       L14:
     499 00c6       EPI0_2:
     500                    .line   6
     501 00c6 8b89          MAR     * ,AR1
     502 00c7 7c03          SBRK    3
     503 00c8 0090          LAR     AR0,*-
     504 00c9 7680          PSHD    *
     505 00ca ef00          RET
     506            
     507                    .endfunc        83,000000000H,2
     508            
     509                    .sym    _serialPortOutput1byte,_serialPortOutput1byte,32,2,0
     510                    .globl  _serialPortOutput1byte
     511            
     512                    .func   85
     513            ;>>>>   void serialPortOutput1byte(uchar c)
     514            ******************************************************
     515            * FUNCTION DEF : _serialPortOutput1byte

⌨️ 快捷键说明

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