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

📄 main.lst

📁 这是基于ATmegA48的串口测试小程序 方便实用 功能强大
💻 LST
字号:
   1               		.file	"main.c"
   2               		.arch atmega48
   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	port_init
  20               	port_init:
  21               	.LFB11:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 8FEF      		ldi r24,lo8(-1)
  27 0002 8AB9      		out 42-0x20,r24
  28               	.LM3:
  29 0004 1BB8      		out 43-0x20,__zero_reg__
  30               	.LM4:
  31 0006 87B9      		out 39-0x20,r24
  32               	.LM5:
  33 0008 18B8      		out 40-0x20,__zero_reg__
  34               	.LM6:
  35 000a 84B9      		out 36-0x20,r24
  36               	.LM7:
  37 000c 15B8      		out 37-0x20,__zero_reg__
  38               	/* epilogue: frame size=0 */
  39 000e 0895      		ret
  40               	/* epilogue end (size=1) */
  41               	/* function port_init size 8 (7) */
  42               	.LFE11:
  44               	.global	PutChar
  46               	PutChar:
  47               	.LFB12:
  48               	.LM8:
  49               	/* prologue: frame size=0 */
  50               	/* prologue end (size=0) */
  51 0010 982F      		mov r25,r24
  52               	.LM9:
  53               	/* #APP */
  54 0012 F894      		cli
  55               	/* #NOAPP */
  56               	.L3:
  57               	.LM10:
  58 0014 8091 C000 		lds r24,192
  59 0018 85FF      		sbrs r24,5
  60 001a FCCF      		rjmp .L3
  61               	.LM11:
  62 001c 9093 C600 		sts 198,r25
  63               	.L6:
  64               	.LM12:
  65 0020 8091 C000 		lds r24,192
  66 0024 85FF      		sbrs r24,5
  67 0026 FCCF      		rjmp .L6
  68               	.LM13:
  69               	/* #APP */
  70 0028 7894      		sei
  71               	/* #NOAPP */
  72               	/* epilogue: frame size=0 */
  73 002a 0895      		ret
  74               	/* epilogue end (size=1) */
  75               	/* function PutChar size 16 (15) */
  76               	.LFE12:
  78               	.global	__vector_18
  80               	__vector_18:
  81               	.LFB13:
  82               	.LM14:
  83               	/* prologue: frame size=0 */
  84 002c 1F92      		push __zero_reg__
  85 002e 0F92      		push __tmp_reg__
  86 0030 0FB6      		in __tmp_reg__,__SREG__
  87 0032 0F92      		push __tmp_reg__
  88 0034 1124      		clr __zero_reg__
  89 0036 8F93      		push r24
  90               	/* prologue end (size=6) */
  91               	.LM15:
  92 0038 8091 0000 		lds r24,g_ucByteFlag0
  93 003c 80FD      		sbrc r24,0
  94 003e 09C0      		rjmp .L10
  95               	.LM16:
  96 0040 8091 0000 		lds r24,g_ucByteFlag0
  97 0044 8160      		ori r24,lo8(1)
  98 0046 8093 0000 		sts g_ucByteFlag0,r24
  99               	.LM17:
 100 004a 8091 C600 		lds r24,198
 101 004e 8093 0000 		sts g_ucSerialDataBuf,r24
 102               	.L10:
 103               	/* epilogue: frame size=0 */
 104 0052 8F91      		pop r24
 105 0054 0F90      		pop __tmp_reg__
 106 0056 0FBE      		out __SREG__,__tmp_reg__
 107 0058 0F90      		pop __tmp_reg__
 108 005a 1F90      		pop __zero_reg__
 109 005c 1895      		reti
 110               	/* epilogue end (size=6) */
 111               	/* function __vector_18 size 25 (13) */
 112               	.LFE13:
 114               	.global	uart_init
 116               	uart_init:
 117               	.LFB14:
 118               	.LM18:
 119               	/* prologue: frame size=0 */
 120               	/* prologue end (size=0) */
 121               	.LM19:
 122 005e 1092 C100 		sts 193,__zero_reg__
 123               	.LM20:
 124 0062 1092 C000 		sts 192,__zero_reg__
 125               	.LM21:
 126 0066 86E0      		ldi r24,lo8(6)
 127 0068 8093 C200 		sts 194,r24
 128               	.LM22:
 129 006c 8CE0      		ldi r24,lo8(12)
 130 006e 8093 C400 		sts 196,r24
 131               	.LM23:
 132 0072 1092 C500 		sts 197,__zero_reg__
 133               	.LM24:
 134 0076 88E9      		ldi r24,lo8(-104)
 135 0078 8093 C100 		sts 193,r24
 136               	/* epilogue: frame size=0 */
 137 007c 0895      		ret
 138               	/* epilogue end (size=1) */
 139               	/* function uart_init size 16 (15) */
 140               	.LFE14:
 142               	.global	SerailData
 144               	SerailData:
 145               	.LFB15:
 146               	.LM25:
 147               	/* prologue: frame size=0 */
 148               	/* prologue end (size=0) */
 149               	.LM26:
 150 007e 8091 0000 		lds r24,g_ucByteFlag0
 151 0082 80FF      		sbrs r24,0
 152 0084 0895      		ret
 153               	.L22:
 154               	.LM27:
 155 0086 8091 0000 		lds r24,g_ucSerialDataBuf
 156 008a C2DF      		rcall PutChar
 157               	.LM28:
 158 008c 8091 0000 		lds r24,g_ucSerialDataBuf
 159 0090 9927      		clr r25
 160 0092 8236      		cpi r24,98
 161 0094 9105      		cpc r25,__zero_reg__
 162 0096 A1F0      		breq .L17
 163 0098 8336      		cpi r24,99
 164 009a 9105      		cpc r25,__zero_reg__
 165 009c 64F0      		brlt .L23
 166 009e 8336      		cpi r24,99
 167 00a0 9105      		cpc r25,__zero_reg__
 168 00a2 91F0      		breq .L18
 169 00a4 8436      		cpi r24,100
 170 00a6 9105      		cpc r25,__zero_reg__
 171 00a8 89F0      		breq .L19
 172               	.L15:
 173               	.LM29:
 174 00aa 8091 0000 		lds r24,g_ucByteFlag0
 175 00ae 8E7F      		andi r24,lo8(-2)
 176 00b0 8093 0000 		sts g_ucByteFlag0,r24
 177 00b4 0895      		ret
 178               	.L23:
 179               	.LM30:
 180 00b6 8136      		cpi r24,97
 181 00b8 9105      		cpc r25,__zero_reg__
 182 00ba B9F7      		brne .L15
 183               	.LM31:
 184 00bc 5F98      		cbi 43-0x20,7
 185 00be F5CF      		rjmp .L15
 186               	.L17:
 187               	.LM32:
 188 00c0 8BB1      		in r24,43-0x20
 189 00c2 8F67      		ori r24,lo8(127)
 190               	.LM33:
 191 00c4 8BB9      		out 43-0x20,r24
 192 00c6 F1CF      		rjmp .L15
 193               	.L18:
 194               	.LM34:
 195 00c8 5E98      		cbi 43-0x20,6
 196 00ca EFCF      		rjmp .L15
 197               	.L19:
 198               	.LM35:
 199 00cc 8BB1      		in r24,43-0x20
 200 00ce 8F6B      		ori r24,lo8(-65)
 201 00d0 8BB9      		out 43-0x20,r24
 202 00d2 EBCF      		rjmp .L15
 203               	/* epilogue: frame size=0 */
 204               	/* epilogue: noreturn */
 205               	/* epilogue end (size=0) */
 206               	/* function SerailData size 44 (44) */
 207               	.LFE15:
 209               	.global	main
 211               	main:
 212               	.LFB16:
 213               	.LM36:
 214               	/* prologue: frame size=0 */
 215 00d4 C0E0      		ldi r28,lo8(__stack - 0)
 216 00d6 D0E0      		ldi r29,hi8(__stack - 0)
 217 00d8 DEBF      		out __SP_H__,r29
 218 00da CDBF      		out __SP_L__,r28
 219               	/* prologue end (size=4) */
 220               	.LM37:
 221 00dc 91DF      		rcall port_init
 222               	.LM38:
 223 00de BFDF      		rcall uart_init
 224               	.LM39:
 225 00e0 1092 0000 		sts g_ucByteFlag0,__zero_reg__
 226               	.LM40:
 227 00e4 8FE4      		ldi r24,lo8(79)
 228 00e6 94DF      		rcall PutChar
 229               	.LM41:
 230 00e8 8BE4      		ldi r24,lo8(75)
 231 00ea 92DF      		rcall PutChar
 232               	.LM42:
 233               	/* #APP */
 234 00ec 7894      		sei
 235               	/* #NOAPP */
 236               	.L25:
 237               	.LM43:
 238 00ee C7DF      		rcall SerailData
 239 00f0 C6DF      		rcall SerailData
 240 00f2 FDCF      		rjmp .L25
 241               	/* epilogue: frame size=0 */
 242               	/* epilogue: noreturn */
 243               	/* epilogue end (size=0) */
 244               	/* function main size 17 (13) */
 245               	.LFE16:
 247               		.comm g_ucSerialDataBuf,1,1
 248               		.comm g_ucByteFlag0,1,1
 249               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 main.c
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:20     .text:00000000 port_init
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:46     .text:00000010 PutChar
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:80     .text:0000002c __vector_18
                            *COM*:00000001 g_ucByteFlag0
                            *COM*:00000001 g_ucSerialDataBuf
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:116    .text:0000005e uart_init
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:144    .text:0000007e SerailData
C:\DOCUME~1\CHRIS\LOCALS~1\Temp/ccCYaaaa.s:211    .text:000000d4 main

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack

⌨️ 快捷键说明

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