📄 start167.lst
字号:
0001 537 _STKSZ1 SET 1 ; size is 256 Words
538 $ENDIF
$IF (STK_SIZE = 1)
_STKSZ SET 1
_STKSZ1 SET 2 ; size is 128 Words
542 $ENDIF
$IF (STK_SIZE = 2)
_STKSZ SET 2
_STKSZ1 SET 3 ; size is 64 Words
546 $ENDIF
$IF (STK_SIZE = 3)
_STKSZ SET 3
_STKSZ1 SET 4 ; size is 32 Words
550 $ENDIF
$IF (STK_SIZE = 4)
_STKSZ SET 4
553 $ENDIF
$IF (STK_SIZE = 5)
_STKSZ SET 5
556 $ENDIF
$IF (STK_SIZE = 6)
_STKSZ SET 6
559 $ENDIF
$IF (STK_SIZE = 7)
_STKSZ SET 7
562 $ENDIF
563
564
565 $IF NOT TINY
566 ASSUME DPP3:SYSTEM
567 ASSUME DPP2:NDATA
568 $ENDIF
569
570 NAME ?C_STARTUP
571 PUBLIC ?C_STARTUP
572
$IF MEDIUM OR LARGE OR HLARGE
Model LIT 'FAR'
575 $ELSE
576 Model LIT 'NEAR'
577 $ENDIF
578
579 EXTRN main:NEAR
580
581 PUBLIC ?C_USRSTKBOT
582
-------- 583 ?C_USERSTACK SECTION DATA PUBLIC 'NDATA'
584 $IF NOT TINY
585 NDATA DGROUP ?C_USERSTACK
586 $ENDIF
A166 MACRO ASSEMBLER START167 07/02/2002 18:27:53 PAGE 10
587 ?C_USRSTKBOT:
00000000 588 DS USTSZ ; Size of User Stack
589 ?C_USERSTKTOP:
-------- 590 ?C_USERSTACK ENDS
591
592 ?C_MAINREGISTERS REGDEF R0 - R15
593
$IF (STK_SIZE = 7)
?C_SYSSTACK SECTION DATA PUBLIC 'IDATA'
$IF NOT TINY
SDATA DGROUP ?C_SYSSTACK
$ENDIF
_BOS: ; bottom of system stack
DS SSTSZ ; Size of User Stack
_TOS: ; top of system stack
?C_SYSSTACK ENDS
605 $ELSE
606 ; Setup Stack Overflow
FC00 607 _TOS EQU 0FC00H ; top of system stack
FA00 608 _BOS EQU _TOS - (1024 >> _STKSZ1) ; bottom of system stack
609 $ENDIF
610
611 PUBLIC ?C_SYSSTKBOT
612 PUBLIC ?C_SYSSTKTOP
613
FA00 614 ?C_SYSSTKBOT EQU _BOS
FC00 615 ?C_SYSSTKTOP EQU _TOS
616
617 SSKDEF _STKSZ ; System stack size
618
-------- 619 ?C_STARTUP_CODE SECTION CODE 'ICODE'
620
621
622 ;------------------------------------------------------------------------------
623
624 ; Special Function Register Addresses
FF12 625 SYSCON DEFR 0FF12H
FF0C 626 BUSCON0 DEFR 0FF0CH
FE12 627 SP DEFR 0FE12H
FE14 628 STKOV DEFR 0FE14H
FE16 629 STKUN DEFR 0FE16H
FFC4 630 P3 DEFR 0FFC4H
FFC6 631 DP3 DEFR 0FFC6H
FF14 632 BUSCON1 DEFR 0FF14H
FF16 633 BUSCON2 DEFR 0FF16H
FF18 634 BUSCON3 DEFR 0FF18H
FF1A 635 BUSCON4 DEFR 0FF1AH
FE18 636 ADDRSEL1 DEFR 0FE18H
FE1A 637 ADDRSEL2 DEFR 0FE1AH
FE1C 638 ADDRSEL3 DEFR 0FE1CH
FE1E 639 ADDRSEL4 DEFR 0FE1EH
F1D0 640 SYSCON2 DEFR 0F1D0H
F1D4 641 SYSCON3 DEFR 0F1D4H
642
643 644 645 646 647 648 649 650 651 652 A166 MACRO ASSEMBLER START167 07/02/2002 18:27:53 PAGE 11
653 654 655 656 657 658 659 660 661 662
663
664 ?C_RESET PROC TASK C_STARTUP INTNO RESET = 0
665 ?C_STARTUP: LABEL NEAR
666
667
$IF (WATCHDOG = 0)
DISWDT ; Disable watchdog timer
670 $ENDIF
671
$IF (INIT_XPERCON = 1)
; Improtant XPERCON must be set before SYSCON.XPEN is enabled
XPERCON DEFR 0F024H
EXTR #1
MOV XPERCON,#V_XPERCON
677 $ENDIF
678
0020 679 BCON0L SET (_MTTC0 << 5) OR (_RWDC0 << 4)
002E 680 BCON0L SET BCON0L OR ((NOT _MCTC0) AND 0FH)
002E 681 BCON0L SET BCON0L AND (NOT (_RDYEN0 << 3))
002E 682 BCON0L SET BCON0L OR (_RDY_AS0 << 3)
0000 683 BCON0H SET (_ALECTL0 << 1) OR (_RDYEN0 << 4)
0000 684 BCON0H SET BCON0H OR (_CSREN0 << 6) OR (_CSWEN0 << 7)
$IF (BTYP_ENABLE == 1)
BCON0L SET BCON0L OR (_BTYP0 << 6)
BCON0H SET BCON0H OR (_BUSACT0 << 2)
688 $ENDIF
689
690 $IF (BTYP_ENABLE == 0)
00000000 0A863F2E 691 BFLDL BUSCON0,#03FH,#BCON0L
00000004 1A8600D2 692 BFLDH BUSCON0,#0D2H,#BCON0H
$ELSE
BFLDL BUSCON0,#0FFH,#BCON0L
BFLDH BUSCON0,#0D6H,#BCON0H
696 $ENDIF
FB6F 697 SYS_BITS SET 0FB6FH
698
0000 699 SYS_H SET (_STKSZ << 5) OR (_ROMS1 << 4) OR (_SGTDIS << 3)
0000 700 SYS_H SET SYS_H OR (_BYTDIS << 1) OR _CLKEN
0000 701 SYS_L SET _XPERSHARE OR (_VISIBLE << 1) OR (_XPEN << 2)
0000 702 SYS_L SET SYS_L OR (_BDRSTEN << 3)
0000 703 SYS_L SET SYS_L OR (_PWDCFG << 5) OR (_CSCFG << 6)
$IF (WRCFG_ENABLE == 1)
SYS_L SET SYS_L OR (_WRCFG << 7)
SYS_BITS SET SYS_BITS OR 00080H
707 $ENDIF
$IF (OWDDIS_ENABLE == 1)
SYS_L SET SYS_L OR (_OWDDIS << 4)
SYS_BITS SET SYS_BITS OR 00010H
711 $ENDIF
$IF (ROMEN_ENABLE == 1)
SYS_H SET SYS_H OR (_ROMEN << 2)
SYS_BITS SET SYS_BITS OR 00400H
715 $ENDIF
716 ; Setup SYSCON Register
717
00000008 1A8900FB 718 BFLDH SYSCON,#HIGH SYS_BITS,#SYS_H
A166 MACRO ASSEMBLER START167 07/02/2002 18:27:53 PAGE 12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -