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

📄 ncrt0.lst

📁 Mitsubishi M30245 SampleCode
💻 LST
📖 第 1 页 / 共 2 页
字号:
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Thu Feb 28 14:06:56 2002  PAGE 001

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

     1                                  ;*************************************************************************** ;
     2                                  ;
     3                                  ;	ncrt0.a30	C COMPILER for M16C/60
     4                                  ;
     5                                  ;		NC30 startup program customized for the M30245
     6                                  ;		microcontroller.  This program is applicable when 
     7                                  ;		using the basic I/O library.
     8                                  ;
     9                                  ;		Revised: 2-27-2002
    10                                  ;       
    11                                  ;       Copyright 2002 MITSUBISHI ELECTRIC & ELECTRONICS USA, INC.
    12                                  ;       All Rights Reserved.
    13                                  ;
    14                                  ;***************************************************************************
    15                                  
    16                                  ;---------------------------------------------------------------------
    17                                  ; HEEP SIZE definition	 
    18                                  ;	(set to 0 if not using memory management functions(calloc,malloc))
    19                                  ;---------------------------------------------------------------------
    20  00000300h                       HEAPSIZE	.equ	300h
    21                                  
    22                                  ;---------------------------------------------------------------------
    23                                  ; STACK SIZE definition
    24                                  ;---------------------------------------------------------------------
    25  00000300h                       STACKSIZE	.equ	300h
    26                                  
    27                                  ;---------------------------------------------------------------------
    28                                  ; INTERRUPT STACK SIZE definition
    29                                  ;---------------------------------------------------------------------
    30  00000300h                       ISTACKSIZE	.equ	300h
    31                                  
    32                                  ;---------------------------------------------------------------------
    33                                  ; INTERRUPT VECTOR ADDRESS  definition
    34                                  ;---------------------------------------------------------------------
    35                                  ;VECTOR_ADR 	.equ	0ffd00h
    36  000FE000h                       VECTOR_ADR 	.equ	0fe000h			; use with KD30
    37                                  
    38                                  ;---------------------------------------------------------------
    39                                  ; special page definition
    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       Thu Feb 28 14:06:56 2002  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    	.stk	8
    88                             D    	.glb	_bzero	
    89                             D    	.call	_bzero,G
    90                             D    	jsr.a	_bzero
    91                                  	.endm
    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    	.stk	12
   101                             D    	.glb	_bcopy
   102                             D    	.call   _bcopy,G
   103                             D    	jsr.a	_bcopy
   104                                  	.endm
   105                                  
   106                                  ;====================================================================
   107                                  ; Interrupt section start
   108                                  ;---------------------------------------------------------------------
   109                                  	.insf	start,S,0
   110                                  	.glb	start
   111                                  	.section	interrupt
   112  00000                           start:
   113                                  ;---------------------------------------------------------------------
   114                                  ; after reset,this program will start
   115                                  ;---------------------------------------------------------------------
   116  00000  C7020A00              S  	mov.b	#02h,0ah		;disable register protect 
   117  00004  B70400                Z  	mov.b	#00h,04h		;set processor mode 
   118  00007  B70A00                Z  	mov.b	#00h,0ah		;enable register protect
   119                                  
   120  0000A  EB308000                 	ldc	#0080h,	flg
   121  0000E  EB400000r                	ldc	#istack_top, isp	;set istack pointer
   122  00012  EB500000r                	ldc	#stack_top, sp		;set stack pointer 
   123                                  ;	ldc	#stack_top, fb
   124  00016  EB600004                 	ldc	#data_SE_top, sb	;set sb register 
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Thu Feb 28 14:06:56 2002  PAGE 003

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

   125  0001A  EB200F00                 	ldintb	#VECTOR_ADR		;load start addr of interrupt vector table 
               EB1000E0 
   126                                  
   127                                  ;====================================================================
   128                                  ; NEAR area initialize.
   129                                  ;--------------------------------------------------------------------
   130                                  ; bss zero clear
   131                                  ;--------------------------------------------------------------------
   132                                  	N_BZERO	bss_SE_top,bss_SE
   133  00022  B4                  M Z  	mov.b	#00H, R0L
   134  00023  AA0000r             M S  	mov.w	#(bss_SE_top & 0FFFFH), A1
   135  00026  75C30000r           M    	mov.w	#sizeof bss_SE , R3
   136  0002A  7CEA                M    	sstr.b	
   137                             M    	.endm
   138                                  	N_BZERO	bss_SO_top,bss_SO
   139  0002C  B4                  M Z  	mov.b	#00H, R0L
   140  0002D  AA0000r             M S  	mov.w	#(bss_SO_top & 0FFFFH), A1
   141  00030  75C30000r           M    	mov.w	#sizeof bss_SO , R3
   142  00034  7CEA                M    	sstr.b	
   143                             M    	.endm
   144                                  	N_BZERO	bss_NE_top,bss_NE
   145  00036  B4                  M Z  	mov.b	#00H, R0L
   146  00037  AA0000r             M S  	mov.w	#(bss_NE_top & 0FFFFH), A1
   147  0003A  75C30000r           M    	mov.w	#sizeof bss_NE , R3
   148  0003E  7CEA                M    	sstr.b	
   149                             M    	.endm
   150                                  	N_BZERO	bss_NO_top,bss_NO
   151  00040  B4                  M Z  	mov.b	#00H, R0L
   152  00041  AA0000r             M S  	mov.w	#(bss_NO_top & 0FFFFH), A1
   153  00044  75C30000r           M    	mov.w	#sizeof bss_NO , R3
   154  00048  7CEA                M    	sstr.b	
   155                             M    	.endm
   156                                  
   157                                  ;---------------------------------------------------------------------
   158                                  ; initialize data section
   159                                  ;---------------------------------------------------------------------
   160                                  	N_BCOPY data_SEI_top,data_SE_top,data_SE
   161  0004A  A20000r             M S  	mov.w	#(data_SEI_top & 0FFFFH),A0
   162  0004D  74C300r             M    	mov.b	#(data_SEI_top >>16),R1H
   163  00050  AA0004              M S  	mov.w	#data_SE_top ,A1

⌨️ 快捷键说明

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