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

📄 can.lst

📁 AT90CAN128的CAN通信源码测试成功
💻 LST
📖 第 1 页 / 共 3 页
字号:
   1               		.file	"can.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__CCP__  = 0x34
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  17               	.Ltext0:
  18               	.global	read_address
  20               	read_address:
  21               	.LFB6:
  22               	.LM1:
  23               	/* prologue: function */
  24               	/* frame size = 0 */
  25               	.LM2:
  26 0000 17B8      		out 39-32,__zero_reg__
  27               	.LM3:
  28 0002 8FEF      		ldi r24,lo8(-1)
  29 0004 88B9      		out 40-32,r24
  30               	.LM4:
  31 0006 86B1      		in r24,38-32
  32               	.LVL0:
  33               	.LM5:
  34 0008 8093 0000 		sts address,r24
  35               	/* epilogue start */
  36               	.LM6:
  37 000c 0895      		ret
  38               	.LFE6:
  40               	.global	can_baudrate
  42               	can_baudrate:
  43               	.LFB7:
  44               	.LM7:
  45 000e DF93      		push r29
  46 0010 CF93      		push r28
  47 0012 CDB7      		in r28,__SP_L__
  48 0014 DEB7      		in r29,__SP_H__
  49 0016 2897      		sbiw r28,8
  50 0018 0FB6      		in __tmp_reg__,__SREG__
  51 001a F894      		cli
  52 001c DEBF      		out __SP_H__,r29
  53 001e 0FBE      		out __SREG__,__tmp_reg__
  54 0020 CDBF      		out __SP_L__,r28
  55               	/* prologue: function */
  56               	/* frame size = 8 */
  57               	.LM8:
  58 0022 DE01      		movw r26,r28
  59 0024 1196      		adiw r26,1
  60 0026 E0E0      		ldi r30,lo8(C.0.1273)
  61 0028 F0E0      		ldi r31,hi8(C.0.1273)
  62 002a 88E0      		ldi r24,lo8(8)
  63               	.L4:
  64 002c 0190      		ld r0,Z+
  65 002e 0D92      		st X+,r0
  66 0030 8150      		subi r24,lo8(-(-1))
  67 0032 01F4      		brne .L4
  68 0034 FE01      		movw r30,r28
  69 0036 3196      		adiw r30,1
  70 0038 20E0      		ldi r18,lo8(0)
  71               	.LVL1:
  72               	.L6:
  73               	.LM9:
  74 003a 6081      		ld r22,Z
  75 003c 80E3      		ldi r24,lo8(48)
  76 003e 90E0      		ldi r25,hi8(48)
  77 0040 70E0      		ldi r23,lo8(0)
  78 0042 0E94 0000 		call __divmodhi4
  79 0046 892B      		or r24,r25
  80 0048 01F0      		breq .L5
  81               	.LM10:
  82 004a 2F5F      		subi r18,lo8(-(1))
  83 004c 3196      		adiw r30,1
  84 004e 2830      		cpi r18,lo8(8)
  85 0050 01F4      		brne .L6
  86               	.L5:
  87               	.LM11:
  88 0052 FE01      		movw r30,r28
  89 0054 E20F      		add r30,r18
  90 0056 F11D      		adc r31,__zero_reg__
  91 0058 2181      		ldd r18,Z+1
  92               	.LVL2:
  93 005a 822F      		mov r24,r18
  94 005c 63E0      		ldi r22,lo8(3)
  95 005e 0E94 0000 		call __udivmodqi4
  96 0062 E82F      		mov r30,r24
  97               	.LM12:
  98 0064 80E3      		ldi r24,lo8(48)
  99 0066 90E0      		ldi r25,hi8(48)
 100 0068 622F      		mov r22,r18
 101 006a 70E0      		ldi r23,lo8(0)
 102 006c 0E94 0000 		call __divmodhi4
 103 0070 6150      		subi r22,lo8(-(-1))
 104 0072 660F      		lsl r22
 105 0074 6093 E200 		sts 226,r22
 106               	.LM13:
 107 0078 2E1B      		sub r18,r30
 108 007a 2E1B      		sub r18,r30
 109 007c 2150      		subi r18,lo8(-(-1))
 110 007e 30E0      		ldi r19,lo8(0)
 111 0080 2150      		subi r18,lo8(-(-1))
 112 0082 3040      		sbci r19,hi8(-(-1))
 113 0084 220F      		lsl r18
 114 0086 331F      		rol r19
 115 0088 2093 E300 		sts 227,r18
 116               	.LM14:
 117 008c F0E0      		ldi r31,lo8(0)
 118 008e 3197      		sbiw r30,1
 119 0090 CF01      		movw r24,r30
 120 0092 880F      		lsl r24
 121 0094 991F      		rol r25
 122 0096 94E0      		ldi r25,4
 123 0098 EE0F      	1:	lsl r30
 124 009a FF1F      		rol r31
 125 009c 9A95      		dec r25
 126 009e 01F4      		brne 1b
 127 00a0 E82B      		or r30,r24
 128 00a2 E160      		ori r30,lo8(1)
 129 00a4 E093 E400 		sts 228,r30
 130               	/* epilogue start */
 131               	.LM15:
 132 00a8 2896      		adiw r28,8
 133 00aa 0FB6      		in __tmp_reg__,__SREG__
 134 00ac F894      		cli
 135 00ae DEBF      		out __SP_H__,r29
 136 00b0 0FBE      		out __SREG__,__tmp_reg__
 137 00b2 CDBF      		out __SP_L__,r28
 138 00b4 CF91      		pop r28
 139 00b6 DF91      		pop r29
 140 00b8 0895      		ret
 141               	.LFE7:
 143               	.global	init_CAN
 145               	init_CAN:
 146               	.LFB8:
 147               	.LM16:
 148 00ba CF92      		push r12
 149 00bc DF92      		push r13
 150 00be EF92      		push r14
 151 00c0 FF92      		push r15
 152 00c2 0F93      		push r16
 153 00c4 1F93      		push r17
 154 00c6 CF93      		push r28
 155 00c8 DF93      		push r29
 156               	/* prologue: function */
 157               	/* frame size = 0 */
 158               	.LM17:
 159 00ca 08ED      		ldi r16,lo8(216)
 160 00cc 10E0      		ldi r17,hi8(216)
 161 00ce E801      		movw r28,r16
 162 00d0 8881      		ld r24,Y
 163 00d2 8160      		ori r24,lo8(1)
 164 00d4 8883      		st Y,r24
 165               	.LM18:
 166 00d6 0E94 0000 		call can_baudrate
 167               	.LM19:
 168 00da 1092 E500 		sts 229,__zero_reg__
 169               	.LM20:
 170 00de 2DEE      		ldi r18,lo8(237)
 171 00e0 30E0      		ldi r19,hi8(237)
 172 00e2 F901      		movw r30,r18
 173 00e4 1082      		st Z,__zero_reg__
 174               	.LM21:
 175 00e6 6EEE      		ldi r22,lo8(238)
 176 00e8 C62E      		mov r12,r22
 177 00ea D12C      		mov r13,__zero_reg__
 178 00ec E601      		movw r28,r12
 179 00ee 1882      		st Y,__zero_reg__
 180               	.LM22:
 181 00f0 AFEE      		ldi r26,lo8(239)
 182 00f2 B0E0      		ldi r27,hi8(239)
 183 00f4 98E1      		ldi r25,lo8(24)
 184 00f6 9C93      		st X,r25
 185               	.LM23:
 186 00f8 8091 0000 		lds r24,rx_ID+6
 187 00fc 880F      		lsl r24
 188 00fe 880F      		lsl r24
 189 0100 880F      		lsl r24
 190 0102 50EF      		ldi r21,lo8(240)
 191 0104 E52E      		mov r14,r21
 192 0106 F12C      		mov r15,__zero_reg__
 193 0108 F701      		movw r30,r14
 194 010a 8083      		st Z,r24
 195               	.LM24:
 196 010c 8091 0000 		lds r24,rx_ID+4
 197 0110 61EF      		ldi r22,lo8(241)
 198 0112 70E0      		ldi r23,hi8(241)
 199 0114 EB01      		movw r28,r22
 200 0116 8883      		st Y,r24
 201               	.LM25:
 202 0118 8091 0000 		lds r24,rx_ID+2
 203 011c 42EF      		ldi r20,lo8(242)
 204 011e 50E0      		ldi r21,hi8(242)
 205 0120 FA01      		movw r30,r20
 206 0122 8083      		st Z,r24
 207               	.LM26:
 208 0124 8091 0000 		lds r24,rx_ID
 209 0128 E3EF      		ldi r30,lo8(243)
 210 012a F0E0      		ldi r31,hi8(243)
 211 012c 8083      		st Z,r24
 212               	.LM27:
 213 012e 8FEF      		ldi r24,lo8(-1)
 214 0130 8093 F400 		sts 244,r24
 215               	.LM28:
 216 0134 8093 F500 		sts 245,r24
 217               	.LM29:
 218 0138 8093 F600 		sts 246,r24
 219               	.LM30:
 220 013c 8093 F700 		sts 247,r24
 221               	.LM31:
 222 0140 80E4      		ldi r24,lo8(64)
 223 0142 E901      		movw r28,r18
 224 0144 8883      		st Y,r24
 225               	.LM32:
 226 0146 E601      		movw r28,r12
 227 0148 1882      		st Y,__zero_reg__
 228               	.LM33:
 229 014a 9C93      		st X,r25
 230               	.LM34:
 231 014c 8091 0000 		lds r24,tx_ID+6
 232 0150 880F      		lsl r24
 233 0152 880F      		lsl r24
 234 0154 880F      		lsl r24
 235 0156 E701      		movw r28,r14
 236 0158 8883      		st Y,r24
 237               	.LM35:
 238 015a 8091 0000 		lds r24,tx_ID+4
 239 015e EB01      		movw r28,r22
 240 0160 8883      		st Y,r24
 241               	.LM36:
 242 0162 8091 0000 		lds r24,tx_ID+2
 243 0166 EA01      		movw r28,r20
 244 0168 8883      		st Y,r24
 245               	.LM37:
 246 016a 8091 0000 		lds r24,tx_ID
 247 016e 8083      		st Z,r24
 248               	.LM38:
 249 0170 EBED      		ldi r30,lo8(219)
 250 0172 F0E0      		ldi r31,hi8(219)
 251 0174 8081      		ld r24,Z
 252 0176 806B      		ori r24,lo8(-80)
 253 0178 8083      		st Z,r24
 254               	.LM39:
 255 017a EEED      		ldi r30,lo8(222)
 256 017c F0E0      		ldi r31,hi8(222)
 257 017e 8081      		ld r24,Z
 258 0180 8161      		ori r24,lo8(17)
 259 0182 8083      		st Z,r24
 260               	.LM40:
 261 0184 F901      		movw r30,r18
 262 0186 1082      		st Z,__zero_reg__
 263               	.LM41:
 264 0188 8C91      		ld r24,X
 265 018a 8068      		ori r24,lo8(-128)
 266 018c 8C93      		st X,r24
 267               	.LM42:
 268 018e E801      		movw r28,r16
 269 0190 8881      		ld r24,Y
 270 0192 8260      		ori r24,lo8(2)
 271 0194 8883      		st Y,r24
 272               	/* epilogue start */
 273               	.LM43:
 274 0196 DF91      		pop r29
 275 0198 CF91      		pop r28
 276 019a 1F91      		pop r17
 277 019c 0F91      		pop r16
 278 019e FF90      		pop r15
 279 01a0 EF90      		pop r14
 280 01a2 DF90      		pop r13
 281 01a4 CF90      		pop r12
 282 01a6 0895      		ret
 283               	.LFE8:
 285               	.global	can_rx_deal
 287               	can_rx_deal:
 288               	.LFB9:
 289               	.LM44:
 290               	/* prologue: function */
 291               	/* frame size = 0 */
 292               	.LM45:
 293 01a8 8091 0000 		lds r24,can_rx_data
 294 01ac 8C3C      		cpi r24,lo8(-52)
 295 01ae 01F4      		brne .L13
 296               	.LM46:
 297 01b0 8091 0000 		lds r24,can_rx_data+2
 298 01b4 8230      		cpi r24,lo8(2)
 299 01b6 01F0      		breq .L16
 300 01b8 803A      		cpi r24,lo8(-96)
 301 01ba 01F0      		breq .L17
 302 01bc 8130      		cpi r24,lo8(1)
 303 01be 01F4      		brne .L18
 304               	.LM47:
 305 01c0 8093 0000 		sts close_flag,r24
 306 01c4 0895      		ret
 307               	.L16:
 308               	.LM48:
 309 01c6 81E0      		ldi r24,lo8(1)
 310 01c8 8093 0000 		sts open_flag,r24
 311 01cc 0895      		ret
 312               	.L17:
 313               	.LM49:
 314 01ce 81E0      		ldi r24,lo8(1)
 315 01d0 8093 0000 		sts ad_flag,r24
 316 01d4 0895      		ret
 317               	.L13:
 318               	.LM50:
 319 01d6 8091 0000 		lds r24,can_rx_data
 320 01da 8D3D      		cpi r24,lo8(-35)
 321 01dc 01F4      		brne .L18
 322               	.LM51:
 323 01de 9091 0000 		lds r25,can_rx_data+1
 324 01e2 8091 0000 		lds r24,address
 325 01e6 9817      		cp r25,r24
 326 01e8 01F4      		brne .L18
 327               	.LM52:
 328 01ea 8091 0000 		lds r24,can_rx_data+2
 329               	.L18:
 330 01ee 0895      		ret
 331               	.LFE9:
 333               	.global	__vector_18
 335               	__vector_18:
 336               	.LFB10:
 337               	.LM53:
 338 01f0 1F92      		push __zero_reg__
 339 01f2 0F92      		push r0
 340 01f4 0FB6      		in r0,__SREG__
 341 01f6 0F92      		push r0
 342 01f8 1124      		clr __zero_reg__
 343 01fa 2F93      		push r18
 344 01fc 3F93      		push r19
 345 01fe 4F93      		push r20
 346 0200 5F93      		push r21
 347 0202 6F93      		push r22
 348 0204 7F93      		push r23
 349 0206 8F93      		push r24
 350 0208 9F93      		push r25
 351 020a AF93      		push r26
 352 020c BF93      		push r27
 353 020e EF93      		push r30
 354 0210 FF93      		push r31
 355               	/* prologue: Signal */
 356               	/* frame size = 0 */
 357               	.LM54:
 358 0212 8091 DB00 		lds r24,219
 359 0216 8F7D      		andi r24,lo8(-33)
 360 0218 8093 DB00 		sts 219,r24
 361               	.LM55:
 362 021c 8091 E000 		lds r24,224
 363               	.LVL3:
 364               	.LM56:
 365 0220 80FF      		sbrs r24,0
 366 0222 00C0      		rjmp .L20
 367               	.LVL4:
 368               	.LM57:
 369 0224 8091 EE00 		lds r24,238
 370 0228 85FF      		sbrs r24,5
 371 022a 00C0      		rjmp .L21
 372               	.LM58:
 373 022c 1092 ED00 		sts 237,__zero_reg__
 374 0230 20E0      		ldi r18,lo8(0)
 375 0232 30E0      		ldi r19,hi8(0)
 376               	.L22:
 377               	.LM59:
 378 0234 8091 FA00 		lds r24,250
 379 0238 F901      		movw r30,r18
 380 023a E050      		subi r30,lo8(-(can_rx_data))
 381 023c F040      		sbci r31,hi8(-(can_rx_data))
 382 023e 8083      		st Z,r24
 383 0240 2F5F      		subi r18,lo8(-(1))
 384 0242 3F4F      		sbci r19,hi8(-(1))
 385               	.LM60:
 386 0244 2830      		cpi r18,8
 387 0246 3105      		cpc r19,__zero_reg__
 388 0248 01F4      		brne .L22
 389               	.LM61:
 390 024a 0E94 0000 		call can_rx_deal
 391               	.LM62:
 392 024e 1092 ED00 		sts 237,__zero_reg__
 393               	.LM63:
 394 0252 8091 EE00 		lds r24,238
 395 0256 8F7D      		andi r24,lo8(-33)
 396 0258 8093 EE00 		sts 238,r24
 397               	.LM64:
 398 025c 88E9      		ldi r24,lo8(-104)
 399 025e 8093 EF00 		sts 239,r24
 400               	.L21:
 401               	.LM65:
 402 0262 8091 EE00 		lds r24,238

⌨️ 快捷键说明

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