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

📄 main.lst

📁 这是一个ATMEGA16单片机进行AD转换的源程序代码
💻 LST
字号:
   1               		.file	"main.c"
   2               		.arch atmega16
   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	read_adc
  20               	read_adc:
  21               	.LFB7:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 806C      		ori r24,lo8(-64)
  27 0002 87B9      		out 39-0x20,r24
  28               	.LM3:
  29 0004 369A      		sbi 38-0x20,6
  30               	.L2:
  31               	.LM4:
  32 0006 349B      		sbis 38-0x20,4
  33 0008 FECF      		rjmp .L2
  34               	.LM5:
  35 000a 349A      		sbi 38-0x20,4
  36               	.LM6:
  37 000c 84B1      		in r24,36-0x20
  38 000e 95B1      		in r25,(36)+1-0x20
  39               	/* epilogue: frame size=0 */
  40 0010 0895      		ret
  41               	/* epilogue end (size=1) */
  42               	/* function read_adc size 9 (8) */
  43               	.LFE7:
  45               	.global	read_adc_diff
  47               	read_adc_diff:
  48               	.LFB8:
  49               	.LM7:
  50               	/* prologue: frame size=0 */
  51               	/* prologue end (size=0) */
  52               	.LM8:
  53 0012 806C      		ori r24,lo8(-64)
  54 0014 87B9      		out 39-0x20,r24
  55               	.LBB2:
  56               	.LBB3:
  57               	.LM9:
  58 0016 8AEF      		ldi r24,lo8(250)
  59 0018 90E0      		ldi r25,hi8(250)
  60               	.LBB4:
  61               	.LBB5:
  62               	.LM10:
  63               	/* #APP */
  64 001a 0197      		1: sbiw r24,1
  65 001c F1F7      		brne 1b
  66               	/* #NOAPP */
  67               	.LBE5:
  68               	.LBE4:
  69               	.LBE3:
  70               	.LBE2:
  71               	.LM11:
  72 001e 369A      		sbi 38-0x20,6
  73               	.L14:
  74               	.LM12:
  75 0020 349B      		sbis 38-0x20,4
  76 0022 FECF      		rjmp .L14
  77               	.LM13:
  78 0024 349A      		sbi 38-0x20,4
  79               	.LM14:
  80 0026 369A      		sbi 38-0x20,6
  81               	.L17:
  82               	.LM15:
  83 0028 349B      		sbis 38-0x20,4
  84 002a FECF      		rjmp .L17
  85               	.LM16:
  86 002c 349A      		sbi 38-0x20,4
  87               	.LM17:
  88 002e 84B1      		in r24,36-0x20
  89 0030 95B1      		in r25,(36)+1-0x20
  90               	.LM18:
  91 0032 22E0      		ldi r18,hi8(512)
  92 0034 8030      		cpi r24,lo8(512)
  93 0036 9207      		cpc r25,r18
  94 0038 08F0      		brlo .L20
  95               	.LM19:
  96 003a 9C6F      		ori r25,hi8(-1024)
  97               	.L20:
  98               	.LM20:
  99 003c 0895      		ret
 100               	/* epilogue: frame size=0 */
 101 003e 0895      		ret
 102               	/* epilogue end (size=1) */
 103               	/* function read_adc_diff size 25 (24) */
 104               	.LFE8:
 106               	.global	__vector_14
 108               	__vector_14:
 109               	.LFB9:
 110               	.LM21:
 111               	/* prologue: frame size=0 */
 112 0040 1F92      		push __zero_reg__
 113 0042 0F92      		push __tmp_reg__
 114 0044 0FB6      		in __tmp_reg__,__SREG__
 115 0046 0F92      		push __tmp_reg__
 116 0048 1124      		clr __zero_reg__
 117 004a 8F93      		push r24
 118 004c 9F93      		push r25
 119               	/* prologue end (size=7) */
 120               	.LM22:
 121 004e 84B1      		in r24,36-0x20
 122 0050 95B1      		in r25,(36)+1-0x20
 123 0052 9093 0000 		sts (ADC_INT_SE)+1,r25
 124 0056 8093 0000 		sts ADC_INT_SE,r24
 125               	.LM23:
 126 005a 81E0      		ldi r24,lo8(1)
 127 005c 8093 0000 		sts ADC_OK,r24
 128               	/* epilogue: frame size=0 */
 129 0060 9F91      		pop r25
 130 0062 8F91      		pop r24
 131 0064 0F90      		pop __tmp_reg__
 132 0066 0FBE      		out __SREG__,__tmp_reg__
 133 0068 0F90      		pop __tmp_reg__
 134 006a 1F90      		pop __zero_reg__
 135 006c 1895      		reti
 136               	/* epilogue end (size=7) */
 137               	/* function __vector_14 size 23 (9) */
 138               	.LFE9:
 140               	.global	main
 142               	main:
 143               	.LFB10:
 144               	.LM24:
 145               	/* prologue: frame size=0 */
 146 006e C0E0      		ldi r28,lo8(__stack - 0)
 147 0070 D0E0      		ldi r29,hi8(__stack - 0)
 148 0072 DEBF      		out __SP_H__,r29
 149 0074 CDBF      		out __SP_L__,r28
 150               	/* prologue end (size=4) */
 151               	.LM25:
 152 0076 1092 0000 		sts (ADC_SingleEnded)+1,__zero_reg__
 153 007a 1092 0000 		sts ADC_SingleEnded,__zero_reg__
 154               	.LM26:
 155 007e 1092 0000 		sts (ADC_Diff)+1,__zero_reg__
 156 0082 1092 0000 		sts ADC_Diff,__zero_reg__
 157               	.LM27:
 158 0086 1092 0000 		sts (ADC_INT_SE)+1,__zero_reg__
 159 008a 1092 0000 		sts ADC_INT_SE,__zero_reg__
 160               	.LM28:
 161 008e 8FEF      		ldi r24,lo8(-1)
 162 0090 88BB      		out 56-0x20,r24
 163               	.LM29:
 164 0092 85BB      		out 53-0x20,r24
 165               	.LM30:
 166 0094 82BB      		out 50-0x20,r24
 167               	.LM31:
 168 0096 82EF      		ldi r24,lo8(-14)
 169 0098 8BBB      		out 59-0x20,r24
 170               	.LM32:
 171 009a 86E8      		ldi r24,lo8(-122)
 172 009c 86B9      		out 38-0x20,r24
 173               	.LM33:
 174               	/* #APP */
 175 009e 7894      		sei
 176               	/* #NOAPP */
 177               	.L23:
 178               	.LM34:
 179 00a0 80E0      		ldi r24,lo8(0)
 180 00a2 0E94 0000 		call read_adc
 181 00a6 9093 0000 		sts (ADC_SingleEnded)+1,r25
 182 00aa 8093 0000 		sts ADC_SingleEnded,r24
 183               	.LM35:
 184 00ae AA27      		clr r26
 185 00b0 BB27      		clr r27
 186 00b2 BC01      		movw r22,r24
 187 00b4 CD01      		movw r24,r26
 188 00b6 2CEF      		ldi r18,lo8(2556)
 189 00b8 39E0      		ldi r19,hi8(2556)
 190 00ba 40E0      		ldi r20,hlo8(2556)
 191 00bc 50E0      		ldi r21,hhi8(2556)
 192 00be 0E94 0000 		call __mulsi3
 193               	.LM36:
 194 00c2 9B01      		movw r18,r22
 195 00c4 AC01      		movw r20,r24
 196 00c6 97FF      		sbrs r25,7
 197 00c8 04C0      		rjmp .L25
 198 00ca 2150      		subi r18,lo8(-(1023))
 199 00cc 3C4F      		sbci r19,hi8(-(1023))
 200 00ce 4F4F      		sbci r20,hlo8(-(1023))
 201 00d0 5F4F      		sbci r21,hhi8(-(1023))
 202               	.L25:
 203 00d2 8AE0      		ldi r24,10
 204 00d4 5595      	1:	asr r21
 205 00d6 4795      		ror r20
 206 00d8 3795      		ror r19
 207 00da 2795      		ror r18
 208 00dc 8A95      		dec r24
 209 00de D1F7      		brne 1b
 210 00e0 3093 0000 		sts (LED_Volt)+1,r19
 211 00e4 2093 0000 		sts LED_Volt,r18
 212               	.LM37:
 213 00e8 8DE0      		ldi r24,lo8(13)
 214 00ea 0E94 0000 		call read_adc_diff
 215 00ee 9093 0000 		sts (ADC_Diff)+1,r25
 216 00f2 8093 0000 		sts ADC_Diff,r24
 217               	.LM38:
 218 00f6 8CE0      		ldi r24,lo8(12)
 219 00f8 0E94 0000 		call read_adc_diff
 220 00fc 2091 0000 		lds r18,ADC_Diff
 221 0100 3091 0000 		lds r19,(ADC_Diff)+1
 222 0104 281B      		sub r18,r24
 223 0106 390B      		sbc r19,r25
 224 0108 3093 0000 		sts (ADC_Diff)+1,r19
 225 010c 2093 0000 		sts ADC_Diff,r18
 226               	.LM39:
 227 0110 C901      		movw r24,r18
 228 0112 AA27      		clr r26
 229 0114 97FD      		sbrc r25,7
 230 0116 A095      		com r26
 231 0118 BA2F      		mov r27,r26
 232 011a BC01      		movw r22,r24
 233 011c CD01      		movw r24,r26
 234 011e 2CEF      		ldi r18,lo8(2556)
 235 0120 39E0      		ldi r19,hi8(2556)
 236 0122 40E0      		ldi r20,hlo8(2556)
 237 0124 50E0      		ldi r21,hhi8(2556)
 238 0126 0E94 0000 		call __mulsi3
 239               	.LM40:
 240 012a 20E0      		ldi r18,lo8(5120)
 241 012c 34E1      		ldi r19,hi8(5120)
 242 012e 40E0      		ldi r20,hlo8(5120)
 243 0130 50E0      		ldi r21,hhi8(5120)
 244 0132 0E94 0000 		call __divmodsi4
 245 0136 3093 0000 		sts (LED_Curr)+1,r19
 246 013a 2093 0000 		sts LED_Curr,r18
 247               	.LM41:
 248 013e 339A      		sbi 38-0x20,3
 249               	.LM42:
 250 0140 80EC      		ldi r24,lo8(-64)
 251 0142 87B9      		out 39-0x20,r24
 252               	.LM43:
 253 0144 1092 0000 		sts ADC_OK,__zero_reg__
 254               	.LM44:
 255 0148 369A      		sbi 38-0x20,6
 256               	.L26:
 257               	.LM45:
 258 014a 8091 0000 		lds r24,ADC_OK
 259 014e 8823      		tst r24
 260 0150 E1F3      		breq .L26
 261               	.LM46:
 262 0152 3398      		cbi 38-0x20,3
 263 0154 A5CF      		rjmp .L23
 264               	/* epilogue: frame size=0 */
 265               	/* epilogue: noreturn */
 266               	/* epilogue end (size=0) */
 267               	/* function main size 117 (113) */
 268               	.LFE10:
 270               		.comm ADC_SingleEnded,2,1
 271               		.comm ADC_Diff,2,1
 272               		.comm ADC_INT_SE,2,1
 273               		.comm ADC_OK,1,1
 274               		.comm LED_Volt,2,1
 275               		.comm LED_Curr,2,1
 276               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 main.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\armok\LOCALS~1\Temp/ccOibaaa.s:20     .text:00000000 read_adc
C:\DOCUME~1\armok\LOCALS~1\Temp/ccOibaaa.s:47     .text:00000012 read_adc_diff
C:\DOCUME~1\armok\LOCALS~1\Temp/ccOibaaa.s:108    .text:00000040 __vector_14
                            *COM*:00000002 ADC_INT_SE
                            *COM*:00000001 ADC_OK
C:\DOCUME~1\armok\LOCALS~1\Temp/ccOibaaa.s:142    .text:0000006e main
                            *COM*:00000002 ADC_SingleEnded
                            *COM*:00000002 ADC_Diff
                            *COM*:00000002 LED_Volt
                            *COM*:00000002 LED_Curr

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
__mulsi3
__divmodsi4

⌨️ 快捷键说明

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