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

📄 adc.lst

📁 adhoc汇聚节点程序源代码(点对多点)——for atmega128
💻 LST
📖 第 1 页 / 共 3 页
字号:
 166 0050 0895      		ret
 167               	/* epilogue end (size=1) */
 168               	/* function ADCHPLInit size 12 (11) */
 171               	.global	ADCControlInit
 173               	ADCControlInit:
 175               	.LM18:
 176               	/* prologue: frame size=0 */
 177               	/* prologue end (size=0) */
 178               	.LBB5:
 180               	.LM19:
 181 0052 0E94 0000 		call AtomicStart
 183               	.LM20:
 184 0056 1092 0000 		sts (ADCM_ReqPort)+1,__zero_reg__
 185 005a 1092 0000 		sts ADCM_ReqPort,__zero_reg__
 187               	.LM21:
 188 005e 1092 0000 		sts (ADCM_ContReqMask)+1,__zero_reg__
 189 0062 1092 0000 		sts ADCM_ContReqMask,__zero_reg__
 190 0066 1092 0000 		sts (ADCM_ReqVector)+1,__zero_reg__
 191 006a 1092 0000 		sts ADCM_ReqVector,__zero_reg__
 193               	.LM22:
 194 006e 0E94 0000 		call AtomicEnd
 195               	.LBE5:
 197               	.LM23:
 198 0072 0E94 0000 		call ADCHPLInit
 200               	.LM24:
 201 0076 9927      		clr r25
 202               	/* epilogue: frame size=0 */
 203 0078 0895      		ret
 204               	/* epilogue end (size=1) */
 205               	/* function ADCControlInit size 20 (19) */
 210               	.global	ADCBindPort
 212               	ADCBindPort:
 214               	.LM25:
 215               	/* prologue: frame size=0 */
 216 007a 1F93      		push r17
 217 007c CF93      		push r28
 218               	/* prologue end (size=2) */
 219 007e C82F      		mov r28,r24
 220 0080 162F      		mov r17,r22
 222               	.LM26:
 223 0082 8C30      		cpi r24,lo8(12)
 224 0084 90F4      		brsh .L12
 226               	.LM27:
 227 0086 8A30      		cpi r24,lo8(10)
 228 0088 81F0      		breq .L12
 229 008a 8B30      		cpi r24,lo8(11)
 230 008c 71F0      		breq .L12
 232               	.LM28:
 233 008e 0E94 0000 		call ADCHPLInitPortmap
 234               	.LBB6:
 236               	.LM29:
 237 0092 0E94 0000 		call AtomicStart
 239               	.LM30:
 240 0096 EC2F      		mov r30,r28
 241 0098 FF27      		clr r31
 242 009a E050      		subi r30,lo8(-(adcPortmap))
 243 009c F040      		sbci r31,hi8(-(adcPortmap))
 244 009e 1083      		st Z,r17
 246               	.LM31:
 247 00a0 0E94 0000 		call AtomicEnd
 248               	.LBE6:
 250               	.LM32:
 251 00a4 81E0      		ldi r24,lo8(1)
 252 00a6 90E0      		ldi r25,hi8(1)
 253 00a8 02C0      		rjmp .L11
 254               	.L12:
 256               	.LM33:
 257 00aa 80E0      		ldi r24,lo8(0)
 258 00ac 90E0      		ldi r25,hi8(0)
 259               	.L11:
 260               	/* epilogue: frame size=0 */
 261 00ae CF91      		pop r28
 262 00b0 1F91      		pop r17
 263 00b2 0895      		ret
 264               	/* epilogue end (size=3) */
 265               	/* function ADCBindPort size 29 (24) */
 270               	.global	ADCDataReady
 272               	ADCDataReady:
 274               	.LM34:
 275               	/* prologue: frame size=0 */
 276               	/* prologue end (size=0) */
 278               	.LM35:
 279 00b4 282F      		mov r18,r24
 280 00b6 3327      		clr r19
 281 00b8 2130      		cpi r18,1
 282 00ba 3105      		cpc r19,__zero_reg__
 283 00bc 71F0      		breq .L18
 285               	.LM36:
 286 00be 2230      		cpi r18,2
 287 00c0 3105      		cpc r19,__zero_reg__
 288 00c2 1CF4      		brge .L20
 289 00c4 232B      		or r18,r19
 290 00c6 29F0      		breq .L16
 291 00c8 0AC0      		rjmp .L19
 292               	.L20:
 293 00ca 2230      		cpi r18,2
 294 00cc 3105      		cpc r19,__zero_reg__
 295 00ce 29F0      		breq .L18
 296 00d0 06C0      		rjmp .L19
 297               	.L16:
 299               	.LM37:
 300 00d2 CB01      		movw r24,r22
 301 00d4 0E94 0000 		call RadiocontrolRSSIADCDataReady
 303               	.LM38:
 304 00d8 03C0      		rjmp .L15
 305               	.L18:
 307               	.LM39:
 308 00da 81E0      		ldi r24,lo8(1)
 310               	.LM40:
 311 00dc 01C0      		rjmp .L15
 312               	.L19:
 314               	.LM41:
 315 00de 80E0      		ldi r24,lo8(0)
 316               	.L15:
 318               	.LM42:
 319 00e0 9927      		clr r25
 320               	/* epilogue: frame size=0 */
 321 00e2 0895      		ret
 322               	/* epilogue end (size=1) */
 323               	/* function ADCDataReady size 24 (23) */
 328               	.global	ADCHPLSamplePort
 330               	ADCHPLSamplePort:
 192:adc.c         **** }
 193:adc.c         **** 
 194:adc.c         **** void __attribute((signal))   __vector_21(void)
 195:adc.c         **** {
 196:adc.c         **** 	uint16_t data = * (volatile unsigned int *)(unsigned int )& * (volatile unsigned char *)(0x04 + 0x
 197:adc.c         **** 	
 198:adc.c         **** 	data &= 0x3ff;
 199:adc.c         **** 	* (volatile unsigned char *)(0x06 + 0x20) |= 1 << 4;
 200:adc.c         **** 	* (volatile unsigned char *)(0x06 + 0x20) &= ~(1 << 7);
 201:adc.c         **** 	EnableInterrupt();
 202:adc.c         **** 	ADCHPLDataReady(data);
 203:adc.c         **** }
 204:adc.c         **** 
 205:adc.c         **** result_t ADCHPLSamplePort(uint8_t port)
 206:adc.c         **** {
 332               	.LM43:
 333               	/* prologue: frame size=0 */
 334 00e4 1F93      		push r17
 335               	/* prologue end (size=1) */
 336 00e6 182F      		mov r17,r24
 337               	.LBB7:
 207:adc.c         **** 	{ uint8_t atomicState = AtomicStart();
 339               	.LM44:
 340 00e8 0E94 0000 		call AtomicStart
 208:adc.c         ****     {
 209:adc.c         **** 		* (volatile unsigned char *)(0x07 + 0x20) = adcPortmap[port] & 0x1F;
 342               	.LM45:
 343 00ec E0E0      		ldi r30,lo8(adcPortmap)
 344 00ee F0E0      		ldi r31,hi8(adcPortmap)
 345 00f0 E10F      		add r30,r17
 346 00f2 F11D      		adc r31,__zero_reg__
 347 00f4 9081      		ld r25,Z
 348 00f6 9F71      		andi r25,lo8(31)
 349 00f8 97B9      		out 39-0x20,r25
 210:adc.c         ****     }
 211:adc.c         ****     AtomicEnd(atomicState); }
 351               	.LM46:
 352 00fa 0E94 0000 		call AtomicEnd
 353               	.LBE7:
 212:adc.c         **** 	* (volatile unsigned char *)(0x06 + 0x20) |= 1 << 7;
 355               	.LM47:
 356 00fe 379A      		sbi 38-0x20,7
 213:adc.c         **** 	* (volatile unsigned char *)(0x06 + 0x20) |= 1 << 6;
 358               	.LM48:
 359 0100 369A      		sbi 38-0x20,6
 214:adc.c         **** 	
 215:adc.c         **** 	return SUCCESS;
 216:adc.c         **** }...
 361               	.LM49:
 362 0102 81E0      		ldi r24,lo8(1)
 363 0104 90E0      		ldi r25,hi8(1)
 364               	/* epilogue: frame size=0 */
 365 0106 1F91      		pop r17
 366 0108 0895      		ret
 367               	/* epilogue end (size=2) */
 368               	/* function ADCHPLSamplePort size 19 (16) */
 372               	.global	ADCHPLDataReady
 374               	ADCHPLDataReady:
 376               	.LM50:
 377               	/* prologue: frame size=0 */
 378 010a EF92      		push r14
 379 010c FF92      		push r15
 380 010e 0F93      		push r16
 381 0110 1F93      		push r17
 382 0112 CF93      		push r28
 383 0114 DF93      		push r29
 384               	/* prologue end (size=6) */
 385 0116 8C01      		movw r16,r24
 386               	.LBB8:
 388               	.LM51:
 389 0118 0E94 0000 		call AtomicStart
 390 011c E82E      		mov r14,r24
 392               	.LM52:
 393 011e F090 0000 		lds r15,ADCM_ReqPort
 395               	.LM53:
 396 0122 CF2D      		mov r28,r15
 397 0124 DD27      		clr r29
 398 0126 41E0      		ldi r20,lo8(1)
 399 0128 50E0      		ldi r21,hi8(1)
 400 012a 9A01      		movw r18,r20
 401 012c 0C2E      		mov r0,r28
 402 012e 02C0      		rjmp 2f
 403 0130 220F      	1:	lsl r18
 404 0132 331F      		rol r19
 405 0134 0A94      	2:	dec r0
 406 0136 E2F7      		brpl 1b
 407 0138 8091 0000 		lds r24,ADCM_ContReqMask
 408 013c 9091 0000 		lds r25,(ADCM_ContReqMask)+1
 409 0140 8223      		and r24,r18
 410 0142 9323      		and r25,r19
 411 0144 892B      		or r24,r25
 412 0146 61F4      		brne .L23
 414               	.LM54:
 415 0148 2095      		com r18
 416 014a 3095      		com r19
 417 014c 8091 0000 		lds r24,ADCM_ReqVector
 418 0150 9091 0000 		lds r25,(ADCM_ReqVector)+1
 419 0154 8223      		and r24,r18
 420 0156 9323      		and r25,r19
 421 0158 9093 0000 		sts (ADCM_ReqVector)+1,r25
 422 015c 8093 0000 		sts ADCM_ReqVector,r24
 423               	.L23:
 425               	.LM55:
 426 0160 6091 0000 		lds r22,ADCM_ReqVector
 427 0164 7091 0000 		lds r23,(ADCM_ReqVector)+1
 428 0168 6115      		cp r22,__zero_reg__
 429 016a 7105      		cpc r23,__zero_reg__
 430 016c 11F1      		breq .L24
 431 016e FA01      		movw r30,r20
 432 0170 4091 0000 		lds r20,ADCM_ReqPort
 433 0174 5091 0000 		lds r21,(ADCM_ReqPort)+1
 434               	.L25:
 436               	.LM56:
 437 0178 4F5F      		subi r20,lo8(-(1))
 438 017a 5F4F      		sbci r21,hi8(-(1))
 440               	.LM57:
 441 017c 4C30      		cpi r20,12
 442 017e 5105      		cpc r21,__zero_reg__
 443 0180 11F0      		breq .L28
 444 0182 9A01      		movw r18,r20
 445 0184 02C0      		rjmp .L29
 446               	.L28:
 447 0186 20E0      		ldi r18,lo8(0)
 448 0188 30E0      		ldi r19,hi8(0)
 449               	.L29:
 450 018a A901      		movw r20,r18
 452               	.LM58:
 453 018c CF01      		movw r24,r30
 454 018e 022E      		mov r0,r18
 455 0190 02C0      		rjmp 2f
 456 0192 880F      	1:	lsl r24
 457 0194 991F      		rol r25
 458 0196 0A94      	2:	dec r0
 459 0198 E2F7      		brpl 1b
 460 019a 8623      		and r24,r22
 461 019c 9723      		and r25,r23
 462 019e 892B      		or r24,r25
 463 01a0 59F3      		breq .L25
 464 01a2 3093 0000 		sts (ADCM_ReqPort)+1,r19
 465 01a6 2093 0000 		sts ADCM_ReqPort,r18
 467               	.LM59:
 468 01aa 8091 0000 		lds r24,ADCM_ReqPort
 469 01ae 0E94 0000 		call ADCHPLSamplePort
 470               	.L24:
 472               	.LM60:
 473 01b2 8E2D      		mov r24,r14
 474 01b4 0E94 0000 		call AtomicEnd
 475               	.LBE8:

⌨️ 快捷键说明

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