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

📄 level3.lst

📁 此程序为利用mage8 AVR 和EM4094实现读取ISO15693类型卡的C程序、读卡稳定、这个项目我们做了好久、非常不错的程序、很适合做这方面产品的朋友们参考
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -