📄 ncrt0.lst
字号:
* M16C FAMILY ASSEMBLER * SOURCE LIST Mon Aug 29 16:51:12 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.13 2000/06/22 13:17:04 simomura Exp $
12 ;
13 ;***************************************************************************
14
15 ; .glb __BankSelect
16 ;__BankSelect .equ 0BH
17 ;---------------------------------------------------------------------
18 ; HEEP SIZE definition
19 ;---------------------------------------------------------------------
20 ;//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 000FA000h VECTOR_ADR .equ 0fa000h
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 Mon Aug 29 16:51:12 2005 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
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 EB400000r ldc #istack_top, isp ;set istack pointer
117 00004 C7020A00 S mov.b #02h,0ah
118 ; bset 1,0ah
119 00008 B70400 Z mov.b #00h,04h ;set processer mode
120 ; bclr 1,0ah
121 0000B B70A00 Z mov.b #00h,0ah
122 0000E EB308000 ldc #0080h, flg
123 00012 EB500000r ldc #stack_top, sp ;set stack pointer
124 00016 EB600004 ldc #data_SE_top, sb ;set sb register
* M16C FAMILY ASSEMBLER * SOURCE LIST Mon Aug 29 16:51:12 2005 PAGE 003
SEQ. LOC. OBJ. 0XMSDA ....*....SOURCE STATEMENT....7....*....8....*....9....*....0....*....1....*....2....*....3....*....4
125 0001A EB200F00 ldintb #VECTOR_ADR
EB1000A0
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -