📄 level3.lst
字号:
802 038e 8823 tst r24
803 0390 41F5 brne .L56
316:level3.c **** {
317:level3.c ****
318:level3.c **** //one valid response received
319:level3.c **** clean_data_cnt = 12;
804 .stabn 68,0,319,.LM117-InventoryStep_version4
805 .LM117:
806 0392 8CE0 ldi r24,lo8(12)
807 0394 8093 0000 sts clean_data_cnt,r24
320:level3.c ****
321:level3.c **** crc = CRC( data_buffer , clean_data_cnt );
808 .stabn 68,0,321,.LM118-InventoryStep_version4
809 .LM118:
810 0398 682F mov r22,r24
811 039a 80E0 ldi r24,lo8(data_buffer)
812 039c 90E0 ldi r25,hi8(data_buffer)
813 039e 00D0 rcall CRC
322:level3.c **** if ( crc == ~0xF0B8 )
814 .stabn 68,0,322,.LM119-InventoryStep_version4
815 .LM119:
816 03a0 8754 subi r24,lo8(3911)
817 03a2 9F40 sbci r25,hi8(3911)
818 03a4 F1F4 brne .L56
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 21
323:level3.c **** {
324:level3.c **** uint8_t check_data = 0;
819 .stabn 68,0,324,.LM120-InventoryStep_version4
820 .LM120:
821 .LBB8:
822 03a6 9C2F mov r25,r28
325:level3.c ****
326:level3.c **** weigan_data[ 3 ] = data_buffer[ 2 ];
823 .stabn 68,0,326,.LM121-InventoryStep_version4
824 .LM121:
825 03a8 8091 0000 lds r24,data_buffer+2
826 03ac 8093 0000 sts weigan_data+3,r24
327:level3.c **** weigan_data[ 2 ] = data_buffer[ 3 ];
827 .stabn 68,0,327,.LM122-InventoryStep_version4
828 .LM122:
829 03b0 8091 0000 lds r24,data_buffer+3
830 03b4 8093 0000 sts weigan_data+2,r24
328:level3.c **** weigan_data[ 1 ] = data_buffer[ 4 ];
831 .stabn 68,0,328,.LM123-InventoryStep_version4
832 .LM123:
833 03b8 8091 0000 lds r24,data_buffer+4
834 03bc 8093 0000 sts weigan_data+1,r24
329:level3.c **** weigan_data[ 0 ] = data_buffer[ 5 ];
835 .stabn 68,0,329,.LM124-InventoryStep_version4
836 .LM124:
837 03c0 8091 0000 lds r24,data_buffer+5
838 03c4 8093 0000 sts weigan_data,r24
330:level3.c **** for ( i = 0 ; i < 4 ; i++ )
839 .stabn 68,0,330,.LM125-InventoryStep_version4
840 .LM125:
841 03c8 5C2F mov r21,r28
842 03ca E0E0 ldi r30,lo8(weigan_data)
843 03cc F0E0 ldi r31,hi8(weigan_data)
844 .L62:
331:level3.c **** check_data ^= weigan_data[ i ];
845 .stabn 68,0,331,.LM126-InventoryStep_version4
846 .LM126:
847 03ce 8191 ld r24,Z+
848 03d0 9827 eor r25,r24
849 .stabn 68,0,330,.LM127-InventoryStep_version4
850 .LM127:
851 03d2 5F5F subi r21,lo8(-(1))
852 03d4 5430 cpi r21,lo8(4)
853 03d6 D8F3 brlo .L62
332:level3.c **** weigan_data[ 4 ] = check_data;
854 .stabn 68,0,332,.LM128-InventoryStep_version4
855 .LM128:
856 03d8 9093 0000 sts weigan_data+4,r25
333:level3.c **** // em4094_data_valid_flag = 0x55;
334:level3.c **** return 1;
857 .stabn 68,0,334,.LM129-InventoryStep_version4
858 .LM129:
859 03dc 81E0 ldi r24,lo8(1)
860 03de 90E0 ldi r25,hi8(1)
861 03e0 02C0 rjmp .L41
862 .L56:
335:level3.c **** }
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 22
336:level3.c **** else
337:level3.c **** {
338:level3.c **** // em4094_data_valid_flag = 0x00;
339:level3.c **** // SendByte( 0x00 );
340:level3.c **** return 0;
341:level3.c **** }
342:level3.c **** }
343:level3.c **** else
344:level3.c **** {
345:level3.c **** // em4094_data_valid_flag = 0x00;
346:level3.c **** // SendByte( 0x00 );
347:level3.c **** return 0;
863 .stabn 68,0,347,.LM130-InventoryStep_version4
864 .LM130:
865 .LBE8:
866 03e2 80E0 ldi r24,lo8(0)
867 03e4 90E0 ldi r25,hi8(0)
348:level3.c **** }
349:level3.c **** }
868 .stabn 68,0,349,.LM131-InventoryStep_version4
869 .LM131:
870 .L41:
871 .LBE7:
872 /* epilogue: frame size=0 */
873 03e6 DF91 pop r29
874 03e8 CF91 pop r28
875 03ea 0895 ret
876 /* epilogue end (size=3) */
877 /* function InventoryStep_version4 size 187 (182) */
878 .size InventoryStep_version4, .-InventoryStep_version4
879 .stabs "i:r(4,2)",64,0,262,21
880 .stabs "j:r(4,2)",64,0,262,28
881 .stabs "k:r(4,2)",64,0,262,24
882 .stabs "l:r(4,2)",64,0,262,20
883 .stabs "crc:r(4,4)",64,0,264,24
884 .stabn 192,0,0,.LBB7-InventoryStep_version4
885 .stabs "check_data:r(4,2)",64,0,324,25
886 .stabn 192,0,0,.LBB8-InventoryStep_version4
887 .stabn 224,0,0,.LBE8-InventoryStep_version4
888 .stabn 224,0,0,.LBE7-InventoryStep_version4
889 .Lscope4:
890 .stabs "",36,0,0,.Lscope4-InventoryStep_version4
891 .stabs "Alarm_Check_And_Process:F(0,20)",36,0,353,Alarm_Check_And_Process
892 .global Alarm_Check_And_Process
893 .type Alarm_Check_And_Process, @function
894 Alarm_Check_And_Process:
350:level3.c ****
351:level3.c ****
352:level3.c **** void Alarm_Check_And_Process( void )
353:level3.c **** {
895 .stabn 68,0,353,.LM132-Alarm_Check_And_Process
896 .LM132:
897 /* prologue: frame size=0 */
898 /* prologue end (size=0) */
354:level3.c **** if ( alarm_level == 0 )
899 .stabn 68,0,354,.LM133-Alarm_Check_And_Process
900 .LM133:
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 23
901 03ec 8091 0000 lds r24,alarm_level
902 03f0 8823 tst r24
903 03f2 41F4 brne .L68
355:level3.c **** {
356:level3.c **** if ( PINC & ( 1 << ALARM_IN ) )
904 .stabn 68,0,356,.LM134-Alarm_Check_And_Process
905 .LM134:
906 03f4 9B9B sbis 51-0x20,3
907 03f6 03C0 rjmp .L69
357:level3.c **** {
358:level3.c **** sbi( PORTC , ALARM_OUT );
908 .stabn 68,0,358,.LM135-Alarm_Check_And_Process
909 .LM135:
910 03f8 AA9A sbi 53-0x20,2
359:level3.c **** cbi( PORTD , BEEP_PIN );
911 .stabn 68,0,359,.LM136-Alarm_Check_And_Process
912 .LM136:
913 03fa 9798 cbi 50-0x20,7
360:level3.c **** }
361:level3.c **** else
362:level3.c **** {
363:level3.c **** cbi( PORTC , ALARM_OUT );
364:level3.c **** sbi( PORTD , BEEP_PIN );
365:level3.c **** }
366:level3.c **** }
367:level3.c **** else if ( alarm_level == 1 )
368:level3.c **** {
369:level3.c **** if ( PINC & ( 1 << ALARM_IN ) )
370:level3.c **** {
371:level3.c **** sbi( PORTD , BEEP_PIN );
372:level3.c **** cbi( PORTC , ALARM_OUT );
373:level3.c **** }
374:level3.c **** else
375:level3.c **** {
376:level3.c **** sbi( PORTC , ALARM_OUT );
377:level3.c **** cbi( PORTD , BEEP_PIN );
378:level3.c **** }
379:level3.c **** }
380:level3.c **** }
914 .stabn 68,0,380,.LM137-Alarm_Check_And_Process
915 .LM137:
916 03fc 0895 ret
917 .L69:
918 .stabn 68,0,363,.LM138-Alarm_Check_And_Process
919 .LM138:
920 03fe AA98 cbi 53-0x20,2
921 .stabn 68,0,364,.LM139-Alarm_Check_And_Process
922 .LM139:
923 0400 979A sbi 50-0x20,7
924 .stabn 68,0,380,.LM140-Alarm_Check_And_Process
925 .LM140:
926 0402 0895 ret
927 .L68:
928 .stabn 68,0,367,.LM141-Alarm_Check_And_Process
929 .LM141:
930 0404 8130 cpi r24,lo8(1)
931 0406 39F4 brne .L67
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 24
932 .stabn 68,0,369,.LM142-Alarm_Check_And_Process
933 .LM142:
934 0408 9B9B sbis 51-0x20,3
935 040a 03C0 rjmp .L73
936 .stabn 68,0,371,.LM143-Alarm_Check_And_Process
937 .LM143:
938 040c 979A sbi 50-0x20,7
939 .stabn 68,0,372,.LM144-Alarm_Check_And_Process
940 .LM144:
941 040e AA98 cbi 53-0x20,2
942 .stabn 68,0,380,.LM145-Alarm_Check_And_Process
943 .LM145:
944 0410 0895 ret
945 .L73:
946 .stabn 68,0,376,.LM146-Alarm_Check_And_Process
947 .LM146:
948 0412 AA9A sbi 53-0x20,2
949 .stabn 68,0,377,.LM147-Alarm_Check_And_Process
950 .LM147:
951 0414 9798 cbi 50-0x20,7
952 .stabn 68,0,380,.LM148-Alarm_Check_And_Process
953 .LM148:
954 .L67:
955 0416 0895 ret
956 /* epilogue: frame size=0 */
957 0418 0895 ret
958 /* epilogue end (size=1) */
959 /* function Alarm_Check_And_Process size 23 (22) */
960 .size Alarm_Check_And_Process, .-Alarm_Check_And_Process
961 .Lscope5:
962 .stabs "",36,0,0,.Lscope5-Alarm_Check_And_Process
963 .comm maxCaptureTimeLow,1,1
964 .comm maxCaptureTimeHi,1,1
965 .comm clean_data_cnt,1,1
966 .comm maxTGeneral,2,1
967 .comm maxTwa1ee,2,1
968 .comm signed_crc,1,1
969 .comm authSelectFlag,1,1
970 .comm em4094_data_valid_flag,1,1
971 .comm data_same_times,1,1
972 .comm found,128,1
973 .comm found_ptr,1,1
974 .comm dbg_counter,1,1
975 .comm search,16,1
976 .stabs "maxCaptureTimeLow:G(4,2)",32,0,16,0
977 .stabs "maxCaptureTimeHi:G(4,2)",32,0,17,0
978 .stabs "currentMaxTimeHi:r(4,2)",64,0,20,10
979 .stabs "captured_byte:r(4,2)",64,0,41,6
980 .stabs "captured_valid:r(4,2)",64,0,42,7
981 .stabs "capture_cnt:r(4,2)",64,0,43,8
982 .stabs "captured_bit_count:r(4,2)",64,0,44,9
983 .stabs "clean_data_cnt:G(4,2)",32,0,24,0
984 .stabs "maxTGeneral:G(4,4)",32,0,26,0
985 .stabs "maxTwa1ee:G(4,4)",32,0,27,0
986 .stabs "signed_crc:G(4,2)",32,0,29,0
987 .stabs "authSelectFlag:G(4,2)",32,0,31,0
988 .stabs "em4094_data_valid_flag:G(4,2)",32,0,34,0
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 25
989 .stabs "data_same_times:G(4,2)",32,0,35,0
990 .stabs "found:G(1,5)=ar(12,3);0;7;(1,1)",32,0,246,0
991 .stabs "found_ptr:G(4,1)",32,0,248,0
992 .stabs "dbg_counter:G(4,2)",32,0,250,0
993 .stabs "search:G(1,1)",32,0,258,0
994 .text
995 .stabs "",100,0,0,Letext
996 Letext:
997 /* File "level3.c": code 530 = 0x0212 ( 502), prologues 12, epilogues 16 */
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s page 26
DEFINED SYMBOLS
*ABS*:00000000 level3.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s:75 .text:00000000 main_receiver
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s:894 .text:000003ec Alarm_Check_And_Process
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s:611 .text:0000027c InventoryStep_version4
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccqgcaaa.s:311 .text:00000114 Compute_Timeouts
*COM*:00000002 max
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -