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

📄 main.lst

📁 原创ateml avr 单片机遥控器解码程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1               		.file	"main.c"
   2               		.arch atmega32
   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	TIMER0Init
  20               	TIMER0Init:
  21               	.LFB6:
  22               	.LM1:
  23               	/* prologue: frame size=3 */
  24 0000 CF93      		push r28
  25 0002 DF93      		push r29
  26 0004 CDB7      		in r28,__SP_L__
  27 0006 DEB7      		in r29,__SP_H__
  28 0008 2397      		sbiw r28,3
  29 000a 0FB6      		in __tmp_reg__,__SREG__
  30 000c F894      		cli
  31 000e DEBF      		out __SP_H__,r29
  32 0010 0FBE      		out __SREG__,__tmp_reg__
  33 0012 CDBF      		out __SP_L__,r28
  34               	/* prologue end (size=10) */
  35               	.LM2:
  36 0014 8091 3100 		lds r24,49
  37 0018 8062      		ori r24,lo8(32)
  38 001a 8093 3100 		sts 49,r24
  39               	.LM3:
  40 001e 8091 3200 		lds r24,50
  41 0022 8062      		ori r24,lo8(32)
  42 0024 8093 3200 		sts 50,r24
  43               	.LM4:
  44 0028 1092 5200 		sts 82,__zero_reg__
  45               	.LM5:
  46 002c 8091 5300 		lds r24,83
  47 0030 8460      		ori r24,lo8(4)
  48 0032 8093 5300 		sts 83,r24
  49               	.LM6:
  50 0036 8091 5300 		lds r24,83
  51 003a 8D7F      		andi r24,lo8(-3)
  52 003c 8093 5300 		sts 83,r24
  53               	.LM7:
  54 0040 8091 5300 		lds r24,83
  55 0044 8160      		ori r24,lo8(1)
  56 0046 8093 5300 		sts 83,r24
  57               	.LM8:
  58 004a 1092 0000 		sts sendIRstate,__zero_reg__
  59               	.LM9:
  60 004e 80E1      		ldi r24,lo8(16)
  61 0050 8A83      		std Y+2,r24
  62               	.LM10:
  63 0052 1B82      		std Y+3,__zero_reg__
  64               	.LM11:
  65 0054 1982      		std Y+1,__zero_reg__
  66               	.L2:
  67               	.LM12:
  68 0056 8981      		ldd r24,Y+1
  69 0058 8830      		cpi r24,lo8(8)
  70 005a 68F4      		brsh .L3
  71               	.LM13:
  72 005c 8A81      		ldd r24,Y+2
  73 005e 8823      		tst r24
  74 0060 1CF4      		brge .L5
  75               	.LM14:
  76 0062 8B81      		ldd r24,Y+3
  77 0064 8F5F      		subi r24,lo8(-(1))
  78 0066 8B83      		std Y+3,r24
  79               	.L5:
  80               	.LM15:
  81 0068 8A81      		ldd r24,Y+2
  82 006a 880F      		lsl r24
  83 006c 8A83      		std Y+2,r24
  84               	.LM16:
  85 006e 8981      		ldd r24,Y+1
  86 0070 8F5F      		subi r24,lo8(-(1))
  87 0072 8983      		std Y+1,r24
  88 0074 F0CF      		rjmp .L2
  89               	.L3:
  90               	.LM17:
  91 0076 8FEE      		ldi r24,lo8(-17)
  92 0078 8A83      		std Y+2,r24
  93               	.LM18:
  94 007a 1982      		std Y+1,__zero_reg__
  95               	.L6:
  96 007c 8981      		ldd r24,Y+1
  97 007e 8830      		cpi r24,lo8(8)
  98 0080 68F4      		brsh .L7
  99               	.LM19:
 100 0082 8A81      		ldd r24,Y+2
 101 0084 8823      		tst r24
 102 0086 1CF4      		brge .L9
 103               	.LM20:
 104 0088 8B81      		ldd r24,Y+3
 105 008a 8F5F      		subi r24,lo8(-(1))
 106 008c 8B83      		std Y+3,r24
 107               	.L9:
 108               	.LM21:
 109 008e 8A81      		ldd r24,Y+2
 110 0090 880F      		lsl r24
 111 0092 8A83      		std Y+2,r24
 112               	.LM22:
 113 0094 8981      		ldd r24,Y+1
 114 0096 8F5F      		subi r24,lo8(-(1))
 115 0098 8983      		std Y+1,r24
 116 009a F0CF      		rjmp .L6
 117               	.L7:
 118               	.LM23:
 119 009c 8B81      		ldd r24,Y+3
 120 009e 282F      		mov r18,r24
 121 00a0 3327      		clr r19
 122 00a2 C901      		movw r24,r18
 123 00a4 280F      		add r18,r24
 124 00a6 391F      		adc r19,r25
 125 00a8 89E5      		ldi r24,lo8(89)
 126 00aa 90E0      		ldi r25,hi8(89)
 127 00ac 821B      		sub r24,r18
 128 00ae 930B      		sbc r25,r19
 129 00b0 9093 0000 		sts (sendIRintervaltimecounttemp)+1,r25
 130 00b4 8093 0000 		sts sendIRintervaltimecounttemp,r24
 131               	/* epilogue: frame size=3 */
 132 00b8 2396      		adiw r28,3
 133 00ba 0FB6      		in __tmp_reg__,__SREG__
 134 00bc F894      		cli
 135 00be DEBF      		out __SP_H__,r29
 136 00c0 0FBE      		out __SREG__,__tmp_reg__
 137 00c2 CDBF      		out __SP_L__,r28
 138 00c4 DF91      		pop r29
 139 00c6 CF91      		pop r28
 140 00c8 0895      		ret
 141               	/* epilogue end (size=9) */
 142               	/* function TIMER0Init size 101 (82) */
 143               	.LFE6:
 145               	.global	SendIRCodeStart
 147               	SendIRCodeStart:
 148               	.LFB7:
 149               	.LM24:
 150               	/* prologue: frame size=1 */
 151 00ca CF93      		push r28
 152 00cc DF93      		push r29
 153 00ce CDB7      		in r28,__SP_L__
 154 00d0 DEB7      		in r29,__SP_H__
 155 00d2 2197      		sbiw r28,1
 156 00d4 0FB6      		in __tmp_reg__,__SREG__
 157 00d6 F894      		cli
 158 00d8 DEBF      		out __SP_H__,r29
 159 00da 0FBE      		out __SREG__,__tmp_reg__
 160 00dc CDBF      		out __SP_L__,r28
 161               	/* prologue end (size=10) */
 162 00de 8983      		std Y+1,r24
 163               	.LM25:
 164 00e0 8981      		ldd r24,Y+1
 165 00e2 8093 0000 		sts sendIRdata,r24
 166               	.LM26:
 167 00e6 1092 0000 		sts sendIRintervaltimecount,__zero_reg__
 168               	.LM27:
 169 00ea 81E0      		ldi r24,lo8(1)
 170 00ec 8093 0000 		sts sendIRstate,r24
 171               	.LM28:
 172 00f0 1092 5200 		sts 82,__zero_reg__
 173               	.LM29:
 174 00f4 8091 5900 		lds r24,89
 175 00f8 8160      		ori r24,lo8(1)
 176 00fa 8093 5900 		sts 89,r24
 177               	/* epilogue: frame size=1 */
 178 00fe 2196      		adiw r28,1
 179 0100 0FB6      		in __tmp_reg__,__SREG__
 180 0102 F894      		cli
 181 0104 DEBF      		out __SP_H__,r29
 182 0106 0FBE      		out __SREG__,__tmp_reg__
 183 0108 CDBF      		out __SP_L__,r28
 184 010a DF91      		pop r29
 185 010c CF91      		pop r28
 186 010e 0895      		ret
 187               	/* epilogue end (size=9) */
 188               	/* function SendIRCodeStart size 35 (16) */
 189               	.LFE7:
 191               	.global	SendIRCodeStop
 193               	SendIRCodeStop:
 194               	.LFB8:
 195               	.LM30:
 196               	/* prologue: frame size=0 */
 197 0110 CF93      		push r28
 198 0112 DF93      		push r29
 199 0114 CDB7      		in r28,__SP_L__
 200 0116 DEB7      		in r29,__SP_H__
 201               	/* prologue end (size=4) */
 202               	.LM31:
 203 0118 1092 0000 		sts sendIRstate,__zero_reg__
 204               	.LM32:
 205 011c 8091 3200 		lds r24,50
 206 0120 8062      		ori r24,lo8(32)
 207 0122 8093 3200 		sts 50,r24
 208               	.LM33:
 209 0126 8091 5900 		lds r24,89
 210 012a 8E7F      		andi r24,lo8(-2)
 211 012c 8093 5900 		sts 89,r24
 212               	/* epilogue: frame size=0 */
 213 0130 DF91      		pop r29
 214 0132 CF91      		pop r28
 215 0134 0895      		ret
 216               	/* epilogue end (size=3) */
 217               	/* function SendIRCodeStop size 19 (12) */
 218               	.LFE8:
 220               	.global	SendIRByte
 222               	SendIRByte:
 223               	.LFB9:
 224               	.LM34:
 225               	/* prologue: frame size=1 */
 226 0136 CF93      		push r28
 227 0138 DF93      		push r29
 228 013a CDB7      		in r28,__SP_L__
 229 013c DEB7      		in r29,__SP_H__
 230 013e 2197      		sbiw r28,1
 231 0140 0FB6      		in __tmp_reg__,__SREG__
 232 0142 F894      		cli
 233 0144 DEBF      		out __SP_H__,r29
 234 0146 0FBE      		out __SREG__,__tmp_reg__
 235 0148 CDBF      		out __SP_L__,r28
 236               	/* prologue end (size=10) */
 237 014a 8983      		std Y+1,r24
 238               	.LM35:
 239 014c 8091 0000 		lds r24,sendIRbitcount
 240 0150 8823      		tst r24
 241 0152 31F4      		brne .L13
 242               	.LM36:
 243 0154 80E1      		ldi r24,lo8(16)
 244 0156 8093 0000 		sts sendIRbitcount,r24
 245               	.LM37:
 246 015a 8981      		ldd r24,Y+1
 247 015c 8093 0000 		sts sendIRdatatemp,r24
 248               	.L13:
 249               	.LM38:
 250 0160 8091 0000 		lds r24,sendIRbitcount
 251 0164 9927      		clr r25
 252 0166 8170      		andi r24,lo8(1)
 253 0168 9070      		andi r25,hi8(1)
 254 016a 0097      		sbiw r24,0
 255 016c B1F0      		breq .L14
 256               	.LM39:
 257 016e 8091 3200 		lds r24,50
 258 0172 8062      		ori r24,lo8(32)
 259 0174 8093 3200 		sts 50,r24
 260               	.LM40:
 261 0178 8091 0000 		lds r24,sendIRdatatemp
 262 017c 8823      		tst r24
 263 017e 24F4      		brge .L15
 264               	.LM41:
 265 0180 83E0      		ldi r24,lo8(3)
 266 0182 8093 0000 		sts sendIRintervaltimecount,r24
 267 0186 03C0      		rjmp .L16
 268               	.L15:
 269               	.LM42:
 270 0188 81E0      		ldi r24,lo8(1)
 271 018a 8093 0000 		sts sendIRintervaltimecount,r24
 272               	.L16:
 273               	.LM43:
 274 018e 8091 0000 		lds r24,sendIRdatatemp
 275 0192 880F      		lsl r24
 276 0194 8093 0000 		sts sendIRdatatemp,r24
 277 0198 08C0      		rjmp .L17
 278               	.L14:
 279               	.LM44:
 280 019a 8091 3200 		lds r24,50
 281 019e 8F7D      		andi r24,lo8(-33)
 282 01a0 8093 3200 		sts 50,r24
 283               	.LM45:
 284 01a4 81E0      		ldi r24,lo8(1)
 285 01a6 8093 0000 		sts sendIRintervaltimecount,r24
 286               	.L17:
 287               	.LM46:
 288 01aa 8091 0000 		lds r24,sendIRbitcount
 289 01ae 8150      		subi r24,lo8(-(-1))
 290 01b0 8093 0000 		sts sendIRbitcount,r24
 291               	.LM47:
 292 01b4 8091 0000 		lds r24,sendIRbitcount
 293 01b8 8823      		tst r24
 294 01ba 29F4      		brne .L12
 295               	.LM48:
 296 01bc 8091 0000 		lds r24,sendIRstate
 297 01c0 8F5F      		subi r24,lo8(-(1))
 298 01c2 8093 0000 		sts sendIRstate,r24
 299               	.L12:
 300               	/* epilogue: frame size=1 */
 301 01c6 2196      		adiw r28,1
 302 01c8 0FB6      		in __tmp_reg__,__SREG__
 303 01ca F894      		cli
 304 01cc DEBF      		out __SP_H__,r29
 305 01ce 0FBE      		out __SREG__,__tmp_reg__
 306 01d0 CDBF      		out __SP_L__,r28
 307 01d2 DF91      		pop r29
 308 01d4 CF91      		pop r28
 309 01d6 0895      		ret
 310               	/* epilogue end (size=9) */
 311               	/* function SendIRByte size 81 (62) */
 312               	.LFE9:
 314               	.global	__vector_11
 316               	__vector_11:
 317               	.LFB10:
 318               	.LM49:
 319               	/* prologue: frame size=2 */
 320 01d8 1F92      		push __zero_reg__
 321 01da 0F92      		push __tmp_reg__
 322 01dc 0FB6      		in __tmp_reg__,__SREG__
 323 01de 0F92      		push __tmp_reg__
 324 01e0 1124      		clr __zero_reg__
 325 01e2 2F93      		push r18
 326 01e4 3F93      		push r19
 327 01e6 4F93      		push r20
 328 01e8 5F93      		push r21
 329 01ea 6F93      		push r22
 330 01ec 7F93      		push r23
 331 01ee 8F93      		push r24
 332 01f0 9F93      		push r25
 333 01f2 AF93      		push r26
 334 01f4 BF93      		push r27
 335 01f6 EF93      		push r30
 336 01f8 FF93      		push r31
 337 01fa CF93      		push r28
 338 01fc DF93      		push r29
 339 01fe CDB7      		in r28,__SP_L__
 340 0200 DEB7      		in r29,__SP_H__
 341 0202 2297      		sbiw r28,2
 342 0204 DEBF      		out __SP_H__,r29
 343 0206 CDBF      		out __SP_L__,r28
 344               	/* prologue end (size=24) */
 345               	.LM50:
 346 0208 8AEF      		ldi r24,lo8(-6)
 347 020a 8093 5200 		sts 82,r24
 348               	.LM51:
 349 020e 8091 0000 		lds r24,sendIRstate
 350 0212 8823      		tst r24
 351 0214 09F4      		brne .+2
 352 0216 CEC0      		rjmp .L19
 353               	.LM52:
 354 0218 8091 0000 		lds r24,sendIRintervaltimecount
 355 021c 8150      		subi r24,lo8(-(-1))
 356 021e 8093 0000 		sts sendIRintervaltimecount,r24
 357               	.LM53:
 358 0222 8091 0000 		lds r24,sendIRintervaltimecount
 359 0226 8823      		tst r24
 360 0228 09F0      		breq .+2
 361 022a C4C0      		rjmp .L19
 362               	.LM54:
 363 022c 8091 0000 		lds r24,sendIRstate
 364 0230 282F      		mov r18,r24
 365 0232 3327      		clr r19
 366 0234 3A83      		std Y+2,r19
 367 0236 2983      		std Y+1,r18
 368 0238 8981      		ldd r24,Y+1
 369 023a 9A81      		ldd r25,Y+2
 370 023c 8630      		cpi r24,6
 371 023e 9105      		cpc r25,__zero_reg__
 372 0240 09F4      		brne .+2
 373 0242 7CC0      		rjmp .L29
 374 0244 2981      		ldd r18,Y+1

⌨️ 快捷键说明

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