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

📄 ncrt0.lst

📁 Mitsubishi M30245 SampleCode
💻 LST
📖 第 1 页 / 共 2 页
字号:
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Thu Feb 28 15:49:03 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 in Microprocessor mode.  This program is 
     7                                  ;		applicable when using the basic I/O library.
     8                                  ;
     9                                  ;		Revised: 2-28-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  000FFD00h                       VECTOR_ADR 	.equ	0ffd00h
    36                                  
    37                                  ;---------------------------------------------------------------
    38                                  ; special page definition
    39                                  ;---------------------------------------------------------------
    40                                  ;       macro define for special page
    41                                  ;
    42                                  ;Format:
    43                                  ;	SPECIAL	number
    44                                  ;
    45                                  
    46                             D    SPECIAL	.macro	NUM
    47                             D    	.org	0FFFFEH-(NUM*2)
    48                             D    	.glb	__SPECIAL_@NUM
    49                             D    	.word	__SPECIAL_@NUM  & 0FFFFH
    50                                  .endm
    51                                  ;---------------------------------------------------------------------
    52                                  ; Section allocation
    53                                  ;---------------------------------------------------------------------
    54                                  	.list OFF
    55                                  	.list ON
    56                                  
    57                                  ;---------------------------------------------------------------------
    58                                  ; SBDATA area definition
    59                                  ;---------------------------------------------------------------------
    60                                  	.glb	__SB__
    61  00000400h                       __SB__	.equ	data_SE_top
    62                                  
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Thu Feb 28 15:49:03 2002  PAGE 002

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

    63                                  ;====================================================================
    64                                  ; Initialize Macro declaration
    65                                  ;---------------------------------------------------------------------
    66                             D    N_BZERO	.macro	TOP_ ,SECT_
    67                             D    	mov.b	#00H, R0L
    68                             D    	mov.w	#(TOP_ & 0FFFFH), A1
    69                             D    	mov.w	#sizeof SECT_ , R3
    70                             D    	sstr.b	
    71                                  	.endm
    72                                  
    73                             D    N_BCOPY .macro	FROM_,TO_,SECT_
    74                             D    	mov.w	#(FROM_ & 0FFFFH),A0
    75                             D    	mov.b	#(FROM_ >>16),R1H
    76                             D    	mov.w	#TO_ ,A1
    77                             D    	mov.w	#sizeof SECT_ , R3
    78                             D    	smovf.b
    79                                  	.endm
    80                                  
    81                             D    BZERO	.macro	TOP_,SECT_
    82                             D    	push.w	#sizeof SECT_ >> 16
    83                             D    	push.w	#sizeof SECT_  & 0ffffh
    84                             D    	pusha	TOP_ >>16
    85                             D    	pusha	TOP_ & 0ffffh
    86                             D    	.stk	8
    87                             D    	.glb	_bzero	
    88                             D    	.call	_bzero,G
    89                             D    	jsr.a	_bzero
    90                                  	.endm
    91                                  
    92                             D    BCOPY	.macro	FROM_ ,TO_ ,SECT_
    93                             D    	push.w	#sizeof SECT_  >> 16
    94                             D    	push.w	#sizeof SECT_  & 0ffffh
    95                             D    	pusha	TO_ >>16
    96                             D    	pusha	TO_  & 0ffffh
    97                             D    	pusha	FROM_ >>16
    98                             D    	pusha	FROM_  & 0ffffh
    99                             D    	.stk	12
   100                             D    	.glb	_bcopy
   101                             D    	.call   _bcopy,G
   102                             D    	jsr.a	_bcopy
   103                                  	.endm
   104                                  
   105                                  ;====================================================================
   106                                  ; Interrupt section start
   107                                  ;---------------------------------------------------------------------
   108                                  	.insf	start,S,0
   109                                  	.glb	start
   110                                  	.section	interrupt
   111  00000                           start:
   112                                  ;---------------------------------------------------------------------
   113                                  ; after reset,this program will start
   114                                  ;---------------------------------------------------------------------
   115  00000  C7020A00              S  	mov.b	#02h,0ah		; disable register protect 
   116  00004  C7070400              S  	mov.b	#07h,04h		;set processer mode pm1  (uP mode)
   117  00008  B70500                Z  	mov.b	#00h,05h		;set pm2
   118  0000B  B70A00                Z  	mov.b	#00h,0ah		; enable register protect
   119  0000E  C7010800              S  	mov.b	#01h,08h		; enable CS0 with wait state
   120  00012  C7011B00              S  	mov.b	#01h,1bh		; cs0 -> 2 wait states
   121                                  
   122  00016  EB308000                 	ldc	#0080h,	flg
   123  0001A  EB400000r                	ldc	#istack_top, isp	;set istack pointer
   124  0001E  EB500000r                	ldc	#stack_top, sp		;set stack pointer 
* M16C FAMILY ASSEMBLER *   SOURCE LIST       Thu Feb 28 15:49:03 2002  PAGE 003

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

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

⌨️ 快捷键说明

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