📄 ks0108.lss
字号:
ks0108.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000120e 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000066 00800060 0000120e 000012a2 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000004 008000c6 008000c6 00001308 2**0
ALLOC
3 .noinit 00000000 008000ca 008000ca 00001308 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00001308 2**0
CONTENTS
5 .stab 0000036c 00000000 00000000 00001308 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000084 00000000 00000000 00001674 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000014 00000000 00000000 000016f8 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 0000029a 00000000 00000000 0000170c 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_info 000009f8 00000000 00000000 000019a6 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_abbrev 000001ea 00000000 00000000 0000239e 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_line 00000909 00000000 00000000 00002588 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 000002ec 00000000 00000000 00002e91 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 13 02 jmp 0x426 <__init>
4: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
8: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
c: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
10: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
14: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
18: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
1c: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
20: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
24: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
28: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
2c: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
30: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
34: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
38: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
3c: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
40: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
44: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
48: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
4c: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
50: 0c 94 2e 02 jmp 0x45c <__bad_interrupt>
00000054 <GB_16>:
54: bf c6 8a 6a fe 29 49 80 92 a4 80 ff 40 00 01 00 ...j.)I.....@...
64: 07 00 00 00 00 00 00 07 00 00 bc bc 44 44 ff 24 ............DD.$
74: 00 64 a4 3f a4 64 04 00 04 04 07 00 04 04 02 01 .d.?.d..........
84: 02 04 04 00 d3 d0 42 22 12 fa 4e 4b 4a 4a fa 02 ......B"..NKJJ..
94: 02 00 00 00 00 07 01 01 01 05 07 00 00 00 cf de ................
a4: ff 81 99 e7 00 ff 25 e5 25 bf 40 00 07 00 00 00 ......%.%.@.....
b4: 00 07 04 02 01 02 04 00 b9 ab 20 10 08 07 c0 30 .......... ....0
c4: 83 0c 10 20 20 00 00 04 06 05 04 04 02 03 06 00 ... ...........
d4: 00 00 cb be 08 09 e9 29 29 29 ed 09 01 ff 00 00 .......)))......
e4: 00 00 01 01 01 01 01 04 04 07 00 00 d2 ba 19 e2 ................
f4: 14 42 f2 2e 72 8f aa 7a 02 00 01 07 00 00 07 04 .B..r..z........
104: 04 02 01 02 04 00 be a7 00 c0 40 5f d5 15 d5 55 ..........@_...U
114: 5f 40 c0 00 00 07 05 05 07 00 07 05 05 05 07 00 _@..............
124: cf d4 00 40 9f 15 d5 15 d5 15 1f c0 00 00 04 04 ...@............
134: 05 04 07 04 07 06 05 04 04 00 ca be 10 12 92 52 ...............R
144: 12 f2 12 12 53 92 10 00 02 01 00 04 04 07 00 00 ....S...........
154: 00 00 03 00 b5 c4 fc 44 46 45 fc 10 2c c7 04 04 .......DFE..,...
164: fc 00 07 02 02 02 07 00 00 04 04 04 03 00 b5 da ................
174: 04 ea ab ae aa fc aa ab ae ba 82 00 04 04 02 01 ................
184: 00 07 00 02 02 02 01 00 d2 bb 20 20 20 20 20 20 ..........
194: 20 20 20 30 20 00 00 00 00 00 00 00 00 00 00 00 0 ...........
1a4: 00 00 d0 d0 48 24 f3 08 09 09 09 09 f9 09 08 00 ....H$..........
1b4: 00 00 07 00 00 04 04 04 07 00 00 00 b6 fe 00 04 ................
1c4: 04 04 04 04 04 04 06 04 00 00 02 02 02 02 02 02 ................
1d4: 02 02 02 02 02 00 c8 fd 00 02 22 22 22 22 22 22 ..........""""""
1e4: 23 02 00 00 04 04 04 04 04 04 04 04 04 06 04 00 #...............
1f4: cb c4 00 ff 81 41 3f 01 01 ff 81 81 ff 00 00 07 .....A?.........
204: 02 02 02 02 02 02 02 02 07 00 ce e5 00 11 11 91 ................
214: 7f 11 11 11 f1 01 00 00 04 04 04 07 04 04 04 04 ................
224: 07 04 04 00 ....
00000228 <ASC_16>:
228: 31 00 00 08 08 fc 00 00 00 00 00 04 04 07 04 04 1...............
238: 00 32 00 00 08 04 84 44 38 00 00 00 06 05 04 04 .2.....D8.......
248: 04 00 33 00 00 08 04 44 44 b8 00 00 00 02 04 04 ..3....DD.......
258: 04 03 00 34 00 00 80 60 18 fc 00 00 00 00 01 01 ...4...`........
268: 05 07 05 00 35 00 00 7c 44 44 44 84 00 00 00 02 ....5..|DDD.....
278: 04 04 04 03 00 36 00 00 f0 48 44 44 80 00 00 00 .....6...HDD....
288: 03 04 04 04 03 00 37 00 00 0c 04 84 64 1c 00 00 ......7.....d...
298: 00 00 06 01 00 00 00 38 00 00 b8 44 44 44 b8 00 .......8...DDD..
2a8: 00 00 03 04 04 04 03 00 39 00 00 38 44 44 44 f8 ........9..8DDD.
2b8: 00 00 00 00 04 04 02 01 00 30 00 00 f8 04 04 04 .........0......
2c8: f8 00 00 00 03 04 04 04 03 00 2e 00 00 00 00 00 ................
2d8: 00 00 00 00 00 00 00 04 00 00 00 2c 00 00 00 00 ...........,....
2e8: 00 00 00 00 00 00 00 08 04 00 00 00 3a 00 00 00 ............:...
2f8: 00 20 00 00 00 00 00 00 00 04 00 00 00 3b 00 00 . ...........;..
308: 00 00 20 00 00 00 00 00 00 08 04 00 00 00 2d 00 .. ...........-.
318: 80 80 80 80 80 80 80 00 00 00 00 00 00 00 00 5f ..............._
...
330: 10 10 10 10 10 10 10 10 41 00 00 80 64 1c 60 80 ........A...d.`.
340: 00 00 04 07 05 01 05 07 04 42 00 04 fc 44 44 44 .........B...DDD
350: 44 b8 00 04 07 04 04 04 04 03 43 00 f0 08 04 04 D.........C.....
360: 04 04 08 00 01 02 04 04 04 04 02 44 00 04 fc 04 ...........D....
370: 04 04 08 f0 00 04 07 04 04 04 02 01 45 00 04 fc ............E...
380: 44 44 e4 04 0c 00 04 07 04 04 04 04 06 46 00 04 DD...........F..
390: fc 44 44 e4 04 0c 00 04 07 04 04 00 00 00 20 00 .DD........... .
...
3ac: 00 00 00 3d 00 00 a0 a0 a0 a0 a0 00 00 00 00 00 ...=............
3bc: 00 00 00 00 28 00 00 00 e0 18 04 00 00 00 00 00 ....(...........
3cc: 03 0c 10 00 00 29 00 00 00 04 18 e0 00 00 00 00 .....)..........
3dc: 00 10 0c 03 00 00 56 00 04 3c c4 00 c4 3c 04 00 ......V..<...<..
3ec: 00 00 01 06 01 00 00 6d 00 20 e0 20 c0 20 c0 00 .......m. . . ..
3fc: 00 04 07 00 07 00 07 04 48 00 04 fc 44 40 44 fc ........H...D@D.
40c: 04 00 04 07 04 00 04 07 04 2a 90 90 60 fc 60 90 .........*..`.`.
41c: 90 00 00 00 00 03 00 00 00 00 ..........
00000426 <__init>:
426: 11 24 eor r1, r1
428: 1f be out 0x3f, r1 ; 63
42a: cf e5 ldi r28, 0x5F ; 95
42c: d4 e0 ldi r29, 0x04 ; 4
42e: de bf out 0x3e, r29 ; 62
430: cd bf out 0x3d, r28 ; 61
00000432 <__do_copy_data>:
432: 10 e0 ldi r17, 0x00 ; 0
434: a0 e6 ldi r26, 0x60 ; 96
436: b0 e0 ldi r27, 0x00 ; 0
438: ee e0 ldi r30, 0x0E ; 14
43a: f2 e1 ldi r31, 0x12 ; 18
43c: 02 c0 rjmp .+4 ; 0x442 <.do_copy_data_start>
0000043e <.do_copy_data_loop>:
43e: 05 90 lpm r0, Z+
440: 0d 92 st X+, r0
00000442 <.do_copy_data_start>:
442: a6 3c cpi r26, 0xC6 ; 198
444: b1 07 cpc r27, r17
446: d9 f7 brne .-10 ; 0x43e <.do_copy_data_loop>
00000448 <__do_clear_bss>:
448: 10 e0 ldi r17, 0x00 ; 0
44a: a6 ec ldi r26, 0xC6 ; 198
44c: b0 e0 ldi r27, 0x00 ; 0
44e: 01 c0 rjmp .+2 ; 0x452 <.do_clear_bss_start>
00000450 <.do_clear_bss_loop>:
450: 1d 92 st X+, r1
00000452 <.do_clear_bss_start>:
452: aa 3c cpi r26, 0xCA ; 202
454: b1 07 cpc r27, r17
456: e1 f7 brne .-8 ; 0x450 <.do_clear_bss_loop>
458: 0c 94 d4 08 jmp 0x11a8 <main>
0000045c <__bad_interrupt>:
45c: 0c 94 00 00 jmp 0x0 <__vectors>
00000460 <delay_1us>:
/***********************************************************************/
/**********************************************************************/
void delay_1us(void) //1us延时函数
{
asm("nop");
460: 00 00 nop
462: 08 95 ret
00000464 <delay_nus>:
}
void delay_nus(unsigned int n) //N us延时函数
{
464: 0f 93 push r16
466: 1f 93 push r17
468: cf 93 push r28
46a: df 93 push r29
46c: 8c 01 movw r16, r24
unsigned int i=0;
46e: c0 e0 ldi r28, 0x00 ; 0
470: d0 e0 ldi r29, 0x00 ; 0
for (i=0;i<n;i++)
472: c8 17 cp r28, r24
474: d9 07 cpc r29, r25
476: 30 f4 brcc .+12 ; 0x484 <delay_nus+0x20>
delay_1us();
478: 0e 94 30 02 call 0x460 <delay_1us>
47c: 21 96 adiw r28, 0x01 ; 1
47e: c0 17 cp r28, r16
480: d1 07 cpc r29, r17
482: d0 f3 brcs .-12 ; 0x478 <delay_nus+0x14>
484: df 91 pop r29
486: cf 91 pop r28
488: 1f 91 pop r17
48a: 0f 91 pop r16
48c: 08 95 ret
0000048e <delay_1ms>:
}
void delay_1ms(void) //1ms延时函数
{
48e: 83 e7 ldi r24, 0x73 ; 115
490: 94 e0 ldi r25, 0x04 ; 4
unsigned int i;
for (i=0;i<1140;i++);
492: cc 97 sbiw r24, 0x3c ; 60
494: 97 ff sbrs r25, 7
496: fd cf rjmp .-6 ; 0x492 <delay_1ms+0x4>
498: 08 95 ret
0000049a <delay_nms>:
}
void delay_nms(unsigned int n) //N ms延时函数
{
49a: 0f 93 push r16
49c: 1f 93 push r17
49e: cf 93 push r28
4a0: df 93 push r29
4a2: 8c 01 movw r16, r24
unsigned int i=0;
4a4: c0 e0 ldi r28, 0x00 ; 0
4a6: d0 e0 ldi r29, 0x00 ; 0
for (i=0;i<n;i++)
4a8: c8 17 cp r28, r24
4aa: d9 07 cpc r29, r25
4ac: 30 f4 brcc .+12 ; 0x4ba <delay_nms+0x20>
{
delay_1ms();
4ae: 0e 94 47 02 call 0x48e <delay_1ms>
4b2: 21 96 adiw r28, 0x01 ; 1
4b4: c0 17 cp r28, r16
4b6: d1 07 cpc r29, r17
4b8: d0 f3 brcs .-12 ; 0x4ae <delay_nms+0x14>
4ba: df 91 pop r29
4bc: cf 91 pop r28
4be: 1f 91 pop r17
4c0: 0f 91 pop r16
4c2: 08 95 ret
000004c4 <LCD_BUSY>:
void LCD_BUSY(unsigned char lr) //判断忙标志
{
unsigned char status;
asm("cli");
4c4: f8 94 cli
4c6: e0 91 6b 00 lds r30, 0x006B
4ca: f0 91 6c 00 lds r31, 0x006C
4ce: 90 91 63 00 lds r25, 0x0063
if(lr==LEFT)
4d2: 88 23 and r24, r24
4d4: 69 f4 brne .+26 ; 0x4f0 <LCD_BUSY+0x2c>
{
CLEAR_LCD_CS2; //cs2=0
4d6: 90 95 com r25
4d8: 80 81 ld r24, Z
4da: 89 23 and r24, r25
4dc: 80 83 st Z, r24
SET_LCD_CS1; //cs1=1
4de: e0 91 69 00 lds r30, 0x0069
4e2: f0 91 6a 00 lds r31, 0x006A
4e6: 80 81 ld r24, Z
4e8: 90 91 62 00 lds r25, 0x0062
4ec: 89 2b or r24, r25
4ee: 0c c0 rjmp .+24 ; 0x508 <LCD_BUSY+0x44>
}
else
{
SET_LCD_CS2; //cs2=1
4f0: 80 81 ld r24, Z
4f2: 89 2b or r24, r25
4f4: 80 83 st Z, r24
CLEAR_LCD_CS1; //cs1=0
4f6: e0 91 69 00 lds r30, 0x0069
4fa: f0 91 6a 00 lds r31, 0x006A
4fe: 90 91 62 00 lds r25, 0x0062
502: 90 95 com r25
504: 80 81 ld r24, Z
506: 89 23 and r24, r25
508: 80 83 st Z, r24
}
SET_LCD_CMD;
50a: e0 91 65 00 lds r30, 0x0065
50e: f0 91 66 00 lds r31, 0x0066
512: 90 91 60 00 lds r25, 0x0060
516: 90 95 com r25
518: 80 81 ld r24, Z
51a: 89 23 and r24, r25
51c: 80 83 st Z, r24
*LCD_DIR_PORT = 0x00;
51e: e0 91 73 00 lds r30, 0x0073
522: f0 91 74 00 lds r31, 0x0074
526: 10 82 st Z, r1
*LCD_OP_PORT = 0xff;
528: e0 91 6f 00 lds r30, 0x006F
52c: f0 91 70 00 lds r31, 0x0070
530: 8f ef ldi r24, 0xFF ; 255
532: 80 83 st Z, r24
SET_LCD_READ;
534: e0 91 67 00 lds r30, 0x0067
538: f0 91 68 00 lds r31, 0x0068
53c: 80 81 ld r24, Z
53e: 90 91 61 00 lds r25, 0x0061
542: 89 2b or r24, r25
544: 80 83 st Z, r24
SET_LCD_E;
546: e0 91 6d 00 lds r30, 0x006D
54a: f0 91 6e 00 lds r31, 0x006E
54e: 80 81 ld r24, Z
550: 90 91 64 00 lds r25, 0x0064
554: 89 2b or r24, r25
556: 80 83 st Z, r24
...
asm("nop");
asm("nop");
asm("nop");
asm("nop");
while((*LCD_IP_PORT) & LCD_STATUS_BUSY)
{
CLEAR_LCD_E;
asm("nop");
asm("nop");
asm("nop");
asm("nop");
SET_LCD_E;
asm("nop");
asm("nop");
asm("nop");
asm("nop");
560: e0 91 71 00 lds r30, 0x0071
564: f0 91 72 00 lds r31, 0x0072
568: 80 81 ld r24, Z
56a: 87 ff sbrs r24, 7
56c: 0f c0 rjmp .+30 ; 0x58c <LCD_BUSY+0xc8>
56e: e0 91 6d 00 lds r30, 0x006D
572: f0 91 6e 00 lds r31, 0x006E
576: 90 91 64 00 lds r25, 0x0064
57a: 90 95 com r25
57c: 80 81 ld r24, Z
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -