PageRenderTime 112ms CodeModel.GetById 81ms app.highlight 6ms RepoModel.GetById 22ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre14/modes/assembly-mcs51.xml

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