?? lcd3310.lss
字號:
lcd3310.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 000003d0 00800100 00000518 0000058c 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00000518 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .stab 00000408 00000000 00000000 0000095c 2**2
CONTENTS, READONLY, DEBUGGING
3 .stabstr 00000084 00000000 00000000 00000d64 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_aranges 00000020 00000000 00000000 00000de8 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_pubnames 00000159 00000000 00000000 00000e08 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_info 000004dc 00000000 00000000 00000f61 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_abbrev 00000155 00000000 00000000 0000143d 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 00000466 00000000 00000000 00001592 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_frame 000000f0 00000000 00000000 000019f8 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_str 00000189 00000000 00000000 00001ae8 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_loc 000002b4 00000000 00000000 00001c71 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c ; 0x8c <__ctors_end>
4: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
8: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
c: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
10: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
14: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
18: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
1c: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
20: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
24: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
28: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
2c: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
30: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
34: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
38: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
3c: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
40: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
44: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
48: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
4c: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
50: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
54: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
58: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
5c: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
60: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
64: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
68: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
6c: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
70: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
74: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
78: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
7c: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
80: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
84: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
88: 0c 94 63 00 jmp 0xc6 ; 0xc6 <__bad_interrupt>
0000008c <__ctors_end>:
8c: 11 24 eor r1, r1
8e: 1f be out 0x3f, r1 ; 63
90: cf ef ldi r28, 0xFF ; 255
92: d0 e1 ldi r29, 0x10 ; 16
94: de bf out 0x3e, r29 ; 62
96: cd bf out 0x3d, r28 ; 61
00000098 <__do_copy_data>:
98: 14 e0 ldi r17, 0x04 ; 4
9a: a0 e0 ldi r26, 0x00 ; 0
9c: b1 e0 ldi r27, 0x01 ; 1
9e: e8 e1 ldi r30, 0x18 ; 24
a0: f5 e0 ldi r31, 0x05 ; 5
a2: 00 e0 ldi r16, 0x00 ; 0
a4: 0b bf out 0x3b, r16 ; 59
a6: 02 c0 rjmp .+4 ; 0xac <__do_copy_data+0x14>
a8: 07 90 elpm r0, Z+
aa: 0d 92 st X+, r0
ac: a0 3d cpi r26, 0xD0 ; 208
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8 <__do_copy_data+0x10>
000000b2 <__do_clear_bss>:
b2: 14 e0 ldi r17, 0x04 ; 4
b4: a0 ed ldi r26, 0xD0 ; 208
b6: b4 e0 ldi r27, 0x04 ; 4
b8: 01 c0 rjmp .+2 ; 0xbc <.do_clear_bss_start>
000000ba <.do_clear_bss_loop>:
ba: 1d 92 st X+, r1
000000bc <.do_clear_bss_start>:
bc: a0 3d cpi r26, 0xD0 ; 208
be: b1 07 cpc r27, r17
c0: e1 f7 brne .-8 ; 0xba <.do_clear_bss_loop>
c2: 0c 94 4b 02 jmp 0x496 ; 0x496 <main>
000000c6 <__bad_interrupt>:
c6: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
000000ca <LCD_write_byte>:
編寫日期 :2004-8-10
最后修改日期 :2004-8-13
-----------------------------------------------------------------------*/
void LCD_write_byte(unsigned char data, unsigned char command)
{
ca: c4 98 cbi 0x18, 4 ; 24
PORTB &= ~LCD_CE ; // 使能LCD
if (command == 0)
cc: 66 23 and r22, r22
ce: 11 f4 brne .+4 ; 0xd4 <LCD_write_byte+0xa>
PORTB &= ~LCD_DC ; // 傳送命令
d0: c3 98 cbi 0x18, 3 ; 24
d2: 01 c0 rjmp .+2 ; 0xd6 <LCD_write_byte+0xc>
else
PORTB |= LCD_DC ; // 傳送數據
d4: c3 9a sbi 0x18, 3 ; 24
SPDR = data; // 傳送數據到SPI寄存器
d6: 8f b9 out 0x0f, r24 ; 15
while ((SPSR & 0x80) == 0); // 等待數據傳送完畢
d8: 77 9b sbis 0x0e, 7 ; 14
da: fe cf rjmp .-4 ; 0xd8 <LCD_write_byte+0xe>
PORTB |= LCD_CE ; // 關閉LCD
dc: c4 9a sbi 0x18, 4 ; 24
de: 08 95 ret
000000e0 <LCD_write_char>:
e0: 1f 93 push r17
e2: cf 93 push r28
e4: df 93 push r29
e6: 80 52 subi r24, 0x20 ; 32
e8: 96 e0 ldi r25, 0x06 ; 6
ea: 89 9f mul r24, r25
ec: e0 01 movw r28, r0
ee: 11 24 eor r1, r1
f0: c1 5f subi r28, 0xF1 ; 241
f2: de 4f sbci r29, 0xFE ; 254
f4: 10 e0 ldi r17, 0x00 ; 0
f6: 61 e0 ldi r22, 0x01 ; 1
f8: 89 91 ld r24, Y+
fa: 0e 94 65 00 call 0xca ; 0xca <LCD_write_byte>
fe: 1f 5f subi r17, 0xFF ; 255
100: 16 30 cpi r17, 0x06 ; 6
102: c9 f7 brne .-14 ; 0xf6 <LCD_write_char+0x16>
104: df 91 pop r29
106: cf 91 pop r28
108: 1f 91 pop r17
10a: 08 95 ret
0000010c <LCD_set_XY>:
10c: 1f 93 push r17
10e: 18 2f mov r17, r24
110: 86 2f mov r24, r22
112: 60 e0 ldi r22, 0x00 ; 0
114: 80 64 ori r24, 0x40 ; 64
116: 0e 94 65 00 call 0xca ; 0xca <LCD_write_byte>
11a: 60 e0 ldi r22, 0x00 ; 0
11c: 81 2f mov r24, r17
11e: 80 68 ori r24, 0x80 ; 128
120: 0e 94 65 00 call 0xca ; 0xca <LCD_write_byte>
124: 1f 91 pop r17
126: 08 95 ret
00000128 <LCD_draw_bmp_pixel>:
128: 8f 92 push r8
12a: 9f 92 push r9
12c: af 92 push r10
12e: bf 92 push r11
130: cf 92 push r12
132: df 92 push r13
134: ef 92 push r14
136: ff 92 push r15
138: 0f 93 push r16
13a: 1f 93 push r17
13c: cf 93 push r28
13e: df 93 push r29
140: 88 2e mov r8, r24
142: b6 2e mov r11, r22
144: 80 2f mov r24, r16
146: 99 27 eor r25, r25
148: 87 70 andi r24, 0x07 ; 7
14a: 90 70 andi r25, 0x00 ; 0
14c: 06 95 lsr r16
14e: 06 95 lsr r16
150: 06 95 lsr r16
152: 89 2b or r24, r25
154: 11 f4 brne .+4 ; 0x15a <LCD_draw_bmp_pixel+0x32>
156: 90 2e mov r9, r16
158: 02 c0 rjmp .+4 ; 0x15e <LCD_draw_bmp_pixel+0x36>
15a: 90 2e mov r9, r16
15c: 93 94 inc r9
15e: c2 2e mov r12, r18
160: dd 24 eor r13, r13
162: 8a 01 movw r16, r20
164: aa 24 eor r10, r10
166: 16 c0 rjmp .+44 ; 0x194 <LCD_draw_bmp_pixel+0x6c>
168: 6b 2d mov r22, r11
16a: 88 2d mov r24, r8
16c: 0e 94 86 00 call 0x10c ; 0x10c <LCD_set_XY>
170: 78 01 movw r14, r16
172: c0 e0 ldi r28, 0x00 ; 0
174: d0 e0 ldi r29, 0x00 ; 0
176: 07 c0 rjmp .+14 ; 0x186 <LCD_draw_bmp_pixel+0x5e>
178: 61 e0 ldi r22, 0x01 ; 1
17a: f7 01 movw r30, r14
17c: 81 91 ld r24, Z+
17e: 7f 01 movw r14, r30
180: 0e 94 65 00 call 0xca ; 0xca <LCD_write_byte>
184: 21 96 adiw r28, 0x01 ; 1
186: cc 15 cp r28, r12
188: dd 05 cpc r29, r13
18a: b1 f7 brne .-20 ; 0x178 <LCD_draw_bmp_pixel+0x50>
18c: b3 94 inc r11
18e: a3 94 inc r10
190: 0c 0d add r16, r12
192: 1d 1d adc r17, r13
194: a9 14 cp r10, r9
196: 41 f7 brne .-48 ; 0x168 <LCD_draw_bmp_pixel+0x40>
198: df 91 pop r29
19a: cf 91 pop r28
19c: 1f 91 pop r17
19e: 0f 91 pop r16
1a0: ff 90 pop r15
1a2: ef 90 pop r14
1a4: df 90 pop r13
1a6: cf 90 pop r12
1a8: bf 90 pop r11
1aa: af 90 pop r10
1ac: 9f 90 pop r9
1ae: 8f 90 pop r8
1b0: 08 95 ret
000001b2 <LCD_write_chinese_string>:
1b2: 2f 92 push r2
1b4: 3f 92 push r3
1b6: 4f 92 push r4
1b8: 5f 92 push r5
1ba: 6f 92 push r6
1bc: 7f 92 push r7
1be: 8f 92 push r8
1c0: 9f 92 push r9
1c2: af 92 push r10
1c4: bf 92 push r11
1c6: cf 92 push r12
1c8: df 92 push r13
1ca: ef 92 push r14
1cc: ff 92 push r15
1ce: 0f 93 push r16
1d0: 1f 93 push r17
1d2: cf 93 push r28
1d4: df 93 push r29
1d6: cd b7 in r28, 0x3d ; 61
1d8: de b7 in r29, 0x3e ; 62
1da: 24 97 sbiw r28, 0x04 ; 4
1dc: 0f b6 in r0, 0x3f ; 63
1de: f8 94 cli
1e0: de bf out 0x3e, r29 ; 62
1e2: 0f be out 0x3f, r0 ; 63
1e4: cd bf out 0x3d, r28 ; 61
1e6: d8 2e mov r13, r24
1e8: 96 2e mov r9, r22
1ea: 34 2e mov r3, r20
1ec: 29 83 std Y+1, r18 ; 0x01
1ee: 0a 83 std Y+2, r16 ; 0x02
1f0: 2e 2c mov r2, r14
1f2: 0e 94 86 00 call 0x10c ; 0x10c <LCD_set_XY>
1f6: 63 2c mov r6, r3
1f8: 77 24 eor r7, r7
1fa: 23 01 movw r4, r6
1fc: 44 0c add r4, r4
1fe: 55 1c adc r5, r5
200: cc 24 eor r12, r12
202: 33 c0 rjmp .+102 ; 0x26a <LCD_write_chinese_string+0xb8>
204: 83 15 cp r24, r3
206: 49 f4 brne .+18 ; 0x21a <LCD_write_chinese_string+0x68>
208: 69 2d mov r22, r9
20a: 6f 5f subi r22, 0xFF ; 255
20c: cc 20 and r12, r12
20e: 11 f4 brne .+4 ; 0x214 <LCD_write_chinese_string+0x62>
210: 8d 2d mov r24, r13
212: 01 c0 rjmp .+2 ; 0x216 <LCD_write_chinese_string+0x64>
214: 88 2d mov r24, r8
216: 0e 94 86 00 call 0x10c ; 0x10c <LCD_set_XY>
21a: 97 01 movw r18, r14
21c: 8a 81 ldd r24, Y+2 ; 0x02
21e: 28 0f add r18, r24
220: 31 1d adc r19, r1
222: 88 e1 ldi r24, 0x18 ; 24
224: 90 e0 ldi r25, 0x00 ; 0
226: 28 9f mul r18, r24
228: f0 01 movw r30, r0
22a: 29 9f mul r18, r25
22c: f0 0d add r31, r0
22e: 38 9f mul r19, r24
230: f0 0d add r31, r0
232: 11 24 eor r1, r1
234: e9 5c subi r30, 0xC9 ; 201
236: fc 4f sbci r31, 0xFC ; 252
238: e0 0f add r30, r16
23a: f1 1f adc r31, r17
23c: 61 e0 ldi r22, 0x01 ; 1
23e: 80 81 ld r24, Z
240: 0e 94 65 00 call 0xca ; 0xca <LCD_write_byte>
244: eb 81 ldd r30, Y+3 ; 0x03
246: fc 81 ldd r31, Y+4 ; 0x04
248: 31 96 adiw r30, 0x01 ; 1
24a: fc 83 std Y+4, r31 ; 0x04
24c: eb 83 std Y+3, r30 ; 0x03
24e: 8b 81 ldd r24, Y+3 ; 0x03
250: 08 2f mov r16, r24
252: 11 27 eor r17, r17
254: 04 15 cp r16, r4
256: 15 05 cpc r17, r5
258: ac f2 brlt .-86 ; 0x204 <LCD_write_chinese_string+0x52>
25a: c3 94 inc r12
25c: ca 9c mul r12, r10
25e: 80 2d mov r24, r0
260: 11 24 eor r1, r1
262: 69 2d mov r22, r9
264: 8d 0d add r24, r13
266: 0e 94 86 00 call 0x10c ; 0x10c <LCD_set_XY>
26a: f9 81 ldd r31, Y+1 ; 0x01
26c: cf 16 cp r12, r31
26e: 89 f0 breq .+34 ; 0x292 <LCD_write_chinese_string+0xe0>
270: 53 01 movw r10, r6
272: a2 0c add r10, r2
274: b1 1c adc r11, r1
276: ec 2c mov r14, r12
278: ff 24 eor r15, r15
27a: ae 9c mul r10, r14
27c: c0 01 movw r24, r0
27e: af 9c mul r10, r15
280: 90 0d add r25, r0
282: be 9c mul r11, r14
284: 90 0d add r25, r0
286: 11 24 eor r1, r1
288: 8d 2c mov r8, r13
28a: 88 0e add r8, r24
28c: 1c 82 std Y+4, r1 ; 0x04
28e: 1b 82 std Y+3, r1 ; 0x03
290: de cf rjmp .-68 ; 0x24e <LCD_write_chinese_string+0x9c>
292: 24 96 adiw r28, 0x04 ; 4
294: 0f b6 in r0, 0x3f ; 63
296: f8 94 cli
298: de bf out 0x3e, r29 ; 62
29a: 0f be out 0x3f, r0 ; 63
29c: cd bf out 0x3d, r28 ; 61
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -