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

📄 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.1272)
  61 0028 F0E0      		ldi r31,hi8(C.0.1272)
  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 8883      		st Y,r24
 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 806A      		ori r24,lo8(-96)
 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 8160      		ori r24,lo8(1)
 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+1
 298 01b4 803B      		cpi r24,lo8(-80)
 299 01b6 01F0      		breq .L16
 300 01b8 883B      		cpi r24,lo8(-72)
 301 01ba 01F0      		breq .L17
 302 01bc 803A      		cpi r24,lo8(-96)
 303 01be 01F4      		brne .L18
 304 01c0 00C0      		rjmp .L19
 305               	.L16:
 306               	.LM47:
 307 01c2 81E0      		ldi r24,lo8(1)
 308 01c4 8093 0000 		sts close_flag,r24
 309 01c8 0895      		ret
 310               	.L17:
 311               	.LM48:
 312 01ca 81E0      		ldi r24,lo8(1)
 313 01cc 8093 0000 		sts open_flag,r24
 314 01d0 0895      		ret
 315               	.L19:
 316               	.LM49:
 317 01d2 81E0      		ldi r24,lo8(1)
 318 01d4 8093 0000 		sts ad_flag,r24
 319 01d8 0895      		ret
 320               	.L13:
 321               	.LM50:
 322 01da 8091 0000 		lds r24,can_rx_data
 323 01de 8D3D      		cpi r24,lo8(-35)
 324 01e0 01F4      		brne .L18
 325               	.LM51:
 326 01e2 9091 0000 		lds r25,can_rx_data+1
 327 01e6 8091 0000 		lds r24,address
 328 01ea 9817      		cp r25,r24
 329 01ec 01F4      		brne .L18
 330               	.LM52:
 331 01ee 8091 0000 		lds r24,can_rx_data+2
 332               	.L18:
 333 01f2 0895      		ret
 334               	.LFE9:
 336               	.global	__vector_18
 338               	__vector_18:
 339               	.LFB10:
 340               	.LM53:
 341 01f4 1F92      		push __zero_reg__
 342 01f6 0F92      		push r0
 343 01f8 0FB6      		in r0,__SREG__
 344 01fa 0F92      		push r0
 345 01fc 1124      		clr __zero_reg__
 346 01fe 2F93      		push r18

⌨️ 快捷键说明

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