📄 ultrawave.lst
字号:
FILE: <library>
__text_start:
__start:
0070 EFCF LDI R28,0xFF
0071 E1D0 LDI R29,0x10
0072 BFCD OUT 0x3D,R28
0073 BFDE OUT 0x3E,R29
0074 51C0 SUBI R28,0x10
0075 40D0 SBCI R29,0
0076 EA0A LDI R16,0xAA
0077 8308 STD Y+0,R16
0078 2400 CLR R0
0079 E3E2 LDI R30,0x32
007A E0F1 LDI R31,1
007B E011 LDI R17,1
007C 34E2 CPI R30,0x42
007D 07F1 CPC R31,R17
007E F011 BEQ 0x0081
007F 9201 ST R0,Z+
0080 CFFB RJMP 0x007C
0081 8300 STD Z+0,R16
0082 EAEE LDI R30,0xAE
0083 E0F0 LDI R31,0
0084 E0A0 LDI R26,0
0085 E0B1 LDI R27,1
0086 E010 LDI R17,0
0087 3EE0 CPI R30,0xE0
0088 07F1 CPC R31,R17
0089 F021 BEQ 0x008E
008A 95C8 LPM
008B 9631 ADIW R30,1
008C 920D ST R0,X+
008D CFF9 RJMP 0x0087
008E 940E0447 CALL _main
_exit:
0090 CFFF RJMP _exit
_delay_us:
i --> R20
j --> R22
t --> R16
0091 940E0546 CALL push_gset2
0093 01A8 MOVW R20,R16
0094 C00A RJMP 0x009F
0095 E062 LDI R22,2
0096 E070 LDI R23,0
0097 C002 RJMP 0x009A
0098 5061 SUBI R22,1
0099 4070 SBCI R23,0
009A 3060 CPI R22,0
009B 0767 CPC R22,R23
009C F7D9 BNE 0x0098
009D 5041 SUBI R20,1
009E 4050 SBCI R21,0
009F 3040 CPI R20,0
00A0 0745 CPC R20,R21
00A1 F799 BNE 0x0095
00A2 940E0534 CALL pop_gset2
00A4 9508 RET
_delay_ms:
i --> R20
j --> R22
t --> R16
00A5 940E0546 CALL push_gset2
00A7 01A8 MOVW R20,R16
00A8 C00A RJMP 0x00B3
00A9 EF60 LDI R22,0xF0
00AA E07A LDI R23,0xA
00AB C002 RJMP 0x00AE
00AC 5061 SUBI R22,1
00AD 4070 SBCI R23,0
00AE 3060 CPI R22,0
00AF 0767 CPC R22,R23
00B0 F7D9 BNE 0x00AC
00B1 5041 SUBI R20,1
00B2 4050 SBCI R21,0
00B3 3040 CPI R20,0
00B4 0745 CPC R20,R21
00B5 F799 BNE 0x00A9
00B6 940E0534 CALL pop_gset2
00B8 9508 RET
_Sendbyte:
i --> R20
data --> R22
00B9 940E0546 CALL push_gset2
00BB 2F60 MOV R22,R16
00BC 2744 CLR R20
00BD E008 LDI R16,0x8
00BE E010 LDI R17,0
00BF DFD1 RCALL _delay_us
00C0 C017 RJMP 0x00D8
00C1 FF67 SBRS R22,7
00C2 C004 RJMP 0x00C7
00C3 B38B IN R24,0x1B
00C4 6082 ORI R24,2
00C5 BB8B OUT 0x1B,R24
00C6 C003 RJMP 0x00CA
00C7 B38B IN R24,0x1B
00C8 7F8D ANDI R24,0xFD
00C9 BB8B OUT 0x1B,R24
00CA B38B IN R24,0x1B
00CB 6084 ORI R24,4
00CC BB8B OUT 0x1B,R24
00CD E008 LDI R16,0x8
00CE E010 LDI R17,0
00CF DFC1 RCALL _delay_us
00D0 0F66 LSL R22
00D1 B38B IN R24,0x1B
00D2 7F8B ANDI R24,0xFB
00D3 BB8B OUT 0x1B,R24
00D4 E008 LDI R16,0x8
00D5 E010 LDI R17,0
00D6 DFBA RCALL _delay_us
00D7 9543 INC R20
00D8 3048 CPI R20,0x8
00D9 F338 BCS 0x00C1
00DA 940E0534 CALL pop_gset2
00DC 9508 RET
_Receivebyte:
temp2 --> R16
temp1 --> R18
i --> R20
00DD 940E0548 CALL push_gset1
00DF 2700 CLR R16
00E0 2722 CLR R18
00E1 2744 CLR R20
00E2 C010 RJMP 0x00F3
00E3 0F22 LSL R18
00E4 B38B IN R24,0x1B
00E5 7F8B ANDI R24,0xFB
00E6 BB8B OUT 0x1B,R24
00E7 B38B IN R24,0x1B
00E8 6084 ORI R24,4
00E9 BB8B OUT 0x1B,R24
00EA B38B IN R24,0x1B
00EB 7F8B ANDI R24,0xFB
00EC BB8B OUT 0x1B,R24
00ED B38B IN R24,0x1B
00EE 9586 LSR R24
00EF 7081 ANDI R24,1
00F0 F009 BEQ 0x00F2
00F1 9523 INC R18
00F2 9543 INC R20
00F3 3048 CPI R20,0x8
00F4 F370 BCS 0x00E3
00F5 2744 CLR R20
00F6 C010 RJMP 0x0107
00F7 0F00 LSL R16
00F8 B38B IN R24,0x1B
00F9 7F8B ANDI R24,0xFB
00FA BB8B OUT 0x1B,R24
00FB B38B IN R24,0x1B
00FC 6084 ORI R24,4
00FD BB8B OUT 0x1B,R24
00FE B38B IN R24,0x1B
00FF 7F8B ANDI R24,0xFB
0100 BB8B OUT 0x1B,R24
0101 B38B IN R24,0x1B
0102 9586 LSR R24
0103 7081 ANDI R24,1
0104 F009 BEQ 0x0106
0105 9503 INC R16
0106 9543 INC R20
0107 3048 CPI R20,0x8
0108 F370 BCS 0x00F7
0109 2F80 MOV R24,R16
010A 708F ANDI R24,0xF
010B 2F02 MOV R16,R18
010C 7F00 ANDI R16,0xF0
010D 0F08 ADD R16,R24
010E 940E054B CALL pop_gset1
0110 9508 RET
_Checkbusy:
0111 EF0C LDI R16,0xFC
0112 DFA6 RCALL _Sendbyte
0113 DFC9 RCALL _Receivebyte
0114 FD07 SBRC R16,7
0115 CFFB RJMP _Checkbusy
0116 9508 RET
_Writecommand:
data --> R20
0117 940E0548 CALL push_gset1
0119 2F40 MOV R20,R16
011A B38B IN R24,0x1B
011B 6081 ORI R24,1
011C BB8B OUT 0x1B,R24
011D DFF3 RCALL _Checkbusy
011E EF08 LDI R16,0xF8
011F DF99 RCALL _Sendbyte
0120 2F04 MOV R16,R20
0121 7F00 ANDI R16,0xF0
0122 DF96 RCALL _Sendbyte
0123 2F04 MOV R16,R20
0124 700F ANDI R16,0xF
0125 700F ANDI R16,0xF
0126 9502 SWAP R16
0127 DF91 RCALL _Sendbyte
0128 B38B IN R24,0x1B
0129 7F8E ANDI R24,0xFE
012A BB8B OUT 0x1B,R24
012B 940E054B CALL pop_gset1
012D 9508 RET
_Writedata:
data --> R20
012E 940E0548 CALL push_gset1
0130 2F40 MOV R20,R16
0131 B38B IN R24,0x1B
0132 6081 ORI R24,1
0133 BB8B OUT 0x1B,R24
0134 DFDC RCALL _Checkbusy
0135 EF0A LDI R16,0xFA
0136 DF82 RCALL _Sendbyte
0137 2F04 MOV R16,R20
0138 7F00 ANDI R16,0xF0
0139 DF7F RCALL _Sendbyte
013A 2F04 MOV R16,R20
013B 700F ANDI R16,0xF
013C 700F ANDI R16,0xF
013D 9502 SWAP R16
013E DF7A RCALL _Sendbyte
013F B38B IN R24,0x1B
0140 7F8E ANDI R24,0xFE
0141 BB8B OUT 0x1B,R24
0142 940E054B CALL pop_gset1
0144 9508 RET
_Locate_x_y:
addr --> R20
y --> R22
x --> R10
0145 940E0544 CALL push_gset3
0147 2F62 MOV R22,R18
0148 2EA0 MOV R10,R16
0149 E840 LDI R20,0x80
014A E800 LDI R16,0x80
014B DFCB RCALL _Writecommand
014C 24BB CLR R11
014D 20AA TST R10
014E F411 BNE 0x0151
014F 20BB TST R11
0150 F071 BEQ 0x015F
0151 01C5 MOVW R24,R10
0152 3081 CPI R24,1
0153 E0E0 LDI R30,0
0154 079E CPC R25,R30
0155 F061 BEQ 0x0162
0156 3082 CPI R24,2
0157 E0E0 LDI R30,0
0158 079E CPC R25,R30
0159 F059 BEQ 0x0165
015A 3083 CPI R24,3
015B E0E0 LDI R30,0
015C 079E CPC R25,R30
015D F051 BEQ 0x0168
015E C00B RJMP 0x016A
015F 2F46 MOV R20,R22
0160 5840 SUBI R20,0x80
0161 C008 RJMP 0x016A
0162 2F46 MOV R20,R22
0163 5740 SUBI R20,0x70
0164 C005 RJMP 0x016A
0165 2F46 MOV R20,R22
0166 5748 SUBI R20,0x78
0167 C002 RJMP 0x016A
0168 2F46 MOV R20,R22
0169 5648 SUBI R20,0x68
016A 2F04 MOV R16,R20
016B DFAB RCALL _Writecommand
016C 940E0537 CALL pop_gset3
016E 9508 RET
_Display_x_y_symbol:
j --> R20
i --> R22
data --> Y+4
y --> R22
x --> R20
016F 940E0546 CALL push_gset2
0171 2F62 MOV R22,R18
0172 2F40 MOV R20,R16
0173 2F26 MOV R18,R22
0174 2F04 MOV R16,R20
0175 DFCF RCALL _Locate_x_y
0176 814C LDD R20,Y+4
0177 815D LDD R21,Y+5
0178 01BA MOVW R22,R20
0179 2F67 MOV R22,R23
017A 2777 CLR R23
017B 2F06 MOV R16,R22
017C DFB1 RCALL _Writedata
017D 2F04 MOV R16,R20
017E DFAF RCALL _Writedata
017F 940E0534 CALL pop_gset2
0181 9508 RET
_Write_string:
s --> R20
0182 940E0548 CALL push_gset1
0184 01A8 MOVW R20,R16
0185 C005 RJMP 0x018B
0186 01FA MOVW R30,R20
0187 8100 LDD R16,Z+0
0188 DFA5 RCALL _Writedata
0189 5F4F SUBI R20,0xFF
018A 4F5F SBCI R21,0xFF
018B 01FA MOVW R30,R20
018C 8020 LDD R2,Z+0
018D 2022 TST R2
018E F7B9 BNE 0x0186
018F 940E054B CALL pop_gset1
0191 9508 RET
_Display_x_y_data:
data --> R20
y --> R22
x --> R10
0192 940E0544 CALL push_gset3
0194 2F62 MOV R22,R18
0195 2EA0 MOV R10,R16
0196 814E LDD R20,Y+6
0197 815F LDD R21,Y+7
0198 E088 LDI R24,0x8
0199 9D8A MUL R24,R10
019A 01F0 MOVW R30,R0
019B 2E26 MOV R2,R22
019C 2433 CLR R3
019D 0DE2 ADD R30,R2
019E 1DF3 ADC R31,R3
019F E080 LDI R24,0
01A0 E091 LDI R25,1
01A1 0FE8 ADD R30,R24
01A2 1FF9 ADC R31,R25
01A3 8100 LDD R16,Z+0
01A4 DF72 RCALL _Writecommand
01A5 C01B RJMP 0x01C1
01A6 3160 CPI R22,0x10
01A7 F499 BNE 0x01BB
01A8 2766 CLR R22
01A9 94A3 INC R10
01AA 2D8A MOV R24,R10
01AB 3084 CPI R24,4
01AC F409 BNE 0x01AE
01AD 24AA CLR R10
01AE E088 LDI R24,0x8
01AF 9D8A MUL R24,R10
01B0 01F0 MOVW R30,R0
01B1 2E26 MOV R2,R22
01B2 2433 CLR R3
01B3 0DE2 ADD R30,R2
01B4 1DF3 ADC R31,R3
01B5 E080 LDI R24,0
01B6 E091 LDI R25,1
01B7 0FE8 ADD R30,R24
01B8 1FF9 ADC R31,R25
01B9 8100 LDD R16,Z+0
01BA DF5C RCALL _Writecommand
01BB 01FA MOVW R30,R20
01BC 8100 LDD R16,Z+0
01BD DF70 RCALL _Writedata
01BE 9563 INC R22
01BF 5F4F SUBI R20,0xFF
01C0 4F5F SBCI R21,0xFF
01C1 01FA MOVW R30,R20
01C2 8020 LDD R2,Z+0
01C3 2022 TST R2
01C4 F709 BNE 0x01A6
01C5 940E0537 CALL pop_gset3
01C7 9508 RET
_PUT_BMP:
i --> R20
x --> R22
j --> R12
puts --> R10
01C8 940E0542 CALL push_gset4
01CA 0158 MOVW R10,R16
01CB 2766 CLR R22
01CC 2777 CLR R23
01CD E304 LDI R16,0x34
01CE DF48 RCALL _Writecommand
01CF E306 LDI R16,0x36
01D0 DF46 RCALL _Writecommand
01D1 2744 CLR R20
01D2 C013 RJMP 0x01E6
01D3 2F04 MOV R16,R20
01D4 6800 ORI R16,0x80
01D5 DF41 RCALL _Writecommand
01D6 E800 LDI R16,0x80
01D7 DF3F RCALL _Writecommand
01D8 24CC CLR R12
01D9 C008 RJMP 0x01E2
01DA 01FB MOVW R30,R22
01DB 0DEA ADD R30,R10
01DC 1DFB ADC R31,R11
01DD 8100 LDD R16,Z+0
01DE DF4F RCALL _Writedata
01DF 5F6F SUBI R22,0xFF
01E0 4F7F SBCI R23,0xFF
01E1 94C3 INC R12
01E2 2D8C MOV R24,R12
01E3 3280 CPI R24,0x20
01E4 F3A8 BCS 0x01DA
01E5 9543 INC R20
01E6 3240 CPI R20,0x20
01E7 F358 BCS 0x01D3
01E8 940E053A CALL pop_gset4
01EA 9508 RET
_LcmClearTXT:
i --> R20
01EB 940E0548 CALL push_gset1
01ED E300 LDI R16,0x30
01EE DF28 RCALL _Writecommand
01EF E800 LDI R16,0x80
01F0 DF26 RCALL _Writecommand
01F1 2744 CLR R20
01F2 C003 RJMP 0x01F6
01F3 E200 LDI R16,0x20
01F4 DF39 RCALL _Writedata
01F5 9543 INC R20
01F6 3440 CPI R20,0x40
01F7 F3D8 BCS 0x01F3
01F8 940E054B CALL pop_gset1
01FA 9508 RET
_LcmClearBMP:
i --> R20
j --> R22
01FB 940E0546 CALL push_gset2
01FD E304 LDI R16,0x34
01FE DF18 RCALL _Writecommand
01FF E306 LDI R16,0x36
0200 DF16 RCALL _Writecommand
0201 2744 CLR R20
0202 C00D RJMP 0x0210
0203 2F04 MOV R16,R20
0204 6800 ORI R16,0x80
0205 DF11 RCALL _Writecommand
0206 E800 LDI R16,0x80
0207 DF0F RCALL _Writecommand
0208 2766 CLR R22
0209 C003 RJMP 0x020D
020A 2700 CLR R16
020B DF22 RCALL _Writedata
020C 9563 INC R22
020D 3260 CPI R22,0x20
020E F3D8 BCS 0x020A
020F 9543 INC R20
0210 3240 CPI R20,0x20
0211 F388 BCS 0x0203
0212 940E0534 CALL pop_gset2
0214 9508 RET
_Float_to_string:
neg --> Y+31
flag --> Y+30
val1 --> Y+24
c --> R10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -