Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1186 | savelij | 1 | ifndef __regst6inc ; avoid multiple inclusion |
2 | __regst6inc equ 1 |
||
3 | |||
4 | save |
||
5 | listing off ; no listing over this file |
||
6 | |||
7 | ;**************************************************************************** |
||
8 | ;* * |
||
9 | ;* AS 1.42 - File REGST6.INC * |
||
10 | ;* * |
||
11 | ;* contains SFR and Bit Definitions for ST6 Processors * |
||
12 | ;* * |
||
13 | ;**************************************************************************** |
||
14 | |||
15 | ;---------------------------------------------------------------------------- |
||
16 | ; Until bit field symbols are introduced... |
||
17 | |||
18 | bfield macro {INTLABEL},reg,start,count |
||
19 | __LABEL__ equ ((1<<(count+start))-1)-((1<<start)-1) |
||
20 | endm |
||
21 | |||
22 | ;---------------------------------------------------------------------------- |
||
23 | ; Include proper CPU-specific register definitions |
||
24 | |||
25 | switch MOMCPUNAME |
||
26 | case "ST6200", "ST6201", "ST6203" |
||
27 | include "st6/reg6200.inc" |
||
28 | case "ST6208", "ST6209", "ST6210", "ST6220" |
||
29 | include "st6/reg6208.inc" |
||
30 | case "ST6215", "ST6225" |
||
31 | include "st6/reg6215.inc" |
||
32 | case "ST6218" |
||
33 | include "st6/reg6218.inc" |
||
34 | case "ST6228" |
||
35 | include "st6/reg6228.inc" |
||
36 | case "ST6230","ST6232" |
||
37 | include "st6/reg6230.inc" |
||
38 | case "ST6235" |
||
39 | include "st6/reg6235.inc" |
||
40 | case "ST6240" |
||
41 | include "st6/reg6240.inc" |
||
42 | case "ST6242" |
||
43 | include "st6/reg6242.inc" |
||
44 | case "ST6245" |
||
45 | include "st6/reg6245.inc" |
||
46 | case "ST6246" |
||
47 | include "st6/reg6246.inc" |
||
48 | case "ST6252","ST6262" |
||
49 | include "st6/reg6252.inc" |
||
50 | case "ST6253","ST6260","ST6263" |
||
51 | include "st6/reg6253.inc" |
||
52 | case "ST6255","ST6265" |
||
53 | include "st6/reg6255.inc" |
||
54 | case "ST6280" |
||
55 | include "st6/reg6280.inc" |
||
56 | case "ST6285" |
||
57 | include "st6/reg6285.inc" |
||
58 | elsecase |
||
59 | error "wrong processor type set: only ST6200, ST6201, ST6203, ST6208, ST6209, ST6210, ST6215, ST6218, ST6220, ST6225, ST6228, ST6230, ST6232, ST6235, ST6240, ST6242, ST6245, ST6246, ST6252, ST6253, ST6255, ST6260, ST6262, ST6263," |
||
60 | fatal "ST6265, ST6280, ST6285 allowed!" |
||
61 | endcase |
||
62 | |||
63 | if MOMPASS=1 |
||
64 | message "ST6 Register Definitions (C) 2019 Alfred Arnold" |
||
65 | endif |
||
66 | |||
67 | ;---------------------------------------------------------------------------- |
||
68 | ; CPU |
||
69 | |||
70 | RegX sfr 80h ; already known as internal symbols, just for completeness |
||
71 | RegY sfr 81h |
||
72 | RegV sfr 82h |
||
73 | RegW sfr 83h |
||
74 | RegA sfr 0ffh |
||
75 | |||
76 | DRWR sfr 0c9h ; Data ROM Window register |
||
77 | RomBase sfr 40h ; Data ROM Window |
||
78 | |||
79 | ;---------------------------------------------------------------------------- |
||
80 | ; Post Processing |
||
81 | |||
82 | ifndef ROMEND |
||
83 | ROMEND label 0fffh |
||
84 | endif |
||
85 | |||
86 | if ROMEND>0fffh |
||
87 | PRPR sfr 0cah ; Program ROM Page Register |
||
88 | endif |
||
89 | |||
90 | include "st6/instr.inc" |
||
91 | |||
92 | ;---------------------------------------------------------------------------- |
||
93 | |||
94 | restore ; allow again |
||
95 | |||
96 | endif ; __regst6inc |