<?xml version="1.0"?>
<!-- syntaxdefinition for C/C++ 2001 by Andrea Paatz and Mike Krueger -->

<SyntaxDefinition name = "asm3-lang" extensions = ".asm">
	
	<Properties>
		<Property name="LineComment" value=";"/>
	</Properties>
	
	<Digits name = "Digits" bold = "true" italic = "false" color = "Red"/>
	
	<RuleSets>
		<RuleSet ignorecase = "true">
			<Delimiters>~!%^*()-+=|\/{}[]:;"'&lt;&gt; , .?</Delimiters>
			
			<Span name = "LineComment" bold = "false" italic = "false" color = "Green" stopateol = "true">
				<Begin>;</Begin>
			</Span>
			
			<Span name = "LineComment" bold = "false" italic = "false" color = "Green" stopateol = "true">
				<Begin>//</Begin>
			</Span>			
			
			<Span name = "BlockComment" bold = "false" italic = "false" color = "Green" stopateol = "false">
				<Begin>/*</Begin>
				<End>*/</End>
			</Span>
			
			<Span name = "String" bold = "false" italic = "false" color = "Red" stopateol = "true" escapecharacter="\">
				<Begin>"</Begin>
				<End>"</End>
			</Span>
			
			<Span name = "Char" bold = "false" italic = "false" color = "Magenta" stopateol = "true" escapecharacter="\">
				<Begin>&apos;</Begin>
				<End>&apos;</End>
			</Span>
			
			<MarkPrevious bold = "false" italic = "false" color = "MidnightBlue">(</MarkPrevious>
			
			<KeyWords name = "Punctuation" bold = "false" italic = "false" color = "DarkGreen">
				<Key word = "?" />
				<Key word = "," />
				<Key word = "." />
				<Key word = ";" />
				<Key word = "(" />
				<Key word = ")" />
				<Key word = "[" />
				<Key word = "]" />
				<Key word = "{" />
				<Key word = "}" />
				<Key word = "+" />
				<Key word = "-" />
				<Key word = "/" />
				<Key word = "%" />
				<Key word = "*" />
				<Key word = "&lt;" />
				<Key word = "&gt;" />
				<Key word = "^" />
				<Key word = "=" />
				<Key word = "~" />
				<Key word = "!" />
				<Key word = "|" />
				<Key word = "&amp;" />
			</KeyWords>	

			<KeyWords name = "KEYWORD1" bold="false" italic="false" color="Blue">		
				<Key word = "mov"/>
				<Key word = "b0mov"/>				
				<Key word = "xch"/>
				<Key word = "b0xch"/>
				<Key word = "movc"/>
				<Key word = "adc"/>
				<Key word = "add"/>
				<Key word = "b0add"/>
				<Key word = "sbc"/>
				<Key word = "sub"/>
				<Key word = "daa"/>
				<Key word = "mul"/>
				<Key word = "and"/>
				<Key word = "or"/>
				<Key word = "xor"/>
				<Key word = "com"/>
				<Key word = "comm"/>
				<Key word = "clr"/>
				<Key word = "swap"/>
				<Key word = "swapm"/>
				<Key word = "rrc"/>
				<Key word = "rrcm"/>
				<Key word = "rlc"/>
				<Key word = "rlcm"/>
				<Key word = "bclr"/>
				<Key word = "bset"/>
				<Key word = "b0bclr"/>
				<Key word = "b0bset"/>
				<Key word = "cmprs"/>
				<Key word = "incs"/>
				<Key word = "incms"/>
				<Key word = "inc"/>
				<Key word = "incm"/>
				<Key word = "decs"/>
				<Key word = "decms"/>
				<Key word = "dec"/>
				<Key word = "decm"/>
				<Key word = "bts1"/>
				<Key word = "bts0"/>
				<Key word = "b0bts0"/>
				<Key word = "b0bts1"/>
				<Key word = "ts0m"/>
				<Key word = "jmp"/>
				<Key word = "call"/>
				<Key word = "callhl"/>
				<Key word = "callyz"/>
				<Key word = "ret"/>
				<Key word = "reti"/>
				<Key word = "retlw"/>
				<Key word = "nop"/>			
			</KeyWords>	

			<KeyWords name = "MacroWords" bold="false" italic="false" color="Blue">
				<Key word = "org"/>
				<Key word = "#define" />
				<Key word = "#if" />
				<Key word = "#else" />
				<Key word = "#ifdef" />
				<Key word = "#ifndef" />
				<Key word = "#elif" />
				<Key word = "#endif" />				
				<Key word = "#include" />
				<Key word = "define" />
				<Key word = "ifdef" />
				<Key word = "ifndef" />
				<Key word = "elif" />
				<Key word = "else" />
				<Key word = "endif" />				
				<Key word = "include" />
				<Key word = "asm" />
				<Key word = "#asm" />	
				<Key word = "endasm" />
				<Key word = "#endasm" />	
				<Key word = "macro" />
				<Key word = "endm" />	
				<Key word = ".code" />
				<Key word = ".data" />		
				<Key word = "dd" />			
				<Key word = "dw" />	
				<Key word = "db" />		
				<Key word = "chip" />		
				<Key word = "reg" />
				<Key word = "equ"/>	
				<Key word = "ds"/>	
			</KeyWords>				
		</RuleSet>		
	</RuleSets>
</SyntaxDefinition>

