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

📄 stxetx.lst

📁 AVRMEG32编写的一个项目代码,里面包含一般应用的模块.
💻 LST
字号:
   1               		.file	"stxetx.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	stxetxInit
  20               	stxetxInit:
  21               	.LFB2:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 9093 0000 		sts (stxetxDataOut)+1,r25
  27 0004 8093 0000 		sts stxetxDataOut,r24
  28               	/* epilogue: frame size=0 */
  29 0008 0895      		ret
  30               	/* epilogue end (size=1) */
  31               	/* function stxetxInit size 5 (4) */
  32               	.LFE2:
  34               	.global	stxetxSend
  36               	stxetxSend:
  37               	.LFB3:
  38               	.LM3:
  39               	/* prologue: frame size=0 */
  40 000a CF92      		push r12
  41 000c DF92      		push r13
  42 000e FF92      		push r15
  43 0010 0F93      		push r16
  44 0012 1F93      		push r17
  45 0014 CF93      		push r28
  46 0016 DF93      		push r29
  47               	/* prologue end (size=7) */
  48 0018 F82E      		mov r15,r24
  49 001a 062F      		mov r16,r22
  50 001c 142F      		mov r17,r20
  51 001e 6901      		movw r12,r18
  52               	.LM4:
  53 0020 E091 0000 		lds r30,stxetxDataOut
  54 0024 F091 0000 		lds r31,(stxetxDataOut)+1
  55 0028 82E0      		ldi r24,lo8(2)
  56 002a 0995      		icall
  57               	.LM5:
  58 002c E091 0000 		lds r30,stxetxDataOut
  59 0030 F091 0000 		lds r31,(stxetxDataOut)+1
  60 0034 8F2D      		mov r24,r15
  61 0036 0995      		icall
  62               	.LM6:
  63 0038 E091 0000 		lds r30,stxetxDataOut
  64 003c F091 0000 		lds r31,(stxetxDataOut)+1
  65 0040 802F      		mov r24,r16
  66 0042 0995      		icall
  67               	.LM7:
  68 0044 E091 0000 		lds r30,stxetxDataOut
  69 0048 F091 0000 		lds r31,(stxetxDataOut)+1
  70 004c 812F      		mov r24,r17
  71 004e 0995      		icall
  72               	.LM8:
  73 0050 F00E      		add r15,r16
  74 0052 F10E      		add r15,r17
  75               	.LM9:
  76 0054 C0E0      		ldi r28,lo8(0)
  77 0056 D0E0      		ldi r29,hi8(0)
  78 0058 012F      		mov r16,r17
  79 005a 1127      		clr r17
  80               	.L9:
  81               	.LM10:
  82 005c C017      		cp r28,r16
  83 005e D107      		cpc r29,r17
  84 0060 68F4      		brsh .L8
  85               	.LM11:
  86 0062 E091 0000 		lds r30,stxetxDataOut
  87 0066 F091 0000 		lds r31,(stxetxDataOut)+1
  88 006a D601      		movw r26,r12
  89 006c 8C91      		ld r24,X
  90 006e 0995      		icall
  91               	.LM12:
  92 0070 F601      		movw r30,r12
  93 0072 8191      		ld r24,Z+
  94 0074 6F01      		movw r12,r30
  95 0076 F80E      		add r15,r24
  96               	.LM13:
  97 0078 2196      		adiw r28,1
  98 007a F0CF      		rjmp .L9
  99               	.L8:
 100               	.LM14:
 101 007c E091 0000 		lds r30,stxetxDataOut
 102 0080 F091 0000 		lds r31,(stxetxDataOut)+1
 103 0084 8F2D      		mov r24,r15
 104 0086 0995      		icall
 105               	.LM15:
 106 0088 E091 0000 		lds r30,stxetxDataOut
 107 008c F091 0000 		lds r31,(stxetxDataOut)+1
 108 0090 83E0      		ldi r24,lo8(3)
 109 0092 0995      		icall
 110               	/* epilogue: frame size=0 */
 111 0094 DF91      		pop r29
 112 0096 CF91      		pop r28
 113 0098 1F91      		pop r17
 114 009a 0F91      		pop r16
 115 009c FF90      		pop r15
 116 009e DF90      		pop r13
 117 00a0 CF90      		pop r12
 118 00a2 0895      		ret
 119               	/* epilogue end (size=8) */
 120               	/* function stxetxSend size 77 (62) */
 121               	.LFE3:
 123               	.global	stxetxProcess
 125               	stxetxProcess:
 126               	.LFB4:
 127               	.LM16:
 128               	/* prologue: frame size=0 */
 129 00a4 AF92      		push r10
 130 00a6 BF92      		push r11
 131 00a8 CF92      		push r12
 132 00aa DF92      		push r13
 133 00ac EF92      		push r14
 134 00ae FF92      		push r15
 135 00b0 0F93      		push r16
 136 00b2 1F93      		push r17
 137 00b4 CF93      		push r28
 138 00b6 DF93      		push r29
 139               	/* prologue end (size=10) */
 140 00b8 EC01      		movw r28,r24
 141               	.LM17:
 142 00ba AA24      		clr r10
 143               	.L36:
 144               	.LM18:
 145 00bc 8C81      		ldd r24,Y+4
 146 00be 9D81      		ldd r25,Y+5
 147 00c0 0697      		sbiw r24,6
 148 00c2 08F4      		brsh .+2
 149 00c4 6BC0      		rjmp .L12
 150               	.LM19:
 151 00c6 60E0      		ldi r22,lo8(0)
 152 00c8 70E0      		ldi r23,hi8(0)
 153 00ca CE01      		movw r24,r28
 154 00cc 0E94 0000 		call bufferGetAtIndex
 155 00d0 8230      		cpi r24,lo8(2)
 156 00d2 09F0      		breq .+2
 157 00d4 5FC0      		rjmp .L13
 158               	.LM20:
 159 00d6 63E0      		ldi r22,lo8(3)
 160 00d8 70E0      		ldi r23,hi8(3)
 161 00da CE01      		movw r24,r28
 162 00dc 0E94 0000 		call bufferGetAtIndex
 163 00e0 B82E      		mov r11,r24
 164               	.LM21:
 165 00e2 E82E      		mov r14,r24
 166 00e4 FF24      		clr r15
 167 00e6 9701      		movw r18,r14
 168 00e8 2A5F      		subi r18,lo8(-(6))
 169 00ea 3F4F      		sbci r19,hi8(-(6))
 170 00ec 8C81      		ldd r24,Y+4
 171 00ee 9D81      		ldd r25,Y+5
 172 00f0 8217      		cp r24,r18
 173 00f2 9307      		cpc r25,r19
 174 00f4 08F4      		brsh .+2
 175 00f6 52C0      		rjmp .L12
 176               	.LM22:
 177 00f8 C701      		movw r24,r14
 178 00fa 0596      		adiw r24,5
 179 00fc BC01      		movw r22,r24
 180 00fe CE01      		movw r24,r28
 181 0100 0E94 0000 		call bufferGetAtIndex
 182 0104 8330      		cpi r24,lo8(3)
 183 0106 09F0      		breq .+2
 184 0108 45C0      		rjmp .L13
 185               	.LM23:
 186 010a DD24      		clr r13
 187               	.LM24:
 188 010c 20E0      		ldi r18,lo8(0)
 189 010e 30E0      		ldi r19,hi8(0)
 190 0110 8DEF      		ldi r24,lo8(-3)
 191 0112 E816      		cp r14,r24
 192 0114 8FEF      		ldi r24,hi8(-3)
 193 0116 F806      		cpc r15,r24
 194 0118 71F0      		breq .L33
 195               	.L19:
 196               	.LM25:
 197 011a 8901      		movw r16,r18
 198 011c 0F5F      		subi r16,lo8(-(1))
 199 011e 1F4F      		sbci r17,hi8(-(1))
 200 0120 B801      		movw r22,r16
 201 0122 CE01      		movw r24,r28
 202 0124 0E94 0000 		call bufferGetAtIndex
 203 0128 D80E      		add r13,r24
 204               	.LM26:
 205 012a 9801      		movw r18,r16
 206 012c C701      		movw r24,r14
 207 012e 0396      		adiw r24,3
 208 0130 0817      		cp r16,r24
 209 0132 1907      		cpc r17,r25
 210 0134 90F3      		brlo .L19
 211               	.L33:
 212               	.LM27:
 213 0136 EB2C      		mov r14,r11
 214 0138 FF24      		clr r15
 215 013a C701      		movw r24,r14
 216 013c 0496      		adiw r24,4
 217 013e BC01      		movw r22,r24
 218 0140 CE01      		movw r24,r28
 219 0142 0E94 0000 		call bufferGetAtIndex
 220 0146 D816      		cp r13,r24
 221 0148 29F5      		brne .L13
 222               	.LM28:
 223 014a 9FEF      		ldi r25,lo8(-1)
 224 014c A92E      		mov r10,r25
 225               	.LM29:
 226 014e 20E0      		ldi r18,lo8(0)
 227 0150 30E0      		ldi r19,hi8(0)
 228 0152 EDEF      		ldi r30,lo8(-3)
 229 0154 EE16      		cp r14,r30
 230 0156 EFEF      		ldi r30,hi8(-3)
 231 0158 FE06      		cpc r15,r30
 232 015a A1F0      		breq .L35
 233 015c 80E0      		ldi r24,lo8(stxetxRxPacket)
 234 015e C82E      		mov r12,r24
 235 0160 80E0      		ldi r24,hi8(stxetxRxPacket)
 236 0162 D82E      		mov r13,r24
 237               	.L24:
 238               	.LM30:
 239 0164 8901      		movw r16,r18
 240 0166 0F5F      		subi r16,lo8(-(1))
 241 0168 1F4F      		sbci r17,hi8(-(1))
 242 016a B801      		movw r22,r16
 243 016c CE01      		movw r24,r28
 244 016e 0E94 0000 		call bufferGetAtIndex
 245 0172 F601      		movw r30,r12
 246 0174 8193      		st Z+,r24
 247 0176 6F01      		movw r12,r30
 248               	.LM31:
 249 0178 9801      		movw r18,r16
 250 017a C701      		movw r24,r14
 251 017c 0396      		adiw r24,3
 252 017e 0817      		cp r16,r24
 253 0180 1907      		cpc r17,r25
 254 0182 80F3      		brlo .L24
 255               	.L35:
 256               	.LM32:
 257 0184 8B2D      		mov r24,r11
 258 0186 9927      		clr r25
 259 0188 0696      		adiw r24,6
 260 018a BC01      		movw r22,r24
 261 018c CE01      		movw r24,r28
 262 018e 0E94 0000 		call bufferDumpFromFront
 263               	.LM33:
 264 0192 04C0      		rjmp .L12
 265               	.L13:
 266               	.LM34:
 267 0194 CE01      		movw r24,r28
 268 0196 0E94 0000 		call bufferGetFromFront
 269 019a 90CF      		rjmp .L36
 270               	.L12:
 271               	.LM35:
 272 019c CE01      		movw r24,r28
 273 019e 0E94 0000 		call bufferIsNotFull
 274 01a2 8823      		tst r24
 275 01a4 19F4      		brne .L30
 276               	.LM36:
 277 01a6 CE01      		movw r24,r28
 278 01a8 0E94 0000 		call bufferFlush
 279               	.L30:
 280               	.LM37:
 281 01ac 8A2D      		mov r24,r10
 282 01ae 9927      		clr r25
 283               	/* epilogue: frame size=0 */
 284 01b0 DF91      		pop r29
 285 01b2 CF91      		pop r28
 286 01b4 1F91      		pop r17
 287 01b6 0F91      		pop r16
 288 01b8 FF90      		pop r15
 289 01ba EF90      		pop r14
 290 01bc DF90      		pop r13
 291 01be CF90      		pop r12
 292 01c0 BF90      		pop r11
 293 01c2 AF90      		pop r10
 294 01c4 0895      		ret
 295               	/* epilogue end (size=11) */
 296               	/* function stxetxProcess size 146 (125) */
 297               	.LFE4:
 299               	.global	stxetxGetRxPacketStatus
 301               	stxetxGetRxPacketStatus:
 302               	.LFB5:
 303               	.LM38:
 304               	/* prologue: frame size=0 */
 305               	/* prologue end (size=0) */
 306               	.LM39:
 307 01c6 8091 0000 		lds r24,stxetxRxPacket
 308               	.LM40:
 309 01ca 9927      		clr r25
 310               	/* epilogue: frame size=0 */
 311 01cc 0895      		ret
 312               	/* epilogue end (size=1) */
 313               	/* function stxetxGetRxPacketStatus size 4 (3) */
 314               	.LFE5:
 316               	.global	stxetxGetRxPacketType
 318               	stxetxGetRxPacketType:
 319               	.LFB6:
 320               	.LM41:
 321               	/* prologue: frame size=0 */
 322               	/* prologue end (size=0) */
 323               	.LM42:
 324 01ce 8091 0000 		lds r24,stxetxRxPacket+1
 325               	.LM43:
 326 01d2 9927      		clr r25
 327               	/* epilogue: frame size=0 */
 328 01d4 0895      		ret
 329               	/* epilogue end (size=1) */
 330               	/* function stxetxGetRxPacketType size 4 (3) */
 331               	.LFE6:
 333               	.global	stxetxGetRxPacketDatalength
 335               	stxetxGetRxPacketDatalength:
 336               	.LFB7:
 337               	.LM44:
 338               	/* prologue: frame size=0 */
 339               	/* prologue end (size=0) */
 340               	.LM45:
 341 01d6 8091 0000 		lds r24,stxetxRxPacket+2
 342               	.LM46:
 343 01da 9927      		clr r25
 344               	/* epilogue: frame size=0 */
 345 01dc 0895      		ret
 346               	/* epilogue end (size=1) */
 347               	/* function stxetxGetRxPacketDatalength size 4 (3) */
 348               	.LFE7:
 350               	.global	stxetxGetRxPacketData
 352               	stxetxGetRxPacketData:
 353               	.LFB8:
 354               	.LM47:
 355               	/* prologue: frame size=0 */
 356               	/* prologue end (size=0) */
 357               	.LM48:
 358 01de 80E0      		ldi r24,lo8(stxetxRxPacket+3)
 359 01e0 90E0      		ldi r25,hi8(stxetxRxPacket+3)
 360               	/* epilogue: frame size=0 */
 361 01e2 0895      		ret
 362               	/* epilogue end (size=1) */
 363               	/* function stxetxGetRxPacketData size 3 (2) */
 364               	.LFE8:
 366               		.lcomm stxetxDataOut,2
 367               		.comm stxetxRxPacket,96,1
 368               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 stxetx.c
  f:\temp/cciSaaaa.s:3      *ABS*:0000003f __SREG__
  f:\temp/cciSaaaa.s:4      *ABS*:0000003e __SP_H__
  f:\temp/cciSaaaa.s:5      *ABS*:0000003d __SP_L__
  f:\temp/cciSaaaa.s:6      *ABS*:00000000 __tmp_reg__
  f:\temp/cciSaaaa.s:7      *ABS*:00000001 __zero_reg__
  f:\temp/cciSaaaa.s:20     .text:00000000 stxetxInit
                             .bss:00000000 stxetxDataOut
  f:\temp/cciSaaaa.s:36     .text:0000000a stxetxSend
  f:\temp/cciSaaaa.s:125    .text:000000a4 stxetxProcess
                            *COM*:00000060 stxetxRxPacket
  f:\temp/cciSaaaa.s:301    .text:000001c6 stxetxGetRxPacketStatus
  f:\temp/cciSaaaa.s:318    .text:000001ce stxetxGetRxPacketType
  f:\temp/cciSaaaa.s:335    .text:000001d6 stxetxGetRxPacketDatalength
  f:\temp/cciSaaaa.s:352    .text:000001de stxetxGetRxPacketData

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
bufferGetAtIndex
bufferDumpFromFront
bufferGetFromFront
bufferIsNotFull
bufferFlush

⌨️ 快捷键说明

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