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

📄 si4700.lst

📁 mega8控制的fm程序(SI4700)。
💻 LST
📖 第 1 页 / 共 4 页
字号:
   1               		.file	"si4700.c"
   2               		.arch atmega8
   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	g_vol_level
  19               		.data
  22               	g_vol_level:
  23 0000 08        		.byte	8
  24               	.global	g_space
  27               	g_space:
  28 0001 64        		.byte	100
  29               	.global	g_bandh
  32               	g_bandh:
  33 0002 E0A5 0100 		.long	108000
  34               	.global	g_bandl
  37               	g_bandl:
  38 0006 CC55 0100 		.long	87500
  39               		.text
  40               	.global	ResetSi4700_2w
  42               	ResetSi4700_2w:
  43               	.LFB6:
  44               	.LM1:
  45               	/* prologue: frame size=0 */
  46               	/* prologue end (size=0) */
  47               	.LM2:
  48 0000 8FEF      		ldi r24,lo8(-1)
  49 0002 85BB      		out 53-0x20,r24
  50               	.LM3:
  51 0004 84BB      		out 52-0x20,r24
  52               	.LM4:
  53 0006 AC98      		cbi 53-0x20,4
  54               	.LM5:
  55 0008 A998      		cbi 53-0x20,1
  56               	.LM6:
  57 000a AD9A      		sbi 53-0x20,5
  58               	.LM7:
  59 000c A99A      		sbi 53-0x20,1
  60               	.LM8:
  61 000e AC9A      		sbi 53-0x20,4
  62               	/* epilogue: frame size=0 */
  63 0010 0895      		ret
  64               	/* epilogue end (size=1) */
  65               	/* function ResetSi4700_2w size 9 (8) */
  66               	.LFE6:
  68               	.global	OperationSi4700_2w
  70               	OperationSi4700_2w:
  71               	.LFB7:
  72               	.LM9:
  73               	/* prologue: frame size=0 */
  74 0012 0F93      		push r16
  75 0014 1F93      		push r17
  76 0016 CF93      		push r28
  77 0018 DF93      		push r29
  78               	/* prologue end (size=4) */
  79 001a 582F      		mov r21,r24
  80 001c DB01      		movw r26,r22
  81               	.LM10:
  82 001e 00E0      		ldi r16,lo8(0)
  83               	.LM11:
  84 0020 AD9A      		sbi 53-0x20,5
  85               	.LM12:
  86 0022 AC9A      		sbi 53-0x20,4
  87               	.LM13:
  88 0024 AC98      		cbi 53-0x20,4
  89               	.LM14:
  90 0026 AD98      		cbi 53-0x20,5
  91               	.LM15:
  92 0028 8132      		cpi r24,lo8(33)
  93 002a 09F0      		breq .L22
  94               	.LM16:
  95 002c 80E2      		ldi r24,lo8(32)
  96               	.L22:
  97               	.LM17:
  98 002e 67E0      		ldi r22,lo8(7)
  99 0030 70E0      		ldi r23,hi8(7)
 100 0032 282F      		mov r18,r24
 101 0034 3327      		clr r19
 102               	.L32:
 103               	.LM18:
 104 0036 C901      		movw r24,r18
 105 0038 062E      		mov r0,r22
 106 003a 02C0      		rjmp 2f
 107 003c 9595      	1:	asr r25
 108 003e 8795      		ror r24
 109 0040 0A94      	2:	dec r0
 110 0042 E2F7      		brpl 1b
 111 0044 80FF      		sbrs r24,0
 112 0046 02C0      		rjmp .L26
 113 0048 AC9A      		sbi 53-0x20,4
 114 004a 01C0      		rjmp .L27
 115               	.L26:
 116 004c AC98      		cbi 53-0x20,4
 117               	.L27:
 118               	.LM19:
 119 004e AD9A      		sbi 53-0x20,5
 120               	.LM20:
 121 0050 AD98      		cbi 53-0x20,5
 122               	.LM21:
 123 0052 6150      		subi r22,lo8(-(-1))
 124 0054 7040      		sbci r23,hi8(-(-1))
 125 0056 77FF      		sbrs r23,7
 126 0058 EECF      		rjmp .L32
 127               	.LM22:
 128 005a A498      		cbi 52-0x20,4
 129               	.LM23:
 130 005c AD9A      		sbi 53-0x20,5
 131               	.LM24:
 132 005e 83B3      		in r24,51-0x20
 133 0060 9927      		clr r25
 134 0062 8071      		andi r24,lo8(16)
 135 0064 9070      		andi r25,hi8(16)
 136 0066 24E0      		ldi r18,4
 137 0068 9595      	1:	asr r25
 138 006a 8795      		ror r24
 139 006c 2A95      		dec r18
 140 006e E1F7      		brne 1b
 141 0070 0097      		sbiw r24,0
 142 0072 11F0      		breq .L37
 143               	.L82:
 144               	.LM25:
 145 0074 01E0      		ldi r16,lo8(1)
 146               	.LM26:
 147 0076 4EC0      		rjmp .L36
 148               	.L37:
 149               	.LM27:
 150 0078 AD98      		cbi 53-0x20,5
 151               	.LM28:
 152 007a 10E0      		ldi r17,lo8(0)
 153 007c 1417      		cp r17,r20
 154 007e 08F0      		brlo .+2
 155 0080 49C0      		rjmp .L36
 156 0082 E42F      		mov r30,r20
 157 0084 FF27      		clr r31
 158 0086 3197      		sbiw r30,1
 159 0088 EC01      		movw r28,r24
 160               	.L70:
 161               	.LM29:
 162 008a 5032      		cpi r21,lo8(32)
 163 008c 11F4      		brne .L42
 164               	.LM30:
 165 008e A49A      		sbi 52-0x20,4
 166 0090 01C0      		rjmp .L43
 167               	.L42:
 168               	.LM31:
 169 0092 A498      		cbi 52-0x20,4
 170               	.L43:
 171               	.LM32:
 172 0094 67E0      		ldi r22,lo8(7)
 173 0096 70E0      		ldi r23,hi8(7)
 174               	.L55:
 175               	.LM33:
 176 0098 5032      		cpi r21,lo8(32)
 177 009a 69F4      		brne .L47
 178               	.LM34:
 179 009c 8C91      		ld r24,X
 180 009e 9927      		clr r25
 181 00a0 062E      		mov r0,r22
 182 00a2 02C0      		rjmp 2f
 183 00a4 9595      	1:	asr r25
 184 00a6 8795      		ror r24
 185 00a8 0A94      	2:	dec r0
 186 00aa E2F7      		brpl 1b
 187 00ac 80FF      		sbrs r24,0
 188 00ae 02C0      		rjmp .L48
 189 00b0 AC9A      		sbi 53-0x20,4
 190 00b2 01C0      		rjmp .L47
 191               	.L48:
 192 00b4 AC98      		cbi 53-0x20,4
 193               	.L47:
 194               	.LM35:
 195 00b6 AD9A      		sbi 53-0x20,5
 196               	.LM36:
 197 00b8 5132      		cpi r21,lo8(33)
 198 00ba 81F4      		brne .L53
 199               	.LM37:
 200 00bc 8C91      		ld r24,X
 201 00be 282F      		mov r18,r24
 202 00c0 3327      		clr r19
 203 00c2 220F      		lsl r18
 204 00c4 331F      		rol r19
 205 00c6 83B3      		in r24,51-0x20
 206 00c8 9927      		clr r25
 207 00ca 8071      		andi r24,lo8(16)
 208 00cc 9070      		andi r25,hi8(16)
 209 00ce 34E0      		ldi r19,4
 210 00d0 9595      	1:	asr r25
 211 00d2 8795      		ror r24
 212 00d4 3A95      		dec r19
 213 00d6 E1F7      		brne 1b
 214 00d8 822B      		or r24,r18
 215 00da 8C93      		st X,r24
 216               	.L53:
 217               	.LM38:
 218 00dc AD98      		cbi 53-0x20,5
 219               	.LM39:
 220 00de 6150      		subi r22,lo8(-(-1))
 221 00e0 7040      		sbci r23,hi8(-(-1))
 222 00e2 77FF      		sbrs r23,7
 223 00e4 D9CF      		rjmp .L55
 224               	.LM40:
 225 00e6 5032      		cpi r21,lo8(32)
 226 00e8 11F4      		brne .L56
 227               	.LM41:
 228 00ea A498      		cbi 52-0x20,4
 229 00ec 07C0      		rjmp .L57
 230               	.L56:
 231               	.LM42:
 232 00ee A49A      		sbi 52-0x20,4
 233               	.LM43:
 234 00f0 CE17      		cp r28,r30
 235 00f2 DF07      		cpc r29,r31
 236 00f4 11F4      		brne .L62
 237               	.LM44:
 238 00f6 AC9A      		sbi 53-0x20,4
 239 00f8 01C0      		rjmp .L57
 240               	.L62:
 241               	.LM45:
 242 00fa AC98      		cbi 53-0x20,4
 243               	.L57:
 244               	.LM46:
 245 00fc AD9A      		sbi 53-0x20,5
 246               	.LM47:
 247 00fe 5032      		cpi r21,lo8(32)
 248 0100 11F4      		brne .L68
 249               	.LM48:
 250 0102 9C99      		sbic 51-0x20,4
 251 0104 B7CF      		rjmp .L82
 252               	.L68:
 253               	.LM49:
 254 0106 AD98      		cbi 53-0x20,5
 255               	.LM50:
 256 0108 1F5F      		subi r17,lo8(-(1))
 257 010a 2196      		adiw r28,1
 258 010c 1196      		adiw r26,1
 259 010e 1417      		cp r17,r20
 260 0110 08F4      		brsh .+2
 261 0112 BBCF      		rjmp .L70
 262               	.L36:
 263               	.LM51:
 264 0114 A49A      		sbi 52-0x20,4
 265               	.LM52:
 266 0116 AC98      		cbi 53-0x20,4
 267               	.LM53:
 268 0118 AD9A      		sbi 53-0x20,5
 269               	.LM54:
 270 011a AC9A      		sbi 53-0x20,4
 271               	.LM55:
 272 011c 802F      		mov r24,r16
 273 011e 9927      		clr r25
 274               	/* epilogue: frame size=0 */
 275 0120 DF91      		pop r29
 276 0122 CF91      		pop r28
 277 0124 1F91      		pop r17
 278 0126 0F91      		pop r16
 279 0128 0895      		ret
 280               	/* epilogue end (size=5) */
 281               	/* function OperationSi4700_2w size 140 (131) */
 282               	.LFE7:
 284               		.data
 285               	.LC0:
 286 000a 40        		.byte	64
 287 000b 01        		.byte	1
 288 000c 00        		.byte	0
 289 000d 00        		.byte	0
 290 000e 90        		.byte	-112
 291 000f 04        		.byte	4
 292 0010 0C        		.byte	12
 293 0011 18        		.byte	24
 294 0012 00        		.byte	0
 295 0013 20        		.byte	32
 296 0014 81        		.byte	-127
 297 0015 00        		.byte	0
 298               		.text
 299               	.global	Si4700_Intialization
 301               	Si4700_Intialization:
 302               	.LFB8:
 303               	.LM56:
 304               	/* prologue: frame size=40 */
 305 012a CF92      		push r12
 306 012c DF92      		push r13
 307 012e EF92      		push r14
 308 0130 FF92      		push r15
 309 0132 0F93      		push r16
 310 0134 1F93      		push r17
 311 0136 CF93      		push r28
 312 0138 DF93      		push r29
 313 013a CDB7      		in r28,__SP_L__
 314 013c DEB7      		in r29,__SP_H__
 315 013e A897      		sbiw r28,40
 316 0140 0FB6      		in __tmp_reg__,__SREG__
 317 0142 F894      		cli
 318 0144 DEBF      		out __SP_H__,r29
 319 0146 0FBE      		out __SREG__,__tmp_reg__
 320 0148 CDBF      		out __SP_L__,r28
 321               	/* prologue end (size=16) */
 322               	.LM57:
 323 014a 6E01      		movw r12,r28
 324 014c 0894      		sec
 325 014e C11C      		adc r12,__zero_reg__
 326 0150 D11C      		adc r13,__zero_reg__
 327 0152 D601      		movw r26,r12
 328 0154 E0E0      		ldi r30,lo8(.LC0)
 329 0156 F0E0      		ldi r31,hi8(.LC0)
 330 0158 8CE0      		ldi r24,lo8(12)
 331               	.L84:
 332               	.LM58:
 333 015a 0190      		ld r0,Z+
 334 015c 0D92      		st X+,r0
 335 015e 8150      		subi r24,lo8(-(-1))
 336 0160 E1F7      		brne .L84
 337               	.LM59:
 338 0162 3DE0      		ldi r19,lo8(13)
 339 0164 E32E      		mov r14,r19
 340 0166 F12C      		mov r15,__zero_reg__
 341 0168 EC0E      		add r14,r28
 342 016a FD1E      		adc r15,r29
 343 016c 8CE1      		ldi r24,lo8(28)
 344 016e F701      		movw r30,r14
 345 0170 1192      		st Z+,__zero_reg__
 346 0172 8A95      	        dec r24
 347 0174 E9F7      		brne .-6
 348               	.LM60:
 349 0176 8885      		ldd r24,Y+8
 350 0178 8F70      		andi r24,lo8(15)
 351 017a 8093 0000 		sts g_vol_level,r24
 352               	.LBB2:
 353               	.LBB3:
 354               	.LM61:
 355 017e 00E0      		ldi r16,lo8(0)
 356 0180 10E0      		ldi r17,hi8(0)
 357               	.LBB4:
 358               	.LBB5:
 359               	.LM62:
 360 0182 C801      		movw r24,r16
 361               	/* #APP */
 362 0184 0197      		1: sbiw r24,1
 363 0186 F1F7      		brne 1b
 364               	/* #NOAPP */
 365               	.LBE5:
 366               	.LBE4:
 367               	.LBE3:
 368               	.LBE2:
 369               	.LM63:
 370 0188 3BDF      		rcall ResetSi4700_2w
 371               	.LM64:
 372 018a 4CE0      		ldi r20,lo8(12)
 373 018c BE01      		movw r22,r28
 374 018e 6F5F      		subi r22,lo8(-(1))
 375 0190 7F4F      		sbci r23,hi8(-(1))
 376 0192 80E2      		ldi r24,lo8(32)
 377 0194 3EDF      		rcall OperationSi4700_2w
 378               	.LM65:
 379 0196 8823      		tst r24
 380 0198 A1F4      		brne .L83
 381               	.LBB6:
 382               	.LBB7:
 383               	.LBB8:
 384               	.LBB9:
 385               	.LM66:
 386 019a C801      		movw r24,r16
 387               	/* #APP */
 388 019c 0197      		1: sbiw r24,1
 389 019e F1F7      		brne 1b
 390               	/* #NOAPP */
 391               	.LBE9:
 392               	.LBE8:
 393               	.LBE7:
 394               	.LBE6:
 395               	.LM67:
 396 01a0 4AE1      		ldi r20,lo8(26)
 397 01a2 B701      		movw r22,r14
 398 01a4 81E2      		ldi r24,lo8(33)
 399 01a6 35DF      		rcall OperationSi4700_2w
 400               	.LM68:
 401 01a8 8823      		tst r24
 402 01aa 59F4      		brne .L83
 403               	.LM69:
 404 01ac 982F      		mov r25,r24
 405               	.L124:
 406               	.LM70:
 407 01ae 5D9B      		sbis 43-0x20,5
 408 01b0 FECF      		rjmp .L124
 409               	.LM71:
 410 01b2 F601      		movw r30,r12
 411 01b4 E90F      		add r30,r25
 412 01b6 F11D      		adc r31,__zero_reg__
 413 01b8 8485      		ldd r24,Z+12
 414 01ba 8CB9      		out 44-0x20,r24
 415               	.LM72:
 416 01bc 9F5F      		subi r25,lo8(-(1))
 417 01be 9A31      		cpi r25,lo8(26)
 418 01c0 B0F3      		brlo .L124
 419               	.L83:
 420               	/* epilogue: frame size=40 */
 421 01c2 A896      		adiw r28,40
 422 01c4 0FB6      		in __tmp_reg__,__SREG__
 423 01c6 F894      		cli

⌨️ 快捷键说明

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