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

📄 uart0.lst

📁 AVR atmega64串口驱动
💻 LST
字号:
   1               		.file	"uart0.c"
   2               		.arch atmega64
   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	UART0_InitUART
  20               	UART0_InitUART:
  21               	.LFB19:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24 0000 EF92      		push r14
  25 0002 FF92      		push r15
  26 0004 0F93      		push r16
  27 0006 1F93      		push r17
  28               	/* prologue end (size=4) */
  29 0008 9B01      		movw r18,r22
  30 000a AC01      		movw r20,r24
  31               	.LM2:
  32 000c 94E0      		ldi r25,4
  33 000e 220F      	1:	lsl r18
  34 0010 331F      		rol r19
  35 0012 441F      		rol r20
  36 0014 551F      		rol r21
  37 0016 9A95      		dec r25
  38 0018 D1F7      		brne 1b
  39 001a E12C      		mov r14,__zero_reg__
  40 001c 80E8      		ldi r24,hi8(7372800)
  41 001e F82E      		mov r15,r24
  42 0020 80E7      		ldi r24,hlo8(7372800)
  43 0022 082F      		mov r16,r24
  44 0024 112D      		mov r17,__zero_reg__
  45 0026 C801      		movw r24,r16
  46 0028 B701      		movw r22,r14
  47 002a 1092 9000 		sts 144,__zero_reg__
  48               	.LM3:
  49 002e 0E94 0000 		call __udivmodsi4
  50 0032 DA01      		movw r26,r20
  51 0034 C901      		movw r24,r18
  52 0036 8150      		subi r24,lo8(-(-1))
  53 0038 89B9      		out 41-0x20,r24
  54               	.LM4:
  55 003a 88E9      		ldi r24,lo8(-104)
  56 003c 8AB9      		out 42-0x20,r24
  57               	.LM5:
  58 003e 86E0      		ldi r24,lo8(6)
  59 0040 8093 9500 		sts 149,r24
  60               	.LM6:
  61 0044 80E0      		ldi r24,lo8(0)
  62               	.LM7:
  63 0046 8093 0000 		sts UART0_RxTail,r24
  64               	.LM8:
  65 004a 8093 0000 		sts UART0_RxHead,r24
  66               	.LM9:
  67 004e 8093 0000 		sts UART0_TxTail,r24
  68               	.LM10:
  69 0052 8093 0000 		sts UART0_TxHead,r24
  70               	/* epilogue: frame size=0 */
  71 0056 1F91      		pop r17
  72 0058 0F91      		pop r16
  73 005a FF90      		pop r15
  74 005c EF90      		pop r14
  75 005e 0895      		ret
  76               	/* epilogue end (size=5) */
  77               	/* function UART0_InitUART size 48 (39) */
  78               	.LFE19:
  80               	.global	__vector_18
  82               	__vector_18:
  83               	.LFB20:
  84               	.LM11:
  85               	/* prologue: frame size=0 */
  86 0060 1F92      		push __zero_reg__
  87 0062 0F92      		push __tmp_reg__
  88 0064 0FB6      		in __tmp_reg__,__SREG__
  89 0066 0F92      		push __tmp_reg__
  90 0068 1124      		clr __zero_reg__
  91 006a 2F93      		push r18
  92 006c 8F93      		push r24
  93 006e 9F93      		push r25
  94 0070 EF93      		push r30
  95 0072 FF93      		push r31
  96               	/* prologue end (size=10) */
  97               	.LM12:
  98 0074 9CB1      		in r25,44-0x20
  99               	.LM13:
 100 0076 8091 0000 		lds r24,UART0_RxHead
 101 007a 8F5F      		subi r24,lo8(-(1))
 102               	.LM14:
 103 007c 8093 0000 		sts UART0_RxHead,r24
 104               	.LM15:
 105 0080 2091 0000 		lds r18,UART0_RxTail
 106               	.LM16:
 107 0084 E0E0      		ldi r30,lo8(UART0_RxBuf)
 108 0086 F0E0      		ldi r31,hi8(UART0_RxBuf)
 109 0088 E80F      		add r30,r24
 110 008a F11D      		adc r31,__zero_reg__
 111 008c 9083      		st Z,r25
 112               	/* epilogue: frame size=0 */
 113 008e FF91      		pop r31
 114 0090 EF91      		pop r30
 115 0092 9F91      		pop r25
 116 0094 8F91      		pop r24
 117 0096 2F91      		pop r18
 118 0098 0F90      		pop __tmp_reg__
 119 009a 0FBE      		out __SREG__,__tmp_reg__
 120 009c 0F90      		pop __tmp_reg__
 121 009e 1F90      		pop __zero_reg__
 122 00a0 1895      		reti
 123               	/* epilogue end (size=10) */
 124               	/* function __vector_18 size 33 (13) */
 125               	.LFE20:
 127               	.global	__vector_19
 129               	__vector_19:
 130               	.LFB21:
 131               	.LM17:
 132               	/* prologue: frame size=0 */
 133 00a2 1F92      		push __zero_reg__
 134 00a4 0F92      		push __tmp_reg__
 135 00a6 0FB6      		in __tmp_reg__,__SREG__
 136 00a8 0F92      		push __tmp_reg__
 137 00aa 1124      		clr __zero_reg__
 138 00ac 8F93      		push r24
 139 00ae 9F93      		push r25
 140 00b0 EF93      		push r30
 141 00b2 FF93      		push r31
 142               	/* prologue end (size=9) */
 143               	.LM18:
 144 00b4 9091 0000 		lds r25,UART0_TxHead
 145 00b8 8091 0000 		lds r24,UART0_TxTail
 146 00bc 9817      		cp r25,r24
 147 00be 61F0      		breq .L5
 148               	.LM19:
 149 00c0 8091 0000 		lds r24,UART0_TxTail
 150 00c4 8F5F      		subi r24,lo8(-(1))
 151               	.LM20:
 152 00c6 8093 0000 		sts UART0_TxTail,r24
 153               	.LM21:
 154 00ca E82F      		mov r30,r24
 155 00cc FF27      		clr r31
 156 00ce E050      		subi r30,lo8(-(UART0_TxBuf))
 157 00d0 F040      		sbci r31,hi8(-(UART0_TxBuf))
 158 00d2 8081      		ld r24,Z
 159 00d4 8CB9      		out 44-0x20,r24
 160 00d6 01C0      		rjmp .L4
 161               	.L5:
 162               	.LM22:
 163 00d8 5598      		cbi 42-0x20,5
 164               	.L4:
 165               	/* epilogue: frame size=0 */
 166 00da FF91      		pop r31
 167 00dc EF91      		pop r30
 168 00de 9F91      		pop r25
 169 00e0 8F91      		pop r24
 170 00e2 0F90      		pop __tmp_reg__
 171 00e4 0FBE      		out __SREG__,__tmp_reg__
 172 00e6 0F90      		pop __tmp_reg__
 173 00e8 1F90      		pop __zero_reg__
 174 00ea 1895      		reti
 175               	/* epilogue end (size=9) */
 176               	/* function __vector_19 size 37 (19) */
 177               	.LFE21:
 179               	.global	UART0_ReceiveByte
 181               	UART0_ReceiveByte:
 182               	.LFB22:
 183               	.LM23:
 184               	/* prologue: frame size=0 */
 185               	/* prologue end (size=0) */
 186               	.L8:
 187               	.LM24:
 188 00ec 9091 0000 		lds r25,UART0_RxHead
 189 00f0 8091 0000 		lds r24,UART0_RxTail
 190 00f4 9817      		cp r25,r24
 191 00f6 D1F3      		breq .L8
 192               	.LM25:
 193 00f8 8091 0000 		lds r24,UART0_RxTail
 194 00fc 8F5F      		subi r24,lo8(-(1))
 195               	.LM26:
 196 00fe 8093 0000 		sts UART0_RxTail,r24
 197               	.LM27:
 198 0102 E82F      		mov r30,r24
 199 0104 FF27      		clr r31
 200 0106 E050      		subi r30,lo8(-(UART0_RxBuf))
 201 0108 F040      		sbci r31,hi8(-(UART0_RxBuf))
 202 010a 8081      		ld r24,Z
 203               	.LM28:
 204 010c 9927      		clr r25
 205               	/* epilogue: frame size=0 */
 206 010e 0895      		ret
 207               	/* epilogue end (size=1) */
 208               	/* function UART0_ReceiveByte size 18 (17) */
 209               	.LFE22:
 211               	.global	UART0_TransmitByte
 213               	UART0_TransmitByte:
 214               	.LFB23:
 215               	.LM29:
 216               	/* prologue: frame size=0 */
 217               	/* prologue end (size=0) */
 218 0110 282F      		mov r18,r24
 219               	.LM30:
 220 0112 9091 0000 		lds r25,UART0_TxHead
 221 0116 9F5F      		subi r25,lo8(-(1))
 222               	.L12:
 223               	.LM31:
 224 0118 8091 0000 		lds r24,UART0_TxTail
 225 011c 9817      		cp r25,r24
 226 011e E1F3      		breq .L12
 227               	.LM32:
 228 0120 E92F      		mov r30,r25
 229 0122 FF27      		clr r31
 230 0124 E050      		subi r30,lo8(-(UART0_TxBuf))
 231 0126 F040      		sbci r31,hi8(-(UART0_TxBuf))
 232 0128 2083      		st Z,r18
 233               	.LM33:
 234 012a 9093 0000 		sts UART0_TxHead,r25
 235               	.LM34:
 236 012e 559A      		sbi 42-0x20,5
 237               	/* epilogue: frame size=0 */
 238 0130 0895      		ret
 239               	/* epilogue end (size=1) */
 240               	/* function UART0_TransmitByte size 17 (16) */
 241               	.LFE23:
 243               	.global	UART0_Transmitstr
 245               	UART0_Transmitstr:
 246               	.LFB24:
 247               	.LM35:
 248               	/* prologue: frame size=0 */
 249 0132 EF92      		push r14
 250 0134 FF92      		push r15
 251 0136 0F93      		push r16
 252 0138 1F93      		push r17
 253 013a CF93      		push r28
 254 013c DF93      		push r29
 255               	/* prologue end (size=6) */
 256               	.LM36:
 257 013e EC01      		movw r28,r24
 258 0140 0990      		ld __tmp_reg__,Y+
 259 0142 0020      		tst __tmp_reg__
 260 0144 E9F7      		brne .-6
 261 0146 2197      		sbiw r28,1
 262 0148 C81B      		sub r28,r24
 263 014a D90B      		sbc r29,r25
 264               	.LM37:
 265 014c 00E0      		ldi r16,lo8(0)
 266 014e 10E0      		ldi r17,hi8(0)
 267 0150 0C17      		cp r16,r28
 268 0152 1D07      		cpc r17,r29
 269 0154 58F4      		brsh .L21
 270 0156 7C01      		movw r14,r24
 271               	.L19:
 272               	.LM38:
 273 0158 F701      		movw r30,r14
 274 015a 8191      		ld r24,Z+
 275 015c 7F01      		movw r14,r30
 276 015e 0E94 0000 		call UART0_TransmitByte
 277               	.LM39:
 278 0162 0F5F      		subi r16,lo8(-(1))
 279 0164 1F4F      		sbci r17,hi8(-(1))
 280 0166 0C17      		cp r16,r28
 281 0168 1D07      		cpc r17,r29
 282 016a B0F3      		brlo .L19
 283               	.L21:
 284               	/* epilogue: frame size=0 */
 285 016c DF91      		pop r29
 286 016e CF91      		pop r28
 287 0170 1F91      		pop r17
 288 0172 0F91      		pop r16
 289 0174 FF90      		pop r15
 290 0176 EF90      		pop r14
 291 0178 0895      		ret
 292               	/* epilogue end (size=7) */
 293               	/* function UART0_Transmitstr size 36 (23) */
 294               	.LFE24:
 296               	.global	UART0_DataInReceiveBuffer
 298               	UART0_DataInReceiveBuffer:
 299               	.LFB25:
 300               	.LM40:
 301               	/* prologue: frame size=0 */
 302               	/* prologue end (size=0) */
 303               	.LM41:
 304 017a 20E0      		ldi r18,lo8(0)
 305 017c 30E0      		ldi r19,hi8(0)
 306 017e 9091 0000 		lds r25,UART0_RxHead
 307 0182 8091 0000 		lds r24,UART0_RxTail
 308 0186 9817      		cp r25,r24
 309 0188 11F0      		breq .L23
 310               	.LM42:
 311 018a 21E0      		ldi r18,lo8(1)
 312 018c 30E0      		ldi r19,hi8(1)
 313               	.L23:
 314               	.LM43:
 315 018e C901      		movw r24,r18
 316               	/* epilogue: frame size=0 */
 317 0190 0895      		ret
 318               	/* epilogue end (size=1) */
 319               	/* function UART0_DataInReceiveBuffer size 12 (11) */
 320               	.LFE25:
 322               		.comm temperature_low,1,1
 323               		.comm temperature_high,1,1
 324               		.comm bit_flag,1,1
 325               		.comm bit_var,1,1
 326               		.comm bit_hardware,1,1
 327               		.comm bit_Condition,1,1
 328               		.lcomm UART0_RxBuf,512
 329               		.lcomm UART0_RxHead,1
 330               		.lcomm UART0_RxTail,1
 331               		.lcomm UART0_TxBuf,512
 332               		.lcomm UART0_TxHead,1
 333               		.lcomm UART0_TxTail,1
 334               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 uart0.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:20     .text:00000000 UART0_InitUART
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:329    .bss:00000201 UART0_RxTail
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:328    .bss:00000200 UART0_RxHead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:332    .bss:00000403 UART0_TxTail
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:331    .bss:00000402 UART0_TxHead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:82     .text:00000060 __vector_18
                             .bss:00000000 UART0_RxBuf
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:129    .text:000000a2 __vector_19
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:330    .bss:00000202 UART0_TxBuf
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:181    .text:000000ec UART0_ReceiveByte
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:213    .text:00000110 UART0_TransmitByte
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:245    .text:00000132 UART0_Transmitstr
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccScbaaa.s:298    .text:0000017a UART0_DataInReceiveBuffer
                            *COM*:00000001 temperature_low
                            *COM*:00000001 temperature_high
                            *COM*:00000001 bit_flag
                            *COM*:00000001 bit_var
                            *COM*:00000001 bit_hardware
                            *COM*:00000001 bit_Condition

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodsi4

⌨️ 快捷键说明

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