📄 fun.lst
字号:
314 .global OSH_MAKE_PW0_OUTPUT
316 OSH_MAKE_PW0_OUTPUT:
136:fun.c **** }
137:fun.c ****
138:fun.c **** void OSH_MAKE_PW0_OUTPUT(void)
139:fun.c **** {
318 .LM29:
319 /* prologue: frame size=0 */
320 /* prologue end (size=0) */
140:fun.c **** * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 0;
322 .LM30:
323 0038 A09A sbi 52-0x20,0
324 /* epilogue: frame size=0 */
325 003a 0895 ret
326 /* epilogue end (size=1) */
327 /* function OSH_MAKE_PW0_OUTPUT size 2 (1) */
330 .global OSH_MAKE_PW1_OUTPUT
332 OSH_MAKE_PW1_OUTPUT:
141:fun.c **** }
142:fun.c ****
143:fun.c **** void OSH_MAKE_PW1_OUTPUT(void)
144:fun.c **** {
334 .LM31:
335 /* prologue: frame size=0 */
336 /* prologue end (size=0) */
145:fun.c **** * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 1;
338 .LM32:
339 003c A19A sbi 52-0x20,1
340 /* epilogue: frame size=0 */
341 003e 0895 ret
342 /* epilogue end (size=1) */
343 /* function OSH_MAKE_PW1_OUTPUT size 2 (1) */
346 .global OSH_MAKE_PW2_OUTPUT
348 OSH_MAKE_PW2_OUTPUT:
146:fun.c **** }
147:fun.c ****
148:fun.c **** void OSH_MAKE_PW2_OUTPUT(void)
149:fun.c **** {
350 .LM33:
351 /* prologue: frame size=0 */
352 /* prologue end (size=0) */
150:fun.c **** * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 2;
354 .LM34:
355 0040 A29A sbi 52-0x20,2
356 /* epilogue: frame size=0 */
357 0042 0895 ret
358 /* epilogue end (size=1) */
359 /* function OSH_MAKE_PW2_OUTPUT size 2 (1) */
362 .global OSH_MAKE_PW3_OUTPUT
364 OSH_MAKE_PW3_OUTPUT:
151:fun.c **** }
152:fun.c ****
153:fun.c **** void OSH_MAKE_PW3_OUTPUT(void)
154:fun.c **** {
366 .LM35:
367 /* prologue: frame size=0 */
368 /* prologue end (size=0) */
155:fun.c **** * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 3;
370 .LM36:
371 0044 A39A sbi 52-0x20,3
372 /* epilogue: frame size=0 */
373 0046 0895 ret
374 /* epilogue end (size=1) */
375 /* function OSH_MAKE_PW3_OUTPUT size 2 (1) */
378 .global OSH_MAKE_PW4_OUTPUT
380 OSH_MAKE_PW4_OUTPUT:
156:fun.c **** }
157:fun.c ****
158:fun.c **** void OSH_MAKE_PW4_OUTPUT(void)
159:fun.c **** {
382 .LM37:
383 /* prologue: frame size=0 */
384 /* prologue end (size=0) */
160:fun.c **** * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 4;
386 .LM38:
387 0048 A49A sbi 52-0x20,4
388 /* epilogue: frame size=0 */
389 004a 0895 ret
390 /* epilogue end (size=1) */
391 /* function OSH_MAKE_PW4_OUTPUT size 2 (1) */
394 .global OSH_MAKE_PW5_OUTPUT
396 OSH_MAKE_PW5_OUTPUT:
161:fun.c **** }
162:fun.c ****
163:fun.c **** void OSH_MAKE_PW5_OUTPUT(void)
164:fun.c **** {
398 .LM39:
399 /* prologue: frame size=0 */
400 /* prologue end (size=0) */
165:fun.c **** * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 5;
402 .LM40:
403 004c A59A sbi 52-0x20,5
404 /* epilogue: frame size=0 */
405 004e 0895 ret
406 /* epilogue end (size=1) */
407 /* function OSH_MAKE_PW5_OUTPUT size 2 (1) */
410 .global OSH_MAKE_PW6_OUTPUT
412 OSH_MAKE_PW6_OUTPUT:
166:fun.c **** }
167:fun.c ****
168:fun.c **** void OSH_MAKE_PW6_OUTPUT(void)
169:fun.c **** {
414 .LM41:
415 /* prologue: frame size=0 */
416 /* prologue end (size=0) */
170:fun.c **** * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 6;
418 .LM42:
419 0050 A69A sbi 52-0x20,6
420 /* epilogue: frame size=0 */
421 0052 0895 ret
422 /* epilogue end (size=1) */
423 /* function OSH_MAKE_PW6_OUTPUT size 2 (1) */
426 .global OSH_MAKE_PW7_OUTPUT
428 OSH_MAKE_PW7_OUTPUT:
171:fun.c **** }
172:fun.c ****
173:fun.c **** void OSH_MAKE_PW7_OUTPUT(void)
174:fun.c **** {
430 .LM43:
431 /* prologue: frame size=0 */
432 /* prologue end (size=0) */
175:fun.c **** * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 7;
434 .LM44:
435 0054 A79A sbi 52-0x20,7
436 /* epilogue: frame size=0 */
437 0056 0895 ret
438 /* epilogue end (size=1) */
439 /* function OSH_MAKE_PW7_OUTPUT size 2 (1) */
442 .global OSH_MAKE_CC_CHP_OUT_INPUT
444 OSH_MAKE_CC_CHP_OUT_INPUT:
176:fun.c **** }
177:fun.c ****
178:fun.c **** void OSH_MAKE_CC_CHP_OUT_INPUT(void)
179:fun.c **** {
446 .LM45:
447 /* prologue: frame size=0 */
448 /* prologue end (size=0) */
180:fun.c **** * (volatile unsigned char *)(0x1A + 0x20) &= ~(1 << 6);
450 .LM46:
451 0058 D698 cbi 58-0x20,6
452 /* epilogue: frame size=0 */
453 005a 0895 ret
454 /* epilogue end (size=1) */
455 /* function OSH_MAKE_CC_CHP_OUT_INPUT size 2 (1) */
458 .global OSH_MAKE_GREEN_LED_OUTPUT
460 OSH_MAKE_GREEN_LED_OUTPUT:
181:fun.c **** }
182:fun.c ****
183:fun.c **** void OSH_MAKE_GREEN_LED_OUTPUT(void)
184:fun.c **** {
462 .LM47:
463 /* prologue: frame size=0 */
464 /* prologue end (size=0) */
185:fun.c **** * (volatile unsigned char *)(0x1A + 0x20) |= 1 << 1;
466 .LM48:
467 005c D19A sbi 58-0x20,1
468 /* epilogue: frame size=0 */
469 005e 0895 ret
470 /* epilogue end (size=1) */
471 /* function OSH_MAKE_GREEN_LED_OUTPUT size 2 (1) */
474 .global OSH_MAKE_YELLOW_LED_OUTPUT
476 OSH_MAKE_YELLOW_LED_OUTPUT:
186:fun.c **** }
187:fun.c ****
188:fun.c **** void OSH_MAKE_YELLOW_LED_OUTPUT(void)
189:fun.c **** {
478 .LM49:
479 /* prologue: frame size=0 */
480 /* prologue end (size=0) */
190:fun.c **** * (volatile unsigned char *)(0x1A + 0x20) |= 1 << 0;
482 .LM50:
483 0060 D09A sbi 58-0x20,0
484 /* epilogue: frame size=0 */
485 0062 0895 ret
486 /* epilogue end (size=1) */
487 /* function OSH_MAKE_YELLOW_LED_OUTPUT size 2 (1) */
490 .global OSH_MAKE_RED_LED_OUTPUT
492 OSH_MAKE_RED_LED_OUTPUT:
191:fun.c **** }
192:fun.c ****
193:fun.c **** void OSH_MAKE_RED_LED_OUTPUT(void)
194:fun.c **** {
494 .LM51:
495 /* prologue: frame size=0 */
496 /* prologue end (size=0) */
195:fun.c **** * (volatile unsigned char *)(0x1A + 0x20) |= 1 << 2;
498 .LM52:
499 0064 D29A sbi 58-0x20,2
500 /* epilogue: frame size=0 */
501 0066 0895 ret
502 /* epilogue end (size=1) */
503 /* function OSH_MAKE_RED_LED_OUTPUT size 2 (1) */
506 .global RandomInit
508 RandomInit:
196:fun.c **** }
197:fun.c ****
198:fun.c **** result_t RandomInit(void)
199:fun.c **** {
510 .LM53:
511 /* prologue: frame size=0 */
512 0068 1F93 push r17
513 /* prologue end (size=1) */
200:fun.c **** uint8_t random = OS_LOCAL_ADDRESS;
515 .LM54:
516 006a 1091 0000 lds r17,OS_LOCAL_ADDRESS
517 .LBB2:
201:fun.c **** { uint8_t atomic = AtomicStart();
519 .LM55:
520 006e 0E94 0000 call AtomicStart
202:fun.c **** {
203:fun.c **** //RandomLFSR_shiftReg = (119 * 119 * (OS_LOCAL_ADDRESS + 1)&0xffff);
204:fun.c **** RandomLFSR_shiftReg = 119 * 119 * (random + 1);
522 .LM56:
523 0072 412F mov r20,r17
524 0074 5527 clr r21
525 0076 21E5 ldi r18,lo8(14161)
526 0078 37E3 ldi r19,hi8(14161)
527 007a 429F mul r20,r18
528 007c B001 movw r22,r0
529 007e 439F mul r20,r19
530 0080 700D add r23,r0
531 0082 529F mul r21,r18
532 0084 700D add r23,r0
533 0086 1124 clr r1
534 0088 9B01 movw r18,r22
535 008a 2F5A subi r18,lo8(-(14161))
536 008c 384C sbci r19,hi8(-(14161))
537 008e 3093 0000 sts (RandomLFSR_shiftReg)+1,r19
538 0092 2093 0000 sts RandomLFSR_shiftReg,r18
205:fun.c **** RandomLFSR_initSeed = RandomLFSR_shiftReg;
540 .LM57:
541 0096 3093 0000 sts (RandomLFSR_initSeed)+1,r19
542 009a 2093 0000 sts RandomLFSR_initSeed,r18
206:fun.c **** //RandomLFSR_mask = 137 * 29 * (OS_LOCAL_ADDRESS + 1);
207:fun.c **** RandomLFSR_mask = 137 * 29 * (random + 1);
544 .LM58:
545 009e 25E8 ldi r18,lo8(3973)
546 00a0 3FE0 ldi r19,hi8(3973)
547 00a2 429F mul r20,r18
548 00a4 B001 movw r22,r0
549 00a6 439F mul r20,r19
550 00a8 700D add r23,r0
551 00aa 529F mul r21,r18
552 00ac 700D add r23,r0
553 00ae 1124 clr r1
554 00b0 9B01 movw r18,r22
555 00b2 2B57 subi r18,lo8(-(3973))
556 00b4 304F sbci r19,hi8(-(3973))
557 00b6 3093 0000 sts (RandomLFSR_mask)+1,r19
558 00ba 2093 0000 sts RandomLFSR_mask,r18
208:fun.c **** }
209:fun.c **** AtomicEnd(atomic); }
560 .LM59:
561 00be 0E94 0000 call AtomicEnd
562 .LBE2:
210:fun.c **** return SUCCESS;
211:fun.c **** }
564 .LM60:
565 00c2 81E0 ldi r24,lo8(1)
566 00c4 90E0 ldi r25,hi8(1)
567 /* epilogue: frame size=0 */
568 00c6 1F91 pop r17
569 00c8 0895 ret
570 /* epilogue end (size=2) */
571 /* function RandomInit size 49 (46) */
575 .global OSH_SET_CC_PCLK_PIN
577 OSH_SET_CC_PCLK_PIN:
212:fun.c ****
213:fun.c **** void OSH_SET_CC_PCLK_PIN(void)
214:fun.c **** {
579 .LM61:
580 /* prologue: frame size=0 */
581 /* prologue end (size=0) */
215:fun.c **** * (volatile unsigned char *)(0x12 + 0x20) |= 1 << 6;
583 .LM62:
584 00ca 969A sbi 50-0x20,6
585 /* epilogue: frame size=0 */
586 00cc 0895 ret
587 /* epilogue end (size=1) */
588 /* function OSH_SET_CC_PCLK_PIN size 2 (1) */
591 .global OSH_SET_CC_PDATA_PIN
593 OSH_SET_CC_PDATA_PIN:
216:fun.c **** }
217:fun.c ****
218:fun.c **** void OSH_SET_CC_PDATA_PIN(void)
219:fun.c **** {
595 .LM63:
596 /* prologue: frame size=0 */
597 /* prologue end (size=0) */
220:fun.c **** * (volatile unsigned char *)(0x12 + 0x20) |= 1 << 7;
599 .LM64:
600 00ce 979A sbi 50-0x20,7
601 /* epilogue: frame size=0 */
602 00d0 0895 ret
603 /* epilogue end (size=1) */
604 /* function OSH_SET_CC_PDATA_PIN size 2 (1) */
607 .global OSH_SET_CC_PALE_PIN
609 OSH_SET_CC_PALE_PIN:
221:fun.c **** }
222:fun.c ****
223:fun.c **** void OSH_SET_CC_PALE_PIN(void)
224:fun.c **** {
611 .LM65:
612 /* prologue: frame size=0 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -