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

📄 buffer.lst

📁 AVRMEG32编写的一个项目代码,里面包含一般应用的模块.
💻 LST
字号:
   1               		.file	"buffer.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	bufferInit
  20               	bufferInit:
  21               	.LFB2:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25 0000 FC01      		movw r30,r24
  26               	.LM2:
  27 0002 7183      		std Z+1,r23
  28 0004 6083      		st Z,r22
  29               	.LM3:
  30 0006 5383      		std Z+3,r21
  31 0008 4283      		std Z+2,r20
  32               	.LM4:
  33 000a 1782      		std Z+7,__zero_reg__
  34 000c 1682      		std Z+6,__zero_reg__
  35               	.LM5:
  36 000e 1582      		std Z+5,__zero_reg__
  37 0010 1482      		std Z+4,__zero_reg__
  38               	/* epilogue: frame size=0 */
  39 0012 0895      		ret
  40               	/* epilogue end (size=1) */
  41               	/* function bufferInit size 10 (9) */
  42               	.LFE2:
  44               	.global	bufferGetFromFront
  46               	bufferGetFromFront:
  47               	.LFB3:
  48               	.LM6:
  49               	/* prologue: frame size=0 */
  50 0014 CF93      		push r28
  51 0016 DF93      		push r29
  52               	/* prologue end (size=2) */
  53 0018 EC01      		movw r28,r24
  54               	.LM7:
  55 001a E0E0      		ldi r30,lo8(0)
  56               	.LM8:
  57 001c 2C81      		ldd r18,Y+4
  58 001e 3D81      		ldd r19,Y+5
  59 0020 2115      		cp r18,__zero_reg__
  60 0022 3105      		cpc r19,__zero_reg__
  61 0024 B9F0      		breq .L3
  62               	.LM9:
  63 0026 8E81      		ldd r24,Y+6
  64 0028 9F81      		ldd r25,Y+7
  65 002a E881      		ld r30,Y
  66 002c F981      		ldd r31,Y+1
  67 002e E80F      		add r30,r24
  68 0030 F91F      		adc r31,r25
  69 0032 E081      		ld r30,Z
  70               	.LM10:
  71 0034 0196      		adiw r24,1
  72 0036 9F83      		std Y+7,r25
  73 0038 8E83      		std Y+6,r24
  74               	.LM11:
  75 003a 6A81      		ldd r22,Y+2
  76 003c 7B81      		ldd r23,Y+3
  77 003e 8617      		cp r24,r22
  78 0040 9707      		cpc r25,r23
  79 0042 20F0      		brlo .L4
  80               	.LM12:
  81 0044 0E94 0000 		call __udivmodhi4
  82 0048 9F83      		std Y+7,r25
  83 004a 8E83      		std Y+6,r24
  84               	.L4:
  85               	.LM13:
  86 004c 2150      		subi r18,lo8(-(-1))
  87 004e 3040      		sbci r19,hi8(-(-1))
  88 0050 3D83      		std Y+5,r19
  89 0052 2C83      		std Y+4,r18
  90               	.L3:
  91               	.LM14:
  92 0054 8E2F      		mov r24,r30
  93 0056 9927      		clr r25
  94               	/* epilogue: frame size=0 */
  95 0058 DF91      		pop r29
  96 005a CF91      		pop r28
  97 005c 0895      		ret
  98               	/* epilogue end (size=3) */
  99               	/* function bufferGetFromFront size 37 (32) */
 100               	.LFE3:
 102               	.global	bufferDumpFromFront
 104               	bufferDumpFromFront:
 105               	.LFB4:
 106               	.LM15:
 107               	/* prologue: frame size=0 */
 108 005e CF93      		push r28
 109 0060 DF93      		push r29
 110               	/* prologue end (size=2) */
 111 0062 FC01      		movw r30,r24
 112 0064 EB01      		movw r28,r22
 113               	.LM16:
 114 0066 2481      		ldd r18,Z+4
 115 0068 3581      		ldd r19,Z+5
 116 006a 6217      		cp r22,r18
 117 006c 7307      		cpc r23,r19
 118 006e A0F4      		brsh .L6
 119               	.LM17:
 120 0070 8681      		ldd r24,Z+6
 121 0072 9781      		ldd r25,Z+7
 122 0074 860F      		add r24,r22
 123 0076 971F      		adc r25,r23
 124 0078 9783      		std Z+7,r25
 125 007a 8683      		std Z+6,r24
 126               	.LM18:
 127 007c 6281      		ldd r22,Z+2
 128 007e 7381      		ldd r23,Z+3
 129 0080 8617      		cp r24,r22
 130 0082 9707      		cpc r25,r23
 131 0084 20F0      		brlo .L7
 132               	.LM19:
 133 0086 0E94 0000 		call __udivmodhi4
 134 008a 9783      		std Z+7,r25
 135 008c 8683      		std Z+6,r24
 136               	.L7:
 137               	.LM20:
 138 008e 2C1B      		sub r18,r28
 139 0090 3D0B      		sbc r19,r29
 140 0092 3583      		std Z+5,r19
 141 0094 2483      		std Z+4,r18
 142 0096 02C0      		rjmp .L5
 143               	.L6:
 144               	.LM21:
 145 0098 1582      		std Z+5,__zero_reg__
 146 009a 1482      		std Z+4,__zero_reg__
 147               	.L5:
 148               	/* epilogue: frame size=0 */
 149 009c DF91      		pop r29
 150 009e CF91      		pop r28
 151 00a0 0895      		ret
 152               	/* epilogue end (size=3) */
 153               	/* function bufferDumpFromFront size 34 (29) */
 154               	.LFE4:
 156               	.global	bufferGetAtIndex
 158               	bufferGetAtIndex:
 159               	.LFB5:
 160               	.LM22:
 161               	/* prologue: frame size=0 */
 162               	/* prologue end (size=0) */
 163 00a2 FC01      		movw r30,r24
 164               	.LM23:
 165 00a4 8681      		ldd r24,Z+6
 166 00a6 9781      		ldd r25,Z+7
 167 00a8 2281      		ldd r18,Z+2
 168 00aa 3381      		ldd r19,Z+3
 169 00ac 860F      		add r24,r22
 170 00ae 971F      		adc r25,r23
 171 00b0 B901      		movw r22,r18
 172 00b2 0E94 0000 		call __udivmodhi4
 173 00b6 0190      		ld __tmp_reg__,Z+
 174 00b8 F081      		ld r31,Z
 175 00ba E02D      		mov r30,__tmp_reg__
 176 00bc E80F      		add r30,r24
 177 00be F91F      		adc r31,r25
 178 00c0 8081      		ld r24,Z
 179               	.LM24:
 180 00c2 9927      		clr r25
 181               	/* epilogue: frame size=0 */
 182 00c4 0895      		ret
 183               	/* epilogue end (size=1) */
 184               	/* function bufferGetAtIndex size 18 (17) */
 185               	.LFE5:
 187               	.global	bufferAddToEnd
 189               	bufferAddToEnd:
 190               	.LFB6:
 191               	.LM25:
 192               	/* prologue: frame size=0 */
 193 00c6 CF93      		push r28
 194 00c8 DF93      		push r29
 195               	/* prologue end (size=2) */
 196 00ca EC01      		movw r28,r24
 197 00cc 462F      		mov r20,r22
 198               	.LM26:
 199 00ce 2C81      		ldd r18,Y+4
 200 00d0 3D81      		ldd r19,Y+5
 201 00d2 6A81      		ldd r22,Y+2
 202 00d4 7B81      		ldd r23,Y+3
 203 00d6 2617      		cp r18,r22
 204 00d8 3707      		cpc r19,r23
 205 00da 98F4      		brsh .L11
 206               	.LM27:
 207 00dc 8E81      		ldd r24,Y+6
 208 00de 9F81      		ldd r25,Y+7
 209 00e0 820F      		add r24,r18
 210 00e2 931F      		adc r25,r19
 211 00e4 0E94 0000 		call __udivmodhi4
 212 00e8 E881      		ld r30,Y
 213 00ea F981      		ldd r31,Y+1
 214 00ec E80F      		add r30,r24
 215 00ee F91F      		adc r31,r25
 216 00f0 4083      		st Z,r20
 217               	.LM28:
 218 00f2 8C81      		ldd r24,Y+4
 219 00f4 9D81      		ldd r25,Y+5
 220 00f6 0196      		adiw r24,1
 221 00f8 9D83      		std Y+5,r25
 222 00fa 8C83      		std Y+4,r24
 223               	.LM29:
 224 00fc 8FEF      		ldi r24,lo8(255)
 225 00fe 90E0      		ldi r25,hi8(255)
 226 0100 02C0      		rjmp .L10
 227               	.L11:
 228               	.LM30:
 229 0102 80E0      		ldi r24,lo8(0)
 230 0104 90E0      		ldi r25,hi8(0)
 231               	.L10:
 232               	/* epilogue: frame size=0 */
 233 0106 DF91      		pop r29
 234 0108 CF91      		pop r28
 235 010a 0895      		ret
 236               	/* epilogue end (size=3) */
 237               	/* function bufferAddToEnd size 35 (30) */
 238               	.LFE6:
 240               	.global	bufferIsNotFull
 242               	bufferIsNotFull:
 243               	.LFB7:
 244               	.LM31:
 245               	/* prologue: frame size=0 */
 246               	/* prologue end (size=0) */
 247 010c FC01      		movw r30,r24
 248               	.LM32:
 249 010e 40E0      		ldi r20,lo8(0)
 250 0110 50E0      		ldi r21,hi8(0)
 251 0112 2481      		ldd r18,Z+4
 252 0114 3581      		ldd r19,Z+5
 253 0116 8281      		ldd r24,Z+2
 254 0118 9381      		ldd r25,Z+3
 255 011a 2817      		cp r18,r24
 256 011c 3907      		cpc r19,r25
 257 011e 10F4      		brsh .L14
 258               	.LM33:
 259 0120 41E0      		ldi r20,lo8(1)
 260 0122 50E0      		ldi r21,hi8(1)
 261               	.L14:
 262               	.LM34:
 263 0124 CA01      		movw r24,r20
 264               	/* epilogue: frame size=0 */
 265 0126 0895      		ret
 266               	/* epilogue end (size=1) */
 267               	/* function bufferIsNotFull size 14 (13) */
 268               	.LFE7:
 270               	.global	bufferFlush
 272               	bufferFlush:
 273               	.LFB8:
 274               	.LM35:
 275               	/* prologue: frame size=0 */
 276               	/* prologue end (size=0) */
 277               	.LM36:
 278 0128 FC01      		movw r30,r24
 279 012a 1582      		std Z+5,__zero_reg__
 280 012c 1482      		std Z+4,__zero_reg__
 281               	/* epilogue: frame size=0 */
 282 012e 0895      		ret
 283               	/* epilogue end (size=1) */
 284               	/* function bufferFlush size 4 (3) */
 285               	.LFE8:
 287               	.global	bufferGetDataLength
 289               	bufferGetDataLength:
 290               	.LFB9:
 291               	.LM37:
 292               	/* prologue: frame size=0 */
 293               	/* prologue end (size=0) */
 294               	.LM38:
 295 0130 FC01      		movw r30,r24
 296 0132 8481      		ldd r24,Z+4
 297 0134 9581      		ldd r25,Z+5
 298               	/* epilogue: frame size=0 */
 299 0136 0895      		ret
 300               	/* epilogue end (size=1) */
 301               	/* function bufferGetDataLength size 4 (3) */
 302               	.LFE9:
 304               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 buffer.c
  f:\temp/cc4iaaaa.s:3      *ABS*:0000003f __SREG__
  f:\temp/cc4iaaaa.s:4      *ABS*:0000003e __SP_H__
  f:\temp/cc4iaaaa.s:5      *ABS*:0000003d __SP_L__
  f:\temp/cc4iaaaa.s:6      *ABS*:00000000 __tmp_reg__
  f:\temp/cc4iaaaa.s:7      *ABS*:00000001 __zero_reg__
  f:\temp/cc4iaaaa.s:20     .text:00000000 bufferInit
  f:\temp/cc4iaaaa.s:46     .text:00000014 bufferGetFromFront
  f:\temp/cc4iaaaa.s:104    .text:0000005e bufferDumpFromFront
  f:\temp/cc4iaaaa.s:158    .text:000000a2 bufferGetAtIndex
  f:\temp/cc4iaaaa.s:189    .text:000000c6 bufferAddToEnd
  f:\temp/cc4iaaaa.s:242    .text:0000010c bufferIsNotFull
  f:\temp/cc4iaaaa.s:272    .text:00000128 bufferFlush
  f:\temp/cc4iaaaa.s:289    .text:00000130 bufferGetDataLength

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodhi4

⌨️ 快捷键说明

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