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

📄 main.lst

📁 MEGEA64控制的TUNER程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
   1               		.file	"main.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	scl_delay
  20               	scl_delay:
  21               	.LFB12:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26               	/* #APP */
  27 0000 0000      		nop
  28 0002 0000      		nop
  29               	/* #NOAPP */
  30               	/* epilogue: frame size=0 */
  31 0004 0895      		ret
  32               	/* epilogue end (size=1) */
  33               	/* function scl_delay size 5 (4) */
  34               	.LFE12:
  36               	.global	delay_ms
  38               	delay_ms:
  39               	.LFB13:
  40               	.LM3:
  41               	/* prologue: frame size=4 */
  42 0006 CF93      		push r28
  43 0008 DF93      		push r29
  44 000a CDB7      		in r28,__SP_L__
  45 000c DEB7      		in r29,__SP_H__
  46 000e 2497      		sbiw r28,4
  47 0010 0FB6      		in __tmp_reg__,__SREG__
  48 0012 F894      		cli
  49 0014 DEBF      		out __SP_H__,r29
  50 0016 0FBE      		out __SREG__,__tmp_reg__
  51 0018 CDBF      		out __SP_L__,r28
  52               	/* prologue end (size=10) */
  53               	.LVL0:
  54 001a 9C01      		movw r18,r24
  55               	.LM4:
  56 001c 1C82      		std Y+4,__zero_reg__
  57 001e 1B82      		std Y+3,__zero_reg__
  58               	.LVL1:
  59 0020 8B81      		ldd r24,Y+3
  60 0022 9C81      		ldd r25,Y+4
  61               	.LVL2:
  62 0024 8217      		cp r24,r18
  63 0026 9307      		cpc r25,r19
  64 0028 00F4      		brsh .L6
  65               	.L7:
  66               	.LM5:
  67 002a 8B81      		ldd r24,Y+3
  68 002c 9C81      		ldd r25,Y+4
  69 002e 9A83      		std Y+2,r25
  70 0030 8983      		std Y+1,r24
  71               	.LVL3:
  72               	.LM6:
  73 0032 8B81      		ldd r24,Y+3
  74 0034 9C81      		ldd r25,Y+4
  75 0036 0196      		adiw r24,1
  76 0038 9C83      		std Y+4,r25
  77 003a 8B83      		std Y+3,r24
  78 003c 8B81      		ldd r24,Y+3
  79 003e 9C81      		ldd r25,Y+4
  80 0040 8217      		cp r24,r18
  81 0042 9307      		cpc r25,r19
  82 0044 00F0      		brlo .L7
  83               	.L6:
  84               	/* epilogue: frame size=4 */
  85 0046 2496      		adiw r28,4
  86 0048 0FB6      		in __tmp_reg__,__SREG__
  87 004a F894      		cli
  88 004c DEBF      		out __SP_H__,r29
  89 004e 0FBE      		out __SREG__,__tmp_reg__
  90 0050 CDBF      		out __SP_L__,r28
  91 0052 DF91      		pop r29
  92 0054 CF91      		pop r28
  93 0056 0895      		ret
  94               	/* epilogue end (size=9) */
  95               	/* function delay_ms size 41 (22) */
  96               	.LFE13:
  98               	.global	calc_divider
 100               	calc_divider:
 101               	.LFB14:
 102               	.LM7:
 103               	/* prologue: frame size=0 */
 104 0058 EF92      		push r14
 105 005a FF92      		push r15
 106 005c 0F93      		push r16
 107 005e 1F93      		push r17
 108               	/* prologue end (size=4) */
 109               	.LVL4:
 110               	.LM8:
 111 0060 E82F      		mov r30,r24
 112 0062 FF27      		clr r31
 113 0064 EE0F      		lsl r30
 114 0066 FF1F      		rol r31
 115 0068 EE0F      		lsl r30
 116 006a FF1F      		rol r31
 117 006c E050      		subi r30,lo8(-(freq))
 118 006e F040      		sbci r31,hi8(-(freq))
 119 0070 E080      		ld r14,Z
 120 0072 F180      		ldd r15,Z+1
 121 0074 0281      		ldd r16,Z+2
 122 0076 1381      		ldd r17,Z+3
 123 0078 EE0C      		lsl r14
 124 007a FF1C      		rol r15
 125 007c 001F      		rol r16
 126 007e 111F      		rol r17
 127 0080 EE0C      		lsl r14
 128 0082 FF1C      		rol r15
 129 0084 001F      		rol r16
 130 0086 111F      		rol r17
 131 0088 EE0C      		lsl r14
 132 008a FF1C      		rol r15
 133 008c 001F      		rol r16
 134 008e 111F      		rol r17
 135 0090 EE0C      		lsl r14
 136 0092 FF1C      		rol r15
 137 0094 001F      		rol r16
 138 0096 111F      		rol r17
 139               	.LVL5:
 140 0098 80E4      		ldi r24,lo8(622400)
 141 009a 9FE7      		ldi r25,hi8(622400)
 142 009c A9E0      		ldi r26,hlo8(622400)
 143 009e B0E0      		ldi r27,hhi8(622400)
 144 00a0 E80E      		add r14,r24
 145 00a2 F91E      		adc r15,r25
 146 00a4 0A1F      		adc r16,r26
 147 00a6 1B1F      		adc r17,r27
 148 00a8 C801      		movw r24,r16
 149 00aa B701      		movw r22,r14
 150 00ac 20E0      		ldi r18,lo8(256000)
 151 00ae 38EE      		ldi r19,hi8(256000)
 152 00b0 43E0      		ldi r20,hlo8(256000)
 153 00b2 50E0      		ldi r21,hhi8(256000)
 154 00b4 0E94 0000 		call __udivmodsi4
 155               	.LVL6:
 156 00b8 2F77      		andi r18,lo8(127)
 157 00ba 2093 0000 		sts Div1,r18
 158               	.LM9:
 159 00be C801      		movw r24,r16
 160 00c0 B701      		movw r22,r14
 161 00c2 28EE      		ldi r18,lo8(1000)
 162 00c4 33E0      		ldi r19,hi8(1000)
 163 00c6 40E0      		ldi r20,hlo8(1000)
 164 00c8 50E0      		ldi r21,hhi8(1000)
 165 00ca 0E94 0000 		call __udivmodsi4
 166 00ce 2093 0000 		sts Div2,r18
 167               	/* epilogue: frame size=0 */
 168 00d2 1F91      		pop r17
 169 00d4 0F91      		pop r16
 170 00d6 FF90      		pop r15
 171 00d8 EF90      		pop r14
 172 00da 0895      		ret
 173               	/* epilogue end (size=5) */
 174               	/* function calc_divider size 66 (57) */
 175               	.LFE14:
 177               	.global	SendByte
 179               	SendByte:
 180               	.LFB17:
 181               	.LM10:
 182               	/* prologue: frame size=0 */
 183 00dc 0F93      		push r16
 184 00de 1F93      		push r17
 185               	/* prologue end (size=2) */
 186               	.LVL7:
 187 00e0 182F      		mov r17,r24
 188 00e2 00E0      		ldi r16,lo8(0)
 189               	.LVL8:
 190 00e4 00C0      		rjmp .L13
 191               	.LVL9:
 192               	.L20:
 193               	.LM11:
 194 00e6 9198      		cbi 50-0x20,1
 195               	.L16:
 196               	.LM12:
 197 00e8 0E94 0000 		call scl_delay
 198               	.LM13:
 199 00ec 909A      		sbi 50-0x20,0
 200               	.LM14:
 201 00ee 0E94 0000 		call scl_delay
 202               	.LM15:
 203 00f2 9098      		cbi 50-0x20,0
 204               	.LM16:
 205 00f4 0E94 0000 		call scl_delay
 206               	.LM17:
 207 00f8 0F5F      		subi r16,lo8(-(1))
 208 00fa 0830      		cpi r16,lo8(8)
 209 00fc 01F0      		breq .L17
 210               	.LM18:
 211 00fe 110F      		lsl r17
 212               	.LVL10:
 213               	.L13:
 214               	.LM19:
 215 0100 17FF      		sbrs r17,7
 216 0102 00C0      		rjmp .L20
 217               	.LM20:
 218 0104 919A      		sbi 50-0x20,1
 219 0106 00C0      		rjmp .L16
 220               	.LVL11:
 221               	.L17:
 222               	.LM21:
 223 0108 919A      		sbi 50-0x20,1
 224               	.LM22:
 225 010a 0E94 0000 		call scl_delay
 226               	.LM23:
 227 010e 909A      		sbi 50-0x20,0
 228               	.LM24:
 229 0110 0E94 0000 		call scl_delay
 230               	.LM25:
 231 0114 9098      		cbi 50-0x20,0
 232               	.LM26:
 233 0116 0E94 0000 		call scl_delay
 234               	.LM27:
 235 011a 80E0      		ldi r24,lo8(0)
 236 011c 90E0      		ldi r25,hi8(0)
 237               	/* epilogue: frame size=0 */
 238 011e 1F91      		pop r17
 239 0120 0F91      		pop r16
 240 0122 0895      		ret
 241               	/* epilogue end (size=3) */
 242               	/* function SendByte size 36 (31) */
 243               	.LFE17:
 245               	.global	ReadByte
 247               	ReadByte:
 248               	.LFB18:
 249               	.LM28:
 250               	/* prologue: frame size=0 */
 251 0124 0F93      		push r16
 252 0126 1F93      		push r17
 253               	/* prologue end (size=2) */
 254               	.LM29:
 255 0128 8DEF      		ldi r24,lo8(-3)
 256 012a 81BB      		out 49-0x20,r24
 257               	.LM30:
 258 012c 8FEF      		ldi r24,lo8(-1)
 259 012e 82BB      		out 50-0x20,r24
 260 0130 00E0      		ldi r16,lo8(0)
 261               	.LVL12:
 262 0132 10E0      		ldi r17,lo8(0)
 263               	.LVL13:
 264 0134 00C0      		rjmp .L22
 265               	.LVL14:
 266               	.L31:
 267               	.LM31:
 268 0136 1160      		ori r17,lo8(1)
 269               	.LVL15:
 270               	.LM32:
 271 0138 0E94 0000 		call scl_delay
 272               	.LM33:
 273 013c 9098      		cbi 50-0x20,0
 274               	.LM34:
 275 013e 0E94 0000 		call scl_delay
 276               	.LM35:
 277 0142 0F5F      		subi r16,lo8(-(1))
 278 0144 0830      		cpi r16,lo8(8)
 279 0146 01F0      		breq .L30
 280               	.L22:
 281               	.LM36:
 282 0148 110F      		lsl r17
 283               	.LVL16:
 284               	.LM37:
 285 014a 909A      		sbi 50-0x20,0
 286               	.LM38:
 287 014c 0E94 0000 		call scl_delay
 288               	.LM39:
 289 0150 8199      		sbic 48-0x20,1
 290 0152 00C0      		rjmp .L31
 291               	.LM40:
 292 0154 1E7F      		andi r17,lo8(-2)
 293               	.LVL17:
 294               	.LM41:
 295 0156 0E94 0000 		call scl_delay
 296               	.LM42:
 297 015a 9098      		cbi 50-0x20,0
 298               	.LM43:
 299 015c 0E94 0000 		call scl_delay
 300               	.LM44:
 301 0160 0F5F      		subi r16,lo8(-(1))
 302 0162 0830      		cpi r16,lo8(8)
 303 0164 01F4      		brne .L22
 304               	.L30:
 305               	.LM45:
 306 0166 8FEF      		ldi r24,lo8(-1)
 307 0168 81BB      		out 49-0x20,r24
 308               	.LM46:
 309 016a 82BB      		out 50-0x20,r24
 310               	.LM47:
 311 016c 812F      		mov r24,r17
 312 016e 9927      		clr r25
 313               	/* epilogue: frame size=0 */
 314 0170 1F91      		pop r17
 315 0172 0F91      		pop r16
 316 0174 0895      		ret
 317               	/* epilogue end (size=3) */
 318               	/* function ReadByte size 41 (36) */
 319               	.LFE18:
 321               	.global	SendACK
 323               	SendACK:
 324               	.LFB19:
 325               	.LM48:
 326               	/* prologue: frame size=0 */
 327               	/* prologue end (size=0) */
 328               	.LM49:
 329 0176 9098      		cbi 50-0x20,0
 330               	.LM50:
 331 0178 0E94 0000 		call scl_delay
 332               	.LM51:
 333 017c 9198      		cbi 50-0x20,1
 334               	.LM52:
 335 017e 0E94 0000 		call scl_delay
 336               	.LM53:
 337 0182 909A      		sbi 50-0x20,0
 338               	.LM54:
 339 0184 0E94 0000 		call scl_delay
 340               	.LM55:
 341 0188 9098      		cbi 50-0x20,0
 342               	/* epilogue: frame size=0 */
 343 018a 0895      		ret
 344               	/* epilogue end (size=1) */
 345               	/* function SendACK size 11 (10) */
 346               	.LFE19:
 348               	.global	SendNoACK
 350               	SendNoACK:
 351               	.LFB20:
 352               	.LM56:
 353               	/* prologue: frame size=0 */
 354               	/* prologue end (size=0) */
 355               	.LM57:
 356 018c 9098      		cbi 50-0x20,0
 357               	.LM58:
 358 018e 0E94 0000 		call scl_delay
 359               	.LM59:
 360 0192 919A      		sbi 50-0x20,1
 361               	.LM60:
 362 0194 0E94 0000 		call scl_delay
 363               	.LM61:
 364 0198 909A      		sbi 50-0x20,0
 365               	.LM62:
 366 019a 0E94 0000 		call scl_delay
 367               	.LM63:
 368 019e 9098      		cbi 50-0x20,0
 369               	/* epilogue: frame size=0 */
 370 01a0 0895      		ret
 371               	/* epilogue end (size=1) */
 372               	/* function SendNoACK size 11 (10) */
 373               	.LFE20:
 375               	.global	Start
 377               	Start:
 378               	.LFB21:
 379               	.LM64:
 380               	/* prologue: frame size=0 */
 381               	/* prologue end (size=0) */
 382               	.LM65:
 383 01a2 919A      		sbi 50-0x20,1
 384               	.LM66:
 385 01a4 0E94 0000 		call scl_delay
 386               	.LM67:
 387 01a8 909A      		sbi 50-0x20,0
 388               	.LM68:
 389 01aa 0E94 0000 		call scl_delay
 390               	.LM69:
 391 01ae 9198      		cbi 50-0x20,1
 392               	.LM70:
 393 01b0 0E94 0000 		call scl_delay
 394               	.LM71:
 395 01b4 9098      		cbi 50-0x20,0
 396               	/* epilogue: frame size=0 */
 397 01b6 0895      		ret
 398               	/* epilogue end (size=1) */
 399               	/* function Start size 11 (10) */
 400               	.LFE21:
 402               	.global	Stop
 404               	Stop:
 405               	.LFB22:
 406               	.LM72:
 407               	/* prologue: frame size=0 */
 408               	/* prologue end (size=0) */
 409               	.LM73:
 410 01b8 9198      		cbi 50-0x20,1
 411               	.LM74:
 412 01ba 0E94 0000 		call scl_delay
 413               	.LM75:
 414 01be 909A      		sbi 50-0x20,0
 415               	.LM76:
 416 01c0 0E94 0000 		call scl_delay
 417               	.LM77:
 418 01c4 919A      		sbi 50-0x20,1
 419               	.LM78:
 420 01c6 0E94 0000 		call scl_delay

⌨️ 快捷键说明

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