⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart.lst

📁 avr中mega128的uart程序,还不错的了
💻 LST
字号:
   1               		.file	"uart.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:
  19               	uart_putchar:
  20               	.LFB7:
  21               	.LM1:
  22               	/* prologue: frame size=0 */
  23 0000 1F93      		push r17
  24               	/* prologue end (size=1) */
  25               	.LVL0:
  26 0002 182F      		mov r17,r24
  27               	.LM2:
  28 0004 8A30      		cpi r24,lo8(10)
  29 0006 01F4      		brne .L6
  30               	.LM3:
  31 0008 8DE0      		ldi r24,lo8(13)
  32               	.LVL1:
  33 000a 0E94 0000 		call uart_putchar
  34               	.LVL2:
  35               	.LVL3:
  36               	.L6:
  37               	.LM4:
  38 000e 5D9B      		sbis 43-0x20,5
  39 0010 00C0      		rjmp .L6
  40               	.LM5:
  41 0012 1CB9      		out 44-0x20,r17
  42               	.LM6:
  43 0014 80E0      		ldi r24,lo8(0)
  44 0016 90E0      		ldi r25,hi8(0)
  45               	/* epilogue: frame size=0 */
  46 0018 1F91      		pop r17
  47 001a 0895      		ret
  48               	/* epilogue end (size=2) */
  49               	/* function uart_putchar size 14 (11) */
  50               	.LFE7:
  53               	uart_getchar:
  54               	.LFB8:
  55               	.LM7:
  56               	/* prologue: frame size=0 */
  57               	/* prologue end (size=0) */
  58               	.LVL4:
  59               	.L11:
  60               	.LM8:
  61 001c 5F9B      		sbis 43-0x20,7
  62 001e 00C0      		rjmp .L11
  63               	.LM9:
  64 0020 8CB1      		in r24,44-0x20
  65               	.LVL5:
  66               	.LM10:
  67 0022 9927      		clr r25
  68               	/* epilogue: frame size=0 */
  69 0024 0895      		ret
  70               	/* epilogue end (size=1) */
  71               	/* function uart_getchar size 5 (4) */
  72               	.LFE8:
  74               	.global	IoInit
  76               	IoInit:
  77               	.LFB9:
  78               	.LM11:
  79               	/* prologue: frame size=0 */
  80               	/* prologue end (size=0) */
  81               	.LM12:
  82 0026 86E0      		ldi r24,lo8(6)
  83 0028 8093 9500 		sts 149,r24
  84               	.LM13:
  85 002c 1092 9000 		sts 144,__zero_reg__
  86               	.LM14:
  87 0030 8FE2      		ldi r24,lo8(47)
  88 0032 89B9      		out 41-0x20,r24
  89               	.LM15:
  90 0034 88E1      		ldi r24,lo8(24)
  91 0036 8AB9      		out 42-0x20,r24
  92               	/* epilogue: frame size=0 */
  93 0038 0895      		ret
  94               	/* epilogue end (size=1) */
  95               	/* function IoInit size 10 (9) */
  96               	.LFE9:
  98               		.data
  99               	.LC0:
 100 0000 B2E2 CAD4 		.string	"\262\342\312\3241[\312\344\310\353\322\273\327\326\267\373\264\256]:"
 100      315B CAE4 
 100      C8EB D2BB 
 100      D7D6 B7FB 
 100      B4AE 5D3A 
 101               	.LC1:
 102 0015 6162 6364 		.string	"abcdefg!"
 102      6566 6721 
 102      00
 103               	.LC2:
 104 001e 2573 00   		.string	"%s"
 105               	.LC3:
 106 0021 C4FA B5C4 		.string	"\304\372\265\304\312\344\310\353\316\252:%s\n"
 106      CAE4 C8EB 
 106      CEAA 3A25 
 106      730A 00
 107               		.text
 108               	.global	main
 110               	main:
 111               	.LFB10:
 112               	.LM16:
 113               	/* prologue: frame size=2 */
 114 003a 0F93      		push r16
 115 003c 1F93      		push r17
 116 003e CF93      		push r28
 117 0040 DF93      		push r29
 118 0042 CDB7      		in r28,__SP_L__
 119 0044 DEB7      		in r29,__SP_H__
 120 0046 2297      		sbiw r28,2
 121 0048 0FB6      		in __tmp_reg__,__SREG__
 122 004a F894      		cli
 123 004c DEBF      		out __SP_H__,r29
 124 004e 0FBE      		out __SREG__,__tmp_reg__
 125 0050 CDBF      		out __SP_L__,r28
 126               	/* prologue end (size=12) */
 127               	.LBB13:
 128               	.LBB14:
 129               	.LM17:
 130 0052 86E0      		ldi r24,lo8(6)
 131 0054 8093 9500 		sts 149,r24
 132               	.LM18:
 133 0058 1092 9000 		sts 144,__zero_reg__
 134               	.LM19:
 135 005c 8FE2      		ldi r24,lo8(47)
 136 005e 89B9      		out 41-0x20,r24
 137               	.LM20:
 138 0060 88E1      		ldi r24,lo8(24)
 139 0062 8AB9      		out 42-0x20,r24
 140               	.LBE14:
 141               	.LBE13:
 142               	.LM21:
 143 0064 80E0      		ldi r24,lo8(mystdio)
 144 0066 90E0      		ldi r25,hi8(mystdio)
 145 0068 9093 0000 		sts (__iob)+1,r25
 146 006c 8093 0000 		sts __iob,r24
 147 0070 9093 0000 		sts (__iob+2)+1,r25
 148 0074 8093 0000 		sts __iob+2,r24
 149               	.LBB15:
 150               	.LBB16:
 151               	.LBB17:
 152               	.LBB18:
 153               	.LM22:
 154 0078 80E0      		ldi r24,lo8(-10240)
 155 007a 98ED      		ldi r25,hi8(-10240)
 156               	.LVL6:
 157               	/* #APP */
 158 007c 0197      		1: sbiw r24,1
 159 007e 01F4      		brne 1b
 160               	/* #NOAPP */
 161               	.L19:
 162               	.LBE18:
 163               	.LBE17:
 164               	.LBE16:
 165               	.LBE15:
 166               	.LM23:
 167 0080 80E0      		ldi r24,lo8(.LC0)
 168 0082 90E0      		ldi r25,hi8(.LC0)
 169               	.LVL7:
 170 0084 0E94 0000 		call puts
 171               	.LM24:
 172 0088 80E0      		ldi r24,lo8(.LC1)
 173 008a 90E0      		ldi r25,hi8(.LC1)
 174 008c 0E94 0000 		call puts
 175               	.LM25:
 176 0090 00E0      		ldi r16,lo8(g_aString)
 177 0092 10E0      		ldi r17,hi8(g_aString)
 178 0094 1F93      		push r17
 179 0096 0F93      		push r16
 180 0098 80E0      		ldi r24,lo8(.LC2)
 181 009a 90E0      		ldi r25,hi8(.LC2)
 182 009c 9F93      		push r25
 183 009e 8F93      		push r24
 184 00a0 0E94 0000 		call scanf
 185               	.LM26:
 186 00a4 1F93      		push r17
 187 00a6 0F93      		push r16
 188 00a8 80E0      		ldi r24,lo8(.LC3)
 189 00aa 90E0      		ldi r25,hi8(.LC3)
 190 00ac 9F93      		push r25
 191 00ae 8F93      		push r24
 192 00b0 0E94 0000 		call printf
 193               	.LM27:
 194 00b4 80E0      		ldi r24,lo8(__c.1608)
 195 00b6 90E0      		ldi r25,hi8(__c.1608)
 196 00b8 9F93      		push r25
 197 00ba 8F93      		push r24
 198 00bc 0E94 0000 		call printf_P
 199               	.LM28:
 200 00c0 CE01      		movw r24,r28
 201 00c2 0196      		adiw r24,1
 202 00c4 9F93      		push r25
 203 00c6 8F93      		push r24
 204 00c8 80E0      		ldi r24,lo8(__c.1610)
 205 00ca 90E0      		ldi r25,hi8(__c.1610)
 206 00cc 9F93      		push r25
 207 00ce 8F93      		push r24
 208 00d0 0E94 0000 		call scanf_P
 209               	.LVL8:
 210               	.LM29:
 211 00d4 8981      		ldd r24,Y+1
 212 00d6 9A81      		ldd r25,Y+2
 213 00d8 9F93      		push r25
 214 00da 8F93      		push r24
 215 00dc 80E0      		ldi r24,lo8(__c.1612)
 216 00de 90E0      		ldi r25,hi8(__c.1612)
 217 00e0 9F93      		push r25
 218 00e2 8F93      		push r24
 219 00e4 0E94 0000 		call printf_P
 220               	.LM30:
 221 00e8 8DB7      		in r24,__SP_L__
 222 00ea 9EB7      		in r25,__SP_H__
 223 00ec 4296      		adiw r24,18
 224 00ee 0FB6      		in __tmp_reg__,__SREG__
 225 00f0 F894      		cli
 226 00f2 9EBF      		out __SP_H__,r25
 227 00f4 0FBE      		out __SREG__,__tmp_reg__
 228 00f6 8DBF      		out __SP_L__,r24
 229 00f8 00C0      		rjmp .L19
 230               	/* epilogue: frame size=2 */
 231               	/* epilogue: noreturn */
 232               	/* epilogue end (size=0) */
 233               	/* function main size 98 (86) */
 234               	.LFE10:
 236               		.data
 239               	mystdio:
 240 0030 0000 00   		.skip 3,0
 241 0033 03        		.byte	3
 242 0034 0000 0000 		.skip 4,0
 243 0038 0000      		.word	gs(uart_putchar)
 244 003a 0000      		.word	gs(uart_getchar)
 245 003c 0000      		.word	0
 246               		.section	.progmem.data,"a",@progbits
 249               	__c.1612:
 250 0000 C4FA B5C4 		.string	"\304\372\265\304\312\344\310\353\316\252:%d\n"
 250      CAE4 C8EB 
 250      CEAA 3A25 
 250      640A 00
 253               	__c.1610:
 254 000f 2564 00   		.string	"%d"
 257               	__c.1608:
 258 0012 B2E2 CAD4 		.string	"\262\342\312\3242[\312\344\310\353\312\375\327\326]:\n"
 258      325B CAE4 
 258      C8EB CAFD 
 258      D7D6 5D3A 
 258      0A00 
 259               		.comm g_aString,100,1
 308               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 uart.c
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:19     .text:00000000 uart_putchar
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:53     .text:0000001c uart_getchar
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:76     .text:00000026 IoInit
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:110    .text:0000003a main
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:239    .data:00000030 mystdio
                            *COM*:00000064 g_aString
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:257    .progmem.data:00000012 __c.1608
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:253    .progmem.data:0000000f __c.1610
C:\DOCUME~1\new\LOCALS~1\Temp/cclLN50q.s:249    .progmem.data:00000000 __c.1612

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__iob
puts
scanf
printf
printf_P
scanf_P

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -