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

📄 usart_main.lst

📁 atmega16L单片机串口使用范例
💻 LST
字号:
   1               		.file	"USART_main.c"
   2               		.arch atmega16
   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	put_c
  20               	put_c:
  21               	.LFB7:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.L2:
  26               	.LM2:
  27 0000 5D9B      		sbis 43-0x20,5
  28 0002 FECF      		rjmp .L2
  29               	.LM3:
  30 0004 8CB9      		out 44-0x20,r24
  31               	/* epilogue: frame size=0 */
  32 0006 0895      		ret
  33               	/* epilogue end (size=1) */
  34               	/* function put_c size 4 (3) */
  35               	.LFE7:
  37               	.global	put_s
  39               	put_s:
  40               	.LFB8:
  41               	.LM4:
  42               	/* prologue: frame size=0 */
  43 0008 CF93      		push r28
  44 000a DF93      		push r29
  45               	/* prologue end (size=2) */
  46 000c EC01      		movw r28,r24
  47               	.L11:
  48               	.LM5:
  49 000e 8881      		ld r24,Y
  50 0010 8823      		tst r24
  51 0012 21F0      		breq .L10
  52 0014 8991      		ld r24,Y+
  53 0016 0E94 0000 		call put_c
  54 001a F9CF      		rjmp .L11
  55               	.L10:
  56               	.LM6:
  57 001c 8DE0      		ldi r24,lo8(13)
  58 001e 0E94 0000 		call put_c
  59               	.LM7:
  60 0022 8AE0      		ldi r24,lo8(10)
  61 0024 0E94 0000 		call put_c
  62               	/* epilogue: frame size=0 */
  63 0028 DF91      		pop r29
  64 002a CF91      		pop r28
  65 002c 0895      		ret
  66               	/* epilogue end (size=3) */
  67               	/* function put_s size 19 (14) */
  68               	.LFE8:
  70               		.data
  71               	.LC0:
  72 0000 D3C3 BBA7 		.string	"\323\303\273\247\312\344\310\3530#\326\270\301\356"
  72      CAE4 C8EB 
  72      3023 D6B8 
  72      C1EE 00
  73               	.LC1:
  74 000f D3C3 BBA7 		.string	"\323\303\273\247\312\344\310\3531#\326\270\301\356"
  74      CAE4 C8EB 
  74      3123 D6B8 
  74      C1EE 00
  75               	.LC2:
  76 001e D3C3 BBA7 		.string	"\323\303\273\247\312\344\310\3532#\326\270\301\356"
  76      CAE4 C8EB 
  76      3223 D6B8 
  76      C1EE 00
  77               	.LC3:
  78 002d D3C3 BBA7 		.string	"\323\303\273\247\312\344\310\353\265\304\326\270\301\356\316\336\320\247!"
  78      CAE4 C8EB 
  78      B5C4 D6B8 
  78      C1EE CEDE 
  78      D0A7 2100 
  79               		.text
  80               	.global	__vector_11
  82               	__vector_11:
  83               	.LFB9:
  84               	.LM8:
  85               	/* prologue: frame size=0 */
  86 002e 1F92      		push __zero_reg__
  87 0030 0F92      		push __tmp_reg__
  88 0032 0FB6      		in __tmp_reg__,__SREG__
  89 0034 0F92      		push __tmp_reg__
  90 0036 1124      		clr __zero_reg__
  91 0038 2F93      		push r18
  92 003a 3F93      		push r19
  93 003c 4F93      		push r20
  94 003e 5F93      		push r21
  95 0040 6F93      		push r22
  96 0042 7F93      		push r23
  97 0044 8F93      		push r24
  98 0046 9F93      		push r25
  99 0048 AF93      		push r26
 100 004a BF93      		push r27
 101 004c EF93      		push r30
 102 004e FF93      		push r31
 103               	/* prologue end (size=17) */
 104               	.LM9:
 105 0050 8CB1      		in r24,44-0x20
 106 0052 8093 0000 		sts PC_COMMAND,r24
 107               	.LM10:
 108 0056 8091 0000 		lds r24,PC_COMMAND
 109 005a 9927      		clr r25
 110 005c 8133      		cpi r24,49
 111 005e 9105      		cpc r25,__zero_reg__
 112 0060 69F0      		breq .L15
 113               	.LM11:
 114 0062 8233      		cpi r24,50
 115 0064 9105      		cpc r25,__zero_reg__
 116 0066 1CF4      		brge .L19
 117 0068 C097      		sbiw r24,48
 118 006a 21F0      		breq .L14
 119 006c 18C0      		rjmp .L18
 120               	.L19:
 121 006e C297      		sbiw r24,50
 122 0070 49F0      		breq .L16
 123 0072 15C0      		rjmp .L18
 124               	.L14:
 125               	.LM12:
 126 0074 D898      		cbi 59-0x20,0
 127               	.LM13:
 128 0076 80E0      		ldi r24,lo8(.LC0)
 129 0078 90E0      		ldi r25,hi8(.LC0)
 130 007a 13C0      		rjmp .L21
 131               	.L15:
 132               	.LM14:
 133 007c D998      		cbi 59-0x20,1
 134               	.LM15:
 135 007e 80E0      		ldi r24,lo8(.LC1)
 136 0080 90E0      		ldi r25,hi8(.LC1)
 137 0082 0FC0      		rjmp .L21
 138               	.L16:
 139               	.LM16:
 140 0084 D89A      		sbi 59-0x20,0
 141               	.LM17:
 142 0086 D99A      		sbi 59-0x20,1
 143               	.LM18:
 144 0088 90E0      		ldi r25,lo8(0)
 145 008a 8091 0000 		lds r24,FLAG
 146 008e 8823      		tst r24
 147 0090 09F4      		brne .L17
 148 0092 91E0      		ldi r25,lo8(1)
 149               	.L17:
 150 0094 9093 0000 		sts FLAG,r25
 151               	.LM19:
 152 0098 80E0      		ldi r24,lo8(.LC2)
 153 009a 90E0      		ldi r25,hi8(.LC2)
 154 009c 02C0      		rjmp .L21
 155               	.L18:
 156               	.LM20:
 157 009e 80E0      		ldi r24,lo8(.LC3)
 158 00a0 90E0      		ldi r25,hi8(.LC3)
 159               	.L21:
 160 00a2 0E94 0000 		call put_s
 161               	.LM21:
 162 00a6 8091 0000 		lds r24,RX_index
 163 00aa E82F      		mov r30,r24
 164 00ac FF27      		clr r31
 165 00ae E050      		subi r30,lo8(-(RX_BUFFER))
 166 00b0 F040      		sbci r31,hi8(-(RX_BUFFER))
 167 00b2 8091 0000 		lds r24,PC_COMMAND
 168 00b6 8083      		st Z,r24
 169               	.LM22:
 170 00b8 8091 0000 		lds r24,RX_index
 171 00bc 8F5F      		subi r24,lo8(-(1))
 172 00be 8093 0000 		sts RX_index,r24
 173               	.LM23:
 174 00c2 8091 0000 		lds r24,RX_index
 175 00c6 8031      		cpi r24,lo8(16)
 176 00c8 10F0      		brlo .L12
 177 00ca 1092 0000 		sts RX_index,__zero_reg__
 178               	.L12:
 179               	/* epilogue: frame size=0 */
 180 00ce FF91      		pop r31
 181 00d0 EF91      		pop r30
 182 00d2 BF91      		pop r27
 183 00d4 AF91      		pop r26
 184 00d6 9F91      		pop r25
 185 00d8 8F91      		pop r24
 186 00da 7F91      		pop r23
 187 00dc 6F91      		pop r22
 188 00de 5F91      		pop r21
 189 00e0 4F91      		pop r20
 190 00e2 3F91      		pop r19
 191 00e4 2F91      		pop r18
 192 00e6 0F90      		pop __tmp_reg__
 193 00e8 0FBE      		out __SREG__,__tmp_reg__
 194 00ea 0F90      		pop __tmp_reg__
 195 00ec 1F90      		pop __zero_reg__
 196 00ee 1895      		reti
 197               	/* epilogue end (size=17) */
 198               	/* function __vector_11 size 99 (65) */
 199               	.LFE9:
 201               	.global	init_USART
 203               	init_USART:
 204               	.LFB10:
 205               	.LM24:
 206               	/* prologue: frame size=0 */
 207               	/* prologue end (size=0) */
 208               	.LM25:
 209 00f0 86E8      		ldi r24,lo8(-122)
 210 00f2 80BD      		out 64-0x20,r24
 211               	.LM26:
 212 00f4 8FE2      		ldi r24,lo8(47)
 213 00f6 89B9      		out 41-0x20,r24
 214               	.LM27:
 215 00f8 10BC      		out 64-0x20,__zero_reg__
 216               	.LM28:
 217 00fa 1BB8      		out 43-0x20,__zero_reg__
 218               	.LM29:
 219 00fc 88E9      		ldi r24,lo8(-104)
 220 00fe 8AB9      		out 42-0x20,r24
 221               	/* epilogue: frame size=0 */
 222 0100 0895      		ret
 223               	/* epilogue end (size=1) */
 224               	/* function init_USART size 9 (8) */
 225               	.LFE10:
 227               		.data
 228               	.LC4:
 229 0041 4865 6C6C 		.string	"Hello\243\241 \304\343\326\256\307\260\312\344\310\353\265\304\303\374\301\356\301\320\26
 229      6FA3 A120 
 229      C4E3 D6AE 
 229      C7B0 CAE4 
 229      C8EB B5C4 
 230               		.text
 231               	.global	pro_coammand
 233               	pro_coammand:
 234               	.LFB11:
 235               	.LM30:
 236               	/* prologue: frame size=0 */
 237 0102 CF93      		push r28
 238               	/* prologue end (size=1) */
 239               	.LM31:
 240 0104 8091 0000 		lds r24,RX_index
 241 0108 8A30      		cpi r24,lo8(10)
 242 010a 40F1      		brlo .L23
 243               	.LM32:
 244 010c 5798      		cbi 42-0x20,7
 245               	.LM33:
 246 010e 8DE0      		ldi r24,lo8(13)
 247 0110 0E94 0000 		call put_c
 248               	.LM34:
 249 0114 8AE0      		ldi r24,lo8(10)
 250 0116 0E94 0000 		call put_c
 251               	.LM35:
 252 011a 80E0      		ldi r24,lo8(.LC4)
 253 011c 90E0      		ldi r25,hi8(.LC4)
 254 011e 0E94 0000 		call put_s
 255               	.LM36:
 256 0122 C0E0      		ldi r28,lo8(0)
 257               	.L31:
 258 0124 8091 0000 		lds r24,RX_index
 259 0128 C817      		cp r28,r24
 260 012a 48F4      		brsh .L30
 261 012c EC2F      		mov r30,r28
 262 012e FF27      		clr r31
 263 0130 E050      		subi r30,lo8(-(RX_BUFFER))
 264 0132 F040      		sbci r31,hi8(-(RX_BUFFER))
 265 0134 8081      		ld r24,Z
 266 0136 0E94 0000 		call put_c
 267 013a CF5F      		subi r28,lo8(-(1))
 268 013c F3CF      		rjmp .L31
 269               	.L30:
 270               	.LM37:
 271 013e 8DE0      		ldi r24,lo8(13)
 272 0140 0E94 0000 		call put_c
 273               	.LM38:
 274 0144 8AE0      		ldi r24,lo8(10)
 275 0146 0E94 0000 		call put_c
 276               	.LM39:
 277 014a 8DE0      		ldi r24,lo8(13)
 278 014c 0E94 0000 		call put_c
 279               	.LM40:
 280 0150 8AE0      		ldi r24,lo8(10)
 281 0152 0E94 0000 		call put_c
 282               	.LM41:
 283 0156 1092 0000 		sts RX_index,__zero_reg__
 284               	.LM42:
 285 015a 579A      		sbi 42-0x20,7
 286               	.L23:
 287               	/* epilogue: frame size=0 */
 288 015c CF91      		pop r28
 289 015e 0895      		ret
 290               	/* epilogue end (size=2) */
 291               	/* function pro_coammand size 47 (44) */
 292               	.LFE11:
 294               		.data
 295               	.LC5:
 296 0061 C4E3 BAC3 		.string	"\304\343\272\303\243\241"
 296      A3A1 00
 297               	.LC6:
 298 0068 D5E2 CAC7 		.string	"\325\342\312\307\322\273\270\366\274\362\265\245\265\304\264\256\277\332\312\265\321\351\
 298      D2BB B8F6 
 298      BCF2 B5A5 
 298      B5C4 B4AE 
 298      BFDA CAB5 
 299               	.LC7:
 300 0083 C4E3 BF   		.ascii	"\304\343\277"
 301 0086 C9D2 D4D4 		.string	"\311\322\324\324\332\265\347\304\324\311\317\265\304\263\254\274\266\326\325\266\313\263\
 301      DAB5 E7C4 
 301      D4C9 CFB5 
 301      C4B3 ACBC 
 301      B6D6 D5B6 
 302               		.text
 303               	.global	main
 305               	main:
 306               	.LFB12:
 307               	.LM43:
 308               	/* prologue: frame size=0 */
 309 0160 C0E0      		ldi r28,lo8(__stack - 0)
 310 0162 D0E0      		ldi r29,hi8(__stack - 0)
 311 0164 DEBF      		out __SP_H__,r29
 312 0166 CDBF      		out __SP_L__,r28
 313               	/* prologue end (size=4) */
 314               	.LM44:
 315 0168 9FEF      		ldi r25,lo8(-1)
 316 016a 98BB      		out 56-0x20,r25
 317               	.LM45:
 318 016c 95BB      		out 53-0x20,r25
 319               	.LM46:
 320 016e 8BE0      		ldi r24,lo8(11)
 321 0170 8ABB      		out 58-0x20,r24
 322               	.LM47:
 323 0172 8BBB      		out 59-0x20,r24
 324               	.LM48:
 325 0174 82E0      		ldi r24,lo8(2)
 326 0176 81BB      		out 49-0x20,r24
 327               	.LM49:
 328 0178 92BB      		out 50-0x20,r25
 329               	.LM50:
 330 017a 1092 0000 		sts FLAG,__zero_reg__
 331               	.LM51:
 332 017e 0E94 0000 		call init_USART
 333               	.LM52:
 334 0182 80E0      		ldi r24,lo8(.LC5)
 335 0184 90E0      		ldi r25,hi8(.LC5)
 336 0186 0E94 0000 		call put_s
 337               	.LM53:
 338 018a 80E0      		ldi r24,lo8(.LC6)
 339 018c 90E0      		ldi r25,hi8(.LC6)
 340 018e 0E94 0000 		call put_s
 341               	.LM54:
 342 0192 80E0      		ldi r24,lo8(.LC7)
 343 0194 90E0      		ldi r25,hi8(.LC7)
 344 0196 0E94 0000 		call put_s
 345               	.LM55:
 346               	/* #APP */
 347 019a 7894      		sei
 348               	/* #NOAPP */
 349               	.L46:
 350               	.LM56:
 351 019c 8091 0000 		lds r24,FLAG
 352 01a0 8823      		tst r24
 353 01a2 19F4      		brne .L42
 354 01a4 0E94 0000 		call pro_coammand
 355 01a8 F9CF      		rjmp .L46
 356               	.L42:
 357               	.LM57:
 358 01aa DB98      		cbi 59-0x20,3
 359               	.L45:
 360               	.LM58:
 361 01ac 8091 0000 		lds r24,FLAG
 362 01b0 8823      		tst r24
 363 01b2 19F0      		breq .L44
 364 01b4 0E94 0000 		call pro_coammand
 365 01b8 F9CF      		rjmp .L45
 366               	.L44:
 367               	.LM59:
 368 01ba DB9A      		sbi 59-0x20,3
 369 01bc EFCF      		rjmp .L46
 370               	/* epilogue: frame size=0 */
 371               	/* epilogue: noreturn */
 372               	/* epilogue end (size=0) */
 373               	/* function main size 48 (44) */
 374               	.LFE12:
 376               		.comm FLAG,1,1
 377               		.comm PC_COMMAND,1,1
 378               		.comm RX_BUFFER,16,1
 379               		.comm RX_index,1,1
 380               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 USART_main.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\LOCALS~1\Temp/ccY9aaaa.s:20     .text:00000000 put_c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:39     .text:00000008 put_s
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:82     .text:0000002e __vector_11
                            *COM*:00000001 PC_COMMAND
                            *COM*:00000001 FLAG
                            *COM*:00000001 RX_index
                            *COM*:00000010 RX_BUFFER
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:203    .text:000000f0 init_USART
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:233    .text:00000102 pro_coammand
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccY9aaaa.s:305    .text:00000160 main

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack

⌨️ 快捷键说明

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