⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ncrt0.lst

📁 完整的基于Xmodem协议的嵌入式系统侧FLASH Loader程序。该程序是基于三菱的M16C/60系列MCU
💻 LST
📖 第 1 页 / 共 2 页
字号:
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Fri Feb 25 11:01:14 2005  PAGE 001

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

     1                                  ;*************************************************************************** ;
     2                                  ;	C COMPILER for M16C/60
     3                                  ;	Copyright 1995-1998 MITSUBISHI ELECTRIC CORPORATION
     4                                  ;	AND MITSUBISHI ELECTRIC SEMICONDUCTOR SYSTEMS CORPORATION
     5                                  ;	All Rights Reserved.
     6                                  ;
     7                                  ;       ncrt0.a30 : NC30 startup program
     8                                  ;
     9                                  ;	This program is applicable when using the basic I/O library
    10                                  ;       
    11                                  ;       $Id: ncrt0.a30,v 1.9 97/11/05 11:27:21 ookura Exp $
    12                                  ;
    13                                  ;***************************************************************************
    14                                  
    15  00000004h                       PM0	.equ	0004H	; upd 2000.02.08 sawada PMOD -> PM0
    16  00000005h                       PM1	.equ	0005H	; add 2000.02.08 sawada
    17                                  
    18                                  ;---------------------------------------------------------------------
    19                                  ; HEEP SIZE definition
    20                                  ;---------------------------------------------------------------------
    21  00000000h                       HEAPSIZE	.equ	0h
    22                                  
    23                                  ;---------------------------------------------------------------------
    24                                  ; STACK SIZE definition
    25                                  ;---------------------------------------------------------------------
    26  00000300h                       STACKSIZE	.equ	300h
    27                                  
    28                                  ;---------------------------------------------------------------------
    29                                  ; INTERRUPT STACK SIZE definition
    30                                  ;---------------------------------------------------------------------
    31  00000300h                       ISTACKSIZE	.equ	300h
    32                                  
    33                                  ;---------------------------------------------------------------------
    34                                  ; INTERRUPT VECTOR ADDRESS  definition
    35                                  ;---------------------------------------------------------------------
    36  00005000h                       VECTOR_ADR 	.equ	5000h
    37                                  
    38                                  ;---------------------------------------------------------------
    39                                  ; special page defination
    40                                  ;---------------------------------------------------------------
    41                                  ;       macro define for special page
    42                                  ;
    43                                  ;Format:
    44                                  ;	SPECIAL	number
    45                                  ;
    46                                  
    47                             D    SPECIAL	.macro	NUM
    48                             D    	.org	0FFFFEH-(NUM*2)
    49                             D    	.glb	__SPECIAL_@NUM
    50                             D    	.word	__SPECIAL_@NUM  & 0FFFFH
    51                                  .endm
    52                                  ;---------------------------------------------------------------------
    53                                  ; Section allocation
    54                                  ;---------------------------------------------------------------------
    55                                  	.list OFF
    56                                  	.list ON
    57                                  
    58                                  ;---------------------------------------------------------------------
    59                                  ; SBDATA area definition
    60                                  ;---------------------------------------------------------------------
    61                                  	.glb	__SB__
    62  00000400h                       __SB__	.equ	data_SE_top
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Fri Feb 25 11:01:14 2005  PAGE 002

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

    63                                  
    64                                  ;====================================================================
    65                                  ; Initialize Macro declaration
    66                                  ;---------------------------------------------------------------------
    67                             D    N_BZERO	.macro	TOP_ ,SECT_
    68                             D    	mov.b	#00H, R0L
    69                             D    	mov.w	#(TOP_ & 0FFFFH), A1
    70                             D    	mov.w	#sizeof SECT_ , R3
    71                             D    	sstr.b	
    72                                  	.endm
    73                                  
    74                             D    N_BCOPY .macro	FROM_,TO_,SECT_
    75                             D    	mov.w	#(FROM_ & 0FFFFH),A0
    76                             D    	mov.b	#(FROM_ >>16),R1H
    77                             D    	mov.w	#TO_ ,A1
    78                             D    	mov.w	#sizeof SECT_ , R3
    79                             D    	smovf.b
    80                                  	.endm
    81                                  
    82                             D    BZERO	.macro	TOP_,SECT_
    83                             D    	push.w	#sizeof SECT_ >> 16
    84                             D    	push.w	#sizeof SECT_  & 0ffffh
    85                             D    	pusha	TOP_ >>16
    86                             D    	pusha	TOP_ & 0ffffh
    87                             D    
    88                             D    	.glb	_bzero	
    89                             D    	jsr.a	_bzero
    90                                  	.endm
    91                                  
    92                                  
    93                             D    BCOPY	.macro	FROM_ ,TO_ ,SECT_
    94                             D    	push.w	#sizeof SECT_  >> 16
    95                             D    	push.w	#sizeof SECT_  & 0ffffh
    96                             D    	pusha	TO_ >>16
    97                             D    	pusha	TO_  & 0ffffh
    98                             D    	pusha	FROM_ >>16
    99                             D    	pusha	FROM_  & 0ffffh
   100                             D    
   101                             D    	.glb	_bcopy
   102                             D    	jsr.a	_bcopy
   103                                  	.endm
   104                                  
   105                                  ;====================================================================
   106                                  ; Interrupt section start
   107                                  ;---------------------------------------------------------------------
   108                                  	.glb	start
   109                                  	.section	interrupt
   110  00000                           start:
   111                                  ;---------------------------------------------------------------------
   112                                  ; after reset,this program will start
   113                                  ;---------------------------------------------------------------------
   114  00000  7DA7                     	ldipl	#7	; disable interrupt
   115  00002  EB400000r                	ldc	#istack_top,	isp	;set istack pointer
   116  00006  7E9F5100                 	bset	1,0ah
   117  0000A  C7030400              S  	mov.b	#03,PM0			; Set Processor Mode Regsiter 0	; edt 2000.02.08 sawada PMOD
   118                                  ;	 (BCLK=Off, P4=Addr, Bus=separate, R/W=BHE, Processor Mode=micro processor)
   119                                  ;	mov.b	#080H,PM1		; Set Processor Mode Regsiter 1	; add 2000.02.08 sawada
   120                                  ;	 (WaitBit=On)							; add 2000.02.08 sawada
   121  0000E  7E8F5100                 	bclr	1,0ah
   122  00012  7E9F5000                 	bset	0,0AH
   123  00016  C7080600              S  	mov.b	#08H,0006H		; Set System Clock Control 0 Regsiter
   124                                  ;	 (Xin, CM16,17 enable, Xin enable, Xcin disable, Xcin=High, in wait f1 enable, P57 enable)
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Fri Feb 25 11:01:14 2005  PAGE 003

  SEQ.  LOC.   OBJ.              0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4

   125  0001A  7E8F5000                 	bclr	0,0AH
   126                                  ;	mov.b	#00FH,0008H		; Set Chip Select Control Register	; add 2000.02.08 saw
   127                                  ;	 (CS3-0 Wait=On, Output=Enable)						; add 2000.02.08 saw
   128                                  ;	mov.b	#001H,40F9H		; Set System Clock Change Register	; add 2000.02.08 saw
   129                                  ;	 (CLK=6.4MHz)								; add 2000.02.08 saw
   130  0001E  B74B00                Z  	mov.b	#0,004BH	; disable DMA0 interrupt
   131  00021  B74C00                Z  	mov.b	#0,004CH	; disable DMA1 interrupt
   132  00024  B74D00                Z  	mov.b	#0,004DH	; disable Key interrupt
   133  00027  B74E00                Z  	mov.b	#0,004EH	; disable ADconvert interrupt
   134  0002A  B75100                Z  	mov.b	#0,0051H	; disable UART0 Tx interrupt
   135  0002D  B75200                Z  	mov.b	#0,0052H	; disable UART0 Rx interrupt
   136  00030  B75300                Z  	mov.b	#0,0053H	; disable UART1 Tx interrupt
   137  00033  B75400                Z  	mov.b	#0,0054H	; disable UART1 Rx interrupt
   138  00036  B75500                Z  	mov.b	#0,0055H	; disable TA0 interrupt
   139  00039  B75600                Z  	mov.b	#0,0056H	; disable TA1 interrupt
   140  0003C  B75700                Z  	mov.b	#0,0057H	; disable TA2 interrupt
   141  0003F  B75800                Z  	mov.b	#0,0058H	; disable TA3 interrupt
   142  00042  B75900                Z  	mov.b	#0,0059H	; disable TA4 interrupt
   143  00045  B75A00                Z  	mov.b	#0,005AH	; disable TB0 interrupt
   144  00048  B75B00                Z  	mov.b	#0,005BH	; disable TB1 interrupt
   145  0004B  B75C00                Z  	mov.b	#0,005CH	; disable TB2 interrupt
   146  0004E  B75D00                Z  	mov.b	#0,005DH	; disable INT0 interrupt
   147  00051  B75E00                Z  	mov.b	#0,005EH	; disable INT1 interrupt
   148  00054  B75F00                Z  	mov.b	#0,005FH	; disable INT2 interrupt
   149  00057  EB308000                 	ldc	#0080h,	flg
   150  0005B  EB500000r                	ldc	#stack_top,	sp	;set stack pointer 
   151  0005F  EB600004                 	ldc	#data_SE_top,	sb	;set sb register 
   152  00063  EB200000                 	ldintb	#VECTOR_ADR
               EB100050 
   153                                  
   154                                  ;====================================================================
   155                                  ; NEAR area initialize.
   156                                  ;--------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -