1 <?xml version="1.0"?>
\r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
\r
6 MCS51 Assembly mode by Mirco Bova (mirco.bova@libero.it)
\r
14 <PROPERTY NAME="lineComment" VALUE=";" />
\r
17 <RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">
\r
18 <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>
\r
20 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
\r
25 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
\r
30 <!-- NASM: label inside a macro -->
\r
31 <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR"
\r
32 AT_LINE_START="TRUE">%%</MARK_FOLLOWING>
\r
34 <MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">$</MARK_FOLLOWING>
\r
36 <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"
\r
37 AT_LINE_START="TRUE">:</MARK_PREVIOUS>
\r
39 <SEQ TYPE="NULL">,</SEQ>
\r
40 <SEQ TYPE="NULL">:</SEQ>
\r
41 <SEQ TYPE="NULL">(</SEQ>
\r
42 <SEQ TYPE="NULL">)</SEQ>
\r
43 <SEQ TYPE="NULL">]</SEQ>
\r
44 <SEQ TYPE="NULL">[</SEQ>
\r
45 <SEQ TYPE="NULL">$</SEQ>
\r
47 <SEQ TYPE="OPERATOR">+</SEQ>
\r
48 <SEQ TYPE="OPERATOR">-</SEQ>
\r
49 <SEQ TYPE="OPERATOR">/</SEQ>
\r
50 <SEQ TYPE="OPERATOR">*</SEQ>
\r
51 <SEQ TYPE="OPERATOR">%</SEQ>
\r
53 <SEQ TYPE="OPERATOR">|</SEQ>
\r
54 <SEQ TYPE="OPERATOR">^</SEQ>
\r
55 <SEQ TYPE="OPERATOR">&</SEQ>
\r
56 <SEQ TYPE="OPERATOR">~</SEQ>
\r
57 <SEQ TYPE="OPERATOR">!</SEQ>
\r
59 <SEQ TYPE="OPERATOR">=</SEQ>
\r
60 <SEQ TYPE="OPERATOR"><</SEQ>
\r
61 <SEQ TYPE="OPERATOR">></SEQ>
\r
64 <KEYWORD1>MOD</KEYWORD1>
\r
65 <KEYWORD1>SHR</KEYWORD1>
\r
66 <KEYWORD1>SHL</KEYWORD1>
\r
67 <KEYWORD1>NOT</KEYWORD1>
\r
68 <KEYWORD1>AND</KEYWORD1>
\r
69 <KEYWORD1>OR</KEYWORD1>
\r
70 <KEYWORD1>XOR</KEYWORD1>
\r
71 <KEYWORD1>HIGH</KEYWORD1>
\r
72 <KEYWORD1>LOW</KEYWORD1>
\r
73 <KEYWORD1>LT</KEYWORD1>
\r
74 <KEYWORD1>LE</KEYWORD1>
\r
75 <KEYWORD1>NE</KEYWORD1>
\r
76 <KEYWORD1>EQ</KEYWORD1>
\r
77 <KEYWORD1>GE</KEYWORD1>
\r
78 <KEYWORD1>GT</KEYWORD1>
\r
79 <KEYWORD1>DPTR</KEYWORD1>
\r
80 <KEYWORD1>PC</KEYWORD1>
\r
81 <KEYWORD1>EQU</KEYWORD1>
\r
82 <KEYWORD1>SET</KEYWORD1>
\r
83 <KEYWORD1>NUMBER</KEYWORD1>
\r
84 <KEYWORD1>CSEG</KEYWORD1>
\r
85 <KEYWORD1>XSEG</KEYWORD1>
\r
86 <KEYWORD1>DSEG</KEYWORD1>
\r
87 <KEYWORD1>ISEG</KEYWORD1>
\r
88 <KEYWORD1>BSEG</KEYWORD1>
\r
89 <KEYWORD1>RSEG</KEYWORD1>
\r
90 <KEYWORD1>NUL</KEYWORD1>
\r
91 <KEYWORD1>DB</KEYWORD1>
\r
92 <KEYWORD1>DW</KEYWORD1>
\r
93 <KEYWORD1>DWR</KEYWORD1>
\r
94 <KEYWORD1>DS</KEYWORD1>
\r
95 <KEYWORD1>DBIT</KEYWORD1>
\r
96 <KEYWORD1>ORG</KEYWORD1>
\r
97 <KEYWORD1>USING</KEYWORD1>
\r
98 <KEYWORD1>END</KEYWORD1>
\r
99 <KEYWORD1>NAME</KEYWORD1>
\r
100 <KEYWORD1>PUBLIC</KEYWORD1>
\r
101 <KEYWORD1>EXTRN</KEYWORD1>
\r
102 <KEYWORD1>SEGMENT</KEYWORD1>
\r
103 <KEYWORD1>UNIT</KEYWORD1>
\r
104 <KEYWORD1>BITADDRESSABLE</KEYWORD1>
\r
105 <KEYWORD1>INPAGE</KEYWORD1>
\r
106 <KEYWORD1>INBLOCK</KEYWORD1>
\r
107 <KEYWORD1>PAGE</KEYWORD1>
\r
108 <KEYWORD1>OVERLAYABLE</KEYWORD1>
\r
109 <KEYWORD1>AT</KEYWORD1>
\r
110 <KEYWORD1>STACKLEN</KEYWORD1>
\r
111 <KEYWORD1>SBIT</KEYWORD1>
\r
112 <KEYWORD1>SFR</KEYWORD1>
\r
113 <KEYWORD1>SFR16</KEYWORD1>
\r
114 <KEYWORD1>__ERROR__</KEYWORD1>
\r
115 <KEYWORD1>ACALL</KEYWORD1>
\r
116 <KEYWORD1>ADD</KEYWORD1>
\r
117 <KEYWORD1>ADDC</KEYWORD1>
\r
118 <KEYWORD1>AJMP</KEYWORD1>
\r
119 <KEYWORD1>ANL</KEYWORD1>
\r
120 <KEYWORD1>CALL</KEYWORD1>
\r
121 <KEYWORD1>CJNE</KEYWORD1>
\r
122 <KEYWORD1>CLR</KEYWORD1>
\r
123 <KEYWORD1>CPL</KEYWORD1>
\r
124 <KEYWORD1>DA</KEYWORD1>
\r
125 <KEYWORD1>DEC</KEYWORD1>
\r
126 <KEYWORD1>DIV</KEYWORD1>
\r
127 <KEYWORD1>DJNZ</KEYWORD1>
\r
128 <KEYWORD1>INC</KEYWORD1>
\r
129 <KEYWORD1>JB</KEYWORD1>
\r
130 <KEYWORD1>JBC</KEYWORD1>
\r
131 <KEYWORD1>JC</KEYWORD1>
\r
132 <KEYWORD1>JMP</KEYWORD1>
\r
133 <KEYWORD1>JNB</KEYWORD1>
\r
134 <KEYWORD1>JNC</KEYWORD1>
\r
135 <KEYWORD1>JNZ</KEYWORD1>
\r
136 <KEYWORD1>JZ</KEYWORD1>
\r
137 <KEYWORD1>LCALL</KEYWORD1>
\r
138 <KEYWORD1>LJMP</KEYWORD1>
\r
139 <KEYWORD1>MOV</KEYWORD1>
\r
140 <KEYWORD1>MOVC</KEYWORD1>
\r
141 <KEYWORD1>MOVX</KEYWORD1>
\r
142 <KEYWORD1>MUL</KEYWORD1>
\r
143 <KEYWORD1>NOP</KEYWORD1>
\r
144 <KEYWORD1>ORL</KEYWORD1>
\r
145 <KEYWORD1>POP</KEYWORD1>
\r
146 <KEYWORD1>PUSH</KEYWORD1>
\r
147 <KEYWORD1>RET</KEYWORD1>
\r
148 <KEYWORD1>RETI</KEYWORD1>
\r
149 <KEYWORD1>RL</KEYWORD1>
\r
150 <KEYWORD1>RLC</KEYWORD1>
\r
151 <KEYWORD1>RR</KEYWORD1>
\r
152 <KEYWORD1>RRC</KEYWORD1>
\r
153 <KEYWORD1>SETB</KEYWORD1>
\r
154 <KEYWORD1>SJMP</KEYWORD1>
\r
155 <KEYWORD1>SUBB</KEYWORD1>
\r
156 <KEYWORD1>SWAP</KEYWORD1>
\r
157 <KEYWORD1>XCH</KEYWORD1>
\r
158 <KEYWORD1>XCHD</KEYWORD1>
\r
159 <KEYWORD1>XRL</KEYWORD1>
\r
160 <KEYWORD1>IF</KEYWORD1>
\r
161 <KEYWORD1>ELSEIF</KEYWORD1>
\r
162 <KEYWORD1>ELSE</KEYWORD1>
\r
163 <KEYWORD1>ENDIF</KEYWORD1>
\r
164 <KEYWORD1>MACRO</KEYWORD1>
\r
165 <KEYWORD1>REPT</KEYWORD1>
\r
166 <KEYWORD1>IRP</KEYWORD1>
\r
167 <KEYWORD1>IRPC</KEYWORD1>
\r
168 <KEYWORD1>ENDM</KEYWORD1>
\r
169 <KEYWORD1>EXITM</KEYWORD1>
\r
170 <KEYWORD1>LOCAL</KEYWORD1>
\r
171 <KEYWORD1>DPTX</KEYWORD1>
\r
172 <KEYWORD1>DPTN</KEYWORD1>
\r
173 <KEYWORD1>DPTR8</KEYWORD1>
\r
174 <KEYWORD1>DPTR16</KEYWORD1>
\r
175 <KEYWORD1>WR0</KEYWORD1>
\r
176 <KEYWORD1>WR2</KEYWORD1>
\r
177 <KEYWORD1>WR4</KEYWORD1>
\r
178 <KEYWORD1>WR6</KEYWORD1>
\r
179 <KEYWORD1>DR0</KEYWORD1>
\r
180 <KEYWORD1>DR4</KEYWORD1>
\r
181 <KEYWORD1>RJC</KEYWORD1>
\r
182 <KEYWORD1>RJNC</KEYWORD1>
\r
183 <KEYWORD1>RJZ</KEYWORD1>
\r
184 <KEYWORD1>RJNZ</KEYWORD1>
\r
185 <KEYWORD1>JMPI</KEYWORD1>
\r
186 <KEYWORD1>MOVB</KEYWORD1>
\r
187 <KEYWORD1>PUSHA</KEYWORD1>
\r
188 <KEYWORD1>POPA</KEYWORD1>
\r
189 <KEYWORD1>SUB</KEYWORD1>
\r
190 <KEYWORD1>ADDM</KEYWORD1>
\r
191 <KEYWORD1>SUBM</KEYWORD1>
\r
192 <KEYWORD1>SLEEP</KEYWORD1>
\r
193 <KEYWORD1>SYNC</KEYWORD1>
\r
194 <KEYWORD1>DEFINE</KEYWORD1>
\r
195 <KEYWORD1>SUBSTR</KEYWORD1>
\r
196 <KEYWORD1>THEN</KEYWORD1>
\r
197 <KEYWORD1>LEN</KEYWORD1>
\r
198 <KEYWORD1>EQS</KEYWORD1>
\r
199 <KEYWORD1>IF</KEYWORD1>
\r
200 <KEYWORD1>FI</KEYWORD1>
\r
202 <KEYWORD2>$IF</KEYWORD2>
\r
203 <KEYWORD2>$ELSEIF</KEYWORD2>
\r
204 <KEYWORD2>$ELSE</KEYWORD2>
\r
205 <KEYWORD2>$ENDIF</KEYWORD2>
\r
206 <KEYWORD2>$MOD167</KEYWORD2>
\r
207 <KEYWORD2>$CASE</KEYWORD2>
\r
208 <KEYWORD2>$SEGMENTED</KEYWORD2>
\r
209 <KEYWORD2>$INCLUDE</KEYWORD2>
\r
211 <!-- memory types -->
\r
212 <KEYWORD2>CODE</KEYWORD2>
\r
213 <KEYWORD2>XDATA</KEYWORD2>
\r
214 <KEYWORD2>DATA</KEYWORD2>
\r
215 <KEYWORD2>IDATA</KEYWORD2>
\r
216 <KEYWORD2>BIT</KEYWORD2>
\r
219 <KEYWORD3>R0</KEYWORD3>
\r
220 <KEYWORD3>R1</KEYWORD3>
\r
221 <KEYWORD3>R2</KEYWORD3>
\r
222 <KEYWORD3>R3</KEYWORD3>
\r
223 <KEYWORD3>R4</KEYWORD3>
\r
224 <KEYWORD3>R5</KEYWORD3>
\r
225 <KEYWORD3>R6</KEYWORD3>
\r
226 <KEYWORD3>R7</KEYWORD3>
\r
228 <KEYWORD3>SP</KEYWORD3>
\r
229 <KEYWORD3>A</KEYWORD3>
\r
230 <KEYWORD3>C</KEYWORD3>
\r
231 <KEYWORD3>AB</KEYWORD3>
\r
233 <!-- Instructions -->
\r