📄 console.lst
字号:
1 .file "Console.c"
2 .arch atmega128
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global CharacterArray
19 .data
22 CharacterArray:
23 0000 30 .byte 48
24 0001 31 .byte 49
25 0002 32 .byte 50
26 0003 33 .byte 51
27 0004 34 .byte 52
28 0005 35 .byte 53
29 0006 36 .byte 54
30 0007 37 .byte 55
31 0008 38 .byte 56
32 0009 39 .byte 57
33 000a 41 .byte 65
34 000b 42 .byte 66
35 000c 43 .byte 67
36 000d 44 .byte 68
37 000e 45 .byte 69
38 000f 46 .byte 70
39 .text
40 .global ConsoleGetString
42 ConsoleGetString:
43 .LFB2:
44 .LM1:
45 /* prologue: frame size=0 */
46 /* prologue end (size=0) */
47 0000 FC01 movw r30,r24
48 .LM2:
49 0002 5F9B sbis 43-0x20,7
50 0004 03C0 rjmp .L15
51 .L4:
52 .LM3:
53 0006 2CB1 in r18,44-0x20
54 0008 5F99 sbic 43-0x20,7
55 000a FDCF rjmp .L4
56 .L15:
57 .LM4:
58 000c 80E0 ldi r24,lo8(0)
59 .L5:
60 .LM5:
61 000e 6150 subi r22,lo8(-(-1))
62 0010 6F3F cpi r22,lo8(-1)
63 0012 61F0 breq .L6
64 .L8:
65 .LM6:
66 0014 5F9B sbis 43-0x20,7
67 0016 FECF rjmp .L8
68 0018 2CB1 in r18,44-0x20
69 .LM7:
70 001a 2136 cpi r18,lo8(97)
71 001c 11F0 breq .L12
72 001e 2D30 cpi r18,lo8(13)
73 0020 11F4 brne .L11
74 .L12:
75 .LM8:
76 0022 1082 st Z,__zero_reg__
77 .LM9:
78 0024 03C0 rjmp .L6
79 .L11:
80 .LM10:
81 0026 8F5F subi r24,lo8(-(1))
82 .LM11:
83 0028 2193 st Z+,r18
84 002a F1CF rjmp .L5
85 .L6:
86 .LM12:
87 002c 9927 clr r25
88 /* epilogue: frame size=0 */
89 002e 0895 ret
90 /* epilogue end (size=1) */
91 /* function ConsoleGetString size 24 (23) */
92 .LFE2:
94 .global ConsolePutString
96 ConsolePutString:
97 .LFB3:
98 .LM13:
99 /* prologue: frame size=0 */
100 /* prologue end (size=0) */
101 0030 FC01 movw r30,r24
102 .L28:
103 .LM14:
104 0032 8191 ld r24,Z+
105 0034 8823 tst r24
106 0036 21F0 breq .L24
107 .L27:
108 0038 5D9B sbis 43-0x20,5
109 003a FECF rjmp .L27
110 003c 8CB9 out 44-0x20,r24
111 003e F9CF rjmp .L28
112 .L24:
113 0040 0895 ret
114 /* epilogue: frame size=0 */
115 /* epilogue: noreturn */
116 /* epilogue end (size=0) */
117 /* function ConsolePutString size 9 (9) */
118 .LFE3:
120 .global PrintChar
122 PrintChar:
123 .LFB4:
124 .LM15:
125 /* prologue: frame size=0 */
126 /* prologue end (size=0) */
127 .LM16:
128 0042 982F mov r25,r24
129 .LM17:
130 0044 8295 swap r24
131 0046 8F70 andi r24,0x0f
132 .L30:
133 .LM18:
134 0048 5D9B sbis 43-0x20,5
135 004a FECF rjmp .L30
136 004c E82F mov r30,r24
137 004e FF27 clr r31
138 0050 E050 subi r30,lo8(-(CharacterArray))
139 0052 F040 sbci r31,hi8(-(CharacterArray))
140 0054 8081 ld r24,Z
141 0056 8CB9 out 44-0x20,r24
142 .LM19:
143 0058 892F mov r24,r25
144 005a 8F70 andi r24,lo8(15)
145 .L33:
146 .LM20:
147 005c 5D9B sbis 43-0x20,5
148 005e FECF rjmp .L33
149 0060 E82F mov r30,r24
150 0062 FF27 clr r31
151 0064 E050 subi r30,lo8(-(CharacterArray))
152 0066 F040 sbci r31,hi8(-(CharacterArray))
153 0068 8081 ld r24,Z
154 006a 8CB9 out 44-0x20,r24
155 /* epilogue: frame size=0 */
156 006c 0895 ret
157 /* epilogue end (size=1) */
158 /* function PrintChar size 22 (21) */
159 .LFE4:
161 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 Console.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1.116\LOCALS~1\Temp/ccC6aaaa.s:22 .data:00000000 CharacterArray
C:\DOCUME~1\ADMINI~1.116\LOCALS~1\Temp/ccC6aaaa.s:42 .text:00000000 ConsoleGetString
C:\DOCUME~1\ADMINI~1.116\LOCALS~1\Temp/ccC6aaaa.s:96 .text:00000030 ConsolePutString
C:\DOCUME~1\ADMINI~1.116\LOCALS~1\Temp/ccC6aaaa.s:122 .text:00000042 PrintChar
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -