📄 main.s43
字号:
// 307 P3SEL_bit.P3SEL_0 = 0; // 0 is digital I/O
BIC.B #0x1, &0x1b
// 308 P3SEL_bit.P3SEL_1 = 0; // 0 is digital I/O
BIC.B #0x2, &0x1b
// 309 P3SEL_bit.P3SEL_2 = 0; // 0 is digital I/O
BIC.B #0x4, &0x1b
// 310 P3SEL_bit.P3SEL_3 = 0; // 0 is digital I/O
BIC.B #0x8, &0x1b
// 311
// 312 P3DIR_bit.P3DIR_0 = 0; // 1 is input
BIC.B #0x1, &0x1a
// 313 P3DIR_bit.P3DIR_1 = 0; // 1 is input
BIC.B #0x2, &0x1a
// 314 P3DIR_bit.P3DIR_2 = 0; // 1 is input
BIC.B #0x4, &0x1a
// 315 P3DIR_bit.P3DIR_3 = 0; // 1 is input
BIC.B #0x8, &0x1a
// 316
// 317 // UART PINS
// 318
// 319 // P4: LED's are on P4:
// 320
// 321 // LED4: P4.0
// 322 // LED3: P4.1
// 323 // LED2: P4.2
// 324 // LED1: P4.3
// 325
// 326 P4SEL_bit.P4SEL_0 = 0; // 0 is digital I/O
BIC.B #0x1, &0x1f
// 327 P4SEL_bit.P4SEL_1 = 0; // 0 is digital I/O
BIC.B #0x2, &0x1f
// 328 P4SEL_bit.P4SEL_2 = 0; // 0 is digital I/O
BIC.B #0x4, &0x1f
// 329 P4SEL_bit.P4SEL_3 = 0; // 0 is digital I/O
BIC.B #0x8, &0x1f
// 330 P4SEL_bit.P4SEL_4 = 0; // 0 is digital I/O
BIC.B #0x10, &0x1f
// 331 P4SEL_bit.P4SEL_5 = 0; // 0 is digital I/O
BIC.B #0x20, &0x1f
// 332 P4SEL_bit.P4SEL_6 = 0; // 0 is digital I/O
BIC.B #0x40, &0x1f
// 333 P4SEL_bit.P4SEL_7 = 0; // 0 is digital I/O
BIC.B #0x80, &0x1f
// 334
// 335 P4DIR_bit.P4DIR_0 = 1; // 1 is output
BIS.B #0x1, &0x1e
// 336 P4DIR_bit.P4DIR_1 = 1; // 1 is output
BIS.B #0x2, &0x1e
// 337 P4DIR_bit.P4DIR_2 = 1; // 1 is output
BIS.B #0x4, &0x1e
// 338 P4DIR_bit.P4DIR_3 = 1; // 1 is output
BIS.B #0x8, &0x1e
// 339 P4DIR_bit.P4DIR_4 = 1; // 1 is output -- NC
BIS.B #0x10, &0x1e
// 340 P4DIR_bit.P4DIR_5 = 0; // 0 is input
BIC.B #0x20, &0x1e
// 341 P4DIR_bit.P4DIR_6 = 0; // 0 is input
BIC.B #0x40, &0x1e
// 342 P4DIR_bit.P4DIR_7 = 1; // 1 is output -- NC
BIS.B #0x80, &0x1e
// 343
// 344 // P5:
// 345
// 346 P5SEL_bit.P5SEL_0 = 0; // 0 is digital I/O
BIC.B #0x1, &0x33
// 347 P5SEL_bit.P5SEL_1 = 0; // 0 is digital I/O
BIC.B #0x2, &0x33
// 348 P5SEL_bit.P5SEL_2 = 0; // 0 is digital I/O
BIC.B #0x4, &0x33
// 349 P5SEL_bit.P5SEL_3 = 0; // 0 is digital I/O
BIC.B #0x8, &0x33
// 350 P5SEL_bit.P5SEL_4 = 0; // 0 is digital I/O
BIC.B #0x10, &0x33
// 351 P5SEL_bit.P5SEL_5 = 0; // 0 is digital I/O
BIC.B #0x20, &0x33
// 352 P5SEL_bit.P5SEL_6 = 0; // 0 is digital I/O
BIC.B #0x40, &0x33
// 353 P5SEL_bit.P5SEL_7 = 0; // 0 is digital I/O
BIC.B #0x80, &0x33
// 354
// 355 P5DIR_bit.P5DIR_0 = 0; // 0 is input
BIC.B #0x1, &0x32
// 356 P5DIR_bit.P5DIR_1 = 0; // 0 is input
BIC.B #0x2, &0x32
// 357 P5DIR_bit.P5DIR_2 = 0; // 0 is input
BIC.B #0x4, &0x32
// 358 P5DIR_bit.P5DIR_3 = 0; // 0 is input
BIC.B #0x8, &0x32
// 359 P5DIR_bit.P5DIR_4 = 0; // 0 is input
BIC.B #0x10, &0x32
// 360 P5DIR_bit.P5DIR_5 = 1; // 1 is output -- NC
BIS.B #0x20, &0x32
// 361 P5DIR_bit.P5DIR_6 = 1; // 1 is output -- NC
BIS.B #0x40, &0x32
// 362 P5DIR_bit.P5DIR_7 = 1; // 1 is output -- NC
BIS.B #0x80, &0x32
// 363
// 364 // P6:
// 365
// 366 P6SEL_bit.P6SEL_0 = 0; // 0 is digital I/O
BIC.B #0x1, &0x37
// 367 P6SEL_bit.P6SEL_1 = 0; // 0 is digital I/O
BIC.B #0x2, &0x37
// 368 P6SEL_bit.P6SEL_2 = 0; // 0 is digital I/O
BIC.B #0x4, &0x37
// 369 P6SEL_bit.P6SEL_3 = 0; // 0 is digital I/O
BIC.B #0x8, &0x37
// 370 P6SEL_bit.P6SEL_4 = 0; // 0 is digital I/O
BIC.B #0x10, &0x37
// 371 P6SEL_bit.P6SEL_5 = 0; // 0 is digital I/O
BIC.B #0x20, &0x37
// 372 P6SEL_bit.P6SEL_6 = 0; // 0 is digital I/O
BIC.B #0x40, &0x37
// 373 P6SEL_bit.P6SEL_7 = 0; // 0 is digital I/O
BIC.B #0x80, &0x37
// 374
// 375 P6DIR_bit.P6DIR_0 = 1; // 1 is output -- NC
BIS.B #0x1, &0x36
// 376 P6DIR_bit.P6DIR_1 = 1; // 1 is output -- NC
BIS.B #0x2, &0x36
// 377
// 378 P6DIR_bit.P6DIR_2 = 0; // 0 is input
BIC.B #0x4, &0x36
// 379 P6DIR_bit.P6DIR_3 = 0; // 0 is input
BIC.B #0x8, &0x36
// 380 P6DIR_bit.P6DIR_4 = 0; // 0 is input
BIC.B #0x10, &0x36
// 381 P6DIR_bit.P6DIR_5 = 0; // 0 is input
BIC.B #0x20, &0x36
// 382 P6DIR_bit.P6DIR_6 = 0; // 0 is input
BIC.B #0x40, &0x36
// 383 P6DIR_bit.P6DIR_7 = 0; // 0 is input
BIC.B #0x80, &0x36
// 384
// 385
// 386 // P1:
// 387 /*
// 388 P1SEL_bit.P1SEL_5 = 0; // 0 is digital I/O
// 389 P1SEL_bit.P1SEL_6 = 0; // 0 is digital I/O
// 390 P1SEL_bit.P1SEL_7 = 0; // 0 is digital I/O
// 391
// 392 P1DIR_bit.P1DIR_5 = 1; // 1 is output
// 393 P1DIR_bit.P1DIR_6 = 1; // 1 is output
// 394 P1DIR_bit.P1DIR_7 = 1; // 1 is output
// 395
// 396 // P2:
// 397
// 398 P2SEL_bit.P2SEL_0 = 0; // 0 is digital I/O
// 399 P2SEL_bit.P2SEL_1 = 0; // 0 is digital I/O
// 400 P2SEL_bit.P2SEL_2 = 0; // 0 is digital I/O
// 401 P2SEL_bit.P2SEL_3 = 0; // 0 is digital I/O
// 402 P2SEL_bit.P2SEL_4 = 0; // 0 is digital I/O
// 403
// 404 P2SEL_bit.P2SEL_6 = 0; // 0 is digital I/O
// 405 P2SEL_bit.P2SEL_7 = 0; // 0 is digital I/O
// 406
// 407 P2DIR_bit.P2DIR_0 = 1; // 1 is output
// 408 P2DIR_bit.P2DIR_1 = 1; // 1 is output
// 409 P2DIR_bit.P2DIR_2 = 1; // 1 is output
// 410 P2DIR_bit.P2DIR_3 = 1; // 1 is output
// 411 P2DIR_bit.P2DIR_4 = 1; // 1 is output
// 412
// 413 P2DIR_bit.P2DIR_6 = 1; // 1 is output
// 414 P2DIR_bit.P2DIR_7 = 1; // 1 is output
// 415
// 416 // P3:
// 417
// 418 P3SEL_bit.P3SEL_0 = 0; // 0 is digital I/O
// 419 P3SEL_bit.P3SEL_1 = 0; // 0 is digital I/O
// 420 P3SEL_bit.P3SEL_2 = 0; // 0 is digital I/O
// 421 P3SEL_bit.P3SEL_3 = 0; // 0 is digital I/O
// 422
// 423 P3DIR_bit.P3DIR_0 = 1; // 1 is output
// 424 P3DIR_bit.P3DIR_1 = 1; // 1 is output
// 425 P3DIR_bit.P3DIR_2 = 1; // 1 is output
// 426 P3DIR_bit.P3DIR_3 = 1; // 1 is output
// 427
// 428 // P4:
// 429
// 430 P4SEL_bit.P4SEL_7 = 0; // 0 is digital I/O
// 431 P4DIR_bit.P4DIR_7 = 1; // 1 is output
// 432
// 433 // P5:
// 434
// 435 P5SEL_bit.P5SEL_7 = 0; // 0 is digital I/O
// 436 P5DIR_bit.P5DIR_7 = 1; // 1 is output
// 437
// 438 // P6:
// 439
// 440 P6SEL_bit.P6SEL_0 = 0; // 0 is digital I/O
// 441 P6SEL_bit.P6SEL_1 = 0; // 0 is digital I/O
// 442 P6SEL_bit.P6SEL_2 = 0; // 0 is digital I/O
// 443 P6SEL_bit.P6SEL_3 = 0; // 0 is digital I/O
// 444
// 445 P6SEL_bit.P6SEL_5 = 0; // 0 is digital I/O
// 446 P6SEL_bit.P6SEL_6 = 0; // 0 is digital I/O
// 447 P6SEL_bit.P6SEL_7 = 0; // 0 is digital I/O
// 448
// 449 P6DIR_bit.P6DIR_0 = 1; // 1 is output
// 450 P6DIR_bit.P6DIR_1 = 1; // 1 is output
// 451 P6DIR_bit.P6DIR_2 = 1; // 1 is output
// 452 P6DIR_bit.P6DIR_3 = 1; // 1 is output
// 453
// 454 P6DIR_bit.P6DIR_5 = 1; // 1 is output
// 455 P6DIR_bit.P6DIR_6 = 1; // 1 is output
// 456 P6DIR_bit.P6DIR_7 = 1; // 1 is output
// 457 */
// 458
// 459 /* Setup DCO+ for ( xtal * D * (N + 1) ) operation. */
// 460 // FLL_CTL0 |= DCOPLUS + XCAP18PF;
// 461
// 462 /* X2 DCO frequency, 8MHz nominal DCO */
// 463 // XXX - OK - this looks like our master clock...
// 464 // SCFI0 |= FN_4;
// 465
// 466 /* (121+1) x 32768 x 2 = 7.99 Mhz */
// 467 // SCFQCTL = mainMAX_FREQUENCY;
// 468
// 469 /* Setup the IO. This is just copied from the demo supplied by SoftBaugh
// 470 for the ES449 demo board. */
// 471
// 472 // P1SEL = 0x32;
// 473 // P2SEL = 0x00;
// 474 // P3SEL = 0x00;
// 475 // P4SEL = 0xFC;
// 476 // P5SEL = 0xFF;
// 477
// 478
// 479 // (re)enable the watchdog if you wish
// 480
// 481
// 482 }
RET
CFI EndBlock cfiBlock3
// 483 /*-----------------------------------------------------------*/
// 484
// 485 /* The idle hook is just a copy of the standard integer maths tasks. See
// 486 Demo/Common/integer.c for rationale. */
// 487
// 488 // void vApplicationIdleHook( void ) __toplevel
RSEG CODE:CODE:REORDER:NOROOT(1)
// 489 void vApplicationIdleHook( void )
vApplicationIdleHook:
CFI Block cfiBlock4 Using cfiCommon0
CFI Function vApplicationIdleHook
// 490 {
SUB.W #0x6, SP
CFI CFA SP+8
// 491 /* These variables are all effectively set to constants so they are volatile to
// 492 ensure the compiler does not just get rid of them. */
// 493 volatile portLONG lValue;
// 494 volatile signed portBASE_TYPE *pxTaskHasExecuted;
// 495
// 496 /* Keep performing a calculation and checking the result against a constant. */
// 497 for( ;; )
// 498 {
// 499 /* Perform the calculation. This will store partial value in
// 500 registers, resulting in a good test of the context switch mechanism. */
// 501 lValue = intgCONST1;
??vApplicationIdleHook_0:
MOV.W #0x7b, 0x0(SP)
MOV.W #0x0, 0x2(SP)
// 502 lValue += intgCONST2;
ADD.W #0x9447, 0x0(SP)
ADDC.W #0x3, 0x2(SP)
// 503
// 504 /* Yield in case cooperative scheduling is being used. */
// 505 #if configUSE_PREEMPTION == 0
// 506 {
// 507 taskYIELD();
// 508 }
// 509 #endif
// 510
// 511 /* Finish off the calculation. */
// 512 lValue *= intgCONST3;
MOV.W 0x0(SP), R12
MOV.W 0x2(SP), R13
MOV.W #0xfffd, R14
MOV.W #0xffff, R15
CALL #?Mul32
MOV.W R12, 0x0(SP)
MOV.W R13, 0x2(SP)
// 513 lValue /= intgCONST4;
MOV.W 0x0(SP), R12
MOV.W 0x2(SP), R13
MOV.W #0x7, R14
MOV.W #0x0, R15
CALL #?DivMod32s
MOV.W R12, 0x0(SP)
MOV.W R13, 0x2(SP)
// 514
// 515 /* If the calculation is found to be incorrect we stop setting the
// 516 TaskHasExecuted variable so the check task can see an error has
// 517 occurred. */
// 518 if( lValue != intgEXPECTED_ANSWER ) /*lint !e774 volatile used to prevent this being optimised out. */
CMP.W #0x771b, 0x0(SP)
JNE ??vApplicationIdleHook_1
CMP.W #0xfffe, 0x2(SP)
JEQ ??vApplicationIdleHook_0
// 519 {
// 520 /* Don't bother with mutual exclusion - it is only read from the
// 521 check task and never written. */
// 522 xLocalError = pdTRUE;
??vApplicationIdleHook_1:
MOV.W #0x1, &xLocalError
JMP ??vApplicationIdleHook_0
CFI EndBlock cfiBlock4
// 523 }
// 524 /* Yield in case cooperative scheduling is being used. */
// 525 #if configUSE_PREEMPTION == 0
// 526 {
// 527 taskYIELD();
// 528 }
// 529 #endif
// 530 }
// 531 }
RSEG DATA16_ID:CONST:SORT:NOROOT(1)
`?<Initializer for sNoErrorFound>`:
DC16 1
RSEG CODE:CODE:REORDER:NOROOT(1)
?setjmp_save_r4:
REQUIRE ?setjmp_r4
REQUIRE ?longjmp_r4
RSEG CODE:CODE:REORDER:NOROOT(1)
?setjmp_save_r5:
REQUIRE ?setjmp_r5
REQUIRE ?longjmp_r5
RSEG DATA16_C:CONST:SORT:NOROOT(0)
`?<Constant "Check">`:
DC8 "Check"
END
// 532
// 533
// 534
// 535
// 536
//
// 744 bytes in segment CODE
// 17 bytes in segment DATA16_AN
// 6 bytes in segment DATA16_C
// 2 bytes in segment DATA16_I
// 2 bytes in segment DATA16_ID
// 2 bytes in segment DATA16_Z
//
// 744 bytes of CODE memory
// 8 bytes of CONST memory
// 4 bytes of DATA memory (+ 17 bytes shared)
//
//Errors: none
//Warnings: 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -