;********************************************************
;														*
;	#　M16Cｽﾀｰﾄｱｯﾌﾟｷｯﾄ　ﾓﾆﾀ部ｿﾌﾄｳｴｱ	 					*
;														*
;	FILENAME: mon_spc.a30								*
;	Ver		: 1.00.00									*
;	CPU		: M16C										*
;	FUNCTION: Special page area program for M16C start  *
;			 up kit moniter								*
;			 (CAUTION)									*
;			  ・judgment for user's program request		*
;			  these process is assigned special address	*
;				(1)user open interrupt (Special page)	*
;	SPEC	:											*
;	OPTION	: "PDB" 0 : for KDB30						*
;					1 : for PDB30						*
;			  "DBG" 0 : for Normal using				*
;					1 : for Debug of moniter progiram	*
;														*
;	CRAETE	: 1999.3.1									*
;														*
; 	Copyright(c) 1995-1999 MITSUBISHI ELECTRIC Co. 		*
; 	and MITSUBISHI ELECTRIC SEMICONDUCTOR SYSTEM Co.	*
;	All Rights Reserved.								*
;														*
;********************************************************
;========================================================
;	1.Interrupt module
;		(1)Undefind instruction	INT_UNDEF	user opne
;		(2)Overflow				INT_OVERF	user opne
;		(3)BRK instruction		INT_BRK		user opne
;		(4)Watchdog timer		INT_WDG		user opne
;	2.Special page jmp
;		(1)Special page No.NO 255 - 18
;						VEC_SPC_255
;							:
;						VEC_SPC_18
;========================================================
;========================================================
;	NAME	: VEC_SPC_???
;	FUNCTION: Special page process <user open>
;	INPUT	: ---
;	OUTPUT	: ---
;	USED_REG: [R0]
;	USED_SUB: ---
;
;	CRAETE	: 1999.3.1
;========================================================
VEC_SPC_255:					; Special page 255
	MOV.B		#255,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_254:	 				; Special page 254
	MOV.B		#254,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_253:	 				; Special page 253
	MOV.B		#253,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_252:					; Special page 252
	MOV.B		#252,bspc_no		; Special page No. save
	 JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_251:	 				; Special page 251
	MOV.B		#251,bspc_no		; Special page No. save
	 JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_250:	 				; Special page 250
	MOV.B		#250,bspc_no		; Special page No. save
	 JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_249:					; Special page 249
	MOV.B		#249,bspc_no		; Special page No. save
	 JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_248:	 				; Special page 248
	MOV.B		#248,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_247:	 				; Special page 247
	MOV.B		#247,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_246:					; Special page 246
	MOV.B		#246,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_245:	 				; Special page 245
	MOV.B		#245,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_244:	 				; Special page 244
	MOV.B		#244,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_243:	 				; Special page 243
	MOV.B		#243,bspc_no		; Special page No. save
	 JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_242:					; Special page 242
	MOV.B		#242,bspc_no		; Special page No. save
	 JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_241:	 				; Special page 241
	MOV.B		#241,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_240:	 				; Special page 240
	MOV.B		#240,bspc_no		; Special page No. save
	 JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_239:					; Special page 239
	MOV.B		#239,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_238:	 				; Special page 238
	MOV.B		#238,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_237:	 				; Special page 237
	MOV.B		#237,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_236:					; Special page 236
	MOV.B		#236,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_235:	 				; Special page 235
	MOV.B		#235,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_234:	 				; Special page 234
	MOV.B		#234,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_233:	 				; Special page 233
	MOV.B		#233,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_232:					; Special page 232
	MOV.B		#232,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_231:	 				; Special page 231
	MOV.B		#231,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_230:	 				; Special page 230
	MOV.B		#230,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_229:					; Special page 229
	MOV.B		#229,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_228:	 				; Special page 228
	MOV.B		#228,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_227:	 				; Special page 227
	MOV.B		#227,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_226:					; Special page 226
	MOV.B		#226,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_225:	 				; Special page 225
	MOV.B		#225,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_224:	 				; Special page 224
	MOV.B		#224,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_223:	 				; Special page 223
	MOV.B		#223,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_222:					; Special page 222
	MOV.B		#222,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_221:	 				; Special page 221
	MOV.B		#221,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_220:	 				; Special page 220
	MOV.B		#220,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_219:					; Special page 219
	MOV.B		#219,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_218:	 				; Special page 218
	MOV.B		#218,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_217:	 				; Special page 217
	MOV.B		#217,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_216:					; Special page 216
	MOV.B		#216,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_215:	 				; Special page 215
	MOV.B		#215,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_214: 					; Special page 214
	MOV.B		#214,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_213:	 				; Special page 213
	MOV.B		#213,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_212:					; Special page 212
	MOV.B		#212,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_211:	 				; Special page 211
	MOV.B		#211,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_210:	 				; Special page 210
	MOV.B		#210,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_209:					; Special page 209
	MOV.B		#209,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_208:	 				; Special page 208
	MOV.B		#208,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_207:	 				; Special page 207
	MOV.B		#207,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_206:					; Special page 206
	MOV.B		#206,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_205:	 				; Special page 205
	MOV.B		#205,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_204:	 				; Special page 204
	MOV.B		#204,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_203:	 				; Special page 203
	MOV.B		#203,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_202:					; Special page 202
	MOV.B		#202,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_201:	 				; Special page 201
	MOV.B		#201,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_200:	 				; Special page 200
	MOV.B		#200,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_199:					; Special page 199
	MOV.B		#199,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_198:	 				; Special page 198
	MOV.B		#198,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_197:	 				; Special page 197
	MOV.B		#197,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_196:					; Special page 196
	MOV.B		#196,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_195:	 				; Special page 195
	MOV.B		#195,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_194:	 				; Special page 194
	MOV.B		#194,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_193:	 				; Special page 193
	MOV.B		#193,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_192:					; Special page 192
	MOV.B		#192,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_191:	 				; Special page 191
	MOV.B		#191,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_190:	 				; Special page 190
	MOV.B		#190,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_189:					; Special page 189
	MOV.B		#189,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_188:	 				; Special page 188
	MOV.B		#188,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_187:	 				; Special page 187
	MOV.B		#187,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_186:					; Special page 186
	MOV.B		#186,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_185:	 				; Special page 185
	MOV.B		#185,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_184:	 				; Special page 184
	MOV.B		#184,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_183:	 				; Special page 183
	MOV.B		#183,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_182:					; Special page 182
	MOV.B		#182,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_181:	 				; Special page 181
	MOV.B		#181,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_180:	 				; Special page 180
	MOV.B		#180,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_179:					; Special page 179
	MOV.B		#179,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_178:	 				; Special page 178
	MOV.B		#178,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_177:	 				; Special page 177
	MOV.B		#177,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_176:					; Special page 176
	MOV.B		#176,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_175:	 				; Special page 175
	MOV.B		#175,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_174:	 				; Special page 174
	MOV.B		#174,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_173:	 				; Special page 173
	MOV.B		#173,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_172:					; Special page 172
	MOV.B		#172,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_171:	 				; Special page 171
	MOV.B		#171,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_170:	 				; Special page 170
	MOV.B		#170,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_169:					; Special page 169
	MOV.B		#169,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_168:	 				; Special page 168
	MOV.B		#168,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_167:	 				; Special page 167
	MOV.B		#167,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_166:					; Special page 166
	MOV.B		#166,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_165:	 				; Special page 165
	MOV.B		#165,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_164:	 				; Special page 164
	MOV.B		#164,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_163:	 				; Special page 163
	MOV.B		#163,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_162:					; Special page 162
	MOV.B		#162,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_161:	 				; Special page 161
	MOV.B		#161,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_160:	 				; Special page 160
	MOV.B		#160,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_159:					; Special page 159
	MOV.B		#159,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_158:	 				; Special page 158
	MOV.B		#158,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_157:	 				; Special page 157
	MOV.B		#157,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_156:					; Special page 156
	MOV.B		#156,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_155:	 				; Special page 155
	MOV.B		#155,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_154:	 				; Special page 154
	MOV.B		#154,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_153:	 				; Special page 153
	MOV.B		#153,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_152:					; Special page 152
	MOV.B		#152,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_151:	 				; Special page 151
	MOV.B		#151,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_150:	 				; Special page 150
	MOV.B		#150,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_149:					; Special page 149
	MOV.B		#149,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_148:	 				; Special page 148
	MOV.B		#148,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_147:	 				; Special page 147
	MOV.B		#147,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_146:					; Special page 146
	MOV.B		#146,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_145:	 				; Special page 145
	MOV.B		#145,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_144:	 				; Special page 144
	MOV.B		#144,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_143:	 				; Special page 143
	MOV.B		#143,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_142:					; Special page 142
	MOV.B		#142,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_141:	 				; Special page 141
	MOV.B		#141,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_140:	 				; Special page 140
	MOV.B		#140,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_139:					; Special page 139
	MOV.B		#139,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_138:	 				; Special page 138
	MOV.B		#138,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_137:	 				; Special page 137
	MOV.B		#137,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_136:					; Special page 136
	MOV.B		#136,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_135:	 				; Special page 135
	MOV.B		#135,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_134:	 				; Special page 134
	MOV.B		#134,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_133:	 				; Special page 133
	MOV.B		#133,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_132:					; Special page 132
	MOV.B		#132,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_131:	 				; Special page 131
	MOV.B		#131,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_130:	 				; Special page 130
	MOV.B		#130,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_129:					; Special page 129
	MOV.B		#129,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_128:	 				; Special page 128
	MOV.B		#128,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_127:	 				; Special page 127
	MOV.B		#127,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_126:					; Special page 126
	MOV.B		#126,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_125:	 				; Special page 125
	MOV.B		#125,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_124:	 				; Special page 124
	MOV.B		#124,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_123:	 				; Special page 123
	MOV.B		#123,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_122:					; Special page 122
	MOV.B		#122,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_121:	 				; Special page 121
	MOV.B		#121,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_120:	 				; Special page 120
	MOV.B		#120,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_119:					; Special page 119
	MOV.B		#119,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_118:	 				; Special page 118
	MOV.B		#118,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_117:	 				; Special page 117
	MOV.B		#117,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_116:					; Special page 116
	MOV.B		#116,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_115:	 				; Special page 115
	MOV.B		#115,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_114:	 				; Special page 114
	MOV.B		#114,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_113:	 				; Special page 113
	MOV.B		#113,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_112:					; Special page 112
	MOV.B		#112,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_111:	 				; Special page 111
	MOV.B		#111,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_110:	 				; Special page 110
	MOV.B		#110,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_109:					; Special page 109
	MOV.B		#109,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_108:	 				; Special page 108
	MOV.B		#108,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_107:	 				; Special page 107
	MOV.B		#107,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_106:					; Special page 106
	MOV.B		#106,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_105:	 				; Special page 105
	MOV.B		#105,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_104:	 				; Special page 104
	MOV.B		#104,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_103:	 				; Special page 103
	MOV.B		#103,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_102:					; Special page 102
	MOV.B		#102,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_101:	 				; Special page 101
	MOV.B		#101,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_100:	 				; Special page 100
	MOV.B		#100,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_099:					; Special page 099
	MOV.B		#99,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_098:	 				; Special page 098
	MOV.B		#98,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_097:	 				; Special page 097
	MOV.B		#97,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_096:					; Special page 096
	MOV.B		#96,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_095:	 				; Special page 095
	MOV.B		#95,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_094:	 				; Special page 094
	MOV.B		#94,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_093:	 				; Special page 093
	MOV.B		#93,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_092:					; Special page 092
	MOV.B		#92,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_091:	 				; Special page 091
	MOV.B		#91,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_090:	 				; Special page 090
	MOV.B		#90,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_089:					; Special page 089
	MOV.B		#89,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_088:	 				; Special page 088
	MOV.B		#88,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_087:	 				; Special page 087
	MOV.B		#87,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_086:					; Special page 086
	MOV.B		#86,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_085:	 				; Special page 085
	MOV.B		#85,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_084:	 				; Special page 084
	MOV.B		#84,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_083:	 				; Special page 083
	MOV.B		#83,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_082:					; Special page 082
	MOV.B		#82,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_081:	 				; Special page 081
	MOV.B		#81,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_080:	 				; Special page 080
	MOV.B		#80,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_079:					; Special page 079
	MOV.B		#79,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_078:	 				; Special page 078
	MOV.B		#78,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_077:	 				; Special page 077
	MOV.B		#77,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_076:					; Special page 076
	MOV.B		#76,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_075:	 				; Special page 075
	MOV.B		#75,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_074:	 				; Special page 074
	MOV.B		#74,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_073:	 				; Special page 073
	MOV.B		#73,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_072:					; Special page 072
	MOV.B		#72,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_071:	 				; Special page 071
	MOV.B		#71,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_070:	 				; Special page 070
	MOV.B		#70,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_069:					; Special page 069
	MOV.B		#69,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_068:	 				; Special page 068
	MOV.B		#68,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_067: 					; Special page 067
	MOV.B		#67,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_066:					; Special page 066
	MOV.B		#66,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_065:	 				; Special page 065
	MOV.B		#65,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_064:	 				; Special page 064
	MOV.B		#64,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_063:	 				; Special page 063
	MOV.B		#63,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_062:					; Special page 062
	MOV.B		#62,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_061:	 				; Special page 061
	MOV.B		#61,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_060:	 				; Special page 060
	MOV.B		#60,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_059:					; Special page 059
	MOV.B		#59,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_058:					; Special page 058
	MOV.B		#58,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_057: 					; Special page 057
	MOV.B		#57,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_056:					; Special page 056
	MOV.B		#56,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_055:	 				; Special page 055
	MOV.B		#55,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_054:	 				; Special page 054
	MOV.B		#54,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_053:	 				; Special page 053
	MOV.B		#53,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_052:					; Special page 052
	MOV.B		#52,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_051:	 				; Special page 051
	MOV.B		#51,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_050:	 				; Special page 050
	MOV.B		#50,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_049:					; Special page 049
	MOV.B		#49,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_048:	 				; Special page 048
	MOV.B		#48,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_047:	 				; Special page 047
	MOV.B		#47,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_046:					; Special page 046
	MOV.B		#46,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_045:	 				; Special page 045
	MOV.B		#45,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_044:	 				; Special page 044
	MOV.B		#44,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_043:	 				; Special page 043
	MOV.B		#43,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_042:					; Special page 042
	MOV.B		#42,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_041:	 				; Special page 041
	MOV.B		#41,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_040:	 				; Special page 040
	MOV.B		#40,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_039:					; Special page 039
	MOV.B		#39,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_038:	 				; Special page 038
	MOV.B		#38,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_037:	 				; Special page 037
	MOV.B		#37,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_036:					; Special page 036
	MOV.B		#36,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_035:	 				; Special page 035
	MOV.B		#35,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_034:	 				; Special page 034
	MOV.B		#34,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_033:	 				; Special page 033
	MOV.B		#33,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_032:					; Special page 032
	MOV.B		#32,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_031:	 				; Special page 031
	MOV.B		#31,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_030:	 				; Special page 030
	MOV.B		#30,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_029:					; Special page 029
	MOV.B		#29,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_028:	 				; Special page 028
	MOV.B		#28,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_027:	 				; Special page 027
	MOV.B		#27,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_026:					; Special page 026
	MOV.B		#26,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_025:	 				; Special page 025
	MOV.B		#25,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_024:	 				; Special page 024
	MOV.B		#24,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_023:	 				; Special page 023
	MOV.B		#23,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_022:					; Special page 022
	MOV.B		#22,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_021:	 				; Special page 021
	MOV.B		#21,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_020:	 				; Special page 020
	MOV.B		#20,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_019:					; Special page 019
	MOV.B		#19,bspc_no		; Special page No. save
	JMP VEC_SPC_SUB				; --> jmp to common process
;
VEC_SPC_018:	 				; Special page 018
	MOV.B		#18,bspc_no		; Special page No. save
;	JMP VEC_SPC_SUB				; --> jmp to common process

;******************** Common SUB JMP VEC_SPC_SUB *************
;
VEC_SPC_SUB:
	PUSH.W	R0
	PUSH.W	R0
;
	PUSHM	R0,R1,A0,A1
;
	STC FLG,R0
;	LDIPL	#6	;
	
	MOV.B	R0L,bbk_flgl
	MOV.B	R0H,bbk_flgh
;
;-----------------------------------------------
;	calcuration address of user define process
;-----------------------------------------------
VEC_SPC_UADR:
.IF DBG==ON
	BSET:G		P7_6				; for Over head measurement
.ENDIF
	MOV.B		bspc_no,R0L			; Special page No. get
	AND.W		#00FFH,R0			; no-use bit mask		(?FFFEH-(no x 2))
	SHL.W		#1,R0				;		no x 2
	MOV.W		#0FFFEH,R1			;
	SUB.W		R0,R1				;
	MOV.W		R1,A0				; user define table address(M,L) -> A0
	SUB.W		#4000H,A0
	MOV.W		#0FH,A1				;
	LDE.W		[A1A0],R0			; get user's special page process start address(M,L)

	FCLR	I
	MOV.W		R0,8[SP]			; set user's special page process start address(M,L) ->SP
	MOV.B		bbk_flgl,R0L		; FLG(L) data load
	MOV.B		R0L,10[SP]			; set FLG(L)->SP
	MOV.B		#0FH,R0L			; user's special page process start address(H)
	MOV.B		bbk_flgh,R0H		; FLG(H) data load
	AND.B		#0F0h,R0H			;
	OR.B		R0H,R0L				; data set FLG(H) &address(H) to SP
	MOV.B		R0L,11[SP]			;
	FSET	I
; ----- Special page STEP Excute mode check -----
	MOV.B		bspc_stepmd,R0L		; Special page at STEP excuting ?
	CMP.B		#C_STEP_SPC,R0L		;
	JNE			VEC_SPC_EXIT		; --> NO
; ----- for STEP interrupt -----
	FCLR	I
	MOV.B		10[SP],R0L			; FLG(L) load
	OR.B		#02H,R0L			; D-FLGﾞ = ON
	MOV.B		R0L,10[SP]			; >
	MOV.B		11[SP],R0L			; FLG(H) loadﾞ
	OR.B		#80H,R0L			; FLGbit15 = ON
	MOV.B		R0L,11[SP]			; >
	MOV.B		#0,R0L				; Special page (STEP) = OFF
	MOV.B		R0L,bspc_stepmd		; >
	FSET	I
VEC_SPC_EXIT:
.IF DBG==ON
	BCLR:G		P7_6				; for Over head measurement
.ENDIF
	FCLR	I
	POPM		R0,R1,A0,A1
	FSET	I	
REIT								; -> to user define routine
;
;========================================================
;	NAME	: INT_UNDEF
;	FUNCTION: Interrupt process of Undefined instruction <user open>
;			  1.at user program excuting
;				(1)set user program excute infomation (4byte) to SP
;				(2)information set by (1)
;				(3)jmp to user Interrupt routine by REIT
;			  2.at moniter program excuting
;				(1)jmp to moniter program by REIT
;	INPUT	: ---
;	OUTPUT	: ---
;	USED_REG: [R0][A0]
;	USED_SUB: ---
;
;	CRAETE	: 1999.3.1
;========================================================
INT_UNDEF:
.IF DBG==ON
	BSET:G		P7_6				; for Over head measurement
	STC			FLG,dbg_flg			; store FLG
.ENDIF
	FCLR		I					; INT Disable
; ----- Stack area up_date (4byte) -----
	PUSH.W		R0					; reserved for reit instruction
	PUSH.W		R0					;	"
;
	PUSHM		R0,A0
;------	CM0/CM1 save ----------
	MOV.B	CM0,R0L
	MOV.B	R0L,M_CM0
	MOV.B	CM1,R0H
	MOV.B	R0H,M_CM1
	AND.B	#DEF_CM0,R0L			;DEF_CM0=1FH
	AND.B	#DEF_CM1,R0H			;DEF_CM1=3FH
	OR.B	#C_CM0,R0L
	OR.B	#C_CM1,R0H
	BSET	0,PRCR
	MOV.B	R0L,CM0
	MOV.B	R0H,CM1
	BCLR	0,PRCR
; ----- request judgment -----

	MOV.B		11[SP],R0L			; PC(H) load
	AND.B		#0FH,R0L			; FLG(H) mask
	CMP.B		#C_AREA_NONMON,R0L	; at user program PC < FxxxxH 
	JNC		UNDEF_USR				; at from user program ->
	MOV.B		9[SP],R0L			; PC(M) load
	AND.B		#0F0H,R0L
	CMP.B		#0C0H,R0L			; PC < FCxxxH
	JNC		UNDEF_USR		;

;------ Process interrupt call by not user -----
.IF DBG==ON
	ADD.W		#1,dbg_undusr		;
.ENDIF
	MOV.W		werr_inf,R0			; ERR information load 
	BSET		F_ERRINF_UND,R0		;
	MOV.W		R0,werr_inf			; >
	JMP.W		UNDEF_001			; for $M16C-02-9607
;
UNDEF_001:
	JSR.A		S_MON_ERR			; --> ERR
;
; ----- Process interrupt call by user -----
UNDEF_USR:
.IF DBG==ON
	ADD.W		#1,dbg_undetc		;
.ENDIF
	MOV.B		10[SP],R0L			; <1>FLG(L)
	AND.B		#0FDH,R0L			; DFLG = OFF
	MOV.B		R0L,6[SP]			;>
	MOV.W		#0,A0				; <2>PC(M,L)
	LDE.W		Vusr_undef[A0],R0	;
	MOV.W		R0,4[SP]			;>
	ADD.W		#2,A0				; <3>FLG(H)+PC(H)
	LDE.W		Vusr_undef[A0],R0	;	PC(H)->R0L
	MOV.B		11[SP],R0H			;	FLG(H)->RH
	AND.W		#0F00FH,R0			;
	OR.B		R0H,R0L				;
	AND.B		#7FH,R0L			; FLGbit15 = OFF
	MOV.B		R0L,7[SP]			;>
; ----- ??????  -----
	MOV.B		10[SP],R0L			;
	MOV.B		R0L,10[SP]			;>
	MOV.B		11[SP],R0L			;
	MOV.B		R0L,11[SP]			;>
;
.IF DBG==ON
	BCLR:G		P7_6				; for Over head measurement
.ENDIF
	POPM		R0,A0
	REIT							; --> jmp to user's undefined instruction interrupt process
;========================================================
;	NAME	: INT_OVERF
;	FUNCTION: Interrupt process of Overflow <user open>
;			  1.at user program excuting
;				(1)set user program excute infomation (4byte) to SP
;				(2)information set by (1)
;				(3)jmp to user Interrupt routine by REIT
;			  2.at moniter program excuting
;				(1)jmp to moniter program by REIT
;	INPUT	: ---
;	OUTPUT	: ---
;	USED_REG: [R0][A0]
;	USED_SUB: ---
;
;	CRAETE	: 1999.3.1
;========================================================
INT_OVERF:
	FCLR		I					; INT Disable
	FCLR		O					; Overflow FLG = OFF
; ----- Stack area up_date (4byte) -----
	PUSH.W		R0					; reserved for reit instruction
	PUSH.W		R0
	PUSHM		R0,A0					;	"
;
;------	CM0/CM1 save ----------
	MOV.B	CM0,R0L
	MOV.B	R0L,M_CM0
	MOV.B	CM1,R0H
	MOV.B	R0H,M_CM1
	AND.B	#DEF_CM0,R0L			;DEF_CM0=1FH
	AND.B	#DEF_CM1,R0H			;DEF_CM1=3FH
	OR.B	#C_CM0,R0L
	OR.B	#C_CM1,R0H
	BSET	0,PRCR
	MOV.B	R0L,CM0
	MOV.B	R0H,CM1
	BCLR	0,PRCR
; ----- request judgment -----
	MOV.B		11[SP],R0L			; PC(H) load
	AND.B		#0FH,R0L			; FLG(H) mask
	CMP.B		#C_AREA_NONMON,R0L	; at user program PC < FxxxxH 
	JNC		OVERF_USR				; at from user program ->
	MOV.B		9[SP],R0L			; PC(M) load
	AND.B		#0F0H,R0L
	CMP.B		#0C0H,R0L			; PC < FCxxxH
	JNC		OVERF_USR				; at from user program ->
;
;------ Process interrupt call by not user -----
	MOV.W		werr_inf,R0			; ERR information load 
	BSET		F_ERRINF_OVRF,R0	;
	MOV.W		R0,werr_inf			; >
	JMP.W		OVERF_001			; for $M16C-02-9607
;
OVERF_001:
	JSR.A		S_MON_ERR			; --> ERR
;
; ----- ﾕｰｻﾞからの割り込みｺｰﾙ -----
OVERF_USR:
	MOV.B		10[SP],R0L			; <1>FLG(L)
	BSET		5,R0				; O-FLG copy
	AND.B		#0FDH,R0L			; DFLG = OFF
	MOV.B		R0L,6[SP]			;>
	MOV.W		#0,A0				; <2>PC(M,L)
	LDE.W		Vusr_overf[A0],R0	;
	MOV.W		R0,4[SP]			;>
	ADD.W		#2,A0				; <3>FLG(H)+PC(H)
	LDE.W		Vusr_overf[A0],R0	;	PC(H)->R0L
	MOV.B		11[SP],R0H			;	FLG(H)->RH
	AND.W		#0F00FH,R0			;
	OR.B		R0H,R0L				;
	AND.B		#7FH,R0L			; FLGbit15 = OFF
	MOV.B		R0L,7[SP]			;>
; ----- ??????  -----
	MOV.B		10[SP],R0L			;
	MOV.B		R0L,10[SP]			;>
	MOV.B		11[SP],R0L			;
	MOV.B		R0L,11[SP]			;>
;
	POPM		R0,A0
	REIT							; --> jmp to user's overflow interrupt process
;========================================================
;	NAME	: INT_BRK
;	FUNCTION: Interrupt process of BRK instruction <user open>
;			  1.at user program excuting
;				(1)set user program excute infomation (4byte) to SP
;				(2)information set by (1)
;				(3)jmp to user Interrupt routine by REIT
;			  2.at moniter program excuting
;				(1)jmp to moniter program by REIT
;	INPUT	: ---
;	OUTPUT	: ---
;	USED_REG: [R0][A0]
;	USED_SUB: ---
;
;	CRAETE	: 1999.3.1
;========================================================
INT_BRK:
	FCLR		I					; INT Disable
; ----- Stack area up_date (4byte) -----
	PUSH.W		R0					; reserved for reit instruction
	PUSH.W		R0					;	"
;
	PUSHM		R0,A0
;------	CM0/CM1 save ----------
	MOV.B	CM0,R0L
	MOV.B	R0L,M_CM0
	MOV.B	CM1,R0H
	MOV.B	R0H,M_CM1
	AND.B	#DEF_CM0,R0L			;DEF_CM0=1FH
	AND.B	#DEF_CM1,R0H			;DEF_CM1=3FH
	OR.B	#C_CM0,R0L
	OR.B	#C_CM1,R0H
	BSET	0,PRCR
	MOV.B	R0L,CM0
	MOV.B	R0H,CM1
	BCLR	0,PRCR
; ----- request judgment -----
	MOV.B		11[SP],R0L			; PC(H) load
	AND.B		#0FH,R0L			; FLG(H) mask
	CMP.B		#C_AREA_NONMON,R0L	; at user program PC < FxxxxH 
	JNC		BRK_USR					; at from user program ->
	MOV.B		9[SP],R0L			; PC(M) load
	AND.B		#0F0H,R0L
	CMP.B		#0C0H,R0L			; PC < FCxxxH
	JNC		BRK_USR					; at from user program ->;
;
;------ Process interrupt call by not user -----
	MOV.W		werr_inf,R0			; ERR information load 
	BSET		F_ERRINF_BRK,R0		;
	MOV.W		R0,werr_inf			; >
	JMP.W		BRK_001				; for $M16C-02-9607
;
BRK_001:
	JSR.A		S_MON_ERR			; --> ERR
;
; ----- ﾕｰｻﾞからの割り込みｺｰﾙ -----
BRK_USR:
	MOV.B		10[SP],R0L			; <1>FLG(L)
	AND.B		#0FDH,R0L			; D-FLG = OFF
	MOV.B		R0L,6[SP]			;>
	MOV.W		#0,A0				; <2>PC(M,L)
	LDE.W		Vusr_brk[A0],R0		;
	MOV.W		R0,4[SP]			;>
	ADD.W		#2,A0				; <3>FLG(H)+PC(H)
	LDE.W		Vusr_brk[A0],R0		;	PC(H)->R0L
	MOV.B		11[SP],R0H			;	FLG(H)->RH
	AND.W		#0F00FH,R0			;
	OR.B		R0H,R0L				;
	AND.B		#7FH,R0L			; FLGbit15 = OFF
	MOV.B		R0L,7[SP]			;>
; ----- ??????  -----
	MOV.B		10[SP],R0L			;
	MOV.B		R0L,10[SP]			;>
	MOV.B		11[SP],R0L			;
	MOV.B		R0L,11[SP]			;>
	;
	POPM		R0,A0
	REIT							; --> jmp to user's BRK instruction interrupt process
;
;========================================================
;	NAME	: INT_WDG
;	FUNCTION: Interrupt process of Watchdig timer <user open>
;			  1.at user program excuting
;				(1)set user program excute infomation (4byte) to SP
;				(2)information set by (1)
;				(3)jmp to user Interrupt routine by REIT
;			  2.at moniter program excuting
;				(1)jmp to moniter program by REIT
;	INPUT	: ---
;	OUTPUT	: ---
;	USED_REG: [R0][A0]
;	USED_SUB: ---
;
;	CRAETE	: 1999.3.1
;========================================================
INT_WDG:
.IF DBG==ON
	BSET:G		P7_6				; for Over head measurement
.ENDIF
	FCLR		I					; INT Disable
; ----- Stack area up_date (4byte) -----
	PUSH.W		R0					; reserved for reit instruction
	PUSH.W		R0					;	"
;
	PUSHM		R0,A0
;------	CM0/CM1 save ----------
	MOV.B	CM0,R0L
	MOV.B	R0L,M_CM0
	MOV.B	CM1,R0H
	MOV.B	R0H,M_CM1
	AND.B	#DEF_CM0,R0L			;DEF_CM0=1FH
	AND.B	#DEF_CM1,R0H			;DEF_CM1=3FH
	OR.B	#C_CM0,R0L
	OR.B	#C_CM1,R0H
	BSET	0,PRCR
	MOV.B	R0L,CM0
	MOV.B	R0H,CM1
	BCLR	0,PRCR
; ----- request judgment -----
	MOV.B		11[SP],R0L			; PC(H) load
	AND.B		#0FH,R0L			; FLG(H) mask
	CMP.B		#C_AREA_NONMON,R0L	; at user program PC < FxxxxH 
	JNC		WDG_USR					; at from user program ->
	MOV.B		9[SP],R0L			; PC(M) load
	AND.B		#0F0H,R0L
	CMP.B		#0C0H,R0L			; PC < FCxxxH
	JNC		WDG_USR					; at from user program ->
;------ Process interrupt call by not user -----
	POPM		R0,A0
	POP.W		R0					; ﾜｰｸ解放
	POP.W		R0					; ﾜｰｸ解放
	REIT							; --> 呼ばれ先へ
; ----- ﾕｰｻﾞからの割り込みｺｰﾙ -----
WDG_USR:
	MOV.B		10[SP],R0L			; <1>FLG(L)
	AND.B		#0FDH,R0L			; DFLG = OFF
	MOV.B		R0L,6[SP]			;>
	MOV.W		#0,A0				; <2>PC(M,L)
	LDE.W		Vusr_wdg[A0],R0		;
	MOV.W		R0,4[SP]			;>
	ADD.W		#2,A0				; <3>FLG(H)+PC(H)
	LDE.W		Vusr_wdg[A0],R0		;	PC(H)->R0L
	MOV.B		11[SP],R0H			;	FLG(H)->RH
	OR.B		#70H,R0H			; IPL = #7
	AND.W		#0F00FH,R0			;
	OR.B		R0H,R0L				;
	AND.B		#7FH,R0L			; FLGbit15 = OFF
	MOV.B		R0L,7[SP]			;>
;
.IF DBG==ON
	BCLR:G		P7_6				; for Over head measurement
.ENDIF
	POPM		R0,A0
	REIT							; --> jmp to user's Watchdog timer interrupt process
;
;========================================================
;	NAME	: INT_NMI
;	FUNCTION: Interrupt process of NMI <user not-open>
;			  1.at user program excuting
;				(1)set user program excute infomation (4byte) to SP
;				(2)information set by (1)
;				(3)jmp to user Interrupt routine by REIT
;			  2.at moniter program excuting
;				(1)jmp to moniter program by REIT
;	INPUT	: ---
;	OUTPUT	: ---
;	USED_REG: [R0][A0]
;	USED_SUB: ---
;
;	CRAETE	: 1999.3.1
;========================================================
INT_NMI_2:
	REIT							;
;
;********************************************************
;														*
;	FILENAME: mon_spc.a30								*
;														*
; 	Copyright(c) 1995-1999 MITSUBISHI ELECTRIC Co. 		*
; 	and MITSUBISHI ELECTRIC SEMICONDUCTOR SYSTEM Co.	*
;	All Rights Reserved.								*
;														*
;********************************************************
