📄 ncrt0.lst
字号:
* M16C FAMILY ASSEMBLER * SOURCE LIST Tue Jun 18 15:18:39 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 ;HEAPSIZE .equ 300h
21 ;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 ;VECTOR_ADR .equ 0ffd00h
37 000FE000h VECTOR_ADR .equ 0fe000h ; use with KD30
38
39 ;---------------------------------------------------------------
40 ; special page definition
41 ;---------------------------------------------------------------
42 ; macro define for special page
43 ;
44 ;Format:
45 ; SPECIAL number
46 ;
47
48 D SPECIAL .macro NUM
49 D .org 0FFFFEH-(NUM*2)
50 D .glb __SPECIAL_@NUM
51 D .word __SPECIAL_@NUM & 0FFFFH
52 .endm
53 ;---------------------------------------------------------------------
54 ; Section allocation
55 ;---------------------------------------------------------------------
56 .list OFF
57 .list ON
58
59 ;---------------------------------------------------------------------
60 ; SBDATA area definition
61 ;---------------------------------------------------------------------
62 .glb __SB__
* M16C FAMILY ASSEMBLER * SOURCE LIST Tue Jun 18 15:18:39 2002 PAGE 002
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4
63 00000400h __SB__ .equ data_SE_top
64
65 ;====================================================================
66 ; Initialize Macro declaration
67 ;---------------------------------------------------------------------
68 D N_BZERO .macro TOP_ ,SECT_
69 D mov.b #00H, R0L
70 D mov.w #(TOP_ & 0FFFFH), A1
71 D mov.w #sizeof SECT_ , R3
72 D sstr.b
73 .endm
74
75 D N_BCOPY .macro FROM_,TO_,SECT_
76 D mov.w #(FROM_ & 0FFFFH),A0
77 D mov.b #(FROM_ >>16),R1H
78 D mov.w #TO_ ,A1
79 D mov.w #sizeof SECT_ , R3
80 D smovf.b
81 .endm
82
83 D BZERO .macro TOP_,SECT_
84 D push.w #sizeof SECT_ >> 16
85 D push.w #sizeof SECT_ & 0ffffh
86 D pusha TOP_ >>16
87 D pusha TOP_ & 0ffffh
88 D .stk 8
89 D .glb _bzero
90 D .call _bzero,G
91 D jsr.a _bzero
92 .endm
93
94 D BCOPY .macro FROM_ ,TO_ ,SECT_
95 D push.w #sizeof SECT_ >> 16
96 D push.w #sizeof SECT_ & 0ffffh
97 D pusha TO_ >>16
98 D pusha TO_ & 0ffffh
99 D pusha FROM_ >>16
100 D pusha FROM_ & 0ffffh
101 D .stk 12
102 D .glb _bcopy
103 D .call _bcopy,G
104 D jsr.a _bcopy
105 .endm
106
107 ;====================================================================
108 ; Interrupt section start
109 ;---------------------------------------------------------------------
110 .insf start,S,0
111 .glb start
112 .section interrupt
113 00000 start:
114 ;---------------------------------------------------------------------
115 ; after reset,this program will start
116 ;---------------------------------------------------------------------
117 00000 C7020A00 S mov.b #02h,0ah ;disable register protect
118 00004 B70400 Z mov.b #00h,04h ;set processor mode
119 00007 B70A00 Z mov.b #00h,0ah ;enable register protect
120
121 0000A EB308000 ldc #0080h, flg
122 0000E EB400000r ldc #istack_top, isp ;set istack pointer
123 00012 EB500000r ldc #stack_top, sp ;set stack pointer
124 ; ldc #stack_top, fb
* M16C FAMILY ASSEMBLER * SOURCE LIST Tue Jun 18 15:18:39 2002 PAGE 003
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4
125 00016 EB600004 ldc #data_SE_top, sb ;set sb register
126 0001A EB200F00 ldintb #VECTOR_ADR ;load start addr of interrupt vector table
EB1000E0
127
128 ;====================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -