Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
                ifndef  __regz8inc     ; avoid multiple inclusion
2
__regz8inc	equ     1
3
 
4
                save
5
                listing off   ; kein Listing ueber diesen File
6
 
7
;****************************************************************************
8
;*                                                                          *
9
;*   AS 1.42 - File REGZ8.INC                                               *
10
;*                                                                          *
11
;*   Sinn : contains SFR and Bit Definitionen for Zilog Z8 Processors       *
12
;*                                                                          *
13
;****************************************************************************
14
 
15
;----------------------------------------------------------------------------
16
; Helper Macros
17
 
18
__z8bit		macro	{intlabel},reg,bitpos
19
__label__	defbit	reg,bitpos
20
		endm
21
__z8cbit	macro	{intlabel},reg,bitpos
22
__label__	equ	1 << bitpos
23
		endm
24
 
25
__z8bfield	macro	{intlabel},reg,start,count
26
__label__	equ	((1 << count) - 1) << start
27
		endm
28
__z8cbfield	macro	{intlabel},reg,start,count
29
__label__	equ	((1 << count) - 1) << start
30
		endm
31
 
32
 
33
;----------------------------------------------------------------------------
34
; Include proper CPU-specific register definitions
35
 
36
		switch	MOMCPUNAME
37
		case	"Z8601"
38
RAMEND		 sfr	 7fh
39
ROMEND		 label	 7ffh
40
__hastimer1	 equ	 1
41
		 include "z8/z86xx.inc"
42
 
43
		case	"Z8603"
44
RAMEND		 sfr	 7fh
45
__hastimer1	 equ	 1
46
		 include "z8/z86xx.inc"
47
 
48
		case	"Z86C03","Z86E03"
49
RAMEND		 sfr	 3fh
50
ROMEND		 label	 1ffh
51
__hastimer1	 equ	 0
52
__haswdt	 equ	 0
53
__hasspi	 equ	 1
54
		 include "z8/z86cxx.inc"
55
 
56
		;case	"Z8604"
57
		case	"Z86C06","Z86E06"
58
RAMEND		 sfr	 7fh
59
ROMEND		 label	 0fffh
60
__hastimer1	 equ	 1
61
__haswdt	 equ	 1
62
__hasspi	 equ	 1
63
		 include "z8/z86cxx.inc"
64
 
65
		case	"Z86C08"
66
RAMEND		 sfr	 7fh
67
ROMEND		 label	 7ffh
68
__hastimer1	 equ	 1
69
__haswdt	 equ	 0
70
__hasspi	 equ	 0
71
		 include "z8/z86cxx.inc"
72
 
73
		case	"Z86C21"
74
RAMEND		 sfr	 0efh
75
ROMEND		 label	 1fffh
76
__hastimer1	 equ	 1
77
		 include "z8/z86xx.inc"
78
 
79
		case	"Z86E21"
80
RAMEND		 sfr	 0efh
81
ROMEND		 label	 1fffh
82
__hastimer1	 equ	 1
83
		 include "z8/z86xx.inc"
84
 
85
		case	"Z86C30"
86
RAMEND		 sfr	 0efh
87
ROMEND		 label	 0fffh
88
__hastimer1	 equ	 1
89
__haswdt	 equ	 0
90
__hasspi	 equ	 0
91
		 include "z8/z86cxx.inc"
92
 
93
		case	"Z86C31"
94
RAMEND		 sfr	 7fh
95
ROMEND		 label	 7ffh
96
__hastimer1	 equ	 1
97
__haswdt	 equ	 0
98
__hasspi	 equ	 0
99
		 include "z8/z86cxx.inc"
100
 
101
		case	"Z86C32"
102
RAMEND		 sfr	 0efh
103
ROMEND		 label	 7ffh
104
__hastimer1	 equ	 1
105
__haswdt	 equ	 0
106
__hasspi	 equ	 0
107
		 include "z8/z86cxx.inc"
108
 
109
		case	"Z86C40"
110
RAMEND		 sfr	 0efh
111
ROMEND		 label	 0fffh
112
__hastimer1	 equ	 1
113
__haswdt	 equ	 0
114
__hasspi	 equ	 0
115
		 include "z8/z86cxx.inc"
116
 
117
		case	"Z88C00","Z88C01"
118
RAMEND		 sfr	 0bfh
119
		 include "z8/z88c0x.inc"
120
 
121
		case	"Z8F0130"
122
RAMEND		 sfr	 0ffh
123
ROMEND		 label	 03ffh
124
__hasadc	 equ	 0
125
		 include "z8/f0830.inc"
126
 
127
		case	"Z8F0131"
128
RAMEND		 sfr	 0ffh
129
ROMEND		 label	 03ffh
130
__hasadc	 equ	 1
131
		 include "z8/f0830.inc"
132
 
133
		case	"Z8F0230"
134
RAMEND		 sfr	 0ffh
135
ROMEND		 label	 07ffh
136
__hasadc	 equ	 0
137
		 include "z8/f0830.inc"
138
 
139
		case	"Z8F0231"
140
RAMEND		 sfr	 0ffh
141
ROMEND		 label	 07ffh
142
__hasadc	 equ	 1
143
		 include "z8/f0830.inc"
144
 
145
		case	"Z8F0430"
146
RAMEND		 sfr	 0ffh
147
ROMEND		 label	 0fffh
148
__hasadc	 equ	 0
149
		 include "z8/f0830.inc"
150
 
151
		case	"Z8F0431"
152
RAMEND		 sfr	 0ffh
153
ROMEND		 label	 0fffh
154
__hasadc	 equ	 1
155
		 include "z8/f0830.inc"
156
 
157
		case	"Z8F0830"
158
RAMEND		 sfr	 0ffh
159
ROMEND		 label	 1fffh
160
__hasadc	 equ	 0
161
		 include "z8/f0830.inc"
162
 
163
		case	"Z8F0831"
164
RAMEND		 sfr	 0ffh
165
ROMEND		 label	 1fffh
166
__hasadc	 equ	 1
167
		 include "z8/f0830.inc"
168
 
169
		case	"Z8F1232"
170
RAMEND		 sfr	 0ffh
171
ROMEND		 label	 2fffh
172
__hasadc	 equ	 0
173
		 include "z8/f0830.inc"
174
 
175
		case	"Z8F1233"
176
RAMEND		 sfr	 0ffh
177
ROMEND		 label	 2fffh
178
__hasadc	 equ	 1
179
		 include "z8/f0830.inc"
180
 
181
		case	"Z8F0113"
182
RAMEND		 sfr	 0ffh
183
ROMEND		 label	 3ffh
184
__hasadc	 equ	 0
185
		 include "z8/f0823.inc"
186
 
187
		case	"Z8F0123"
188
RAMEND		 sfr	 0ffh
189
ROMEND		 label	 3ffh
190
__hasadc	 equ	 1
191
		 include "z8/f0823.inc"
192
 
193
		case	"Z8F0213"
194
RAMEND		 sfr	 1ffh
195
ROMEND		 label	 7ffh
196
__hasadc	 equ	 0
197
		 include "z8/f0823.inc"
198
 
199
		case	"Z8F0223"
200
RAMEND		 sfr	 1ffh
201
ROMEND		 label	 7ffh
202
__hasadc	 equ	 1
203
		 include "z8/f0823.inc"
204
 
205
		case	"Z8F0413"
206
RAMEND		 sfr	 3ffh
207
ROMEND		 label	 0fffh
208
__hasadc	 equ	 0
209
		 include "z8/f0823.inc"
210
 
211
		case	"Z8F0423"
212
RAMEND		 sfr	 3ffh
213
ROMEND		 label	 0fffh
214
__hasadc	 equ	 1
215
		 include "z8/f0823.inc"
216
 
217
		case	"Z8F0813"
218
RAMEND		 sfr	 3ffh
219
ROMEND		 label	 1fffh
220
__hasadc	 equ	 0
221
		 include "z8/f0823.inc"
222
 
223
		case	"Z8F0823"
224
RAMEND		 sfr	 3ffh
225
ROMEND		 label	 1fffh
226
__hasadc	 equ	 1
227
		 include "z8/f0823.inc"
228
 
229
		case	"Z8F011A"
230
RAMEND		 sfr	 0ffh
231
ROMEND		 label	 3ffh
232
__hasadc	 equ	 0
233
		 include "z8/f082a.inc"
234
 
235
		case	"Z8F012A"
236
RAMEND		 sfr	 0ffh
237
ROMEND		 label	 3ffh
238
__hasadc	 equ	 1
239
		 include "z8/f082a.inc"
240
 
241
		case	"Z8F021A"
242
RAMEND		 sfr	 1ffh
243
ROMEND		 label	 7ffh
244
__hasadc	 equ	 0
245
		 include "z8/f082a.inc"
246
 
247
		case	"Z8F022A"
248
RAMEND		 sfr	 1ffh
249
ROMEND		 label	 7ffh
250
__hasadc	 equ	 1
251
		 include "z8/f082a.inc"
252
 
253
		case	"Z8F041A"
254
RAMEND		 sfr	 3ffh
255
ROMEND		 label	 0fffh
256
__hasadc	 equ	 0
257
		 include "z8/f082a.inc"
258
 
259
		case	"Z8F042A"
260
RAMEND		 sfr	 3ffh
261
ROMEND		 label	 0fffh
262
__hasadc	 equ	 1
263
		 include "z8/f082a.inc"
264
 
265
		case	"Z8F081A"
266
RAMEND		 sfr	 3ffh
267
ROMEND		 label	 1fffh
268
__hasadc	 equ	 0
269
		 include "z8/f082a.inc"
270
 
271
		case	"Z8F082A"
272
RAMEND		 sfr	 3ffh
273
ROMEND		 label	 1fffh
274
__hasadc	 equ	 1
275
		 include "z8/f082a.inc"
276
 
277
		case	"Z8F0411"
278
RAMEND		 sfr	 3ffh
279
ROMEND		 label	 0fffh
280
__hasadc	 equ	 0
281
__hasspi	 equ	 0
282
		 include "z8/f0822.inc"
283
 
284
		case	"Z8F0412"
285
RAMEND		 sfr	 3ffh
286
ROMEND		 label	 0fffh
287
__hasadc	 equ	 0
288
__hasspi	 equ	 1
289
		 include "z8/f0822.inc"
290
 
291
		case	"Z8F0421"
292
RAMEND		 sfr	 3ffh
293
ROMEND		 label	 0fffh
294
__hasadc	 equ	 1
295
__hasspi	 equ	 0
296
		 include "z8/f0822.inc"
297
 
298
		case	"Z8F0422"
299
RAMEND		 sfr	 3ffh
300
ROMEND		 label	 0fffh
301
__hasadc	 equ	 1
302
__hasspi	 equ	 1
303
		 include "z8/f0822.inc"
304
 
305
		case	"Z8F0811"
306
RAMEND		 sfr	 3ffh
307
ROMEND		 label	 1fffh
308
__hasadc	 equ	 0
309
__hasspi	 equ	 0
310
		 include "z8/f0822.inc"
311
 
312
		case	"Z8F0812"
313
RAMEND		 sfr	 3ffh
314
ROMEND		 label	 1fffh
315
__hasadc	 equ	 0
316
__hasspi	 equ	 1
317
		 include "z8/f0822.inc"
318
 
319
		case	"Z8F0821"
320
RAMEND		 sfr	 3ffh
321
ROMEND		 label	 1fffh
322
__hasadc	 equ	 1
323
__hasspi	 equ	 0
324
		 include "z8/f0822.inc"
325
 
326
		case	"Z8F0822"
327
RAMEND		 sfr	 3ffh
328
ROMEND		 label	 1fffh
329
__hasadc	 equ	 1
330
__hasspi	 equ	 1
331
		 include "z8/f0822.inc"
332
 
333
		case	"Z8F0880"
334
RAMEND		 sfr	 3ffh
335
ROMEND		 label	 1fffh
336
		 include "z8/f1680.inc"
337
 
338
		case	"Z8F1680"
339
RAMEND		 sfr	 7ffh
340
ROMEND		 label	 3fffh
341
		 include "z8/f1680.inc"
342
 
343
		case	"Z8F2480"
344
RAMEND		 sfr	 7ffh
345
ROMEND		 label	 5fffh
346
		 include "z8/f1680.inc"
347
 
348
		case	"Z8F1621"
349
RAMEND		 sfr	 7ffh
350
ROMEND		 label	 3fffh
351
__hastimer3	 equ	 0
352
		 include "z8/f64xx.inc"
353
 
354
		case	"Z8F1622"
355
RAMEND		 sfr	 7ffh
356
ROMEND		 label	 3fffh
357
__hastimer3	 equ	 1
358
		 include "z8/f64xx.inc"
359
 
360
		case	"Z8F2421"
361
RAMEND		 sfr	 7ffh
362
ROMEND		 label	 5fffh
363
__hastimer3	 equ	 0
364
		 include "z8/f64xx.inc"
365
 
366
		case	"Z8F2422"
367
RAMEND		 sfr	 7ffh
368
ROMEND		 label	 5fffh
369
__hastimer3	 equ	 1
370
		 include "z8/f64xx.inc"
371
 
372
		case	"Z8F3221"
373
RAMEND		 sfr	 7ffh
374
ROMEND		 label	 7fffh
375
__hastimer3	 equ	 0
376
		 include "z8/f64xx.inc"
377
 
378
		case	"Z8F3222"
379
RAMEND		 sfr	 7ffh
380
ROMEND		 label	 7fffh
381
__hastimer3	 equ	 1
382
		 include "z8/f64xx.inc"
383
 
384
		case	"Z8F4821"
385
RAMEND		 sfr	 0effh
386
ROMEND		 label	 0bfffh
387
__hastimer3	 equ	 0
388
		 include "z8/f64xx.inc"
389
 
390
		case	"Z8F4822"
391
RAMEND		 sfr	 0effh
392
ROMEND		 label	 0bfffh
393
__hastimer3	 equ	 1
394
		 include "z8/f64xx.inc"
395
 
396
		case	"Z8F4823"
397
RAMEND		 sfr	 0effh
398
ROMEND		 label	 0bfffh
399
__hastimer3	 equ	 1
400
		 include "z8/f64xx.inc"
401
 
402
		case	"Z8F6421"
403
RAMEND		 sfr	 0effh
404
ROMEND		 label	 0ffffh
405
__hastimer3	 equ	 0
406
		 include "z8/f64xx.inc"
407
 
408
		case	"Z8F6422"
409
RAMEND		 sfr	 0effh
410
ROMEND		 label	 0ffffh
411
__hastimer3	 equ	 1
412
		 include "z8/f64xx.inc"
413
 
414
		case	"Z8F6423"
415
RAMEND		 sfr	 0effh
416
ROMEND		 label	 0ffffh
417
__hastimer3	 equ	 1
418
		 include "z8/f64xx.inc"
419
 
420
		case	"Z8F1681"
421
RAMEND		 sfr	 7ffh
422
ROMEND		 label	 3fffh
423
__haslcd	 equ	 0
424
		 include "z8/f6482.inc"
425
 
426
		case	"Z8F1682"
427
RAMEND		 sfr	 7ffh
428
ROMEND		 label	 3fffh
429
__haslcd	 equ	 1
430
		 include "z8/f6482.inc"
431
 
432
		case	"Z8F3281"
433
RAMEND		 sfr	 0effh
434
ROMEND		 label	 7fffh
435
__haslcd	 equ	 0
436
		 include "z8/f6482.inc"
437
 
438
		case	"Z8F3282"
439
RAMEND		 sfr	 0effh
440
ROMEND		 label	 7fffh
441
__haslcd	 equ	 1
442
		 include "z8/f6482.inc"
443
 
444
		case	"Z8F6081"
445
RAMEND		 sfr	 0effh
446
ROMEND		 label	 0efffh
447
__haslcd	 equ	 0
448
		 include "z8/f6482.inc"
449
 
450
		case	"Z8F6082"
451
RAMEND		 sfr	 0effh
452
ROMEND		 label	 0efffh
453
__haslcd	 equ	 1
454
		 include "z8/f6482.inc"
455
 
456
		case	"Z8F6481"
457
RAMEND		 sfr	 0effh
458
ROMEND		 label	 0ffffh
459
__haslcd	 equ	 0
460
		 include "z8/f6482.inc"
461
 
462
		case	"Z8F6482"
463
RAMEND		 sfr	 0effh
464
ROMEND		 label	 0ffffh
465
__haslcd	 equ	 1
466
		 include "z8/f6482.inc"
467
 
468
 
469
		elsecase
470
		 error   "wrong processor type set: only Z8601, Z86[C,E]03, Z8604, Z86(C,E)06, Z8608, Z86C30, Z86C31, Z86C32, Z86C40, Z88C0000, Z88C0020, Z8F0130, Z8F0131, Z8F0230, Z8F0231, Z8F0430, Z8F0431, Z8F0830, Z8F0831, Z8F1232, Z8F1233"
471
		 error	 "Z8F0113, Z8F0123, Z8F0213, Z8F0223, Z8F0413, Z8F0423, Z8F0813, Z8F0823, Z8F011A, Z8F012A, Z8F021A, Z8F022A, Z8F041A, Z8F042A, Z8F081A, Z8F081A, Z8F0411, Z8F0412, Z8F0421, Z8F0422, Z8F0811, Z8F0812, Z8F0821, Z8F0822"
472
		 error   "Z8F0880, Z8F1680, Z8F2480"
473
		 fatal   "allowed!"
474
                endcase
475
 
476
                if      MOMPASS=1
477
                 message "Zilog-Z8-SFR-Definitionen (C) 2020 Alfred Arnold"
478
                endif
479
 
480
;----------------------------------------------------------------------------
481
; Constant Memory Addresses
482
 
483
		ifdef	ROMEND		; Device without internal ROM? 
484
ROMSTART	label	0		; Start Address Internal ROM
485
		endif
486
 
487
;----------------------------------------------------------------------------
488
 
489
                restore                 ; wieder erlauben
490
 
491
                endif			; __regz8inc