📄 nrf.lst
字号:
429 2C2A MOV R2,R10
42A 2433 CLR R3
42B 2D6E MOV R22,R14
42C 1962 SUB R22,R2
42D 0973 SBC R23,R3
(0265)
(0266) for( i = 0; i < xiaoshu_act_n; i++ )
42E 2400 CLR R0
42F A20E STD Y+38,R0
430 C039 RJMP 0x046A
(0267) {
(0268) datachar1[n++] = ( datawhole % 10 ) + 0x30; //转换为字符
431 A4E9 LDD R14,Y+41
432 24FF CLR R15
433 2D8E MOV R24,R14
434 5F8F SUBI R24,0xFF
435 A789 STD Y+41,R24
436 E08A LDI R24,0xA
437 E090 LDI R25,0
438 E0A0 LDI R26,0
439 E0B0 LDI R27,0
43A 810C LDD R16,Y+4
43B 811D LDD R17,Y+5
43C 812E LDD R18,Y+6
43D 813F LDD R19,Y+7
43E 93BA ST R27,-Y
43F 93AA ST R26,-Y
440 939A ST R25,-Y
441 938A ST R24,-Y
442 940E 04E0 CALL mod32s
444 0118 MOVW R2,R16
445 0129 MOVW R4,R18
446 E380 LDI R24,0x30
447 E090 LDI R25,0
448 E0A0 LDI R26,0
449 E0B0 LDI R27,0
44A 0E28 ADD R2,R24
44B 1E39 ADC R3,R25
44C 1E4A ADC R4,R26
44D 1E5B ADC R5,R27
44E 01CE MOVW R24,R28
44F 9608 ADIW R24,0x8
450 2DEE MOV R30,R14
451 27FF CLR R31
452 0FE8 ADD R30,R24
453 1FF9 ADC R31,R25
454 8220 STD Z+0,R2
(0269) datawhole /= 10;
455 E08A LDI R24,0xA
456 E090 LDI R25,0
457 E0A0 LDI R26,0
458 E0B0 LDI R27,0
459 810C LDD R16,Y+4
45A 811D LDD R17,Y+5
45B 812E LDD R18,Y+6
45C 813F LDD R19,Y+7
45D 93BA ST R27,-Y
45E 93AA ST R26,-Y
45F 939A ST R25,-Y
460 938A ST R24,-Y
461 940E 04DE CALL div32s
463 830C STD Y+4,R16
464 831D STD Y+5,R17
465 832E STD Y+6,R18
466 833F STD Y+7,R19
467 A00E LDD R0,Y+38
468 9403 INC R0
469 A20E STD Y+38,R0
46A A00E LDD R0,Y+38
46B 140A CP R0,R10
46C F408 BCC 0x046E
46D CFC3 RJMP 0x0431
(0270) }
(0271)
(0272) k = n - 1;
46E A589 LDD R24,Y+41
46F 5081 SUBI R24,1
470 A38F STD Y+39,R24
(0273) kk = n; //记录存入的个数
471 A409 LDD R0,Y+41
472 A608 STD Y+40,R0
(0274)
(0275) for( i = 0; i < kk; i++, k-- )
473 2400 CLR R0
474 A20E STD Y+38,R0
475 C014 RJMP 0x048A
(0276) {
(0277) datachar2[k] = datachar1[i]; //将数字符串倒过来
476 01CE MOVW R24,R28
477 9608 ADIW R24,0x8
478 A1EE LDD R30,Y+38
479 27FF CLR R31
47A 0FE8 ADD R30,R24
47B 1FF9 ADC R31,R25
47C 8020 LDD R2,Z+0
47D 01CE MOVW R24,R28
47E 9641 ADIW R24,0x11
47F A1EF LDD R30,Y+39
480 27FF CLR R31
481 0FE8 ADD R30,R24
482 1FF9 ADC R31,R25
483 8220 STD Z+0,R2
484 A00E LDD R0,Y+38
485 9403 INC R0
486 A20E STD Y+38,R0
487 A00F LDD R0,Y+39
488 940A DEC R0
489 A20F STD Y+39,R0
48A A00E LDD R0,Y+38
48B A508 LDD R16,Y+40
48C 1600 CP R0,R16
48D F340 BCS 0x0476
(0278) }
(0279)
(0280) LCD_write_datalongint( r, c, zhengshu ); //显示整数部分
48E 0116 MOVW R2,R12
48F 2444 CLR R4
490 2455 CLR R5
491 8228 STD Y+0,R2
492 8239 STD Y+1,R3
493 824A STD Y+2,R4
494 825B STD Y+3,R5
495 A92E LDD R18,Y+54
496 A90C LDD R16,Y+52
497 DEA0 RCALL _LCD_write_datalongint
(0281) c = c + zhengshu_n;
498 A80E LDD R0,Y+54
499 0E04 ADD R0,R20
49A AA0E STD Y+54,R0
(0282) LCD_write_char( r, c, '.' );
49B E28E LDI R24,0x2E
49C 8388 STD Y+0,R24
49D 2D20 MOV R18,R0
49E A90C LDD R16,Y+52
49F DE13 RCALL _LCD_write_char
(0283) c++;
4A0 A80E LDD R0,Y+54
4A1 9403 INC R0
4A2 AA0E STD Y+54,R0
(0284) for( i = 0; i < ling_n; i++ )
4A3 2400 CLR R0
4A4 A20E STD Y+38,R0
4A5 C00C RJMP 0x04B2
(0285) {
(0286) LCD_write_char( r, c++, '0' );
4A6 E380 LDI R24,0x30
4A7 8388 STD Y+0,R24
4A8 A94E LDD R20,Y+54
4A9 2F84 MOV R24,R20
4AA 5F8F SUBI R24,0xFF
4AB AB8E STD Y+54,R24
4AC 2F24 MOV R18,R20
4AD A90C LDD R16,Y+52
4AE DE04 RCALL _LCD_write_char
4AF A00E LDD R0,Y+38
4B0 9403 INC R0
4B1 A20E STD Y+38,R0
4B2 A00E LDD R0,Y+38
4B3 1606 CP R0,R22
4B4 F388 BCS 0x04A6
(0287) }
(0288)
(0289) for( i = 0; i < kk; i++ )
4B5 2400 CLR R0
4B6 A20E STD Y+38,R0
4B7 C012 RJMP 0x04CA
(0290) {
(0291) LCD_write_char( r, c++, datachar2[i] );
FILE: <library>
4B8 01CE MOVW R24,R28
4B9 9641 ADIW R24,0x11
4BA A1EE LDD R30,Y+38
4BB 27FF CLR R31
4BC 0FE8 ADD R30,R24
4BD 1FF9 ADC R31,R25
4BE 8020 LDD R2,Z+0
4BF 8228 STD Y+0,R2
4C0 A96E LDD R22,Y+54
4C1 2F86 MOV R24,R22
4C2 5F8F SUBI R24,0xFF
4C3 AB8E STD Y+54,R24
4C4 2F26 MOV R18,R22
4C5 A90C LDD R16,Y+52
4C6 DDEC RCALL _LCD_write_char
4C7 A00E LDD R0,Y+38
4C8 9403 INC R0
4C9 A20E STD Y+38,R0
4CA A00E LDD R0,Y+38
4CB A508 LDD R16,Y+40
4CC 1600 CP R0,R16
4CD F350 BCS 0x04B8
4CE 96AA ADIW R28,0x2A
4CF 940E 0542 CALL pop_xgsetF0FC
4D1 9624 ADIW R28,4
4D2 9508 RET
push_arg4:
4D3 933A ST R19,-Y
4D4 932A ST R18,-Y
push_arg2:
4D5 931A ST R17,-Y
4D6 930A ST R16,-Y
4D7 9508 RET
div32u:
4D8 94E8 BCLR 6
4D9 C001 RJMP 0x04DB
mod32u:
4DA 9468 BSET 6
4DB D030 RCALL long_div_prolog
4DC 24CC CLR R12
4DD C009 RJMP 0x04E7
div32s:
4DE 94E8 BCLR 6
4DF C001 RJMP 0x04E1
mod32s:
4E0 9468 BSET 6
4E1 D02A RCALL long_div_prolog
4E2 FD37 SBRC R19,7
4E3 940E 0590 CALL neg32
4E5 FDB7 SBRC R27,7
4E6 D052 RCALL neg_R24_R27
4E7 2477 CLR R7
4E8 2488 CLR R8
4E9 2499 CLR R9
4EA 24AA CLR R10
4EB 24BB CLR R11
4EC D042 RCALL tst_R16_R19
4ED F0C1 BEQ 0x0506
4EE D045 RCALL tst_R24_R27
4EF F0B1 BEQ 0x0506
4F0 E2E8 LDI R30,0x28
4F1 0F00 LSL R16
4F2 1F11 ROL R17
4F3 1F22 ROL R18
4F4 1F33 ROL R19
4F5 1C77 ROL R7
4F6 1C88 ROL R8
4F7 1C99 ROL R9
4F8 1CAA ROL R10
4F9 1CBB ROL R11
4FA 1688 CP R8,R24
4FB 0699 CPC R9,R25
4FC 06AA CPC R10,R26
4FD 06BB CPC R11,R27
4FE F028 BCS 0x0504
4FF 1A88 SUB R8,R24
500 0A99 SBC R9,R25
501 0AAA SBC R10,R26
502 0ABB SBC R11,R27
503 9503 INC R16
504 95EA DEC R30
505 F759 BNE 0x04F1
506 F426 BRTC 0x050B
507 2D08 MOV R16,R8
508 2D19 MOV R17,R9
509 2D2A MOV R18,R10
50A 2D3B MOV R19,R11
50B C013 RJMP long_div_epilog
long_div_prolog:
50C 927A ST R7,-Y
50D 928A ST R8,-Y
50E 929A ST R9,-Y
50F 92AA ST R10,-Y
510 92BA ST R11,-Y
511 92CA ST R12,-Y
512 93EA ST R30,-Y
513 938A ST R24,-Y
514 939A ST R25,-Y
515 93AA ST R26,-Y
516 93BA ST R27,-Y
517 858B LDD R24,Y+11
518 859C LDD R25,Y+12
519 85AD LDD R26,Y+13
51A 85BE LDD R27,Y+14
51B 2EC3 MOV R12,R19
51C F00E BRTS 0x051E
51D 26CB EOR R12,R27
51E 9508 RET
long_div_epilog:
51F FCC7 SBRC R12,7
520 940E 0590 CALL neg32
522 91B9 LD R27,Y+
523 91A9 LD R26,Y+
524 9199 LD R25,Y+
525 9189 LD R24,Y+
526 91E9 LD R30,Y+
527 90C9 LD R12,Y+
528 90B9 LD R11,Y+
529 90A9 LD R10,Y+
52A 9099 LD R9,Y+
52B 9089 LD R8,Y+
52C 9079 LD R7,Y+
52D 9624 ADIW R28,4
52E 9508 RET
tst_R16_R19:
52F 2FE0 MOV R30,R16
530 2BE1 OR R30,R17
531 2BE2 OR R30,R18
532 2BE3 OR R30,R19
533 9508 RET
tst_R24_R27:
534 2FE8 MOV R30,R24
535 2BE9 OR R30,R25
536 2BEA OR R30,R26
537 2BEB OR R30,R27
538 9508 RET
neg_R24_R27:
539 9580 COM R24
53A 9590 COM R25
53B 95A0 COM R26
53C 95B0 COM R27
53D 5F8F SUBI R24,0xFF
53E 4F9F SBCI R25,0xFF
53F 4FAF SBCI R26,0xFF
540 4FBF SBCI R27,0xFF
541 9508 RET
pop_xgsetF0FC:
542 90A9 LD R10,Y+
543 90B9 LD R11,Y+
544 90C9 LD R12,Y+
545 90D9 LD R13,Y+
546 90E9 LD R14,Y+
547 90F9 LD R15,Y+
548 9149 LD R20,Y+
549 9159 LD R21,Y+
54A 9169 LD R22,Y+
54B 9179 LD R23,Y+
54C 9508 RET
push_xgsetF0FC:
54D 937A ST R23,-Y
54E 936A ST R22,-Y
push_xgset30FC:
54F 935A ST R21,-Y
550 934A ST R20,-Y
push_xgset00FC:
551 92FA ST R15,-Y
552 92EA ST R14,-Y
push_xgset003C:
553 92DA ST R13,-Y
554 92CA ST R12,-Y
555 92BA ST R11,-Y
556 92AA ST R10,-Y
557 9508 RET
push_xgset300C:
558 935A ST R21,-Y
559 934A ST R20,-Y
55A 92BA ST R11,-Y
55B 92AA ST R10,-Y
55C 9508 RET
pop_xgset300C:
55D 90A9 LD R10,Y+
55E 90B9 LD R11,Y+
55F 9149 LD R20,Y+
560 9159 LD R21,Y+
561 9508 RET
push_xgsetF00C:
562 937A ST R23,-Y
563 936A ST R22,-Y
564 935A ST R21,-Y
565 934A ST R20,-Y
566 92BA ST R11,-Y
567 92AA ST R10,-Y
568 9508 RET
pop_xgsetF00C:
569 90A9 LD R10,Y+
56A 90B9 LD R11,Y+
56B 9149 LD R20,Y+
56C 9159 LD R21,Y+
56D 9169 LD R22,Y+
56E 9179 LD R23,Y+
56F 9508 RET
push_xgset303C:
570 935A ST R21,-Y
571 934A ST R20,-Y
572 92DA ST R13,-Y
573 92CA ST R12,-Y
574 92BA ST R11,-Y
575 92AA ST R10,-Y
576 9508 RET
pop_xgset303C:
577 90A9 LD R10,Y+
578 90B9 LD R11,Y+
579 90C9 LD R12,Y+
57A 90D9 LD R13,Y+
57B 9149 LD R20,Y+
57C 9159 LD R21,Y+
57D 9508 RET
push_xgsetF03C:
57E 937A ST R23,-Y
57F 936A ST R22,-Y
580 935A ST R21,-Y
581 934A ST R20,-Y
582 92DA ST R13,-Y
583 92CA ST R12,-Y
584 92BA ST R11,-Y
585 92AA ST R10,-Y
586 9508 RET
pop_xgsetF03C:
587 90A9 LD R10,Y+
588 90B9 LD R11,Y+
589 90C9 LD R12,Y+
58A 90D9 LD R13,Y+
58B 9149 LD R20,Y+
58C 9159 LD R21,Y+
58D 9169 LD R22,Y+
58E 9179 LD R23,Y+
58F 9508 RET
neg32:
590 9500 COM R16
591 9510 COM R17
592 9520 COM R18
593 9
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -