GAS LISTING /tmp/cczkoS7A.s page 1 1 .file "sja1000.c" 2 __SP_H__ = 0x3e 3 __SP_L__ = 0x3d 4 __SREG__ = 0x3f 5 __RAMPZ__ = 0x3b 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .section .text.SJASetAccCode,"ax",@progbits 9 .global SJASetAccCode 10 .type SJASetAccCode, @function 11 SJASetAccCode: 12 0000 CF93 push r28 13 0002 DF93 push r29 14 /* prologue: function */ 15 /* frame size = 0 */ 16 /* stack size = 2 */ 17 .L__stack_usage = 2 18 0004 FB01 movw r30,r22 19 0006 EC01 movw r28,r24 20 0008 AF85 ldd r26,Y+15 21 000a B889 ldd r27,Y+16 22 000c 4081 ld r20,Z 23 000e 5181 ldd r21,Z+1 24 0010 6281 ldd r22,Z+2 25 0012 7381 ldd r23,Z+3 26 0014 1996 adiw r26,9 27 0016 4D93 st X+,r20 28 0018 5D93 st X+,r21 29 001a 6D93 st X+,r22 30 001c 7C93 st X,r23 31 001e 1C97 sbiw r26,9+3 32 .L2: 33 0020 A091 0000 lds r26,sja_base 34 0024 B091 0000 lds r27,sja_base+1 35 0028 8C91 ld r24,X 36 002a A091 0000 lds r26,sja_base 37 002e B091 0000 lds r27,sja_base+1 38 0032 80FD sbrc r24,0 39 0034 00C0 rjmp .L7 40 0036 C091 0000 lds r28,sja_base 41 003a D091 0000 lds r29,sja_base+1 42 003e 8881 ld r24,Y 43 0040 8160 ori r24,lo8(1) 44 0042 8C93 st X,r24 45 0044 00C0 rjmp .L2 46 .L7: 47 0046 8081 ld r24,Z 48 0048 5096 adiw r26,16 49 004a 8C93 st X,r24 50 004c A091 0000 lds r26,sja_base 51 0050 B091 0000 lds r27,sja_base+1 52 0054 8181 ldd r24,Z+1 53 0056 5196 adiw r26,17 54 0058 8C93 st X,r24 55 005a A091 0000 lds r26,sja_base 56 005e B091 0000 lds r27,sja_base+1 57 0062 8281 ldd r24,Z+2 GAS LISTING /tmp/cczkoS7A.s page 2 58 0064 5296 adiw r26,18 59 0066 8C93 st X,r24 60 0068 A091 0000 lds r26,sja_base 61 006c B091 0000 lds r27,sja_base+1 62 0070 8381 ldd r24,Z+3 63 0072 5396 adiw r26,19 64 0074 8C93 st X,r24 65 0076 E091 0000 lds r30,sja_base 66 007a F091 0000 lds r31,sja_base+1 67 007e 88E0 ldi r24,lo8(8) 68 0080 8083 st Z,r24 69 .L4: 70 0082 E091 0000 lds r30,sja_base 71 0086 F091 0000 lds r31,sja_base+1 72 008a 1082 st Z,__zero_reg__ 73 008c E091 0000 lds r30,sja_base 74 0090 F091 0000 lds r31,sja_base+1 75 0094 8081 ld r24,Z 76 0096 80FD sbrc r24,0 77 0098 00C0 rjmp .L4 78 /* epilogue start */ 79 009a DF91 pop r29 80 009c CF91 pop r28 81 009e 0895 ret 82 .size SJASetAccCode, .-SJASetAccCode 83 .section .text.SJASetAccMask,"ax",@progbits 84 .global SJASetAccMask 85 .type SJASetAccMask, @function 86 SJASetAccMask: 87 0000 CF93 push r28 88 0002 DF93 push r29 89 /* prologue: function */ 90 /* frame size = 0 */ 91 /* stack size = 2 */ 92 .L__stack_usage = 2 93 0004 FB01 movw r30,r22 94 0006 EC01 movw r28,r24 95 0008 AF85 ldd r26,Y+15 96 000a B889 ldd r27,Y+16 97 000c 4081 ld r20,Z 98 000e 5181 ldd r21,Z+1 99 0010 6281 ldd r22,Z+2 100 0012 7381 ldd r23,Z+3 101 0014 1596 adiw r26,5 102 0016 4D93 st X+,r20 103 0018 5D93 st X+,r21 104 001a 6D93 st X+,r22 105 001c 7C93 st X,r23 106 001e 1897 sbiw r26,5+3 107 .L9: 108 0020 A091 0000 lds r26,sja_base 109 0024 B091 0000 lds r27,sja_base+1 110 0028 8C91 ld r24,X 111 002a A091 0000 lds r26,sja_base 112 002e B091 0000 lds r27,sja_base+1 113 0032 80FD sbrc r24,0 114 0034 00C0 rjmp .L13 GAS LISTING /tmp/cczkoS7A.s page 3 115 0036 C091 0000 lds r28,sja_base 116 003a D091 0000 lds r29,sja_base+1 117 003e 8881 ld r24,Y 118 0040 8160 ori r24,lo8(1) 119 0042 8C93 st X,r24 120 0044 00C0 rjmp .L9 121 .L13: 122 0046 8081 ld r24,Z 123 0048 5496 adiw r26,20 124 004a 8C93 st X,r24 125 004c A091 0000 lds r26,sja_base 126 0050 B091 0000 lds r27,sja_base+1 127 0054 8181 ldd r24,Z+1 128 0056 5596 adiw r26,21 129 0058 8C93 st X,r24 130 005a A091 0000 lds r26,sja_base 131 005e B091 0000 lds r27,sja_base+1 132 0062 8281 ldd r24,Z+2 133 0064 5696 adiw r26,22 134 0066 8C93 st X,r24 135 0068 A091 0000 lds r26,sja_base 136 006c B091 0000 lds r27,sja_base+1 137 0070 8381 ldd r24,Z+3 138 0072 5796 adiw r26,23 139 0074 8C93 st X,r24 140 0076 E091 0000 lds r30,sja_base 141 007a F091 0000 lds r31,sja_base+1 142 007e 88E0 ldi r24,lo8(8) 143 0080 8083 st Z,r24 144 .L11: 145 0082 E091 0000 lds r30,sja_base 146 0086 F091 0000 lds r31,sja_base+1 147 008a 1082 st Z,__zero_reg__ 148 008c E091 0000 lds r30,sja_base 149 0090 F091 0000 lds r31,sja_base+1 150 0094 8081 ld r24,Z 151 0096 80FD sbrc r24,0 152 0098 00C0 rjmp .L11 153 /* epilogue start */ 154 009a DF91 pop r29 155 009c CF91 pop r28 156 009e 0895 ret 157 .size SJASetAccMask, .-SJASetAccMask 158 .section .text.SJASetBaudrate,"ax",@progbits 159 .global SJASetBaudrate 160 .type SJASetBaudrate, @function 161 SJASetBaudrate: 162 /* prologue: function */ 163 /* frame size = 0 */ 164 /* stack size = 0 */ 165 .L__stack_usage = 0 166 0000 DC01 movw r26,r24 167 0002 1F96 adiw r26,15 168 0004 ED91 ld r30,X+ 169 0006 FC91 ld r31,X 170 0008 5097 sbiw r26,15+1 171 000a 4183 std Z+1,r20 GAS LISTING /tmp/cczkoS7A.s page 4 172 000c 5283 std Z+2,r21 173 000e 6383 std Z+3,r22 174 0010 7483 std Z+4,r23 175 .L15: 176 0012 E091 0000 lds r30,sja_base 177 0016 F091 0000 lds r31,sja_base+1 178 001a 8081 ld r24,Z 179 001c 80FD sbrc r24,0 180 001e 00C0 rjmp .L33 181 0020 E091 0000 lds r30,sja_base 182 0024 F091 0000 lds r31,sja_base+1 183 0028 A091 0000 lds r26,sja_base 184 002c B091 0000 lds r27,sja_base+1 185 0030 8C91 ld r24,X 186 0032 8160 ori r24,lo8(1) 187 0034 8083 st Z,r24 188 0036 00C0 rjmp .L15 189 .L33: 190 0038 4930 cpi r20,9 191 003a 5105 cpc r21,__zero_reg__ 192 003c 00F0 brlo .+2 193 003e 00C0 rjmp .L29 194 0040 FA01 movw r30,r20 195 0042 8827 clr r24 196 0044 E050 subi r30,pm_lo8(-(.L19)) 197 0046 F040 sbci r31,pm_hi8(-(.L19)) 198 0048 8040 sbci r24,pm_hh8(-(.L19)) 199 004a 0C94 0000 jmp __tablejump2__ 200 .section .progmem.gcc_sw_table.SJASetBaudrate,"a",@progbits 201 .p2align 1 202 .L19: 203 0000 0000 .word gs(.L18) 204 0002 0000 .word gs(.L20) 205 0004 0000 .word gs(.L21) 206 0006 0000 .word gs(.L22) 207 0008 0000 .word gs(.L23) 208 000a 0000 .word gs(.L24) 209 000c 0000 .word gs(.L25) 210 000e 0000 .word gs(.L26) 211 0010 0000 .word gs(.L27) 212 .section .text.SJASetBaudrate 213 .L18: 214 004e E091 0000 lds r30,sja_base 215 0052 F091 0000 lds r31,sja_base+1 216 0056 81E7 ldi r24,lo8(113) 217 0058 00C0 rjmp .L32 218 .L20: 219 005a E091 0000 lds r30,sja_base 220 005e F091 0000 lds r31,sja_base+1 221 0062 88E5 ldi r24,lo8(88) 222 0064 00C0 rjmp .L32 223 .L21: 224 0066 E091 0000 lds r30,sja_base 225 006a F091 0000 lds r31,sja_base+1 226 006e 89E4 ldi r24,lo8(73) 227 0070 00C0 rjmp .L32 228 .L22: GAS LISTING /tmp/cczkoS7A.s page 5 229 0072 E091 0000 lds r30,sja_base 230 0076 F091 0000 lds r31,sja_base+1 231 007a 84E4 ldi r24,lo8(68) 232 007c 00C0 rjmp .L32 233 .L23: 234 007e E091 0000 lds r30,sja_base 235 0082 F091 0000 lds r31,sja_base+1 236 0086 83E4 ldi r24,lo8(67) 237 0088 00C0 rjmp .L32 238 .L24: 239 008a E091 0000 lds r30,sja_base 240 008e F091 0000 lds r31,sja_base+1 241 0092 81E4 ldi r24,lo8(65) 242 0094 00C0 rjmp .L32 243 .L25: 244 0096 E091 0000 lds r30,sja_base 245 009a F091 0000 lds r31,sja_base+1 246 009e 80E4 ldi r24,lo8(64) 247 .L32: 248 00a0 8683 std Z+6,r24 249 00a2 E091 0000 lds r30,sja_base 250 00a6 F091 0000 lds r31,sja_base+1 251 00aa 8CE1 ldi r24,lo8(28) 252 00ac 00C0 rjmp .L31 253 .L26: 254 00ae E091 0000 lds r30,sja_base 255 00b2 F091 0000 lds r31,sja_base+1 256 00b6 80E4 ldi r24,lo8(64) 257 00b8 8683 std Z+6,r24 258 00ba E091 0000 lds r30,sja_base 259 00be F091 0000 lds r31,sja_base+1 260 00c2 86E1 ldi r24,lo8(22) 261 00c4 00C0 rjmp .L31 262 .L27: 263 00c6 E091 0000 lds r30,sja_base 264 00ca F091 0000 lds r31,sja_base+1 265 00ce 80E4 ldi r24,lo8(64) 266 00d0 8683 std Z+6,r24 267 00d2 E091 0000 lds r30,sja_base 268 00d6 F091 0000 lds r31,sja_base+1 269 00da 84E1 ldi r24,lo8(20) 270 .L31: 271 00dc 8783 std Z+7,r24 272 00de 80E0 ldi r24,0 273 00e0 00C0 rjmp .L28 274 .L29: 275 00e2 81E0 ldi r24,lo8(1) 276 .L28: 277 00e4 E091 0000 lds r30,sja_base 278 00e8 F091 0000 lds r31,sja_base+1 279 00ec 1082 st Z,__zero_reg__ 280 00ee E091 0000 lds r30,sja_base 281 00f2 F091 0000 lds r31,sja_base+1 282 00f6 9081 ld r25,Z 283 00f8 90FD sbrc r25,0 284 00fa 00C0 rjmp .L28 285 /* epilogue start */ GAS LISTING /tmp/cczkoS7A.s page 6 286 00fc 0895 ret 287 .size SJASetBaudrate, .-SJASetBaudrate 288 .section .text.CANBufferInit,"ax",@progbits 289 .global CANBufferInit 290 .type CANBufferInit, @function 291 CANBufferInit: 292 0000 0F93 push r16 293 0002 1F93 push r17 294 0004 CF93 push r28 295 0006 DF93 push r29 296 /* prologue: function */ 297 /* frame size = 0 */ 298 /* stack size = 4 */ 299 .L__stack_usage = 4 300 0008 EC01 movw r28,r24 301 000a 8B01 movw r16,r22 302 000c 60E0 ldi r22,0 303 000e 70E0 ldi r23,0 304 0010 0C96 adiw r24,12 305 0012 0E94 0000 call NutSemInit 306 0016 6FE3 ldi r22,lo8(63) 307 0018 70E0 ldi r23,0 308 001a CE01 movw r24,r28 309 001c 0896 adiw r24,8 310 001e 0E94 0000 call NutSemInit 311 0022 8FE0 ldi r24,lo8(15) 312 0024 809F mul r24,r16 313 0026 B001 movw r22,r0 314 0028 819F mul r24,r17 315 002a 700D add r23,r0 316 002c 1124 clr __zero_reg__ 317 002e 80E0 ldi r24,lo8(heapFreeList) 318 0030 90E0 ldi r25,hi8(heapFreeList) 319 0032 0E94 0000 call NutHeapRootAlloc 320 0036 9983 std Y+1,r25 321 0038 8883 st Y,r24 322 003a 1B83 std Y+3,r17 323 003c 0A83 std Y+2,r16 324 003e 1F82 std Y+7,__zero_reg__ 325 0040 1E82 std Y+6,__zero_reg__ 326 0042 1D82 std Y+5,__zero_reg__ 327 0044 1C82 std Y+4,__zero_reg__ 328 /* epilogue start */ 329 0046 DF91 pop r29 330 0048 CF91 pop r28 331 004a 1F91 pop r17 332 004c 0F91 pop r16 333 004e 0895 ret 334 .size CANBufferInit, .-CANBufferInit 335 .section .rodata.str1.1,"aMS",@progbits,1 336 .LC0: 337 0000 736A 6163 .string "sjacantx" 337 616E 7478 337 00 338 .section .text.SJAInit,"ax",@progbits 339 .global SJAInit 340 .type SJAInit, @function GAS LISTING /tmp/cczkoS7A.s page 7 341 SJAInit: 342 0000 0F93 push r16 343 0002 1F93 push r17 344 0004 CF93 push r28 345 0006 DF93 push r29 346 /* prologue: function */ 347 /* frame size = 0 */ 348 /* stack size = 4 */ 349 .L__stack_usage = 4 350 0008 8C01 movw r16,r24 351 000a DC01 movw r26,r24 352 000c 1C96 adiw r26,12 353 000e 8D91 ld r24,X+ 354 0010 9C91 ld r25,X 355 0012 1D97 sbiw r26,12+1 356 0014 9093 0000 sts sja_base+1,r25 357 0018 8093 0000 sts sja_base,r24 358 001c 8091 0000 lds r24,sja_base 359 0020 9091 0000 lds r25,sja_base+1 360 0024 892B or r24,r25 361 0026 01F4 brne .L36 362 0028 80E0 ldi r24,0 363 002a 98E8 ldi r25,lo8(-120) 364 002c 9093 0000 sts sja_base+1,r25 365 0030 8093 0000 sts sja_base,r24 366 .L36: 367 0034 F801 movw r30,r16 368 0036 C785 ldd r28,Z+15 369 0038 D089 ldd r29,Z+16 370 003a 0188 ldd __tmp_reg__,Z+17 371 003c F289 ldd r31,Z+18 372 003e E02D mov r30,__tmp_reg__ 373 0040 88E1 ldi r24,lo8(24) 374 0042 DF01 movw r26,r30 375 0: 376 0044 1D92 st X+,__zero_reg__ 377 0046 8A95 dec r24 378 0048 01F4 brne 0b 379 004a 60E4 ldi r22,lo8(64) 380 004c 70E0 ldi r23,0 381 004e 80E0 ldi r24,lo8(CAN_RX_BUF) 382 0050 90E0 ldi r25,hi8(CAN_RX_BUF) 383 0052 0E94 0000 call CANBufferInit 384 0056 60E4 ldi r22,lo8(64) 385 0058 70E0 ldi r23,0 386 005a 80E0 ldi r24,lo8(CAN_TX_BUF) 387 005c 90E0 ldi r25,hi8(CAN_TX_BUF) 388 005e 0E94 0000 call CANBufferInit 389 .L37: 390 0062 E091 0000 lds r30,sja_base 391 0066 F091 0000 lds r31,sja_base+1 392 006a 8081 ld r24,Z 393 006c E091 0000 lds r30,sja_base 394 0070 F091 0000 lds r31,sja_base+1 395 0074 80FD sbrc r24,0 396 0076 00C0 rjmp .L57 397 0078 A091 0000 lds r26,sja_base GAS LISTING /tmp/cczkoS7A.s page 8 398 007c B091 0000 lds r27,sja_base+1 399 0080 8C91 ld r24,X 400 0082 8160 ori r24,lo8(1) 401 0084 8083 st Z,r24 402 0086 00C0 rjmp .L37 403 .L57: 404 0088 88EC ldi r24,lo8(-56) 405 008a 878F std Z+31,r24 406 008c E091 0000 lds r30,sja_base 407 0090 F091 0000 lds r31,sja_base+1 408 0094 1482 std Z+4,__zero_reg__ 409 0096 E091 0000 lds r30,sja_base 410 009a F091 0000 lds r31,sja_base+1 411 009e 8985 ldd r24,Y+9 412 00a0 808B std Z+16,r24 413 00a2 E091 0000 lds r30,sja_base 414 00a6 F091 0000 lds r31,sja_base+1 415 00aa 8A85 ldd r24,Y+10 416 00ac 818B std Z+17,r24 417 00ae E091 0000 lds r30,sja_base 418 00b2 F091 0000 lds r31,sja_base+1 419 00b6 8B85 ldd r24,Y+11 420 00b8 828B std Z+18,r24 421 00ba E091 0000 lds r30,sja_base 422 00be F091 0000 lds r31,sja_base+1 423 00c2 8C85 ldd r24,Y+12 424 00c4 838B std Z+19,r24 425 00c6 E091 0000 lds r30,sja_base 426 00ca F091 0000 lds r31,sja_base+1 427 00ce 8D81 ldd r24,Y+5 428 00d0 848B std Z+20,r24 429 00d2 E091 0000 lds r30,sja_base 430 00d6 F091 0000 lds r31,sja_base+1 431 00da 8E81 ldd r24,Y+6 432 00dc 858B std Z+21,r24 433 00de E091 0000 lds r30,sja_base 434 00e2 F091 0000 lds r31,sja_base+1 435 00e6 8F81 ldd r24,Y+7 436 00e8 868B std Z+22,r24 437 00ea E091 0000 lds r30,sja_base 438 00ee F091 0000 lds r31,sja_base+1 439 00f2 8885 ldd r24,Y+8 440 00f4 878B std Z+23,r24 441 00f6 8981 ldd r24,Y+1 442 00f8 9A81 ldd r25,Y+2 443 00fa AB81 ldd r26,Y+3 444 00fc BC81 ldd r27,Y+4 445 00fe 8930 cpi r24,9 446 0100 9105 cpc r25,__zero_reg__ 447 0102 00F0 brlo .+2 448 0104 00C0 rjmp .L53 449 0106 FC01 movw r30,r24 450 0108 8827 clr r24 451 010a E050 subi r30,pm_lo8(-(.L41)) 452 010c F040 sbci r31,pm_hi8(-(.L41)) 453 010e 8040 sbci r24,pm_hh8(-(.L41)) 454 0110 0C94 0000 jmp __tablejump2__ GAS LISTING /tmp/cczkoS7A.s page 9 455 .section .progmem.gcc_sw_table.SJAInit,"a",@progbits 456 .p2align 1 457 .L41: 458 0000 0000 .word gs(.L40) 459 0002 0000 .word gs(.L42) 460 0004 0000 .word gs(.L43) 461 0006 0000 .word gs(.L44) 462 0008 0000 .word gs(.L45) 463 000a 0000 .word gs(.L46) 464 000c 0000 .word gs(.L47) 465 000e 0000 .word gs(.L48) 466 0010 0000 .word gs(.L49) 467 .section .text.SJAInit 468 .L40: 469 0114 E091 0000 lds r30,sja_base 470 0118 F091 0000 lds r31,sja_base+1 471 011c 81E7 ldi r24,lo8(113) 472 011e 00C0 rjmp .L56 473 .L42: 474 0120 E091 0000 lds r30,sja_base 475 0124 F091 0000 lds r31,sja_base+1 476 0128 88E5 ldi r24,lo8(88) 477 012a 00C0 rjmp .L56 478 .L43: 479 012c E091 0000 lds r30,sja_base 480 0130 F091 0000 lds r31,sja_base+1 481 0134 89E4 ldi r24,lo8(73) 482 0136 00C0 rjmp .L56 483 .L44: 484 0138 E091 0000 lds r30,sja_base 485 013c F091 0000 lds r31,sja_base+1 486 0140 84E4 ldi r24,lo8(68) 487 0142 00C0 rjmp .L56 488 .L45: 489 0144 E091 0000 lds r30,sja_base 490 0148 F091 0000 lds r31,sja_base+1 491 014c 83E4 ldi r24,lo8(67) 492 014e 00C0 rjmp .L56 493 .L46: 494 0150 E091 0000 lds r30,sja_base 495 0154 F091 0000 lds r31,sja_base+1 496 0158 81E4 ldi r24,lo8(65) 497 015a 00C0 rjmp .L56 498 .L47: 499 015c E091 0000 lds r30,sja_base 500 0160 F091 0000 lds r31,sja_base+1 501 0164 80E4 ldi r24,lo8(64) 502 .L56: 503 0166 8683 std Z+6,r24 504 0168 E091 0000 lds r30,sja_base 505 016c F091 0000 lds r31,sja_base+1 506 0170 8CE1 ldi r24,lo8(28) 507 0172 00C0 rjmp .L55 508 .L48: 509 0174 E091 0000 lds r30,sja_base 510 0178 F091 0000 lds r31,sja_base+1 511 017c 80E4 ldi r24,lo8(64) GAS LISTING /tmp/cczkoS7A.s page 10 512 017e 8683 std Z+6,r24 513 0180 E091 0000 lds r30,sja_base 514 0184 F091 0000 lds r31,sja_base+1 515 0188 86E1 ldi r24,lo8(22) 516 018a 00C0 rjmp .L55 517 .L49: 518 018c E091 0000 lds r30,sja_base 519 0190 F091 0000 lds r31,sja_base+1 520 0194 80E4 ldi r24,lo8(64) 521 0196 8683 std Z+6,r24 522 0198 E091 0000 lds r30,sja_base 523 019c F091 0000 lds r31,sja_base+1 524 01a0 84E1 ldi r24,lo8(20) 525 .L55: 526 01a2 8783 std Z+7,r24 527 01a4 E091 0000 lds r30,sja_base 528 01a8 F091 0000 lds r31,sja_base+1 529 01ac 8AE1 ldi r24,lo8(26) 530 01ae 8087 std Z+8,r24 531 01b0 E091 0000 lds r30,sja_base 532 01b4 F091 0000 lds r31,sja_base+1 533 01b8 8FE0 ldi r24,lo8(15) 534 01ba 8483 std Z+4,r24 535 01bc E091 0000 lds r30,sja_base 536 01c0 F091 0000 lds r31,sja_base+1 537 01c4 88E0 ldi r24,lo8(8) 538 01c6 8083 st Z,r24 539 .L51: 540 01c8 E091 0000 lds r30,sja_base 541 01cc F091 0000 lds r31,sja_base+1 542 01d0 1082 st Z,__zero_reg__ 543 01d2 E091 0000 lds r30,sja_base 544 01d6 F091 0000 lds r31,sja_base+1 545 01da 8081 ld r24,Z 546 01dc 80FD sbrc r24,0 547 01de 00C0 rjmp .L51 548 /* #APP */ 549 ; 701 "../../nut/arch/avr/dev/sja1000.c" 1 550 01e0 0FB6 in __tmp_reg__, __SREG__ 551 01e2 F894 cli 552 01e4 0F92 push __tmp_reg__ 553 554 ; 0 "" 2 555 /* #NOAPP */ 556 01e6 A801 movw r20,r16 557 01e8 60E0 ldi r22,lo8(gs(SJAInterrupt)) 558 01ea 70E0 ldi r23,hi8(gs(SJAInterrupt)) 559 01ec 80E0 ldi r24,lo8(sig_INTERRUPT7) 560 01ee 90E0 ldi r25,hi8(sig_INTERRUPT7) 561 01f0 0E94 0000 call NutRegisterIrqHandler 562 01f4 EC01 movw r28,r24 563 01f6 892B or r24,r25 564 01f8 01F0 breq .L52 565 /* #APP */ 566 ; 704 "../../nut/arch/avr/dev/sja1000.c" 1 567 01fa 0F90 pop __tmp_reg__ 568 01fc 0FBE out __SREG__, __tmp_reg__ GAS LISTING /tmp/cczkoS7A.s page 11 569 570 ; 0 "" 2 571 /* #NOAPP */ 572 01fe CFEF ldi r28,lo8(-1) 573 0200 DFEF ldi r29,lo8(-1) 574 0202 00C0 rjmp .L39 575 .L52: 576 0204 EF98 cbi 0x1d,7 577 0206 8091 6A00 lds r24,106 578 020a 8F7B andi r24,lo8(-65) 579 020c 8093 6A00 sts 106,r24 580 0210 8091 6A00 lds r24,106 581 0214 8F77 andi r24,lo8(127) 582 0216 8093 6A00 sts 106,r24 583 021a E091 0000 lds r30,sja_base 584 021e F091 0000 lds r31,sja_base+1 585 0222 8381 ldd r24,Z+3 586 0224 EF9A sbi 0x1d,7 587 0226 779A sbi 0xe,7 588 0228 20E0 ldi r18,0 589 022a 31E0 ldi r19,lo8(1) 590 022c A801 movw r20,r16 591 022e 60E0 ldi r22,lo8(gs(CAN_Tx)) 592 0230 70E0 ldi r23,hi8(gs(CAN_Tx)) 593 0232 80E0 ldi r24,lo8(.LC0) 594 0234 90E0 ldi r25,hi8(.LC0) 595 0236 0E94 0000 call NutThreadCreate 596 /* #APP */ 597 ; 724 "../../nut/arch/avr/dev/sja1000.c" 1 598 023a 0F90 pop __tmp_reg__ 599 023c 0FBE out __SREG__, __tmp_reg__ 600 601 ; 0 "" 2 602 /* #NOAPP */ 603 023e 00C0 rjmp .L39 604 .L53: 605 0240 C7E0 ldi r28,lo8(7) 606 0242 D0E0 ldi r29,0 607 .L39: 608 0244 CE01 movw r24,r28 609 /* epilogue start */ 610 0246 DF91 pop r29 611 0248 CF91 pop r28 612 024a 1F91 pop r17 613 024c 0F91 pop r16 614 024e 0895 ret 615 .size SJAInit, .-SJAInit 616 .section .text.CANBufferGetMutex,"ax",@progbits 617 .global CANBufferGetMutex 618 .type CANBufferGetMutex, @function 619 CANBufferGetMutex: 620 0000 0F93 push r16 621 0002 1F93 push r17 622 0004 CF93 push r28 623 0006 DF93 push r29 624 /* prologue: function */ 625 /* frame size = 0 */ GAS LISTING /tmp/cczkoS7A.s page 12 626 /* stack size = 4 */ 627 .L__stack_usage = 4 628 0008 8C01 movw r16,r24 629 000a EB01 movw r28,r22 630 000c CB01 movw r24,r22 631 000e 0C96 adiw r24,12 632 0010 0E94 0000 call NutSemWait 633 0014 2C81 ldd r18,Y+4 634 0016 3D81 ldd r19,Y+5 635 0018 2115 cp r18,__zero_reg__ 636 001a 3105 cpc r19,__zero_reg__ 637 001c 01F0 breq .L59 638 001e 8E81 ldd r24,Y+6 639 0020 9F81 ldd r25,Y+7 640 0022 4FE0 ldi r20,lo8(15) 641 0024 489F mul r20,r24 642 0026 B001 movw r22,r0 643 0028 499F mul r20,r25 644 002a 700D add r23,r0 645 002c 1124 clr __zero_reg__ 646 002e E881 ld r30,Y 647 0030 F981 ldd r31,Y+1 648 0032 E60F add r30,r22 649 0034 F71F adc r31,r23 650 0036 D801 movw r26,r16 651 0: 652 0038 0190 ld r0,Z+ 653 003a 0D92 st X+,r0 654 003c 4A95 dec r20 655 003e 01F4 brne 0b 656 0040 0196 adiw r24,1 657 0042 9F83 std Y+7,r25 658 0044 8E83 std Y+6,r24 659 0046 6A81 ldd r22,Y+2 660 0048 7B81 ldd r23,Y+3 661 004a 8617 cp r24,r22 662 004c 9707 cpc r25,r23 663 004e 00F0 brlo .L60 664 0050 0E94 0000 call __udivmodhi4 665 0054 9F83 std Y+7,r25 666 0056 8E83 std Y+6,r24 667 .L60: 668 0058 2150 subi r18,1 669 005a 3109 sbc r19,__zero_reg__ 670 005c 3D83 std Y+5,r19 671 005e 2C83 std Y+4,r18 672 .L59: 673 0060 CE01 movw r24,r28 674 0062 0896 adiw r24,8 675 0064 0E94 0000 call NutSemPost 676 0068 C801 movw r24,r16 677 /* epilogue start */ 678 006a DF91 pop r29 679 006c CF91 pop r28 680 006e 1F91 pop r17 681 0070 0F91 pop r16 682 0072 0895 ret GAS LISTING /tmp/cczkoS7A.s page 13 683 .size CANBufferGetMutex, .-CANBufferGetMutex 684 .section .text.CANBufferPutMutex,"ax",@progbits 685 .global CANBufferPutMutex 686 .type CANBufferPutMutex, @function 687 CANBufferPutMutex: 688 0000 0F93 push r16 689 0002 1F93 push r17 690 0004 CF93 push r28 691 0006 DF93 push r29 692 /* prologue: function */ 693 /* frame size = 0 */ 694 /* stack size = 4 */ 695 .L__stack_usage = 4 696 0008 EC01 movw r28,r24 697 000a 8B01 movw r16,r22 698 000c 0896 adiw r24,8 699 000e 0E94 0000 call NutSemWait 700 0012 2C81 ldd r18,Y+4 701 0014 3D81 ldd r19,Y+5 702 0016 6A81 ldd r22,Y+2 703 0018 7B81 ldd r23,Y+3 704 001a 2617 cp r18,r22 705 001c 3707 cpc r19,r23 706 001e 00F4 brsh .L65 707 0020 8E81 ldd r24,Y+6 708 0022 9F81 ldd r25,Y+7 709 0024 820F add r24,r18 710 0026 931F adc r25,r19 711 0028 0E94 0000 call __udivmodhi4 712 002c AC01 movw r20,r24 713 002e 9FE0 ldi r25,lo8(15) 714 0030 949F mul r25,r20 715 0032 9001 movw r18,r0 716 0034 959F mul r25,r21 717 0036 300D add r19,r0 718 0038 1124 clr __zero_reg__ 719 003a A881 ld r26,Y 720 003c B981 ldd r27,Y+1 721 003e A20F add r26,r18 722 0040 B31F adc r27,r19 723 0042 F801 movw r30,r16 724 0: 725 0044 0190 ld r0,Z+ 726 0046 0D92 st X+,r0 727 0048 9A95 dec r25 728 004a 01F4 brne 0b 729 004c 8C81 ldd r24,Y+4 730 004e 9D81 ldd r25,Y+5 731 0050 0196 adiw r24,1 732 0052 9D83 std Y+5,r25 733 0054 8C83 std Y+4,r24 734 .L65: 735 0056 CE01 movw r24,r28 736 0058 0C96 adiw r24,12 737 /* epilogue start */ 738 005a DF91 pop r29 739 005c CF91 pop r28 GAS LISTING /tmp/cczkoS7A.s page 14 740 005e 1F91 pop r17 741 0060 0F91 pop r16 742 0062 0C94 0000 jmp NutSemPost 743 .size CANBufferPutMutex, .-CANBufferPutMutex 744 .section .text.SJAOutput,"ax",@progbits 745 .global SJAOutput 746 .type SJAOutput, @function 747 SJAOutput: 748 0000 CF93 push r28 749 0002 DF93 push r29 750 /* prologue: function */ 751 /* frame size = 0 */ 752 /* stack size = 2 */ 753 .L__stack_usage = 2 754 0004 FC01 movw r30,r24 755 0006 C189 ldd r28,Z+17 756 0008 D289 ldd r29,Z+18 757 000a 80E0 ldi r24,lo8(CAN_TX_BUF) 758 000c 90E0 ldi r25,hi8(CAN_TX_BUF) 759 000e 0E94 0000 call CANBufferPutMutex 760 0012 CE01 movw r24,r28 761 0014 0296 adiw r24,2 762 /* epilogue start */ 763 0016 DF91 pop r29 764 0018 CF91 pop r28 765 001a 0C94 0000 jmp NutEventPostAsync 766 .size SJAOutput, .-SJAOutput 767 .section .text.CANBufferGet,"ax",@progbits 768 .global CANBufferGet 769 .type CANBufferGet, @function 770 CANBufferGet: 771 0000 0F93 push r16 772 0002 1F93 push r17 773 0004 CF93 push r28 774 0006 DF93 push r29 775 /* prologue: function */ 776 /* frame size = 0 */ 777 /* stack size = 4 */ 778 .L__stack_usage = 4 779 0008 8C01 movw r16,r24 780 000a EB01 movw r28,r22 781 000c 2C81 ldd r18,Y+4 782 000e 3D81 ldd r19,Y+5 783 0010 2115 cp r18,__zero_reg__ 784 0012 3105 cpc r19,__zero_reg__ 785 0014 01F0 breq .L67 786 0016 8E81 ldd r24,Y+6 787 0018 9F81 ldd r25,Y+7 788 001a 4FE0 ldi r20,lo8(15) 789 001c 489F mul r20,r24 790 001e B001 movw r22,r0 791 0020 499F mul r20,r25 792 0022 700D add r23,r0 793 0024 1124 clr __zero_reg__ 794 0026 E881 ld r30,Y 795 0028 F981 ldd r31,Y+1 796 002a E60F add r30,r22 GAS LISTING /tmp/cczkoS7A.s page 15 797 002c F71F adc r31,r23 798 002e D801 movw r26,r16 799 0: 800 0030 0190 ld r0,Z+ 801 0032 0D92 st X+,r0 802 0034 4A95 dec r20 803 0036 01F4 brne 0b 804 0038 0196 adiw r24,1 805 003a 9F83 std Y+7,r25 806 003c 8E83 std Y+6,r24 807 003e 6A81 ldd r22,Y+2 808 0040 7B81 ldd r23,Y+3 809 0042 8617 cp r24,r22 810 0044 9707 cpc r25,r23 811 0046 00F0 brlo .L69 812 0048 0E94 0000 call __udivmodhi4 813 004c 9F83 std Y+7,r25 814 004e 8E83 std Y+6,r24 815 .L69: 816 0050 2150 subi r18,1 817 0052 3109 sbc r19,__zero_reg__ 818 0054 3D83 std Y+5,r19 819 0056 2C83 std Y+4,r18 820 .L67: 821 0058 C801 movw r24,r16 822 /* epilogue start */ 823 005a DF91 pop r29 824 005c CF91 pop r28 825 005e 1F91 pop r17 826 0060 0F91 pop r16 827 0062 0895 ret 828 .size CANBufferGet, .-CANBufferGet 829 .section .text.SJAInput,"ax",@progbits 830 .global SJAInput 831 .type SJAInput, @function 832 SJAInput: 833 0000 CF92 push r12 834 0002 DF92 push r13 835 0004 EF92 push r14 836 0006 FF92 push r15 837 0008 0F93 push r16 838 000a 1F93 push r17 839 000c CF93 push r28 840 000e DF93 push r29 841 0010 CDB7 in r28,__SP_L__ 842 0012 DEB7 in r29,__SP_H__ 843 0014 2F97 sbiw r28,15 844 0016 0FB6 in __tmp_reg__,__SREG__ 845 0018 F894 cli 846 001a DEBF out __SP_H__,r29 847 001c 0FBE out __SREG__,__tmp_reg__ 848 001e CDBF out __SP_L__,r28 849 /* prologue: function */ 850 /* frame size = 15 */ 851 /* stack size = 23 */ 852 .L__stack_usage = 23 853 0020 8C01 movw r16,r24 GAS LISTING /tmp/cczkoS7A.s page 16 854 0022 6B01 movw r12,r22 855 0024 DC01 movw r26,r24 856 0026 5196 adiw r26,17 857 0028 ED90 ld r14,X+ 858 002a FC90 ld r15,X 859 002c 5297 sbiw r26,17+1 860 .L79: 861 002e 8091 0000 lds r24,CAN_RX_BUF+4 862 0032 9091 0000 lds r25,CAN_RX_BUF+4+1 863 0036 892B or r24,r25 864 0038 01F0 breq .L74 865 .L78: 866 /* #APP */ 867 ; 280 "../../nut/arch/avr/dev/sja1000.c" 1 868 003a 0FB6 in __tmp_reg__, __SREG__ 869 003c F894 cli 870 003e 0F92 push __tmp_reg__ 871 872 ; 0 "" 2 873 /* #NOAPP */ 874 0040 8091 0000 lds r24,CAN_RX_BUF+4 875 0044 9091 0000 lds r25,CAN_RX_BUF+4+1 876 0048 892B or r24,r25 877 004a 01F4 brne .L75 878 004c 80E0 ldi r24,0 879 004e 00C0 rjmp .L76 880 .L74: 881 0050 D801 movw r26,r16 882 0052 1F96 adiw r26,15 883 0054 ED91 ld r30,X+ 884 0056 FC91 ld r31,X 885 0058 5097 sbiw r26,15+1 886 005a 4585 ldd r20,Z+13 887 005c 5685 ldd r21,Z+14 888 005e 6785 ldd r22,Z+15 889 0060 7089 ldd r23,Z+16 890 0062 C701 movw r24,r14 891 0064 0E94 0000 call NutEventWait 892 0068 892B or r24,r25 893 006a 01F0 breq .L78 894 006c 81E0 ldi r24,lo8(1) 895 006e 00C0 rjmp .L77 896 .L75: 897 0070 60E0 ldi r22,lo8(CAN_RX_BUF) 898 0072 70E0 ldi r23,hi8(CAN_RX_BUF) 899 0074 CE01 movw r24,r28 900 0076 0196 adiw r24,1 901 0078 0E94 0000 call CANBufferGet 902 007c 8FE0 ldi r24,lo8(15) 903 007e FE01 movw r30,r28 904 0080 3196 adiw r30,1 905 0082 D601 movw r26,r12 906 0: 907 0084 0190 ld r0,Z+ 908 0086 0D92 st X+,r0 909 0088 8A95 dec r24 910 008a 01F4 brne 0b GAS LISTING /tmp/cczkoS7A.s page 17 911 008c 81E0 ldi r24,lo8(1) 912 .L76: 913 /* #APP */ 914 ; 286 "../../nut/arch/avr/dev/sja1000.c" 1 915 008e 0F90 pop __tmp_reg__ 916 0090 0FBE out __SREG__, __tmp_reg__ 917 918 ; 0 "" 2 919 /* #NOAPP */ 920 0092 8823 tst r24 921 0094 01F0 breq .L79 922 0096 E091 0000 lds r30,sja_base 923 009a F091 0000 lds r31,sja_base+1 924 009e 8481 ldd r24,Z+4 925 00a0 8160 ori r24,lo8(1) 926 00a2 8483 std Z+4,r24 927 00a4 80E0 ldi r24,0 928 .L77: 929 /* epilogue start */ 930 00a6 2F96 adiw r28,15 931 00a8 0FB6 in __tmp_reg__,__SREG__ 932 00aa F894 cli 933 00ac DEBF out __SP_H__,r29 934 00ae 0FBE out __SREG__,__tmp_reg__ 935 00b0 CDBF out __SP_L__,r28 936 00b2 DF91 pop r29 937 00b4 CF91 pop r28 938 00b6 1F91 pop r17 939 00b8 0F91 pop r16 940 00ba FF90 pop r15 941 00bc EF90 pop r14 942 00be DF90 pop r13 943 00c0 CF90 pop r12 944 00c2 0895 ret 945 .size SJAInput, .-SJAInput 946 .section .text.CANBufferPut,"ax",@progbits 947 .global CANBufferPut 948 .type CANBufferPut, @function 949 CANBufferPut: 950 0000 CF93 push r28 951 0002 DF93 push r29 952 /* prologue: function */ 953 /* frame size = 0 */ 954 /* stack size = 2 */ 955 .L__stack_usage = 2 956 0004 EC01 movw r28,r24 957 0006 FB01 movw r30,r22 958 0008 2C81 ldd r18,Y+4 959 000a 3D81 ldd r19,Y+5 960 000c 6A81 ldd r22,Y+2 961 000e 7B81 ldd r23,Y+3 962 0010 2617 cp r18,r22 963 0012 3707 cpc r19,r23 964 0014 00F4 brsh .L83 965 0016 8E81 ldd r24,Y+6 966 0018 9F81 ldd r25,Y+7 967 001a 820F add r24,r18 GAS LISTING /tmp/cczkoS7A.s page 18 968 001c 931F adc r25,r19 969 001e 0E94 0000 call __udivmodhi4 970 0022 AC01 movw r20,r24 971 0024 9FE0 ldi r25,lo8(15) 972 0026 949F mul r25,r20 973 0028 9001 movw r18,r0 974 002a 959F mul r25,r21 975 002c 300D add r19,r0 976 002e 1124 clr __zero_reg__ 977 0030 A881 ld r26,Y 978 0032 B981 ldd r27,Y+1 979 0034 A20F add r26,r18 980 0036 B31F adc r27,r19 981 0: 982 0038 0190 ld r0,Z+ 983 003a 0D92 st X+,r0 984 003c 9A95 dec r25 985 003e 01F4 brne 0b 986 0040 8C81 ldd r24,Y+4 987 0042 9D81 ldd r25,Y+5 988 0044 0196 adiw r24,1 989 0046 9D83 std Y+5,r25 990 0048 8C83 std Y+4,r24 991 .L83: 992 /* epilogue start */ 993 004a DF91 pop r29 994 004c CF91 pop r28 995 004e 0895 ret 996 .size CANBufferPut, .-CANBufferPut 997 .section .text.CANBufferFree,"ax",@progbits 998 .global CANBufferFree 999 .type CANBufferFree, @function 1000 CANBufferFree: 1001 /* prologue: function */ 1002 /* frame size = 0 */ 1003 /* stack size = 0 */ 1004 .L__stack_usage = 0 1005 0000 FC01 movw r30,r24 1006 0002 8281 ldd r24,Z+2 1007 0004 9381 ldd r25,Z+3 1008 0006 2481 ldd r18,Z+4 1009 0008 3581 ldd r19,Z+5 1010 000a 821B sub r24,r18 1011 000c 930B sbc r25,r19 1012 000e 0895 ret 1013 .size CANBufferFree, .-CANBufferFree 1014 .section .text.SJATxFrame,"ax",@progbits 1015 .global SJATxFrame 1016 .type SJATxFrame, @function 1017 SJATxFrame: 1018 0000 CF93 push r28 1019 0002 DF93 push r29 1020 /* prologue: function */ 1021 /* frame size = 0 */ 1022 /* stack size = 2 */ 1023 .L__stack_usage = 2 1024 0004 FC01 movw r30,r24 GAS LISTING /tmp/cczkoS7A.s page 19 1025 0006 4585 ldd r20,Z+13 1026 0008 8081 ld r24,Z 1027 000a 9181 ldd r25,Z+1 1028 000c A281 ldd r26,Z+2 1029 000e B381 ldd r27,Z+3 1030 0010 3481 ldd r19,Z+4 1031 0012 2685 ldd r18,Z+14 1032 0014 4423 tst r20 1033 0016 01F4 brne .+2 1034 0018 00C0 rjmp .L87 1035 001a C3E0 ldi r28,3 1036 1: 1037 001c 880F lsl r24 1038 001e 991F rol r25 1039 0020 AA1F rol r26 1040 0022 BB1F rol r27 1041 0024 CA95 dec r28 1042 0026 01F4 brne 1b 1043 0028 C091 0000 lds r28,sja_base 1044 002c D091 0000 lds r29,sja_base+1 1045 0030 2111 cpse r18,__zero_reg__ 1046 0032 20E4 ldi r18,lo8(64) 1047 .L88: 1048 0034 3068 ori r19,lo8(-128) 1049 0036 232B or r18,r19 1050 0038 288B std Y+16,r18 1051 003a C091 0000 lds r28,sja_base 1052 003e D091 0000 lds r29,sja_base+1 1053 0042 4B2F mov r20,r27 1054 0044 5527 clr r21 1055 0046 6627 clr r22 1056 0048 7727 clr r23 1057 004a 498B std Y+17,r20 1058 004c C091 0000 lds r28,sja_base 1059 0050 D091 0000 lds r29,sja_base+1 1060 0054 AD01 movw r20,r26 1061 0056 6627 clr r22 1062 0058 7727 clr r23 1063 005a 4A8B std Y+18,r20 1064 005c C091 0000 lds r28,sja_base 1065 0060 D091 0000 lds r29,sja_base+1 1066 0064 492F mov r20,r25 1067 0066 5A2F mov r21,r26 1068 0068 6B2F mov r22,r27 1069 006a 7727 clr r23 1070 006c 4B8B std Y+19,r20 1071 006e C091 0000 lds r28,sja_base 1072 0072 D091 0000 lds r29,sja_base+1 1073 0076 887F andi r24,lo8(-8) 1074 0078 8C8B std Y+20,r24 1075 007a A091 0000 lds r26,sja_base 1076 007e B091 0000 lds r27,sja_base+1 1077 0082 8581 ldd r24,Z+5 1078 0084 5596 adiw r26,21 1079 0086 8C93 st X,r24 1080 0088 A091 0000 lds r26,sja_base 1081 008c B091 0000 lds r27,sja_base+1 GAS LISTING /tmp/cczkoS7A.s page 20 1082 0090 8681 ldd r24,Z+6 1083 0092 5696 adiw r26,22 1084 0094 8C93 st X,r24 1085 0096 A091 0000 lds r26,sja_base 1086 009a B091 0000 lds r27,sja_base+1 1087 009e 8781 ldd r24,Z+7 1088 00a0 5796 adiw r26,23 1089 00a2 8C93 st X,r24 1090 00a4 A091 0000 lds r26,sja_base 1091 00a8 B091 0000 lds r27,sja_base+1 1092 00ac 8085 ldd r24,Z+8 1093 00ae 5896 adiw r26,24 1094 00b0 8C93 st X,r24 1095 00b2 A091 0000 lds r26,sja_base 1096 00b6 B091 0000 lds r27,sja_base+1 1097 00ba 8185 ldd r24,Z+9 1098 00bc 5996 adiw r26,25 1099 00be 8C93 st X,r24 1100 00c0 A091 0000 lds r26,sja_base 1101 00c4 B091 0000 lds r27,sja_base+1 1102 00c8 8285 ldd r24,Z+10 1103 00ca 5A96 adiw r26,26 1104 00cc 8C93 st X,r24 1105 00ce A091 0000 lds r26,sja_base 1106 00d2 B091 0000 lds r27,sja_base+1 1107 00d6 8385 ldd r24,Z+11 1108 00d8 5B96 adiw r26,27 1109 00da 8C93 st X,r24 1110 00dc A091 0000 lds r26,sja_base 1111 00e0 B091 0000 lds r27,sja_base+1 1112 00e4 8485 ldd r24,Z+12 1113 00e6 5C96 adiw r26,28 1114 00e8 8C93 st X,r24 1115 00ea 00C0 rjmp .L89 1116 .L87: 1117 00ec 45E1 ldi r20,21 1118 1: 1119 00ee 880F lsl r24 1120 00f0 991F rol r25 1121 00f2 AA1F rol r26 1122 00f4 BB1F rol r27 1123 00f6 4A95 dec r20 1124 00f8 01F4 brne 1b 1125 00fa C091 0000 lds r28,sja_base 1126 00fe D091 0000 lds r29,sja_base+1 1127 0102 2111 cpse r18,__zero_reg__ 1128 0104 20E4 ldi r18,lo8(64) 1129 .L90: 1130 0106 322B or r19,r18 1131 0108 388B std Y+16,r19 1132 010a C091 0000 lds r28,sja_base 1133 010e D091 0000 lds r29,sja_base+1 1134 0112 4B2F mov r20,r27 1135 0114 5527 clr r21 1136 0116 6627 clr r22 1137 0118 7727 clr r23 1138 011a 498B std Y+17,r20 GAS LISTING /tmp/cczkoS7A.s page 21 1139 011c C091 0000 lds r28,sja_base 1140 0120 D091 0000 lds r29,sja_base+1 1141 0124 8A2F mov r24,r26 1142 0126 807E andi r24,lo8(-32) 1143 0128 8A8B std Y+18,r24 1144 012a A091 0000 lds r26,sja_base 1145 012e B091 0000 lds r27,sja_base+1 1146 0132 8581 ldd r24,Z+5 1147 0134 5396 adiw r26,19 1148 0136 8C93 st X,r24 1149 0138 A091 0000 lds r26,sja_base 1150 013c B091 0000 lds r27,sja_base+1 1151 0140 8681 ldd r24,Z+6 1152 0142 5496 adiw r26,20 1153 0144 8C93 st X,r24 1154 0146 A091 0000 lds r26,sja_base 1155 014a B091 0000 lds r27,sja_base+1 1156 014e 8781 ldd r24,Z+7 1157 0150 5596 adiw r26,21 1158 0152 8C93 st X,r24 1159 0154 A091 0000 lds r26,sja_base 1160 0158 B091 0000 lds r27,sja_base+1 1161 015c 8085 ldd r24,Z+8 1162 015e 5696 adiw r26,22 1163 0160 8C93 st X,r24 1164 0162 A091 0000 lds r26,sja_base 1165 0166 B091 0000 lds r27,sja_base+1 1166 016a 8185 ldd r24,Z+9 1167 016c 5796 adiw r26,23 1168 016e 8C93 st X,r24 1169 0170 A091 0000 lds r26,sja_base 1170 0174 B091 0000 lds r27,sja_base+1 1171 0178 8285 ldd r24,Z+10 1172 017a 5896 adiw r26,24 1173 017c 8C93 st X,r24 1174 017e A091 0000 lds r26,sja_base 1175 0182 B091 0000 lds r27,sja_base+1 1176 0186 8385 ldd r24,Z+11 1177 0188 5996 adiw r26,25 1178 018a 8C93 st X,r24 1179 018c A091 0000 lds r26,sja_base 1180 0190 B091 0000 lds r27,sja_base+1 1181 0194 8485 ldd r24,Z+12 1182 0196 5A96 adiw r26,26 1183 0198 8C93 st X,r24 1184 .L89: 1185 019a E091 0000 lds r30,sja_base 1186 019e F091 0000 lds r31,sja_base+1 1187 01a2 81E0 ldi r24,lo8(1) 1188 01a4 8183 std Z+1,r24 1189 /* epilogue start */ 1190 01a6 DF91 pop r29 1191 01a8 CF91 pop r28 1192 01aa 0895 ret 1193 .size SJATxFrame, .-SJATxFrame 1194 .section .text.CAN_Tx,"ax",@progbits 1195 .global CAN_Tx GAS LISTING /tmp/cczkoS7A.s page 22 1196 .type CAN_Tx, @function 1197 CAN_Tx: 1198 0000 CF93 push r28 1199 0002 DF93 push r29 1200 0004 CDB7 in r28,__SP_L__ 1201 0006 DEB7 in r29,__SP_H__ 1202 0008 6E97 sbiw r28,30 1203 000a 0FB6 in __tmp_reg__,__SREG__ 1204 000c F894 cli 1205 000e DEBF out __SP_H__,r29 1206 0010 0FBE out __SREG__,__tmp_reg__ 1207 0012 CDBF out __SP_L__,r28 1208 /* prologue: function */ 1209 /* frame size = 30 */ 1210 /* stack size = 32 */ 1211 .L__stack_usage = 32 1212 0014 FC01 movw r30,r24 1213 0016 0189 ldd r16,Z+17 1214 0018 1289 ldd r17,Z+18 1215 001a 80E1 ldi r24,lo8(16) 1216 001c 0E94 0000 call NutThreadSetPriority 1217 0020 7801 movw r14,r16 1218 0022 F2E0 ldi r31,2 1219 0024 EF0E add r14,r31 1220 0026 F11C adc r15,__zero_reg__ 1221 .L96: 1222 0028 40E0 ldi r20,0 1223 002a 50E0 ldi r21,0 1224 002c BA01 movw r22,r20 1225 002e C701 movw r24,r14 1226 0030 0E94 0000 call NutEventWait 1227 .L94: 1228 0034 E091 0000 lds r30,sja_base 1229 0038 F091 0000 lds r31,sja_base+1 1230 003c 8281 ldd r24,Z+2 1231 003e 82FF sbrs r24,2 1232 0040 00C0 rjmp .L96 1233 0042 60E0 ldi r22,lo8(CAN_TX_BUF) 1234 0044 70E0 ldi r23,hi8(CAN_TX_BUF) 1235 0046 CE01 movw r24,r28 1236 0048 4096 adiw r24,16 1237 004a 0E94 0000 call CANBufferGetMutex 1238 004e 8FE0 ldi r24,lo8(15) 1239 0050 FE01 movw r30,r28 1240 0052 7096 adiw r30,16 1241 0054 DE01 movw r26,r28 1242 0056 1196 adiw r26,1 1243 0: 1244 0058 0190 ld r0,Z+ 1245 005a 0D92 st X+,r0 1246 005c 8A95 dec r24 1247 005e 01F4 brne 0b 1248 0060 CE01 movw r24,r28 1249 0062 0196 adiw r24,1 1250 0064 0E94 0000 call SJATxFrame 1251 0068 F801 movw r30,r16 1252 006a 8085 ldd r24,Z+8 GAS LISTING /tmp/cczkoS7A.s page 23 1253 006c 9185 ldd r25,Z+9 1254 006e A285 ldd r26,Z+10 1255 0070 B385 ldd r27,Z+11 1256 0072 0196 adiw r24,1 1257 0074 A11D adc r26,__zero_reg__ 1258 0076 B11D adc r27,__zero_reg__ 1259 0078 8087 std Z+8,r24 1260 007a 9187 std Z+9,r25 1261 007c A287 std Z+10,r26 1262 007e B387 std Z+11,r27 1263 0080 00C0 rjmp .L94 1264 .size CAN_Tx, .-CAN_Tx 1265 .section .text.SJARxFrame,"ax",@progbits 1266 .global SJARxFrame 1267 .type SJARxFrame, @function 1268 SJARxFrame: 1269 /* prologue: function */ 1270 /* frame size = 0 */ 1271 /* stack size = 0 */ 1272 .L__stack_usage = 0 1273 0000 FC01 movw r30,r24 1274 0002 A091 0000 lds r26,sja_base 1275 0006 B091 0000 lds r27,sja_base+1 1276 000a 5096 adiw r26,16 1277 000c 8C91 ld r24,X 1278 000e 982F mov r25,r24 1279 0010 9F70 andi r25,lo8(15) 1280 0012 9483 std Z+4,r25 1281 0014 982F mov r25,r24 1282 0016 991F rol r25 1283 0018 9927 clr r25 1284 001a 991F rol r25 1285 001c 9587 std Z+13,r25 1286 001e 86FB bst r24,6 1287 0020 9927 clr r25 1288 0022 90F9 bld r25,0 1289 0024 9687 std Z+14,r25 1290 0026 A091 0000 lds r26,sja_base 1291 002a B091 0000 lds r27,sja_base+1 1292 002e 87FF sbrs r24,7 1293 0030 00C0 rjmp .L98 1294 0032 5196 adiw r26,17 1295 0034 4C91 ld r20,X 1296 0036 A091 0000 lds r26,sja_base 1297 003a B091 0000 lds r27,sja_base+1 1298 003e 5296 adiw r26,18 1299 0040 8C91 ld r24,X 1300 0042 A091 0000 lds r26,sja_base 1301 0046 B091 0000 lds r27,sja_base+1 1302 004a 5396 adiw r26,19 1303 004c 3C91 ld r19,X 1304 004e A091 0000 lds r26,sja_base 1305 0052 B091 0000 lds r27,sja_base+1 1306 0056 5496 adiw r26,20 1307 0058 2C91 ld r18,X 1308 005a 90E0 ldi r25,0 1309 005c A0E0 ldi r26,0 GAS LISTING /tmp/cczkoS7A.s page 24 1310 005e B0E0 ldi r27,0 1311 0060 DC01 movw r26,r24 1312 0062 9927 clr r25 1313 0064 8827 clr r24 1314 0066 B42B or r27,r20 1315 0068 932B or r25,r19 1316 006a 287F andi r18,lo8(-8) 1317 006c 822B or r24,r18 1318 006e 63E0 ldi r22,3 1319 1: 1320 0070 B695 lsr r27 1321 0072 A795 ror r26 1322 0074 9795 ror r25 1323 0076 8795 ror r24 1324 0078 6A95 dec r22 1325 007a 01F4 brne 1b 1326 007c 8083 st Z,r24 1327 007e 9183 std Z+1,r25 1328 0080 A283 std Z+2,r26 1329 0082 B383 std Z+3,r27 1330 0084 A091 0000 lds r26,sja_base 1331 0088 B091 0000 lds r27,sja_base+1 1332 008c 5596 adiw r26,21 1333 008e 8C91 ld r24,X 1334 0090 8583 std Z+5,r24 1335 0092 A091 0000 lds r26,sja_base 1336 0096 B091 0000 lds r27,sja_base+1 1337 009a 5696 adiw r26,22 1338 009c 8C91 ld r24,X 1339 009e 8683 std Z+6,r24 1340 00a0 A091 0000 lds r26,sja_base 1341 00a4 B091 0000 lds r27,sja_base+1 1342 00a8 5796 adiw r26,23 1343 00aa 8C91 ld r24,X 1344 00ac 8783 std Z+7,r24 1345 00ae A091 0000 lds r26,sja_base 1346 00b2 B091 0000 lds r27,sja_base+1 1347 00b6 5896 adiw r26,24 1348 00b8 8C91 ld r24,X 1349 00ba 8087 std Z+8,r24 1350 00bc A091 0000 lds r26,sja_base 1351 00c0 B091 0000 lds r27,sja_base+1 1352 00c4 5996 adiw r26,25 1353 00c6 8C91 ld r24,X 1354 00c8 8187 std Z+9,r24 1355 00ca A091 0000 lds r26,sja_base 1356 00ce B091 0000 lds r27,sja_base+1 1357 00d2 5A96 adiw r26,26 1358 00d4 8C91 ld r24,X 1359 00d6 8287 std Z+10,r24 1360 00d8 A091 0000 lds r26,sja_base 1361 00dc B091 0000 lds r27,sja_base+1 1362 00e0 5B96 adiw r26,27 1363 00e2 8C91 ld r24,X 1364 00e4 8387 std Z+11,r24 1365 00e6 A091 0000 lds r26,sja_base 1366 00ea B091 0000 lds r27,sja_base+1 GAS LISTING /tmp/cczkoS7A.s page 25 1367 00ee 5C96 adiw r26,28 1368 00f0 8C91 ld r24,X 1369 00f2 00C0 rjmp .L100 1370 .L98: 1371 00f4 5196 adiw r26,17 1372 00f6 2C91 ld r18,X 1373 00f8 A091 0000 lds r26,sja_base 1374 00fc B091 0000 lds r27,sja_base+1 1375 0100 5296 adiw r26,18 1376 0102 8C91 ld r24,X 1377 0104 90E0 ldi r25,0 1378 0106 A0E0 ldi r26,0 1379 0108 B0E0 ldi r27,0 1380 010a DC01 movw r26,r24 1381 010c 9927 clr r25 1382 010e 8827 clr r24 1383 0110 B22B or r27,r18 1384 0112 45E1 ldi r20,21 1385 1: 1386 0114 B695 lsr r27 1387 0116 A795 ror r26 1388 0118 9795 ror r25 1389 011a 8795 ror r24 1390 011c 4A95 dec r20 1391 011e 01F4 brne 1b 1392 0120 8083 st Z,r24 1393 0122 9183 std Z+1,r25 1394 0124 A283 std Z+2,r26 1395 0126 B383 std Z+3,r27 1396 0128 A091 0000 lds r26,sja_base 1397 012c B091 0000 lds r27,sja_base+1 1398 0130 5396 adiw r26,19 1399 0132 8C91 ld r24,X 1400 0134 8583 std Z+5,r24 1401 0136 A091 0000 lds r26,sja_base 1402 013a B091 0000 lds r27,sja_base+1 1403 013e 5496 adiw r26,20 1404 0140 8C91 ld r24,X 1405 0142 8683 std Z+6,r24 1406 0144 A091 0000 lds r26,sja_base 1407 0148 B091 0000 lds r27,sja_base+1 1408 014c 5596 adiw r26,21 1409 014e 8C91 ld r24,X 1410 0150 8783 std Z+7,r24 1411 0152 A091 0000 lds r26,sja_base 1412 0156 B091 0000 lds r27,sja_base+1 1413 015a 5696 adiw r26,22 1414 015c 8C91 ld r24,X 1415 015e 8087 std Z+8,r24 1416 0160 A091 0000 lds r26,sja_base 1417 0164 B091 0000 lds r27,sja_base+1 1418 0168 5796 adiw r26,23 1419 016a 8C91 ld r24,X 1420 016c 8187 std Z+9,r24 1421 016e A091 0000 lds r26,sja_base 1422 0172 B091 0000 lds r27,sja_base+1 1423 0176 5896 adiw r26,24 GAS LISTING /tmp/cczkoS7A.s page 26 1424 0178 8C91 ld r24,X 1425 017a 8287 std Z+10,r24 1426 017c A091 0000 lds r26,sja_base 1427 0180 B091 0000 lds r27,sja_base+1 1428 0184 5996 adiw r26,25 1429 0186 8C91 ld r24,X 1430 0188 8387 std Z+11,r24 1431 018a A091 0000 lds r26,sja_base 1432 018e B091 0000 lds r27,sja_base+1 1433 0192 5A96 adiw r26,26 1434 0194 8C91 ld r24,X 1435 .L100: 1436 0196 8487 std Z+12,r24 1437 0198 E091 0000 lds r30,sja_base 1438 019c F091 0000 lds r31,sja_base+1 1439 01a0 84E0 ldi r24,lo8(4) 1440 01a2 8183 std Z+1,r24 1441 01a4 0895 ret 1442 .size SJARxFrame, .-SJARxFrame 1443 .section .text.SJAInterrupt,"ax",@progbits 1444 .type SJAInterrupt, @function 1445 SJAInterrupt: 1446 0000 0F93 push r16 1447 0002 1F93 push r17 1448 0004 CF93 push r28 1449 0006 DF93 push r29 1450 0008 CDB7 in r28,__SP_L__ 1451 000a DEB7 in r29,__SP_H__ 1452 000c 6097 sbiw r28,16 1453 000e 0FB6 in __tmp_reg__,__SREG__ 1454 0010 F894 cli 1455 0012 DEBF out __SP_H__,r29 1456 0014 0FBE out __SREG__,__tmp_reg__ 1457 0016 CDBF out __SP_L__,r28 1458 /* prologue: function */ 1459 /* frame size = 16 */ 1460 /* stack size = 20 */ 1461 .L__stack_usage = 20 1462 0018 E091 0000 lds r30,sja_base 1463 001c F091 0000 lds r31,sja_base+1 1464 0020 2381 ldd r18,Z+3 1465 0022 288B std Y+16,r18 1466 0024 DC01 movw r26,r24 1467 0026 5196 adiw r26,17 1468 0028 0D91 ld r16,X+ 1469 002a 1C91 ld r17,X 1470 002c 5297 sbiw r26,17+1 1471 002e F801 movw r30,r16 1472 0030 8485 ldd r24,Z+12 1473 0032 9585 ldd r25,Z+13 1474 0034 A685 ldd r26,Z+14 1475 0036 B785 ldd r27,Z+15 1476 0038 0196 adiw r24,1 1477 003a A11D adc r26,__zero_reg__ 1478 003c B11D adc r27,__zero_reg__ 1479 003e 8487 std Z+12,r24 1480 0040 9587 std Z+13,r25 GAS LISTING /tmp/cczkoS7A.s page 27 1481 0042 A687 std Z+14,r26 1482 0044 B787 std Z+15,r27 1483 0046 8889 ldd r24,Y+16 1484 0048 81FF sbrs r24,1 1485 004a 00C0 rjmp .L102 1486 004c 8281 ldd r24,Z+2 1487 004e 9381 ldd r25,Z+3 1488 0050 892B or r24,r25 1489 0052 01F4 brne .L103 1490 0054 8FEF ldi r24,lo8(-1) 1491 0056 9FEF ldi r25,lo8(-1) 1492 0058 9383 std Z+3,r25 1493 005a 8283 std Z+2,r24 1494 005c 00C0 rjmp .L102 1495 .L103: 1496 005e 8281 ldd r24,Z+2 1497 0060 9381 ldd r25,Z+3 1498 0062 0196 adiw r24,1 1499 0064 01F0 breq .L102 1500 0066 0280 ldd __tmp_reg__,Z+2 1501 0068 F381 ldd r31,Z+3 1502 006a E02D mov r30,__tmp_reg__ 1503 006c 8481 ldd r24,Z+4 1504 006e 9581 ldd r25,Z+5 1505 0070 0196 adiw r24,1 1506 0072 9583 std Z+5,r25 1507 0074 8483 std Z+4,r24 1508 .L102: 1509 0076 8889 ldd r24,Y+16 1510 0078 80FF sbrs r24,0 1511 007a 00C0 rjmp .L104 1512 007c 2091 0000 lds r18,CAN_RX_BUF+2 1513 0080 3091 0000 lds r19,CAN_RX_BUF+2+1 1514 0084 8091 0000 lds r24,CAN_RX_BUF+4 1515 0088 9091 0000 lds r25,CAN_RX_BUF+4+1 1516 008c 2817 cp r18,r24 1517 008e 3907 cpc r19,r25 1518 0090 01F4 brne .+2 1519 0092 00C0 rjmp .L104 1520 0094 CE01 movw r24,r28 1521 0096 0196 adiw r24,1 1522 0098 0E94 0000 call SJARxFrame 1523 009c BE01 movw r22,r28 1524 009e 6F5F subi r22,-1 1525 00a0 7F4F sbci r23,-1 1526 00a2 80E0 ldi r24,lo8(CAN_RX_BUF) 1527 00a4 90E0 ldi r25,hi8(CAN_RX_BUF) 1528 00a6 0E94 0000 call CANBufferPut 1529 00aa 2091 0000 lds r18,CAN_RX_BUF+2 1530 00ae 3091 0000 lds r19,CAN_RX_BUF+2+1 1531 00b2 8091 0000 lds r24,CAN_RX_BUF+4 1532 00b6 9091 0000 lds r25,CAN_RX_BUF+4+1 1533 00ba 2817 cp r18,r24 1534 00bc 3907 cpc r19,r25 1535 00be 01F4 brne .L105 1536 00c0 E091 0000 lds r30,sja_base 1537 00c4 F091 0000 lds r31,sja_base+1 GAS LISTING /tmp/cczkoS7A.s page 28 1538 00c8 8481 ldd r24,Z+4 1539 00ca 8E7F andi r24,lo8(-2) 1540 00cc 8483 std Z+4,r24 1541 .L105: 1542 00ce F801 movw r30,r16 1543 00d0 8081 ld r24,Z 1544 00d2 9181 ldd r25,Z+1 1545 00d4 892B or r24,r25 1546 00d6 01F4 brne .L106 1547 00d8 8FEF ldi r24,lo8(-1) 1548 00da 9FEF ldi r25,lo8(-1) 1549 00dc 9183 std Z+1,r25 1550 00de 8083 st Z,r24 1551 00e0 00C0 rjmp .L107 1552 .L106: 1553 00e2 8081 ld r24,Z 1554 00e4 9181 ldd r25,Z+1 1555 00e6 0196 adiw r24,1 1556 00e8 01F0 breq .L107 1557 00ea 0190 ld __tmp_reg__,Z+ 1558 00ec F081 ld r31,Z 1559 00ee E02D mov r30,__tmp_reg__ 1560 00f0 8481 ldd r24,Z+4 1561 00f2 9581 ldd r25,Z+5 1562 00f4 0196 adiw r24,1 1563 00f6 9583 std Z+5,r25 1564 00f8 8483 std Z+4,r24 1565 .L107: 1566 00fa F801 movw r30,r16 1567 00fc 8481 ldd r24,Z+4 1568 00fe 9581 ldd r25,Z+5 1569 0100 A681 ldd r26,Z+6 1570 0102 B781 ldd r27,Z+7 1571 0104 0196 adiw r24,1 1572 0106 A11D adc r26,__zero_reg__ 1573 0108 B11D adc r27,__zero_reg__ 1574 010a 8483 std Z+4,r24 1575 010c 9583 std Z+5,r25 1576 010e A683 std Z+6,r26 1577 0110 B783 std Z+7,r27 1578 .L104: 1579 0112 8889 ldd r24,Y+16 1580 0114 82FF sbrs r24,2 1581 0116 00C0 rjmp .L108 1582 0118 F801 movw r30,r16 1583 011a 8489 ldd r24,Z+20 1584 011c 9589 ldd r25,Z+21 1585 011e A689 ldd r26,Z+22 1586 0120 B789 ldd r27,Z+23 1587 0122 0196 adiw r24,1 1588 0124 A11D adc r26,__zero_reg__ 1589 0126 B11D adc r27,__zero_reg__ 1590 0128 848B std Z+20,r24 1591 012a 958B std Z+21,r25 1592 012c A68B std Z+22,r26 1593 012e B78B std Z+23,r27 1594 0130 00C0 rjmp .L101 GAS LISTING /tmp/cczkoS7A.s page 29 1595 .L108: 1596 0132 8889 ldd r24,Y+16 1597 0134 83FF sbrs r24,3 1598 0136 00C0 rjmp .L101 1599 0138 F801 movw r30,r16 1600 013a 8089 ldd r24,Z+16 1601 013c 9189 ldd r25,Z+17 1602 013e A289 ldd r26,Z+18 1603 0140 B389 ldd r27,Z+19 1604 0142 0196 adiw r24,1 1605 0144 A11D adc r26,__zero_reg__ 1606 0146 B11D adc r27,__zero_reg__ 1607 0148 808B std Z+16,r24 1608 014a 918B std Z+17,r25 1609 014c A28B std Z+18,r26 1610 014e B38B std Z+19,r27 1611 0150 E091 0000 lds r30,sja_base 1612 0154 F091 0000 lds r31,sja_base+1 1613 0158 88E0 ldi r24,lo8(8) 1614 015a 8183 std Z+1,r24 1615 .L101: 1616 /* epilogue start */ 1617 015c 6096 adiw r28,16 1618 015e 0FB6 in __tmp_reg__,__SREG__ 1619 0160 F894 cli 1620 0162 DEBF out __SP_H__,r29 1621 0164 0FBE out __SREG__,__tmp_reg__ 1622 0166 CDBF out __SP_L__,r28 1623 0168 DF91 pop r29 1624 016a CF91 pop r28 1625 016c 1F91 pop r17 1626 016e 0F91 pop r16 1627 0170 0895 ret 1628 .size SJAInterrupt, .-SJAInterrupt 1629 .global devSJA1000 1630 .data 1631 .type devSJA1000, @object 1632 .size devSJA1000, 37 1633 devSJA1000: 1634 0000 0000 .word 0 1635 0002 73 .byte 115 1636 0003 6A .byte 106 1637 0004 61 .byte 97 1638 0005 31 .byte 49 1639 0006 30 .byte 48 1640 0007 30 .byte 48 1641 0008 30 .byte 48 1642 0009 00 .byte 0 1643 000a 00 .byte 0 1644 000b 06 .byte 6 1645 000c 0000 .word 0 1646 000e 00 .byte 0 1647 000f 0000 .word ifc_sja1000 1648 0011 0000 .word dcb_sja1000 1649 0013 0000 .word gs(SJAInit) 1650 0015 0000 .word 0 1651 0017 0000 .word 0 GAS LISTING /tmp/cczkoS7A.s page 30 1652 0019 0000 .word 0 1653 001b 0000 .word 0 1654 001d 0000 .word 0 1655 001f 0000 .word 0 1656 0021 0000 .word 0 1657 0023 0000 .word 0 1658 .global ifc_sja1000 1659 .type ifc_sja1000, @object 1660 .size ifc_sja1000, 31 1661 ifc_sja1000: 1662 0025 02 .byte 2 1663 0026 06 .byte 6 1664 0027 00 .byte 0 1665 0028 00 .byte 0 1666 0029 00 .byte 0 1667 002a FF .byte -1 1668 002b FF .byte -1 1669 002c FF .byte -1 1670 002d FF .byte -1 1671 002e 00 .byte 0 1672 002f 00 .byte 0 1673 0030 00 .byte 0 1674 0031 00 .byte 0 1675 0032 00 .byte 0 1676 0033 00 .byte 0 1677 0034 00 .byte 0 1678 0035 00 .byte 0 1679 0036 0000 .word gs(SJARxAvail) 1680 0038 0000 .word gs(SJATxFree) 1681 003a 0000 .word gs(SJAInput) 1682 003c 0000 .word gs(SJAOutput) 1683 003e 0000 .word gs(SJASetAccCode) 1684 0040 0000 .word gs(SJASetAccMask) 1685 0042 0000 .word gs(SJASetBaudrate) 1686 .comm CAN_TX_BUF,16,1 1687 .comm CAN_RX_BUF,16,1 1688 .global sja_base 1689 .section .bss 1690 .type sja_base, @object 1691 .size sja_base, 2 1692 sja_base: 1693 0000 0000 .zero 2 1694 .comm dcb_sja1000,24,1 1695 .ident "GCC: (GNU) 5.3.0" 1696 .global __do_copy_data 1697 .global __do_clear_bss GAS LISTING /tmp/cczkoS7A.s page 31 DEFINED SYMBOLS *ABS*:0000000000000000 sja1000.c /tmp/cczkoS7A.s:2 *ABS*:000000000000003e __SP_H__ /tmp/cczkoS7A.s:3 *ABS*:000000000000003d __SP_L__ /tmp/cczkoS7A.s:4 *ABS*:000000000000003f __SREG__ /tmp/cczkoS7A.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/cczkoS7A.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/cczkoS7A.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/cczkoS7A.s:11 .text.SJASetAccCode:0000000000000000 SJASetAccCode /tmp/cczkoS7A.s:1692 .bss:0000000000000000 sja_base /tmp/cczkoS7A.s:86 .text.SJASetAccMask:0000000000000000 SJASetAccMask /tmp/cczkoS7A.s:161 .text.SJASetBaudrate:0000000000000000 SJASetBaudrate /tmp/cczkoS7A.s:291 .text.CANBufferInit:0000000000000000 CANBufferInit /tmp/cczkoS7A.s:341 .text.SJAInit:0000000000000000 SJAInit *COM*:0000000000000010 CAN_RX_BUF *COM*:0000000000000010 CAN_TX_BUF /tmp/cczkoS7A.s:1445 .text.SJAInterrupt:0000000000000000 SJAInterrupt /tmp/cczkoS7A.s:1197 .text.CAN_Tx:0000000000000000 CAN_Tx /tmp/cczkoS7A.s:619 .text.CANBufferGetMutex:0000000000000000 CANBufferGetMutex /tmp/cczkoS7A.s:687 .text.CANBufferPutMutex:0000000000000000 CANBufferPutMutex /tmp/cczkoS7A.s:747 .text.SJAOutput:0000000000000000 SJAOutput /tmp/cczkoS7A.s:770 .text.CANBufferGet:0000000000000000 CANBufferGet /tmp/cczkoS7A.s:832 .text.SJAInput:0000000000000000 SJAInput /tmp/cczkoS7A.s:949 .text.CANBufferPut:0000000000000000 CANBufferPut /tmp/cczkoS7A.s:1000 .text.CANBufferFree:0000000000000000 CANBufferFree /tmp/cczkoS7A.s:1017 .text.SJATxFrame:0000000000000000 SJATxFrame /tmp/cczkoS7A.s:1268 .text.SJARxFrame:0000000000000000 SJARxFrame /tmp/cczkoS7A.s:1633 .data:0000000000000000 devSJA1000 /tmp/cczkoS7A.s:1661 .data:0000000000000025 ifc_sja1000 *COM*:0000000000000018 dcb_sja1000 UNDEFINED SYMBOLS __tablejump2__ NutSemInit heapFreeList NutHeapRootAlloc sig_INTERRUPT7 NutRegisterIrqHandler NutThreadCreate NutSemWait __udivmodhi4 NutSemPost NutEventPostAsync NutEventWait NutThreadSetPriority SJARxAvail SJATxFree __do_copy_data __do_clear_bss