uimgr.lst
来自「mg128+Ov7620实现图象采集」· LST 代码 · 共 1,354 行 · 第 1/4 页
LST
1,354 行
791 033a F901 movw r30,r18
792 033c E90F add r30,r25
793 033e F11D adc r31,__zero_reg__
794 0340 8D91 ld r24,X+
795 0342 8083 st Z,r24
797 .LM107:
798 0344 892F mov r24,r25
799 0346 8F5F subi r24,lo8(-(1))
800 0348 8F73 andi r24,lo8(63)
802 .LM108:
803 034a 8093 0000 sts UIMgr_txFifoHead,r24
804 034e 6150 subi r22,1
805 0350 90F7 brcc .L71
806 .L73:
445:UIMgr.c **** }
446:UIMgr.c **** ENABLE_INTS();
808 .LM109:
809 /* #APP */
810 0352 7894 sei
811 /* #NOAPP */
812 .L67:
813 0354 0895 ret
814 /* epilogue: frame size=0 */
815 0356 0895 ret
816 /* epilogue end (size=1) */
817 /* function UIMgr_writeBufferToTxFifo size 29 (28) */
822 .Lscope9:
826 .global UIMgr_txBuffer
828 UIMgr_txBuffer:
447:UIMgr.c **** }
448:UIMgr.c ****
449:UIMgr.c **** /***********************************************************
450:UIMgr.c **** Function Name: UIMgr_txBuffer
451:UIMgr.c **** Function Description: This function is responsible for
452:UIMgr.c **** sending 'length' bytes out using the UartInterface
453:UIMgr.c **** module.
454:UIMgr.c **** Inputs: pData - a pointer to the data to send
455:UIMgr.c **** length - the number of bytes to send
456:UIMgr.c **** Outputs: none
457:UIMgr.c **** ***********************************************************/
458:UIMgr.c **** void UIMgr_txBuffer(unsigned char *pData, unsigned char length)
459:UIMgr.c **** {
830 .LM110:
831 /* prologue: frame size=0 */
832 0358 0F93 push r16
833 035a 1F93 push r17
834 035c CF93 push r28
835 /* prologue end (size=3) */
836 035e 8C01 movw r16,r24
837 0360 C62F mov r28,r22
460:UIMgr.c **** while(length-- != 0)
461:UIMgr.c **** {
462:UIMgr.c **** UartInt_txByte(*pData++);
839 .LM111:
840 0362 C150 subi r28,lo8(-(-1))
841 0364 CF3F cpi r28,lo8(-1)
842 0366 39F0 breq .L79
843 .L77:
845 .LM112:
846 0368 F801 movw r30,r16
847 036a 8191 ld r24,Z+
848 036c 8F01 movw r16,r30
849 036e 0E94 0000 call UartInt_txByte
850 0372 C150 subi r28,1
851 0374 C8F7 brcc .L77
852 .L79:
853 /* epilogue: frame size=0 */
854 0376 CF91 pop r28
855 0378 1F91 pop r17
856 037a 0F91 pop r16
857 037c 0895 ret
858 /* epilogue end (size=4) */
859 /* function UIMgr_txBuffer size 20 (13) */
861 .Lscope10:
863 .global UIMgr_flushTxBuffer
865 UIMgr_flushTxBuffer:
463:UIMgr.c **** }
464:UIMgr.c **** }
465:UIMgr.c ****
466:UIMgr.c **** /***********************************************************
467:UIMgr.c **** Function Name: UIMgr_flushTxBuffer
468:UIMgr.c **** Function Description: This function is responsible for
469:UIMgr.c **** sending all data currently in the serial tx buffer
470:UIMgr.c **** to the user.
471:UIMgr.c **** Inputs: none
472:UIMgr.c **** Outputs: none
473:UIMgr.c **** ***********************************************************/
474:UIMgr.c **** void UIMgr_flushTxBuffer(void)
475:UIMgr.c **** {
867 .LM113:
868 /* prologue: frame size=0 */
869 /* prologue end (size=0) */
476:UIMgr.c **** while(IS_DATA_IN_TX_FIFO() == TRUE)
477:UIMgr.c **** {
478:UIMgr.c **** UartInt_txByte(UIMgr_readTxFifo() );
871 .LM114:
872 037e 9091 0000 lds r25,UIMgr_txFifoHead
873 0382 8091 0000 lds r24,UIMgr_txFifoTail
874 0386 9817 cp r25,r24
875 0388 51F0 breq .L85
876 .L83:
878 .LM115:
879 038a 0E94 0000 call UIMgr_readTxFifo
880 038e 0E94 0000 call UartInt_txByte
881 0392 9091 0000 lds r25,UIMgr_txFifoHead
882 0396 8091 0000 lds r24,UIMgr_txFifoTail
883 039a 9817 cp r25,r24
884 039c B1F7 brne .L83
885 .L85:
886 039e 0895 ret
887 /* epilogue: frame size=0 */
888 /* epilogue: noreturn */
889 /* epilogue end (size=0) */
890 /* function UIMgr_flushTxBuffer size 17 (17) */
892 .Lscope11:
895 UIMgr_readRxFifo:
479:UIMgr.c **** }
480:UIMgr.c **** }
481:UIMgr.c ****
482:UIMgr.c **** /***********************************************************
483:UIMgr.c **** Function Name: UIMgr_readRxFifo
484:UIMgr.c **** Function Description: This function is responsible for
485:UIMgr.c **** reading a single byte of data from the rx fifo, and
486:UIMgr.c **** updating the appropriate pointers.
487:UIMgr.c **** Inputs: none
488:UIMgr.c **** Outputs: unsigned char-the data read
489:UIMgr.c **** ***********************************************************/
490:UIMgr.c **** static unsigned char UIMgr_readRxFifo(void)
491:UIMgr.c **** {
897 .LM116:
898 /* prologue: frame size=0 */
899 /* prologue end (size=0) */
492:UIMgr.c **** unsigned char dataByte, tmpTail;
493:UIMgr.c ****
494:UIMgr.c **** /* just return the current tail from the rx fifo */
495:UIMgr.c **** DISABLE_INTS();
901 .LM117:
902 /* #APP */
903 03a0 F894 cli
496:UIMgr.c **** dataByte = UIMgr_rxFifo[UIMgr_rxFifoTail];
905 .LM118:
906 /* #NOAPP */
907 03a2 2091 0000 lds r18,UIMgr_rxFifoTail
908 03a6 80E0 ldi r24,lo8(UIMgr_rxFifo)
909 03a8 90E0 ldi r25,hi8(UIMgr_rxFifo)
910 03aa FC01 movw r30,r24
911 03ac E20F add r30,r18
912 03ae F11D adc r31,__zero_reg__
913 03b0 9081 ld r25,Z
497:UIMgr.c **** tmpTail = (UIMgr_rxFifoTail+1) & (UI_MGR_RX_FIFO_MASK);
915 .LM119:
916 03b2 822F mov r24,r18
917 03b4 8F5F subi r24,lo8(-(1))
918 03b6 8F71 andi r24,lo8(31)
498:UIMgr.c **** UIMgr_rxFifoTail = tmpTail;
920 .LM120:
921 03b8 8093 0000 sts UIMgr_rxFifoTail,r24
499:UIMgr.c **** ENABLE_INTS();
923 .LM121:
924 /* #APP */
925 03bc 7894 sei
500:UIMgr.c ****
501:UIMgr.c **** return(dataByte);
502:UIMgr.c **** }
927 .LM122:
928 /* #NOAPP */
929 03be 892F mov r24,r25
930 03c0 9927 clr r25
931 /* epilogue: frame size=0 */
932 03c2 0895 ret
933 /* epilogue end (size=1) */
934 /* function UIMgr_readRxFifo size 20 (19) */
940 .Lscope12:
943 UIMgr_readTxFifo:
503:UIMgr.c ****
504:UIMgr.c **** /***********************************************************
505:UIMgr.c **** Function Name: UIMgr_readTxFifo
506:UIMgr.c **** Function Description: This function is responsible for
507:UIMgr.c **** reading a single byte of data from the tx fifo, and
508:UIMgr.c **** updating the appropriate pointers.
509:UIMgr.c **** Inputs: none
510:UIMgr.c **** Outputs: unsigned char-the data read
511:UIMgr.c **** ***********************************************************/
512:UIMgr.c **** static unsigned char UIMgr_readTxFifo(void)
513:UIMgr.c **** {
945 .LM123:
946 /* prologue: frame size=0 */
947 /* prologue end (size=0) */
514:UIMgr.c **** unsigned char dataByte, tmpTail;
515:UIMgr.c ****
516:UIMgr.c **** /* just return the current tail from the tx fifo */
517:UIMgr.c **** DISABLE_INTS();
949 .LM124:
950 /* #APP */
951 03c4 F894 cli
518:UIMgr.c **** dataByte = UIMgr_txFifo[UIMgr_txFifoTail];
953 .LM125:
954 /* #NOAPP */
955 03c6 2091 0000 lds r18,UIMgr_txFifoTail
956 03ca 80E0 ldi r24,lo8(UIMgr_txFifo)
957 03cc 90E0 ldi r25,hi8(UIMgr_txFifo)
958 03ce FC01 movw r30,r24
959 03d0 E20F add r30,r18
960 03d2 F11D adc r31,__zero_reg__
961 03d4 9081 ld r25,Z
519:UIMgr.c **** tmpTail = (UIMgr_txFifoTail+1) & (UI_MGR_TX_FIFO_MASK);
963 .LM126:
964 03d6 822F mov r24,r18
965 03d8 8F5F subi r24,lo8(-(1))
966 03da 8F73 andi r24,lo8(63)
520:UIMgr.c **** UIMgr_txFifoTail = tmpTail;
968 .LM127:
969 03dc 8093 0000 sts UIMgr_txFifoTail,r24
521:UIMgr.c **** ENABLE_INTS();
971 .LM128:
972 /* #APP */
973 03e0 7894 sei
522:UIMgr.c ****
523:UIMgr.c **** return(dataByte);
524:UIMgr.c **** }
975 .LM129:
976 /* #NOAPP */
977 03e2 892F mov r24,r25
978 03e4 9927 clr r25
979 /* epilogue: frame size=0 */
980 03e6 0895 ret
981 /* epilogue end (size=1) */
982 /* function UIMgr_readTxFifo size 20 (19) */
988 .Lscope13:
991 .global UIMgr_writeTxFifo
993 UIMgr_writeTxFifo:
525:UIMgr.c ****
526:UIMgr.c **** /***********************************************************
527:UIMgr.c **** Function Name: UIMgr_writeTxFifo
528:UIMgr.c **** Function Description: This function is responsible for
529:UIMgr.c **** writing a single byte to the TxFifo and
530:UIMgr.c **** updating the appropriate pointers.
531:UIMgr.c **** Inputs: data - the byte to write to the Fifo
532:UIMgr.c **** Outputs: none
533:UIMgr.c **** ***********************************************************/
534:UIMgr.c **** void UIMgr_writeTxFifo(unsigned char data)
535:UIMgr.c **** {
995 .LM130:
996 /* prologue: frame size=0 */
997 /* prologue end (size=0) */
998 03e8 382F mov r19,r24
536:UIMgr.c **** unsigned char tmpHead;
537:UIMgr.c ****
538:UIMgr.c **** DISABLE_INTS();
1000 .LM131:
1001 /* #APP */
1002 03ea F894 cli
539:UIMgr.c **** UIMgr_txFifo[UIMgr_txFifoHead] = data;
1004 .LM132:
1005 /* #NOAPP */
1006 03ec 2091 0000 lds r18,UIMgr_txFifoHead
1007 03f0 80E0 ldi r24,lo8(UIMgr_txFifo)
1008 03f2 90E0 ldi r25,hi8(UIMgr_txFifo)
1009 03f4 FC01 movw r30,r24
1010 03f6 E20F add r30,r18
1011 03f8 F11D adc r31,__zero_reg__
1012 03fa 3083 st Z,r19
540:UIMgr.c ****
541:UIMgr.c **** /* now move the head up */
542:UIMgr.c **** tmpHead = (UIMgr_txFifoHead + 1) & (UI_MGR_TX_FIFO_MASK);
1014 .LM133:
1015 03fc 822F mov r24,r18
1016 03fe 8F5F subi r24,lo8(-(1))
1017 0400 8F73 andi r24,lo8(63)
543:UIMgr.c **** UIMgr_txFifoHead = tmpHead;
1019 .LM134:
1020 0402 8093 0000 sts UIMgr_txFifoHead,r24
544:UIMgr.c **** ENABLE_INTS();
1022 .LM135:
1023 /* #APP */
1024 0406 7894 sei
1025 /* #NOAPP */
1026 /* epilogue: frame size=0 */
1027 0408 0895 ret
1028 /* epilogue end (size=1) */
1029 /* function UIMgr_writeTxFifo size 19 (18) */
1034 .Lscope14:
1035 .comm UIMgr_rxFifo,32,1
1036 .lcomm asciiTokenBuffer,4
1037 .lcomm tokenBuffer,64
1038 .comm UIMgr_txFifo,64,1
1052 .text
1054 Letext:
1055 /* File "UIMgr.c": code 528 = 0x0210 ( 502), prologues 6, epilogues 20 */
DEFINED SYMBOLS
*ABS*:00000000 UIMgr.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
.bss:00000004 charCount
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:72 .bss:00000005 charIndex
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:73 .bss:00000006 tokenCount
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:78 .data:00000000 receivedCmd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:82 .data:00000001 AVRcamVersion
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:89 .bss:00000000 UIMgr_rxFifoHead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:95 .bss:00000001 UIMgr_rxFifoTail
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:101 .bss:00000002 UIMgr_txFifoHead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:107 .bss:00000003 UIMgr_txFifoTail
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:113 .text:00000000 UIMgr_init
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:74 .bss:00000007 asciiTokenBuffer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:1036 .bss:0000000b tokenBuffer
*COM*:00000040 UIMgr_txFifo
*COM*:00000020 UIMgr_rxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:158 .text:00000036 UIMgr_dispatchEvent
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:222 .text:0000006c UIMgr_processReceivedData
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:865 .text:0000037e UIMgr_flushTxBuffer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:196 .text:00000054 UIMgr_transmitPendingData
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:943 .text:000003c4 UIMgr_readTxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:895 .text:000003a0 UIMgr_readRxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:601 .text:0000025e UIMgr_convertTokenToCmd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:533 .text:0000020c UIMgr_convertTokenToValue
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:733 .text:0000030a UIMgr_sendNck
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:704 .text:000002f0 UIMgr_sendAck
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:427 .text:00000184 UIMgr_executeCmd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:993 .text:000003e8 UIMgr_writeTxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:765 .text:00000324 UIMgr_writeBufferToTxFifo
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:828 .text:00000358 UIMgr_txBuffer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cciEaaaa.s:1054 .text:0000040a Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
UartInt_txByte
Utility_delay
Exec_writeEventFifo
CamInt_resetCam
CamConfig_setCamReg
CamConfig_sendFifoCmds
atoi
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?