/**
 * Code Syntax Highlighter for C++(Windows Platform).
 * Version 0.0.2
 * Copyright (C) 2006 Shin, YoungJin.
 * http://www.jiniya.net/lecture/techbox/test.html
 * 
 * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General 
 * Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) 
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to 
 * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
 */

dp.sh.Brushes.Asm = function()
{
	var datatypes = 
	'DWORD PTR OFFSET';

	var keywords = 
	'nop lea int call jmp je jz jcxz jp jpe ret jne jnz jecxz jnp jpo ja jae jb jbe' +
  'jna jnae jnb jnbe jc jnc jg jge jl jle jng jnge jnl jnle jo jno js jns mov xchg'+
  'stc clc cmc std cld sti cli push pushf pusha pop popf popa cbw cwd cwde in out'+
  'add adc sub sbb div idiv mul imul inc dec cmp salsar rcl rcr rol ror neg not and'+
  'or xor shl shr';

	this.regexList = [
		{ regex: new RegExp(';.*$', 'gm'),			            css: 'comment' },			// one line comments
		{ regex: dp.sh.RegexLib.DoubleQuotedString,					css: 'string' },			// strings
		{ regex: dp.sh.RegexLib.SingleQuotedString,					css: 'string' },			// strings
		{ regex: new RegExp(this.GetKeywords(datatypes), 'igm'),	css: 'datatypes' },
		{ regex: new RegExp(this.GetKeywords(keywords), 'igm'),		css: 'keyword' }
		];

	this.CssClass = 'dp-asm';
	this.Style =	'.dp-asm .datatypes { color: #2E8B57; font-weight: bold; }';
}

dp.sh.Brushes.Asm.prototype	= new dp.sh.Highlighter();
dp.sh.Brushes.Asm.Aliases	= ['assembly', 'asm',];
