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

📄 pran.lst

📁 asm file for download
💻 LST
📖 第 1 页 / 共 5 页
字号:
 945 032e 20E0      		ldi r18,lo8(0)
 237:pran.c        **** 			break;
 947               	.LM128:
 948 0330 00C0      		rjmp .L53
 949               	.L55:
 238:pran.c        **** 			
 239:pran.c        **** 		case 1:	pass = 0x01;
 951               	.LM129:
 952 0332 21E0      		ldi r18,lo8(1)
 240:pran.c        **** 			break;
 954               	.LM130:
 955 0334 00C0      		rjmp .L53
 956               	.L56:
 241:pran.c        **** 			
 242:pran.c        **** 		case 2:	pass = 0x02;
 958               	.LM131:
 959 0336 22E0      		ldi r18,lo8(2)
 243:pran.c        **** 			break;
 961               	.LM132:
 962 0338 00C0      		rjmp .L53
 963               	.L57:
 244:pran.c        **** 			
 245:pran.c        **** 		case 3:	pass = 0x03;
 965               	.LM133:
 966 033a 23E0      		ldi r18,lo8(3)
 246:pran.c        **** 			break;
 968               	.LM134:
 969 033c 00C0      		rjmp .L53
 970               	.L58:
 247:pran.c        **** 				
 248:pran.c        **** 		case 4:	pass = 0x04;
 972               	.LM135:
 973 033e 24E0      		ldi r18,lo8(4)
 249:pran.c        **** 			break;
 975               	.LM136:
 976 0340 00C0      		rjmp .L53
 977               	.L59:
 250:pran.c        **** 		
 251:pran.c        **** 		case 5:	pass = 0x05;
 979               	.LM137:
 980 0342 25E0      		ldi r18,lo8(5)
 252:pran.c        **** 			break;
 982               	.LM138:
 983 0344 00C0      		rjmp .L53
 984               	.L60:
 253:pran.c        **** 			
 254:pran.c        **** 		case 6:	pass = 0x06;
 986               	.LM139:
 987 0346 26E0      		ldi r18,lo8(6)
 255:pran.c        **** 			break;
 989               	.LM140:
 990 0348 00C0      		rjmp .L53
 991               	.L61:
 256:pran.c        **** 			
 257:pran.c        **** 		case 7:	pass = 0x07;
 993               	.LM141:
 994 034a 27E0      		ldi r18,lo8(7)
 258:pran.c        **** 			break;
 996               	.LM142:
 997 034c 00C0      		rjmp .L53
 998               	.L62:
 259:pran.c        **** 			
 260:pran.c        **** 		case 8:	pass = 0x08;
 1000               	.LM143:
 1001 034e 28E0      		ldi r18,lo8(8)
 261:pran.c        **** 			break;
 1003               	.LM144:
 1004 0350 00C0      		rjmp .L53
 1005               	.L63:
 262:pran.c        **** 			
 263:pran.c        **** 		case 9:	pass = 0x09;
 1007               	.LM145:
 1008 0352 29E0      		ldi r18,lo8(9)
 1009               	.L53:
 264:pran.c        **** 			break;			
 265:pran.c        **** 	}
 266:pran.c        **** 	return pass;
 1011               	.LM146:
 1012 0354 822F      		mov r24,r18
 1013 0356 9927      		clr r25
 267:pran.c        **** }
 1015               	.LM147:
 1016               	.LBE6:
 1017               	/* epilogue: frame size=0 */
 1018 0358 0895      		ret
 1019               	/* epilogue end (size=1) */
 1020               	/* function send_data_to_decoder_low size 44 (43) */
 1025               	.Lscope8:
 1029               	.global	decode_count
 1031               	decode_count:
 268:pran.c        **** 
 269:pran.c        **** void decode_count(int county)
 270:pran.c        **** {
 1033               	.LM148:
 1034               	/* prologue: frame size=0 */
 1035               	/* prologue end (size=0) */
 271:pran.c        **** 	PORTC = send_data_to_decoder_high(county);	
 1037               	.LM149:
 1038 035a 00D0      		rcall send_data_to_decoder_high
 1039 035c 85BB      		out 53-0x20,r24
 272:pran.c        **** }
 1041               	.LM150:
 1042               	/* epilogue: frame size=0 */
 1043 035e 0895      		ret
 1044               	/* epilogue end (size=1) */
 1045               	/* function decode_count size 3 (2) */
 1047               	.Lscope9:
 1051               	.global	decode_buzzer_count
 1053               	decode_buzzer_count:
 273:pran.c        **** 
 274:pran.c        **** void decode_buzzer_count(int county)
 275:pran.c        **** {
 1055               	.LM151:
 1056               	/* prologue: frame size=0 */
 1057 0360 EF92      		push r14
 1058 0362 FF92      		push r15
 1059 0364 0F93      		push r16
 1060 0366 1F93      		push r17
 1061               	/* prologue end (size=4) */
 1062 0368 7C01      		movw r14,r24
 276:pran.c        **** 	int digit1,digit2;
 277:pran.c        **** 	
 278:pran.c        **** 	digit2 = county/10;
 1064               	.LM152:
 1065               	.LBB7:
 1066 036a 6AE0      		ldi r22,lo8(10)
 1067 036c 70E0      		ldi r23,hi8(10)
 1068 036e 00D0      		rcall __divmodhi4
 1069 0370 8B01      		movw r16,r22
 279:pran.c        **** 	PORTB = send_data_to_decoder_low(digit2);
 1071               	.LM153:
 1072 0372 CB01      		movw r24,r22
 1073 0374 00D0      		rcall send_data_to_decoder_low
 1074 0376 88BB      		out 56-0x20,r24
 280:pran.c        **** 	
 281:pran.c        **** 	digit1 = (county - digit2 * 10); 
 1076               	.LM154:
 1077 0378 C801      		movw r24,r16
 1078 037a 23E0      		ldi r18,3
 1079 037c 880F      	1:	lsl r24
 1080 037e 991F      		rol r25
 1081 0380 2A95      		dec r18
 1082 0382 01F4      		brne 1b
 1083 0384 800F      		add r24,r16
 1084 0386 911F      		adc r25,r17
 1085 0388 800F      		add r24,r16
 1086 038a 911F      		adc r25,r17
 1087 038c E81A      		sub r14,r24
 1088 038e F90A      		sbc r15,r25
 282:pran.c        **** 	PORTB |= send_data_to_decoder_high(digit1);
 1090               	.LM155:
 1091 0390 C701      		movw r24,r14
 1092 0392 00D0      		rcall send_data_to_decoder_high
 1093 0394 982F      		mov r25,r24
 1094 0396 88B3      		in r24,56-0x20
 1095 0398 892B      		or r24,r25
 1096 039a 88BB      		out 56-0x20,r24
 283:pran.c        **** }
 1098               	.LM156:
 1099               	.LBE7:
 1100               	/* epilogue: frame size=0 */
 1101 039c 1F91      		pop r17
 1102 039e 0F91      		pop r16
 1103 03a0 FF90      		pop r15
 1104 03a2 EF90      		pop r14
 1105 03a4 0895      		ret
 1106               	/* epilogue end (size=5) */
 1107               	/* function decode_buzzer_count size 35 (26) */
 1109               	.Lscope10:
 1112               	.global	main
 1114               	main:
 284:pran.c        **** 
 285:pran.c        **** 
 286:pran.c        **** int main(void)
 287:pran.c        **** {
 1116               	.LM157:
 1117               	/* prologue: frame size=0 */
 1118 03a6 C0E0      		ldi r28,lo8(__stack - 0)
 1119 03a8 D0E0      		ldi r29,hi8(__stack - 0)
 1120 03aa DEBF      		out __SP_H__,r29
 1121 03ac CDBF      		out __SP_L__,r28
 1122               	/* prologue end (size=4) */
 288:pran.c        **** 	io_init();
 1124               	.LM158:
 1125 03ae 00D0      		rcall io_init
 289:pran.c        **** 	extint_init();	
 1127               	.LM159:
 1128 03b0 00D0      		rcall extint_init
 290:pran.c        **** 	
 291:pran.c        **** 	sei();	
 1130               	.LM160:
 1131               	/* #APP */
 1132 03b2 7894      		sei
 292:pran.c        **** 	
 293:pran.c        **** 	decode_buzzer_count(10);
 1134               	.LM161:
 1135               	/* #NOAPP */
 1136 03b4 8AE0      		ldi r24,lo8(10)
 1137 03b6 90E0      		ldi r25,hi8(10)
 1138 03b8 00D0      		rcall decode_buzzer_count
 294:pran.c        **** 	decode_count(0);
 1140               	.LM162:
 1141 03ba 80E0      		ldi r24,lo8(0)
 1142 03bc 90E0      		ldi r25,hi8(0)
 1143 03be 00D0      		rcall decode_count
 295:pran.c        **** 	
 296:pran.c        **** 	while(1){}
 1145               	.LM163:
 1146               	.L72:
 1147 03c0 00C0      		rjmp .L72
 297:pran.c        **** 	
 298:pran.c        **** 	return 0;
 299:pran.c        **** }
 1149               	.LM164:
 1150               	/* epilogue: frame size=0 */
 1151               	/* epilogue: noreturn */
 1152               	/* epilogue end (size=0) */
 1153               	/* function main size 15 (11) */
 1155               	.Lscope11:
 1165               		.text
 1167               	Letext:
 1168               	/* File "pran.c": code  511 = 0x01ff ( 391), prologues  58, epilogues  62 */
DEFINED SYMBOLS
                            *ABS*:00000000 pran.c
C:\WINDOWS\TEMP/ccnvVvab.s:3      *ABS*:0000003f __SREG__
C:\WINDOWS\TEMP/ccnvVvab.s:4      *ABS*:0000003e __SP_H__
C:\WINDOWS\TEMP/ccnvVvab.s:5      *ABS*:0000003d __SP_L__
C:\WINDOWS\TEMP/ccnvVvab.s:6      *ABS*:00000000 __tmp_reg__
C:\WINDOWS\TEMP/ccnvVvab.s:7      *ABS*:00000001 __zero_reg__
C:\WINDOWS\TEMP/ccnvVvab.s:93     .bss:00000000 count
C:\WINDOWS\TEMP/ccnvVvab.s:99     .bss:00000002 timer_count
C:\WINDOWS\TEMP/ccnvVvab.s:105    .bss:00000004 buzzer
C:\WINDOWS\TEMP/ccnvVvab.s:111    .bss:00000006 buzzer_setting
C:\WINDOWS\TEMP/ccnvVvab.s:117    .bss:00000008 ontime
C:\WINDOWS\TEMP/ccnvVvab.s:123    .data:00000000 offtime
C:\WINDOWS\TEMP/ccnvVvab.s:128    .data:00000002 offtimetemp
C:\WINDOWS\TEMP/ccnvVvab.s:133    .data:00000004 setting
C:\WINDOWS\TEMP/ccnvVvab.s:138    .text:00000000 io_init
C:\WINDOWS\TEMP/ccnvVvab.s:181    .text:00000016 extint_init
C:\WINDOWS\TEMP/ccnvVvab.s:206    .text:00000020 __vector_1
C:\WINDOWS\TEMP/ccnvVvab.s:1031   .text:0000035a decode_count
C:\WINDOWS\TEMP/ccnvVvab.s:506    .text:0000017a timers_init
C:\WINDOWS\TEMP/ccnvVvab.s:429    .text:0000012c temp
C:\WINDOWS\TEMP/ccnvVvab.s:543    .text:00000194 __vector_6
C:\WINDOWS\TEMP/ccnvVvab.s:714    .text:00000270 __vector_8
C:\WINDOWS\TEMP/ccnvVvab.s:781    .text:000002d6 send_data_to_decoder_high
C:\WINDOWS\TEMP/ccnvVvab.s:906    .text:00000318 send_data_to_decoder_low
C:\WINDOWS\TEMP/ccnvVvab.s:1053   .text:00000360 decode_buzzer_count
C:\WINDOWS\TEMP/ccnvVvab.s:1114   .text:000003a6 main
C:\WINDOWS\TEMP/ccnvVvab.s:1167   .text:000003c2 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__divmodhi4
__stack

⌨️ 快捷键说明

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