📄 ncrt0.lst
字号:
* M16C FAMILY ASSEMBLER * SOURCE LIST Mon Sep 10 15:02:32 2001 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 ;---------------------------------------------------------------------
16 ; HEEP SIZE definition
17 ;---------------------------------------------------------------------
18 00000300h HEAPSIZE .equ 300h
19
20 ;---------------------------------------------------------------------
21 ; STACK SIZE definition
22 ;---------------------------------------------------------------------
23 00000300h STACKSIZE .equ 300h
24
25 ;---------------------------------------------------------------------
26 ; INTERRUPT STACK SIZE definition
27 ;---------------------------------------------------------------------
28 00000300h ISTACKSIZE .equ 300h
29
30 ;---------------------------------------------------------------------
31 ; INTERRUPT VECTOR ADDRESS definition
32 ;---------------------------------------------------------------------
33 000FFD00h VECTOR_ADR .equ 0ffd00h
34
35 ;---------------------------------------------------------------
36 ; special page defination
37 ;---------------------------------------------------------------
38 ; macro define for special page
39 ;
40 ;Format:
41 ; SPECIAL number
42 ;
43
44 D SPECIAL .macro NUM
45 D .org 0FFFFEH-(NUM*2)
46 D .glb __SPECIAL_@NUM
47 D .word __SPECIAL_@NUM & 0FFFFH
48 .endm
49 ;---------------------------------------------------------------------
50 ; Section allocation
51 ;---------------------------------------------------------------------
52 .list OFF
53 .list ON
54
55 ;---------------------------------------------------------------------
56 ; SBDATA area definition
57 ;---------------------------------------------------------------------
58 .glb __SB__
59 00000400h __SB__ .equ data_SE_top
60
61 ;====================================================================
62 ; Initialize Macro declaration
* M16C FAMILY ASSEMBLER * SOURCE LIST Mon Sep 10 15:02:32 2001 PAGE 002
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4
63 ;---------------------------------------------------------------------
64 D N_BZERO .macro TOP_ ,SECT_
65 D mov.b #00H, R0L
66 D mov.w #(TOP_ & 0FFFFH), A1
67 D mov.w #sizeof SECT_ , R3
68 D sstr.b
69 .endm
70
71 D N_BCOPY .macro FROM_,TO_,SECT_
72 D mov.w #(FROM_ & 0FFFFH),A0
73 D mov.b #(FROM_ >>16),R1H
74 D mov.w #TO_ ,A1
75 D mov.w #sizeof SECT_ , R3
76 D smovf.b
77 .endm
78
79 D BZERO .macro TOP_,SECT_
80 D push.w #sizeof SECT_ >> 16
81 D push.w #sizeof SECT_ & 0ffffh
82 D pusha TOP_ >>16
83 D pusha TOP_ & 0ffffh
84 D
85 D .glb _bzero
86 D jsr.a _bzero
87 .endm
88
89
90 D BCOPY .macro FROM_ ,TO_ ,SECT_
91 D push.w #sizeof SECT_ >> 16
92 D push.w #sizeof SECT_ & 0ffffh
93 D pusha TO_ >>16
94 D pusha TO_ & 0ffffh
95 D pusha FROM_ >>16
96 D pusha FROM_ & 0ffffh
97 D
98 D .glb _bcopy
99 D jsr.a _bcopy
100 .endm
101
102 ;====================================================================
103 ; Interrupt section start
104 ;---------------------------------------------------------------------
105 .glb start
106 .section interrupt
107 00000 start:
108 ;---------------------------------------------------------------------
109 ; after reset,this program will start
110 ;---------------------------------------------------------------------
111 00000 EB400000r ldc #istack_top, isp ;set istack pointer
112 00004 7E9F5100 bset 1,0ah
113 00008 B70400 Z mov.b #00h,04h ;set processer mode
114 0000B 7E8F5100 bclr 1,0ah
115 0000F EB308000 ldc #0080h, flg
116 00013 EB500000r ldc #stack_top, sp ;set stack pointer
117 00017 EB600004 ldc #data_SE_top, sb ;set sb register
118 0001B EB200F00 ldintb #VECTOR_ADR
EB1000FD
119
120 ;====================================================================
121 ; NEAR area initialize.
122 ;--------------------------------------------------------------------
123 ; bss zero clear
* M16C FAMILY ASSEMBLER * SOURCE LIST Mon Sep 10 15:02:32 2001 PAGE 003
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4
124 ;--------------------------------------------------------------------
125 N_BZERO bss_SE_top,bss_SE
126 00023 B4 M Z mov.b #00H, R0L
127 00024 AA0000r M S mov.w #(bss_SE_top & 0FFFFH), A1
128 00027 75C30000r M mov.w #sizeof bss_SE , R3
129 0002B 7CEA M sstr.b
130 M .endm
131 N_BZERO bss_SO_top,bss_SO
132 0002D B4 M Z mov.b #00H, R0L
133 0002E AA0000r M S mov.w #(bss_SO_top & 0FFFFH), A1
134 00031 75C30000r M mov.w #sizeof bss_SO , R3
135 00035 7CEA M sstr.b
136 M .endm
137 N_BZERO bss_NE_top,bss_NE
138 00037 B4 M Z mov.b #00H, R0L
139 00038 AA0000r M S mov.w #(bss_NE_top & 0FFFFH), A1
140 0003B 75C30000r M mov.w #sizeof bss_NE , R3
141 0003F 7CEA M sstr.b
142 M .endm
143 N_BZERO bss_NO_top,bss_NO
144 00041 B4 M Z mov.b #00H, R0L
145 00042 AA0000r M S mov.w #(bss_NO_top & 0FFFFH), A1
146 00045 75C30000r M mov.w #sizeof bss_NO , R3
147 00049 7CEA M sstr.b
148 M .endm
149
150 ;---------------------------------------------------------------------
151 ; initialize data section
152 ;---------------------------------------------------------------------
153 N_BCOPY data_SEI_top,data_SE_top,data_SE
154 0004B A20000r M S mov.w #(data_SEI_top & 0FFFFH),A0
155 0004E 74C300r M mov.b #(data_SEI_top >>16),R1H
156 00051 AA0004 M S mov.w #data_SE_top ,A1
157 00054 75C30000r M mov.w #sizeof data_SE , R3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -