| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841 |
- 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
|