📄 160104_s6b0719.lst
字号:
FILE: <library>
__start:
__text_start:
051A E5CF LDI R28,0x5F
051B E0D4 LDI R29,4
051C BFCD OUT 0x3D,R28
051D BFDE OUT 0x3E,R29
051E 51C0 SUBI R28,0x10
051F 40D0 SBCI R29,0
0520 EA0A LDI R16,0xAA
0521 8308 STD Y+0,R16
0522 2400 CLR R0
0523 E9EF LDI R30,0x9F
0524 E0F0 LDI R31,0
0525 E010 LDI R17,0
0526 3AE6 CPI R30,0xA6
0527 07F1 CPC R31,R17
0528 F011 BEQ 0x052B
0529 9201 ST R0,Z+
052A CFFB RJMP 0x0526
052B 8300 STD Z+0,R16
052C EFE4 LDI R30,0xF4
052D E0F9 LDI R31,0x9
052E E6A0 LDI R26,0x60
052F E0B0 LDI R27,0
0530 E01A LDI R17,0xA
0531 33E3 CPI R30,0x33
0532 07F1 CPC R31,R17
0533 F021 BEQ 0x0538
0534 95C8 LPM
0535 9631 ADIW R30,1
0536 920D ST R0,X+
0537 CFF9 RJMP 0x0531
0538 940E0912 CALL _main
_exit:
053A CFFF RJMP _exit
_delay_1ms:
i --> R16
053B E001 LDI R16,1
053C E010 LDI R17,0
053D C002 RJMP 0x0540
053E 5F0F SUBI R16,0xFF
053F 4F1F SBCI R17,0xFF
0540 330A CPI R16,0x3A
0541 E0E2 LDI R30,2
0542 071E CPC R17,R30
0543 F3D0 BCS 0x053E
0544 9508 RET
_delay_nms:
i --> R20
n --> R22
0545 940E0985 CALL push_gset2
0547 01B8 MOVW R22,R16
0548 2744 CLR R20
0549 2755 CLR R21
054A C003 RJMP 0x054E
054B DFEF RCALL _delay_1ms
054C 5F4F SUBI R20,0xFF
054D 4F5F SBCI R21,0xFF
054E 1746 CP R20,R22
054F 0757 CPC R21,R23
0550 F3D0 BCS 0x054B
0551 940E0973 CALL pop_gset2
0553 9508 RET
_write_comm:
comm --> R16
0554 EF8F LDI R24,0xFF
0555 BB84 OUT 0x14,R24
0556 BB81 OUT 0x11,R24
0557 BB05 OUT 0x15,R16
0558 9892 CBI 0x12,2
0559 9A97 SBI 0x12,7
055A 0000 NOP
055B 9897 CBI 0x12,7
055C 0000 NOP
055D 9508 RET
_write_data:
data --> R16
055E EF8F LDI R24,0xFF
055F BB84 OUT 0x14,R24
0560 BB81 OUT 0x11,R24
0561 BB05 OUT 0x15,R16
0562 9A92 SBI 0x12,2
0563 9A97 SBI 0x12,7
0564 0000 NOP
0565 9897 CBI 0x12,7
0566 0000 NOP
0567 9508 RET
_set_page_add:
page --> R20
0568 940E0987 CALL push_gset1
056A 2F40 MOV R20,R16
056B 2F04 MOV R16,R20
056C 6B00 ORI R16,0xB0
056D DFE6 RCALL _write_comm
056E 940E098A CALL pop_gset1
0570 9508 RET
_set_column_add:
lsb_column --> R20
msb_column --> R22
column --> R20
0571 940E0985 CALL push_gset2
0573 2F40 MOV R20,R16
0574 2F64 MOV R22,R20
0575 9562 SWAP R22
0576 706F ANDI R22,0xF
0577 704F ANDI R20,0xF
0578 2F06 MOV R16,R22
0579 6100 ORI R16,0x10
057A DFD9 RCALL _write_comm
057B 2F04 MOV R16,R20
057C DFD7 RCALL _write_comm
057D 940E0973 CALL pop_gset2
057F 9508 RET
_display_on:
on --> R20
0580 940E0987 CALL push_gset1
0582 2F40 MOV R20,R16
0583 2F04 MOV R16,R20
0584 6A0E ORI R16,0xAE
0585 DFCE RCALL _write_comm
0586 940E098A CALL pop_gset1
0588 9508 RET
_set_init_line:
line --> R20
0589 940E0987 CALL push_gset1
058B 2F40 MOV R20,R16
058C E400 LDI R16,0x40
058D DFC6 RCALL _write_comm
058E 2F04 MOV R16,R20
058F DFC4 RCALL _write_comm
0590 940E098A CALL pop_gset1
0592 9508 RET
_set_com0:
com --> R20
0593 940E0987 CALL push_gset1
0595 2F40 MOV R20,R16
0596 E404 LDI R16,0x44
0597 DFBC RCALL _write_comm
0598 2F04 MOV R16,R20
0599 DFBA RCALL _write_comm
059A 940E098A CALL pop_gset1
059C 9508 RET
_set_display_duty:
duty --> R20
059D 940E0987 CALL push_gset1
059F 2F40 MOV R20,R16
05A0 E408 LDI R16,0x48
05A1 DFB2 RCALL _write_comm
05A2 2F04 MOV R16,R20
05A3 DFB0 RCALL _write_comm
05A4 940E098A CALL pop_gset1
05A6 9508 RET
_set_nline_inver:
n --> R20
05A7 940E0987 CALL push_gset1
05A9 2F40 MOV R20,R16
05AA E40C LDI R16,0x4C
05AB DFA8 RCALL _write_comm
05AC 2F04 MOV R16,R20
05AD DFA6 RCALL _write_comm
05AE 940E098A CALL pop_gset1
05B0 9508 RET
_rel_nline_inver:
05B1 EE04 LDI R16,0xE4
05B2 DFA1 RCALL _write_comm
05B3 9508 RET
_reve_display_on:
rev --> R20
05B4 940E0987 CALL push_gset1
05B6 2F40 MOV R20,R16
05B7 2F04 MOV R16,R20
05B8 6A06 ORI R16,0xA6
05B9 DF9A RCALL _write_comm
05BA 940E098A CALL pop_gset1
05BC 9508 RET
_entir_display_on:
eon --> R20
05BD 940E0987 CALL push_gset1
05BF 2F40 MOV R20,R16
05C0 2F04 MOV R16,R20
05C1 6A04 ORI R16,0xA4
05C2 DF91 RCALL _write_comm
05C3 940E098A CALL pop_gset1
05C5 9508 RET
_power_control:
control --> R20
vf --> Y+6
vr --> R10
vc --> R22
05C6 940E0983 CALL push_gset3
05C8 2EA2 MOV R10,R18
05C9 2F60 MOV R22,R16
05CA 2744 CLR R20
05CB 2C2A MOV R2,R10
05CC 0C22 LSL R2
05CD 2E36 MOV R3,R22
05CE 0C33 LSL R3
05CF 0C33 LSL R3
05D0 2832 OR R3,R2
05D1 800E LDD R0,Y+6
05D2 2830 OR R3,R0
05D3 2943 OR R20,R3
05D4 2F04 MOV R16,R20
05D5 6208 ORI R16,0x28
05D6 DF7D RCALL _write_comm
05D7 940E0976 CALL pop_gset3
05D9 9508 RET
_dc_setup:
05DA E607 LDI R16,0x67
05DB DF78 RCALL _write_comm
05DC 9508 RET
_resistor_sel:
r --> R20
05DD 940E0987 CALL push_gset1
05DF 2F40 MOV R20,R16
05E0 2F04 MOV R16,R20
05E1 6200 ORI R16,0x20
05E2 DF71 RCALL _write_comm
05E3 940E098A CALL pop_gset1
05E5 9508 RET
_set_ref:
ev --> R20
05E6 940E0987 CALL push_gset1
05E8 2F40 MOV R20,R16
05E9 E801 LDI R16,0x81
05EA DF69 RCALL _write_comm
05EB 2F04 MOV R16,R20
05EC DF67 RCALL _write_comm
05ED 940E098A CALL pop_gset1
05EF 9508 RET
_sel_LCD_bias:
05F0 E507 LDI R16,0x57
05F1 DF62 RCALL _write_comm
05F2 9508 RET
_sel_shl:
shl --> R20
05F3 940E0987 CALL push_gset1
05F5 2F40 MOV R20,R16
05F6 0F44 LSL R20
05F7 0F44 LSL R20
05F8 0F44 LSL R20
05F9 2F04 MOV R16,R20
05FA 6C00 ORI R16,0xC0
05FB DF58 RCALL _write_comm
05FC 940E098A CALL pop_gset1
05FE 9508 RET
_sel_adc:
adc --> R20
05FF 940E0987 CALL push_gset1
0601 2F40 MOV R20,R16
0602 2F04 MOV R16,R20
0603 6A00 ORI R16,0xA0
0604 DF4F RCALL _write_comm
0605 940E098A CALL pop_gset1
0607 9508 RET
_set_static_indicator:
s --> R20
sm --> R22
0608 940E0985 CALL push_gset2
060A 2F42 MOV R20,R18
060B 2F60 MOV R22,R16
060C 2366 TST R22
060D F409 BNE 0x060F
060E 2744 CLR R20
060F 2F06 MOV R16,R22
0610 6A0C ORI R16,0xAC
0611 DF42 RCALL _write_comm
0612 2F04 MOV R16,R20
0613 DF40 RCALL _write_comm
0614 940E0973 CALL pop_gset2
0616 9508 RET
_osc_start:
0617 EA0B LDI R16,0xAB
0618 DF3B RCALL _write_comm
0619 9508 RET
_lcd_reset:
061A EE02 LDI R16,0xE2
061B DF38 RCALL _write_comm
061C 9508 RET
_lcd_power_save:
p --> R20
061D 940E0987 CALL push_gset1
061F 2F40 MOV R20,R16
0620 2F04 MOV R16,R20
0621 6A08 ORI R16,0xA8
0622 DF31 RCALL _write_comm
0623 940E098A CALL pop_gset1
0625 9508 RET
_lcd_rel_power_save:
0626 EE01 LDI R16,0xE1
0627 DF2C RCALL _write_comm
0628 9508 RET
_lcd_clear:
a --> R20
b --> R22
0629 940E0985 CALL push_gset2
062B 2744 CLR R20
062C C00C RJMP 0x0639
062D 2F04 MOV R16,R20
062E DF39 RCALL _set_page_add
062F 2700 CLR R16
0630 DF40 RCALL _set_column_add
0631 2766 CLR R22
0632 C003 RJMP 0x0636
0633 2700 CLR R16
0634 DF29 RCALL _write_data
0635 9563 INC R22
0636 3A60 CPI R22,0xA0
0637 F3D8 BCS 0x0633
0638 9543 INC R20
0639 304E CPI R20,0xE
063A F390 BCS 0x062D
063B 940E0973 CALL pop_gset2
063D 9508 RET
_lcd_clear_part:
i --> R20
j --> R14
h --> R22
w --> R10
add_y --> R12
add_x --> Y+10
063E 940E0915 CALL push_arg4
0640 940E097F CALL push_gset5
0642 2EC2 MOV R12,R18
0643 84AE LDD R10,Y+14
0644 8968 LDD R22,Y+16
0645 2744 CLR R20
0646 C00D RJMP 0x0654
0647 2D0C MOV R16,R12
0648 DF1F RCALL _set_page_add
0649 850A LDD R16,Y+10
064A DF26 RCALL _set_column_add
064B 24EE CLR R14
064C C003 RJMP 0x0650
064D 2700 CLR R16
064E DF0F RCALL _write_data
064F 94E3 INC R14
0650 14EA CP R14,R10
0651 F3D8 BCS 0x064D
0652 94C3 INC R12
0653 9543 INC R20
0654 1746 CP R20,R22
0655 F388 BCS 0x0647
0656 940E097C CALL pop_gset5
0658 9624 ADIW R28,4
0659 9508 RET
_init_160104:
065A 9721 SBIW R28,1
065B EF8F LDI R24,0xFF
065C BB81 OUT 0x11,R24
065D EF04 LDI R16,0xF4
065E E011 LDI R17,1
065F DEE5 RCALL _delay_nms
0660 9894 CBI 0x12,4
0661 E604 LDI R16,0x64
0662 E010 LDI R17,0
0663 DEE1 RCALL _delay_nms
0664 9A94 SBI 0x12,4
0665 E609 LDI R16,0x69
0666 DF36 RCALL _set_display_duty
0667 2700 CLR R16
0668 DF96 RCALL _sel_adc
0669 E001 LDI R16,1
066A DF88 RCALL _sel_shl
066B 2700 CLR R16
066C DF26 RCALL _set_com0
066D DFA9 RCALL _osc_start
066E DF6B RCALL _dc_setup
066F 2422 CLR R2
0670 8228 STD Y+0,R2
0671 2722 CLR R18
0672 E001 LDI R16,1
0673 DF52 RCALL _power_control
0674 E10E LDI R16,0x1E
0675 E010 LDI R17,0
0676 DECE RCALL _delay_nms
0677 E007 LDI R16,7
0678 DF64 RCALL _resistor_sel
0679 E30F LDI R16,0x3F
067A DF6B RCALL _set_ref
067B 2422 CLR R2
067C 8228 STD Y+0,R2
067D E021 LDI R18,1
067E E001 LDI R16,1
067F DF46 RCALL _power_control
0680 E005 LDI R16,5
0681 E010 LDI R17,0
0682 DEC2 RCALL _delay_nms
0683 DF6C RCALL _sel_LCD_bias
0684 E081 LDI R24,1
0685 8388 STD Y+0,R24
0686 E021 LDI R18,1
0687 E001 LDI R16,1
0688 DF3D RCALL _power_control
0689 E208 LDI R16,0x28
068A E010 LDI R17,0
068B DEB9 RCALL _delay_nms
068C E001 LDI R16,1
068D DEF2 RCALL _display_on
068E 2700 CLR R16
068F DEF9 RCALL _set_init_line
0690 DF98 RCALL _lcd_clear
0691 E005 LDI R16,5
0692 DF4A RCALL _resistor_sel
0693 E208 LDI R16,0x28
0694 DF51 RCALL _set_ref
0695 9621 ADIW R28,1
0696 9508 RET
_wri_asc_8x16_s:
P --> R20
i --> R22
ascii_s --> R10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -