📄 bseppca.lst
字号:
000001d0 00 8061 0028 268 lwz r3,XR3(r1)
000001d4 00 8081 002c 269 lwz r4,XR4(r1)
000001d8 00 80a1 0030 270 lwz r5,XR5(r1)
000001dc 00 80c1 0034 271 lwz r6,XR6(r1)
000001e0 00 80e1 0038 272 lwz r7,XR7(r1)
000001e4 00 8101 003c 273 lwz r8,XR8(r1)
000001e8 00 8121 0040 274 lwz r9,XR9(r1)
000001ec 00 8141 0044 275 lwz r10,XR10(r1)
000001f0 00 8161 0048 276 lwz r11,XR11(r1)
000001f4 00 8181 004c 277 lwz r12,XR12(r1)
000001f8 00 81a1 0050 278 lwz r13,XR13(r1)
000001fc 00 81c1 0054 279 lwz r14,XR14(r1)
00000200 00 81e1 0058 280 lwz r15,XR15(r1)
00000204 00 8201 005c 281 lwz r16,XR16(r1)
00000208 00 8221 0060 282 lwz r17,XR17(r1)
0000020c 00 8241 0064 283 lwz r18,XR18(r1)
00000210 00 8261 0068 284 lwz r19,XR19(r1)
00000214 00 8281 006c 285 lwz r20,XR20(r1)
00000218 00 82a1 0070 286 lwz r21,XR21(r1)
0000021c 00 82c1 0074 287 lwz r22,XR22(r1)
00000220 00 82e1 0078 288 lwz r23,XR23(r1)
00000224 00 8301 007c 289 lwz r24,XR24(r1)
00000228 00 8321 0080 290 lwz r25,XR25(r1)
0000022c 00 8341 0084 291 lwz r26,XR26(r1)
00000230 00 8361 0088 292 lwz r27,XR27(r1)
00000234 00 8381 008c 293 lwz r28,XR28(r1)
00000238 00 83a1 0090 294 lwz r29,XR29(r1)
0000023c 00 83c1 0094 295 lwz r30,XR30(r1)
00000240 00 83e1 0098 296 lwz r31,XR31(r1)
00000244 00 8001 0020 297 lwz r0,XLR(r1)
00000248 00 7c08 03a6 298 mtspr LR,r0
0000024c 00 8001 001c 299 lwz r0,XCR(r1)
00000250 00 7c0f f120 300 mtcrf 255,r0
00000254 00 8001 0018 301 lwz r0,XXER(r1)
00000258 00 7c01 03a6 302 mtspr XER,r0
0000025c 00 8001 0014 303 lwz r0,XCTR(r1)
00000260 00 7c09 03a6 304 mtspr CTR,r0
00000264 00 8001 0010 305 lwz r0,XSRR1(r1)
00000268 00 7c1b 03a6 306 mtspr SRR1,r0
0000026c 00 8001 000c 307 lwz r0,XSRR0(r1)
00000270 00 7c1a 03a6 308 mtspr SRR0,r0
00000274 00 309 #
00000274 00 310 # srn 04.06.26
00000274 00 311 # We have restored SRR1 and would have execute 'rfi' later...
00000274 00 312 # ...why must restore MSR still ?
00000274 00 313 #
00000274 00 8001 009c 314 lwz r0,XMSR(r1)
00000278 00 7c00 0124 315 mtmsr r0
0000027c 00 8001 0008 316 lwz r0,XR0(r1)
00000280 00 3821 00a0 317 addi r1,r1,STACK_FRAME_SIZE
00000284 00 4c00 0064 318 rfi
00000288 00 319
00000288 00 320 #########################################################################
00000288 00 321 # Perform a context switch from an ISR
00000288 00 322 # void OSIntCtxSw(void)
00000288 00 323 #########################################################################
00000288 00 324
00000288 00 325 OSIntCtxSw:
00000288 00 326 # Ignore calls to OSIntExit, OSIntCtxSw
00000288 00 327 #
00000288 00 328 # srn 04.06.26
00000288 00 329 # Adjust stack pointer to addr we cared.
00000288 00 330 # But why '0x10' ?
00000288 00 331 #
00000288 00 332 # addi r1,r1,0x10
00000288 00 333 #
00000288 00 334 # Change to 0x20 for restore correctly.
00000288 00 335 #
00000288 00 3821 0020 336 addi r1,r1,0x20
0000028c 00 337
0000028c 00 338 # Get pointer to current TCB
0000028c 00 3d60 0000 339 lis r11,OSTCBCur@ha
00000290 00 816b 0000 340 lwz r11,OSTCBCur@l(r11)
00000294 00 341
00000294 00 342 # Save stack pointer in current TCB
00000294 00 902b 0000 343 stw r1,0(r11)
00000298 00 344
00000298 00 345 # Call OSTaskSwHook
00000298 00 4800 0001 346 bl OSTaskSwHook
0000029c 00 347
0000029c 00 348 # Get pointer to ready task TCB
0000029c 00 3d60 0000 349 lis r11,OSTCBHighRdy@ha
000002a0 00 816b 0000 350 lwz r11,OSTCBHighRdy@l(r11)
000002a4 00 351
000002a4 00 352 # Save as current task TCB ptr.
000002a4 00 3d80 0000 353 lis r12,OSTCBCur@ha
000002a8 00 916c 0000 354 stw r11,OSTCBCur@l(r12)
000002ac 00 355
000002ac 00 356 # Get High Ready Priority
000002ac 00 3d80 0000 357 lis r12,OSPrioHighRdy@ha
000002b0 00 894c 0000 358 lbz r10,OSPrioHighRdy@l(r12)
000002b4 00 359
000002b4 00 360 # Save as Current Priority
000002b4 00 3d80 0000 361 lis r12,OSPrioCur@ha
000002b8 00 994c 0000 362 stb r10,OSPrioCur@l(r12)
000002bc 00 363
000002bc 00 364 # Get new stack pointer
000002bc 00 802b 0000 365 lwz r1,0(r11)
000002c0 00 366
000002c0 00 367 # Restore context
000002c0 00 368 #
000002c0 00 369 # srn 04.06.02
000002c0 00 370 # before this point, has done sth?
000002c0 00 371 # --Yes!It's a new ready task!
000002c0 00 372 #
000002c0 00 8041 0024 373 lwz r2,XR2(r1)
000002c4 00 8061 0028 374 lwz r3,XR3(r1)
000002c8 00 8081 002c 375 lwz r4,XR4(r1)
000002cc 00 80a1 0030 376 lwz r5,XR5(r1)
000002d0 00 80c1 0034 377 lwz r6,XR6(r1)
000002d4 00 80e1 0038 378 lwz r7,XR7(r1)
000002d8 00 8101 003c 379 lwz r8,XR8(r1)
000002dc 00 8121 0040 380 lwz r9,XR9(r1)
000002e0 00 8141 0044 381 lwz r10,XR10(r1)
000002e4 00 8161 0048 382 lwz r11,XR11(r1)
000002e8 00 8181 004c 383 lwz r12,XR12(r1)
000002ec 00 81c1 0054 384 lwz r14,XR14(r1)
000002f0 00 81e1 0058 385 lwz r15,XR15(r1)
000002f4 00 8201 005c 386 lwz r16,XR16(r1)
000002f8 00 8221 0060 387 lwz r17,XR17(r1)
000002fc 00 8241 0064 388 lwz r18,XR18(r1)
00000300 00 8261 0068 389 lwz r19,XR19(r1)
00000304 00 8281 006c 390 lwz r20,XR20(r1)
00000308 00 82a1 0070 391 lwz r21,XR21(r1)
0000030c 00 82c1 0074 392 lwz r22,XR22(r1)
00000310 00 82e1 0078 393 lwz r23,XR23(r1)
00000314 00 8301 007c 394 lwz r24,XR24(r1)
00000318 00 8321 0080 395 lwz r25,XR25(r1)
0000031c 00 8341 0084 396 lwz r26,XR26(r1)
00000320 00 8361 0088 397 lwz r27,XR27(r1)
00000324 00 8381 008c 398 lwz r28,XR28(r1)
00000328 00 83a1 0090 399 lwz r29,XR29(r1)
0000032c 00 83c1 0094 400 lwz r30,XR30(r1)
00000330 00 83e1 0098 401 lwz r31,XR31(r1)
00000334 00 402 #
00000334 00 403 # srn 04.06.02
00000334 00 404 # strange order? LR is lower than R2, why pushed later?
00000334 00 405 # --No affect, we can push them out with any order...
00000334 00 406 # ...so as we push all of them out. :)
00000334 00 407 #
00000334 00 408 # what's the stack's real mean?
00000334 00 409 # --It's adhered tightly with its task!
00000334 00 410 #
00000334 00 8001 0020 411 lwz r0,XLR(r1)
00000338 00 7c08 03a6 412 mtspr LR,r0
0000033c 00 8001 001c 413 lwz r0,XCR(r1)
00000340 00 7c0f f120 414 mtcrf 255,r0
00000344 00 8001 0018 415 lwz r0,XXER(r1)
00000348 00 7c01 03a6 416 mtspr XER,r0
0000034c 00 8001 0014 417 lwz r0,XCTR(r1)
00000350 00 7c09 03a6 418 mtspr CTR,r0
00000354 00 8001 0010 419 lwz r0,XSRR1(r1)
00000358 00 7c1b 03a6 420 mtspr SRR1,r0
0000035c 00 8001 000c 421 lwz r0,XSRR0(r1)
00000360 00 7c1a 03a6 422 mtspr SRR0,r0
00000364 00 8001 009c 423 lwz r0,XMSR(r1)
00000368 00 7c00 0124 424 mtmsr r0
0000036c 00 8001 0008 425 lwz r0,XR0(r1)
00000370 00 3821 00a0 426 addi r1,r1,STACK_FRAME_SIZE
00000374 00 4c00 0064 427 rfi
00000378 00 428
00000378 00 429 #########################################################################
00000378 00 430 # Decrementer Interrupt Handler
00000378 00 431 # void DECIntr (void)
00000378 00 432 #########################################################################
00000378 00 433
00000378 00 434 DECIntr:
00000378 00 435 #Save context
00000378 00 9421 ff60 436 stwu r1,-STACK_FRAME_SIZE(r1)
0000037c 00 9001 0008 437 stw r0,XR0(r1)
00000380 00 7c08 02a6 438 mfspr r0,LR
00000384 00 9001 0020 439 stw r0,XLR(r1)
00000388 00 7c00 0026 440 mfcr r0
0000038c 00 9001 001c 441 stw r0,XCR(r1)
00000390 00 7c01 02a6 442 mfspr r0,XER
00000394 00 9001 0018 443 stw r0,XXER(r1)
00000398 00 7c09 02a6 444 mfspr r0,CTR
0000039c 00 9001 0014 445 stw r0,XCTR(r1)
000003a0 00 7c1b 02a6 446 mfspr r0,SRR1
000003a4 00 9001 0010 447 stw r0,XSRR1(r1)
000003a8 00 7c1a 02a6 448 mfspr r0,SRR0
000003ac 00 9001 000c 449 stw r0,XSRR0(r1)
000003b0 00 7c00 00a6 450 mfmsr r0
000003b4 00 9001 009c 451 stw r0,XMSR(1)
000003b8 00 9041 0024 452 stw r2,XR2(r1)
000003bc 00 9061 0028 453 stw r3,XR3(r1)
000003c0 00 9081 002c 454 stw r4,XR4(r1)
000003c4 00 90a1 0030 455 stw r5,XR5(r1)
000003c8 00 90c1 0034 456 stw r6,XR6(r1)
000003cc 00 90e1 0038 457 stw r7,XR7(r1)
000003d0 00 9101 003c 458 stw r8,XR8(r1)
000003d4 00 9121 0040 459 stw r9,XR9(r1)
000003d8 00 9141 0044 460 stw r10,XR10(r1)
000003dc 00 9161 0048 461 stw r11,XR11(r1)
000003e0 00 9181 004c 462 stw r12,XR12(r1)
000003e4 00 91a1 0050 463 stw r13,XR13(r1)
000003e8 00 91c1 0054 464 stw r14,XR14(r1)
000003ec 00 91e1 0058 465 stw r15,XR15(r1)
000003f0 00 9201 005c 466 stw r16,XR16(r1)
000003f4 00 9221 0060 467 stw r17,XR17(r1)
000003f8 00 9241 0064 468 stw r18,XR18(r1)
000003fc 00 9261 0068 469 stw r19,XR19(r1)
00000400 00 9281 006c 470 stw r20,XR20(r1)
00000404 00 92a1 0070 471 stw r21,XR21(r1)
00000408 00 92c1 0074 472 stw r22,XR22(r1)
0000040c 00 92e1 0078 473 stw r23,XR23(r1)
00000410 00 9301 007c 474 stw r24,XR24(r1)
00000414 00 9321 0080 475 stw r25,XR25(r1)
00000418 00 9341 0084 476 stw r26,XR26(r1)
0000041c 00 9361 0088 477 stw r27,XR27(r1)
00000420 00 9381 008c 478 stw r28,XR28(r1)
00000424 00 93a1 0090 479 stw r29,XR29(r1)
00000428 00 93c1 0094 480 stw r30,XR30(r1)
0000042c 00 93e1 0098 481 stw r31,XR31(r1)
00000430 00 482
00000430 00 4800 0001 483 bl DEC_Hdlr
00000434 00 484
00000434 00 8041 0024 485 lwz r2,XR2(r1)
00000438 00 8061 0028 486 lwz r3,XR3(r1)
0000043c 00 8081 002c 487 lwz r4,XR4(r1)
00000440 00 80a1 0030 488 lwz r5,XR5(r1)
00000444 00 80c1 0034 489 lwz r6,XR6(r1)
00000448 00 80e1 0038 490 lwz r7,XR7(r1)
0000044c 00 8101 003c 491 lwz r8,XR8(r1)
00000450 00 8121 0040 492 lwz r9,XR9(r1)
00000454 00 8141 0044 493 lwz r10,XR10(r1)
00000458 00 8161 0048 494 lwz r11,XR11(r1)
0000045c 00 8181 004c 495 lwz r12,XR12(r1)
00000460 00 81a1 0050 496 lwz r13,XR13(r1)
00000464 00 81c1 0054 497 lwz r14,XR14(r1)
00000468 00 81e1 0058 498 lwz r15,XR15(r1)
0000046c 00 8201 005c 499 lwz r16,XR16(r1)
00000470 00 8221 0060 500 lwz r17,XR17(r1)
00000474 00 8241 0064 501 lwz r18,XR18(r1)
00000478 00 8261 0068 502 lwz r19,XR19(r1)
0000047c 00 8281 006c 503 lwz r20,XR20(r1)
00000480 00 82a1 0070 504 lwz r21,XR21(r1)
00000484 00 82c1 0074 505 lwz r22,XR22(r1)
00000488 00 82e1 0078 506 lwz r23,XR23(r1)
0000048c 00 8301 007c 507 lwz r24,XR24(r1)
00000490 00 8321 0080 508 lwz r25,XR25(r1)
00000494 00 8341 0084 509 lwz r26,XR26(r1)
00000498 00 8361 0088 510 lwz r27,XR27(r1)
0000049c 00 8381 008c 511 lwz r28,XR28(r1)
000004a0 00 83a1 0090 512 lwz r29,XR29(r1)
000004a4 00 83c1 0094 513 lwz r30,XR30(r1)
000004a8 00 83e1 0098 514 lwz r31,XR31(r1)
000004ac 00 8001 0020 515 lwz r0,XLR(r1)
000004b0 00 7c08 03a6 516 mtspr LR,r0
000004b4 00 8001 001c 517 lwz r0,XCR(r1)
000004b8 00 7c0f f120 518 mtcrf 255,r0
000004bc 00 8001 0018 519 lwz r0,XXER(r1)
000004c0 00 7c01 03a6 520 mtspr XER,r0
000004c4 00 8001 0014 521 lwz r0,XCTR(r1)
000004c8 00 7c09 03a6 522 mtspr CTR,r0
000004cc 00 8001 0010 523 lwz r0,XSRR1(r1)
000004d0 00 7c1b 03a6 524 mtspr SRR1,r0
000004d4 00 8001 000c 525 lwz r0,XSRR0(r1)
000004d8 00 7c1a 03a6 526 mtspr SRR0,r0
000004dc 00 8001 009c 527 lwz r0,XMSR(r1)
000004e0 00 7c00 0124 528 mtmsr r0
000004e4 00 8001 0008 529 lwz r0,XR0(r1)
000004e8 00 3821 00a0 530 addi r1,r1,STACK_FRAME_SIZE
000004ec 00 4c00 0064 531 rfi
000004f0 00 532
000004f0 00 533 .end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -