Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / Syntax / Highlight / Engine / Kate / Intel_x86_NASM.pm
1 # Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved.
2 # This program is free software; you can redistribute it and/or
3 # modify it under the same terms as Perl itself.
4
5 # This file was generated from the 'nasm.xml' file of the syntax highlight
6 # engine of the kate text editor (http://www.kate-editor.org
7
8 #kate xml version 1.20
9 #kate version 2.3
10 #kate author Nicola Gigante (nicola.gigante@gmail.com)
11 #generated: Sun Feb  3 22:02:05 2008, localtime
12
13 package Syntax::Highlight::Engine::Kate::Intel_x86_NASM;
14
15 our $VERSION = '0.06';
16
17 use strict;
18 use warnings;
19 use base('Syntax::Highlight::Engine::Kate::Template');
20
21 sub new {
22    my $proto = shift;
23    my $class = ref($proto) || $proto;
24    my $self = $class->SUPER::new(@_);
25    $self->attributes({
26       'BaseN' => 'BaseN',
27       'Char' => 'Char',
28       'Comment' => 'Comment',
29       'Data' => 'DataType',
30       'Float' => 'Float',
31       'Instructions' => 'Keyword',
32       'Label' => 'Function',
33       'NASM Keywords' => 'Keyword',
34       'Normal Text' => 'Normal',
35       'Number' => 'DecVal',
36       'Preprocessor' => 'Others',
37       'Registers' => 'Keyword',
38       'String' => 'String',
39    });
40    $self->listAdd('Data',
41       'byte',
42       'db',
43       'dd',
44       'dq',
45       'dt',
46       'dw',
47       'dword',
48       'equ',
49       'incbin',
50       'ptr',
51       'qword',
52       'resb',
53       'resd',
54       'resq',
55       'rest',
56       'resw',
57       'short',
58       'times',
59       'word',
60    );
61    $self->listAdd('NASM Keywords',
62       '__FILE__',
63       '__LINE__',
64       '__NASM_MAJOR__',
65       '__NASM_MINOR__',
66       '__NASM_SUBMINOR__',
67       '__NASM_VERSION_ID__',
68       '__NASM_VER__',
69       '___NASM_PATCHLEVEL__',
70       '__sect__',
71       'absolute',
72       'align',
73       'alignb',
74       'at',
75       'bits',
76       'common',
77       'endstruc',
78       'extern',
79       'global',
80       'iend',
81       'istruc',
82       'org',
83       'section',
84       'seg',
85       'segment',
86       'strict',
87       'struc',
88       'use16',
89       'use32',
90       'wrt',
91    );
92    $self->listAdd('instructions',
93       'aaa',
94       'aaa',
95       'aad',
96       'aad',
97       'aam',
98       'aam',
99       'aas',
100       'aas',
101       'adc',
102       'adc',
103       'add',
104       'add',
105       'addpd',
106       'addpd',
107       'addps',
108       'addps',
109       'addsd',
110       'addsd',
111       'addss',
112       'addss',
113       'and',
114       'and',
115       'andnpd',
116       'andnpd',
117       'andnps',
118       'andnps',
119       'andpd',
120       'andpd',
121       'andps',
122       'andps',
123       'arpl',
124       'arpl',
125       'bound',
126       'bound',
127       'bsf',
128       'bsf',
129       'bsr',
130       'bsr',
131       'bswap',
132       'bswap',
133       'bt',
134       'bt',
135       'btc',
136       'btc',
137       'btr',
138       'btr',
139       'bts',
140       'bts',
141       'call',
142       'call',
143       'cbw',
144       'cbw',
145       'cdq',
146       'cdq',
147       'clc',
148       'clc',
149       'cld',
150       'cld',
151       'clflush',
152       'clflush',
153       'cli',
154       'cli',
155       'clts',
156       'clts',
157       'cmc',
158       'cmc',
159       'cmovcc',
160       'cmovcc',
161       'cmp',
162       'cmp',
163       'cmpeqpd',
164       'cmpeqpd',
165       'cmpeqps',
166       'cmpeqps',
167       'cmpeqsd',
168       'cmpeqsd',
169       'cmpeqss',
170       'cmpeqss',
171       'cmplepd',
172       'cmplepd',
173       'cmpleps',
174       'cmpleps',
175       'cmplesd',
176       'cmplesd',
177       'cmpless',
178       'cmpless',
179       'cmpltpd',
180       'cmpltpd',
181       'cmpltps',
182       'cmpltps',
183       'cmpltsd',
184       'cmpltsd',
185       'cmpltss',
186       'cmpltss',
187       'cmpneqpd',
188       'cmpneqpd',
189       'cmpneqps',
190       'cmpneqps',
191       'cmpneqsd',
192       'cmpneqsd',
193       'cmpneqss',
194       'cmpneqss',
195       'cmpnlepd',
196       'cmpnlepd',
197       'cmpnleps',
198       'cmpnleps',
199       'cmpnlesd',
200       'cmpnlesd',
201       'cmpnless',
202       'cmpnless',
203       'cmpnltpd',
204       'cmpnltpd',
205       'cmpnltps',
206       'cmpnltps',
207       'cmpnltsd',
208       'cmpnltsd',
209       'cmpnltss',
210       'cmpnltss',
211       'cmpordpd',
212       'cmpordpd',
213       'cmpordps',
214       'cmpordps',
215       'cmpordsd',
216       'cmpordsd',
217       'cmpordss',
218       'cmpordss',
219       'cmppd',
220       'cmppd',
221       'cmpps',
222       'cmpps',
223       'cmpsb',
224       'cmpsb',
225       'cmpsd',
226       'cmpsd',
227       'cmpss',
228       'cmpss',
229       'cmpsw',
230       'cmpsw',
231       'cmpunordpd',
232       'cmpunordpd',
233       'cmpunordps',
234       'cmpunordps',
235       'cmpunordsd',
236       'cmpunordsd',
237       'cmpunordss',
238       'cmpunordss',
239       'cmpxchg',
240       'cmpxchg',
241       'cmpxchg486',
242       'cmpxchg486',
243       'cmpxchg8b',
244       'cmpxchg8b',
245       'comisd',
246       'comisd',
247       'comiss',
248       'comiss',
249       'cpuid',
250       'cpuid',
251       'cvtdq2pd',
252       'cvtdq2pd',
253       'cvtdq2ps',
254       'cvtdq2ps',
255       'cvtpd2dq',
256       'cvtpd2dq',
257       'cvtpd2pi',
258       'cvtpd2pi',
259       'cvtpd2ps',
260       'cvtpd2ps',
261       'cvtpi2pd',
262       'cvtpi2pd',
263       'cvtpi2ps',
264       'cvtpi2ps',
265       'cvtps2dq',
266       'cvtps2dq',
267       'cvtps2pd',
268       'cvtps2pd',
269       'cvtps2pi',
270       'cvtps2pi',
271       'cvtsd2si',
272       'cvtsd2si',
273       'cvtsd2ss',
274       'cvtsd2ss',
275       'cvtsi2sd',
276       'cvtsi2sd',
277       'cvtsi2ss',
278       'cvtsi2ss',
279       'cvtss2sd',
280       'cvtss2sd',
281       'cvtss2si',
282       'cvtss2si',
283       'cvttpd2dq',
284       'cvttpd2dq',
285       'cvttpd2pi',
286       'cvttpd2pi',
287       'cvttps2dq',
288       'cvttps2dq',
289       'cvttps2pi',
290       'cvttps2pi',
291       'cvttsd2si',
292       'cvttsd2si',
293       'cwd',
294       'cwd',
295       'cwde',
296       'cwde',
297       'daa',
298       'daa',
299       'das',
300       'das',
301       'dec',
302       'dec',
303       'div',
304       'div',
305       'divpd',
306       'divpd',
307       'divps',
308       'divps',
309       'divsd',
310       'divsd',
311       'divss',
312       'divss',
313       'emms',
314       'emms',
315       'enter',
316       'enter',
317       'f2xm1',
318       'f2xm1',
319       'fabs',
320       'fabs',
321       'fadd',
322       'fadd',
323       'faddp',
324       'faddp',
325       'fbld',
326       'fbld',
327       'fbstp',
328       'fbstp',
329       'fchs',
330       'fchs',
331       'fclex',
332       'fclex',
333       'fcmovb',
334       'fcmovb',
335       'fcmovbe',
336       'fcmovbe',
337       'fcmove',
338       'fcmove',
339       'fcmovnb',
340       'fcmovnb',
341       'fcmovnbe',
342       'fcmovnbe',
343       'fcmovne',
344       'fcmovne',
345       'fcmovnu',
346       'fcmovnu',
347       'fcmovu',
348       'fcmovu',
349       'fcom',
350       'fcom',
351       'fcomi',
352       'fcomi',
353       'fcomip',
354       'fcomip',
355       'fcomp',
356       'fcomp',
357       'fcompp',
358       'fcompp',
359       'fcos',
360       'fcos',
361       'fdecstp',
362       'fdecstp',
363       'fdisi',
364       'fdisi',
365       'fdiv',
366       'fdiv',
367       'fdivp',
368       'fdivp',
369       'fdivr',
370       'fdivr',
371       'fdivrp',
372       'fdivrp',
373       'femms',
374       'femms',
375       'feni',
376       'feni',
377       'ffree',
378       'ffree',
379       'ffreep',
380       'ffreep',
381       'fiadd',
382       'fiadd',
383       'ficom',
384       'ficom',
385       'ficomp',
386       'ficomp',
387       'fidiv',
388       'fidiv',
389       'fidivr',
390       'fidivr',
391       'fild',
392       'fild',
393       'fimul',
394       'fimul',
395       'fincstp',
396       'fincstp',
397       'finit',
398       'finit',
399       'fist',
400       'fist',
401       'fistp',
402       'fistp',
403       'fisub',
404       'fisub',
405       'fisubr',
406       'fisubr',
407       'fld',
408       'fld',
409       'fld1',
410       'fld1',
411       'fldcw',
412       'fldcw',
413       'fldenv',
414       'fldenv',
415       'fldl2e',
416       'fldl2e',
417       'fldl2t',
418       'fldl2t',
419       'fldlg2',
420       'fldlg2',
421       'fldln2',
422       'fldln2',
423       'fldpi',
424       'fldpi',
425       'fldz',
426       'fldz',
427       'fmul',
428       'fmul',
429       'fmulp',
430       'fmulp',
431       'fnclex',
432       'fnclex',
433       'fndisi',
434       'fndisi',
435       'fneni',
436       'fneni',
437       'fninit',
438       'fninit',
439       'fnop',
440       'fnop',
441       'fnsave',
442       'fnsave',
443       'fnstcw',
444       'fnstcw',
445       'fnstenv',
446       'fnstenv',
447       'fnstsw',
448       'fnstsw',
449       'fpatan',
450       'fpatan',
451       'fprem',
452       'fprem',
453       'fprem1',
454       'fprem1',
455       'fptan',
456       'fptan',
457       'frndint',
458       'frndint',
459       'frstor',
460       'frstor',
461       'fsave',
462       'fsave',
463       'fscale',
464       'fscale',
465       'fsetpm',
466       'fsetpm',
467       'fsin',
468       'fsin',
469       'fsincos',
470       'fsincos',
471       'fsqrt',
472       'fsqrt',
473       'fst',
474       'fst',
475       'fstcw',
476       'fstcw',
477       'fstenv',
478       'fstenv',
479       'fstp',
480       'fstp',
481       'fstsw',
482       'fstsw',
483       'fsub',
484       'fsub',
485       'fsubp',
486       'fsubp',
487       'fsubr',
488       'fsubr',
489       'fsubrp',
490       'fsubrp',
491       'ftst',
492       'ftst',
493       'fucom',
494       'fucom',
495       'fucomi',
496       'fucomi',
497       'fucomip',
498       'fucomip',
499       'fucomp',
500       'fucomp',
501       'fucompp',
502       'fucompp',
503       'fwait',
504       'fwait',
505       'fxam',
506       'fxam',
507       'fxch',
508       'fxch',
509       'fxrstor',
510       'fxrstor',
511       'fxsave',
512       'fxsave',
513       'fxtract',
514       'fxtract',
515       'fyl2x',
516       'fyl2x',
517       'fyl2xp1',
518       'fyl2xp1',
519       'hlt',
520       'hlt',
521       'ibts',
522       'ibts',
523       'icebp',
524       'icebp',
525       'idiv',
526       'idiv',
527       'imul',
528       'imul',
529       'in',
530       'in',
531       'inc',
532       'inc',
533       'insb',
534       'insb',
535       'insd',
536       'insd',
537       'insw',
538       'insw',
539       'int',
540       'int',
541       'int01',
542       'int01',
543       'int03',
544       'int03',
545       'int1',
546       'int1',
547       'int3',
548       'int3',
549       'into',
550       'into',
551       'invd',
552       'invd',
553       'invlpg',
554       'invlpg',
555       'iret',
556       'iret',
557       'iretd',
558       'iretd',
559       'iretw',
560       'iretw',
561       'jcc',
562       'jcc',
563       'jcxz',
564       'jcxz',
565       'jecxz',
566       'jecxz',
567       'jmp',
568       'jmp',
569       'lahf',
570       'lahf',
571       'lar',
572       'lar',
573       'ldmxcsr',
574       'ldmxcsr',
575       'lds',
576       'lds',
577       'lea',
578       'lea',
579       'leave',
580       'leave',
581       'les',
582       'les',
583       'lfence',
584       'lfence',
585       'lfs',
586       'lfs',
587       'lgdt',
588       'lgdt',
589       'lgs',
590       'lgs',
591       'lidt',
592       'lidt',
593       'lldt',
594       'lldt',
595       'lmsw',
596       'lmsw',
597       'loadall',
598       'loadall',
599       'loadall286',
600       'loadall286',
601       'lodsb',
602       'lodsb',
603       'lodsd',
604       'lodsd',
605       'lodsw',
606       'lodsw',
607       'loop',
608       'loop',
609       'loope',
610       'loope',
611       'loopne',
612       'loopne',
613       'loopnz',
614       'loopnz',
615       'loopz',
616       'loopz',
617       'lsl',
618       'lsl',
619       'lss',
620       'lss',
621       'ltr',
622       'ltr',
623       'maskmovdqu',
624       'maskmovdqu',
625       'maskmovq',
626       'maskmovq',
627       'maxpd',
628       'maxpd',
629       'maxps',
630       'maxps',
631       'maxsd',
632       'maxsd',
633       'maxss',
634       'maxss',
635       'mfence',
636       'mfence',
637       'minpd',
638       'minpd',
639       'minps',
640       'minps',
641       'minsd',
642       'minsd',
643       'minss',
644       'minss',
645       'mov',
646       'mov',
647       'movapd',
648       'movapd',
649       'movaps',
650       'movaps',
651       'movd',
652       'movd',
653       'movdq2q',
654       'movdq2q',
655       'movdqa',
656       'movdqa',
657       'movdqu',
658       'movdqu',
659       'movhlps',
660       'movhlps',
661       'movhpd',
662       'movhpd',
663       'movhps',
664       'movhps',
665       'movlhps',
666       'movlhps',
667       'movlpd',
668       'movlpd',
669       'movlps',
670       'movlps',
671       'movmskpd',
672       'movmskpd',
673       'movmskps',
674       'movmskps',
675       'movntdq',
676       'movntdq',
677       'movnti',
678       'movnti',
679       'movntpd',
680       'movntpd',
681       'movntps',
682       'movntps',
683       'movntq',
684       'movntq',
685       'movq',
686       'movq',
687       'movq2dq',
688       'movq2dq',
689       'movsb',
690       'movsb',
691       'movsd',
692       'movsd',
693       'movss',
694       'movss',
695       'movsw',
696       'movsw',
697       'movsx',
698       'movsx',
699       'movupd',
700       'movupd',
701       'movups',
702       'movups',
703       'movzx',
704       'movzx',
705       'mul',
706       'mul',
707       'mulpd',
708       'mulpd',
709       'mulps',
710       'mulps',
711       'mulsd',
712       'mulsd',
713       'mulss',
714       'mulss',
715       'neg',
716       'neg',
717       'nop',
718       'nop',
719       'not',
720       'not',
721       'or',
722       'or',
723       'orpd',
724       'orpd',
725       'orps',
726       'orps',
727       'out',
728       'out',
729       'outsb',
730       'outsb',
731       'outsd',
732       'outsd',
733       'outsw',
734       'outsw',
735       'packssdw',
736       'packssdw',
737       'packssdw',
738       'packsswb',
739       'packsswb',
740       'packsswb',
741       'packuswb',
742       'packuswb',
743       'packuswb',
744       'paddb',
745       'paddb',
746       'paddb',
747       'paddd',
748       'paddd',
749       'paddd',
750       'paddq',
751       'paddq',
752       'paddsb',
753       'paddsb',
754       'paddsb',
755       'paddsiw',
756       'paddsiw',
757       'paddsw',
758       'paddsw',
759       'paddsw',
760       'paddusb',
761       'paddusb',
762       'paddusb',
763       'paddusw',
764       'paddusw',
765       'paddusw',
766       'paddw',
767       'paddw',
768       'paddw',
769       'pand',
770       'pand',
771       'pand',
772       'pandn',
773       'pandn',
774       'pandn',
775       'pause',
776       'pause',
777       'paveb',
778       'paveb',
779       'pavgb',
780       'pavgb',
781       'pavgb',
782       'pavgusb',
783       'pavgusb',
784       'pavgw',
785       'pavgw',
786       'pavgw',
787       'pcmpeqb',
788       'pcmpeqb',
789       'pcmpeqb',
790       'pcmpeqd',
791       'pcmpeqd',
792       'pcmpeqd',
793       'pcmpeqw',
794       'pcmpeqw',
795       'pcmpeqw',
796       'pcmpgtb',
797       'pcmpgtb',
798       'pcmpgtb',
799       'pcmpgtd',
800       'pcmpgtd',
801       'pcmpgtd',
802       'pcmpgtw',
803       'pcmpgtw',
804       'pcmpgtw',
805       'pdistib',
806       'pdistib',
807       'pextrw',
808       'pextrw',
809       'pf2id',
810       'pf2id',
811       'pf2iw',
812       'pf2iw',
813       'pfacc',
814       'pfacc',
815       'pfadd',
816       'pfadd',
817       'pfcmpeq',
818       'pfcmpeq',
819       'pfcmpge',
820       'pfcmpge',
821       'pfcmpgt',
822       'pfcmpgt',
823       'pfmax',
824       'pfmax',
825       'pfmin',
826       'pfmin',
827       'pfmul',
828       'pfmul',
829       'pfnacc',
830       'pfnacc',
831       'pfpnacc',
832       'pfpnacc',
833       'pfrcp',
834       'pfrcp',
835       'pfrcpit1',
836       'pfrcpit1',
837       'pfrcpit2',
838       'pfrcpit2',
839       'pfrsqit1',
840       'pfrsqit1',
841       'pfrsqrt',
842       'pfrsqrt',
843       'pfsub',
844       'pfsub',
845       'pfsubr',
846       'pfsubr',
847       'pi2fd',
848       'pi2fd',
849       'pi2fw',
850       'pi2fw',
851       'pinsrw',
852       'pinsrw',
853       'pmachriw',
854       'pmachriw',
855       'pmaddwd',
856       'pmaddwd',
857       'pmagw',
858       'pmagw',
859       'pmaxsw',
860       'pmaxsw',
861       'pmaxub',
862       'pmaxub',
863       'pminsw',
864       'pminsw',
865       'pminub',
866       'pminub',
867       'pmovmskb',
868       'pmovmskb',
869       'pmulhriw',
870       'pmulhriw',
871       'pmulhrwa',
872       'pmulhrwa',
873       'pmulhrwc',
874       'pmulhrwc',
875       'pmulhuw',
876       'pmulhuw',
877       'pmulhw',
878       'pmulhw',
879       'pmulhw',
880       'pmullw',
881       'pmullw',
882       'pmullw',
883       'pmuludq',
884       'pmuludq',
885       'pmvgezb',
886       'pmvgezb',
887       'pmvlzb',
888       'pmvlzb',
889       'pmvnzb',
890       'pmvnzb',
891       'pmvzb',
892       'pmvzb',
893       'pop',
894       'pop',
895       'popa',
896       'popa',
897       'popad',
898       'popad',
899       'popaw',
900       'popaw',
901       'popf',
902       'popf',
903       'popfd',
904       'popfd',
905       'popfw',
906       'popfw',
907       'por',
908       'por',
909       'prefetch',
910       'prefetch',
911       'prefetchnta',
912       'prefetchnta',
913       'prefetcht0',
914       'prefetcht0',
915       'prefetcht1',
916       'prefetcht1',
917       'prefetcht2',
918       'prefetcht2',
919       'prefetchw',
920       'prefetchw',
921       'psadbw',
922       'psadbw',
923       'pshufd',
924       'pshufd',
925       'pshufhw',
926       'pshufhw',
927       'pshuflw',
928       'pshuflw',
929       'pshufw',
930       'pshufw',
931       'pslld',
932       'pslld',
933       'pslldq',
934       'pslldq',
935       'psllq',
936       'psllq',
937       'psllw',
938       'psllw',
939       'psrad',
940       'psrad',
941       'psraw',
942       'psraw',
943       'psrld',
944       'psrld',
945       'psrldq',
946       'psrldq',
947       'psrlq',
948       'psrlq',
949       'psrlw',
950       'psrlw',
951       'psubb',
952       'psubb',
953       'psubb',
954       'psubd',
955       'psubd',
956       'psubd',
957       'psubq',
958       'psubq',
959       'psubq',
960       'psubsb',
961       'psubsb',
962       'psubsb',
963       'psubsiw',
964       'psubsiw',
965       'psubsw',
966       'psubsw',
967       'psubsw',
968       'psubusb',
969       'psubusb',
970       'psubusb',
971       'psubusw',
972       'psubusw',
973       'psubusw',
974       'psubw',
975       'psubw',
976       'psubw',
977       'pswapd',
978       'pswapd',
979       'punpckhbw',
980       'punpckhbw',
981       'punpckhbw',
982       'punpckhdq',
983       'punpckhdq',
984       'punpckhdq',
985       'punpckhqdq',
986       'punpckhqdq',
987       'punpckhwd',
988       'punpckhwd',
989       'punpckhwd',
990       'punpcklbw',
991       'punpcklbw',
992       'punpcklbw',
993       'punpckldq',
994       'punpckldq',
995       'punpckldq',
996       'punpcklqdq',
997       'punpcklqdq',
998       'punpcklwd',
999       'punpcklwd',
1000       'punpcklwd',
1001       'push',
1002       'push',
1003       'pusha',
1004       'pusha',
1005       'pushad',
1006       'pushad',
1007       'pushaw',
1008       'pushaw',
1009       'pushf',
1010       'pushf',
1011       'pushfd',
1012       'pushfd',
1013       'pushfw',
1014       'pushfw',
1015       'pxor',
1016       'pxor',
1017       'rcl',
1018       'rcl',
1019       'rcpps',
1020       'rcpps',
1021       'rcpss',
1022       'rcpss',
1023       'rcr',
1024       'rcr',
1025       'rdmsr',
1026       'rdmsr',
1027       'rdpmc',
1028       'rdpmc',
1029       'rdshr',
1030       'rdshr',
1031       'rdtsc',
1032       'rdtsc',
1033       'ret',
1034       'ret',
1035       'retf',
1036       'retf',
1037       'retn',
1038       'retn',
1039       'rol',
1040       'rol',
1041       'ror',
1042       'ror',
1043       'rsdc',
1044       'rsdc',
1045       'rsldt',
1046       'rsldt',
1047       'rsm',
1048       'rsm',
1049       'rsqrtps',
1050       'rsqrtps',
1051       'rsqrtss',
1052       'rsqrtss',
1053       'rsts',
1054       'rsts',
1055       'sahf',
1056       'sahf',
1057       'sal',
1058       'sal',
1059       'salc',
1060       'salc',
1061       'sar',
1062       'sar',
1063       'sbb',
1064       'sbb',
1065       'scasb',
1066       'scasb',
1067       'scasd',
1068       'scasd',
1069       'scasw',
1070       'scasw',
1071       'setcc',
1072       'setcc',
1073       'sfence',
1074       'sfence',
1075       'sgdt',
1076       'sgdt',
1077       'shl',
1078       'shl',
1079       'shld',
1080       'shld',
1081       'shr',
1082       'shr',
1083       'shrd',
1084       'shrd',
1085       'shufpd',
1086       'shufpd',
1087       'shufps',
1088       'shufps',
1089       'sidt',
1090       'sidt',
1091       'sldt',
1092       'sldt',
1093       'smi',
1094       'smi',
1095       'smint',
1096       'smint',
1097       'smintold',
1098       'smintold',
1099       'smsw',
1100       'smsw',
1101       'sqrtpd',
1102       'sqrtpd',
1103       'sqrtps',
1104       'sqrtps',
1105       'sqrtsd',
1106       'sqrtsd',
1107       'sqrtss',
1108       'sqrtss',
1109       'stc',
1110       'stc',
1111       'std',
1112       'std',
1113       'sti',
1114       'sti',
1115       'stmxcsr',
1116       'stmxcsr',
1117       'stosb',
1118       'stosb',
1119       'stosd',
1120       'stosd',
1121       'stosw',
1122       'stosw',
1123       'str',
1124       'str',
1125       'sub',
1126       'sub',
1127       'subpd',
1128       'subpd',
1129       'subps',
1130       'subps',
1131       'subsd',
1132       'subsd',
1133       'subss',
1134       'subss',
1135       'svdc',
1136       'svdc',
1137       'svldt',
1138       'svldt',
1139       'svts',
1140       'svts',
1141       'syscall',
1142       'syscall',
1143       'sysenter',
1144       'sysenter',
1145       'sysexit',
1146       'sysexit',
1147       'sysret',
1148       'sysret',
1149       'test',
1150       'test',
1151       'ucomisd',
1152       'ucomisd',
1153       'ucomiss',
1154       'ucomiss',
1155       'ud0',
1156       'ud0',
1157       'ud1',
1158       'ud1',
1159       'ud2',
1160       'ud2',
1161       'umov',
1162       'umov',
1163       'unpckhpd',
1164       'unpckhpd',
1165       'unpckhps',
1166       'unpckhps',
1167       'unpcklpd',
1168       'unpcklpd',
1169       'unpcklps',
1170       'unpcklps',
1171       'verr',
1172       'verr',
1173       'verw',
1174       'verw',
1175       'wait',
1176       'wait',
1177       'wbinvd',
1178       'wbinvd',
1179       'wrmsr',
1180       'wrmsr',
1181       'wrshr',
1182       'wrshr',
1183       'xadd',
1184       'xadd',
1185       'xbts',
1186       'xbts',
1187       'xchg',
1188       'xchg',
1189       'xlat',
1190       'xlat',
1191       'xlatb',
1192       'xlatb',
1193       'xor',
1194       'xor',
1195       'xorpd',
1196       'xorpd',
1197       'xorps',
1198       'xorps',
1199    );
1200    $self->listAdd('registers',
1201       'ah',
1202       'al',
1203       'ax',
1204       'bh',
1205       'bl',
1206       'bp',
1207       'bx',
1208       'ch',
1209       'cl',
1210       'cr0',
1211       'cr1',
1212       'cr2',
1213       'cr3',
1214       'cr4',
1215       'cs',
1216       'cx',
1217       'dh',
1218       'di',
1219       'dl',
1220       'ds',
1221       'dx',
1222       'eax',
1223       'ebp',
1224       'ebx',
1225       'ecx',
1226       'edi',
1227       'edx',
1228       'eip',
1229       'es',
1230       'esi',
1231       'esp',
1232       'fs',
1233       'gs',
1234       'ip',
1235       'mm0',
1236       'mm1',
1237       'mm2',
1238       'mm3',
1239       'mm4',
1240       'mm5',
1241       'mm6',
1242       'mm7',
1243       'si',
1244       'sp',
1245       'ss',
1246       'st',
1247       'xmm0',
1248       'xmm1',
1249       'xmm2',
1250       'xmm3',
1251       'xmm4',
1252       'xmm5',
1253       'xmm6',
1254       'xmm7',
1255    );
1256    $self->contextdata({
1257       'Comment' => {
1258          callback => \&parseComment,
1259          attribute => 'Comment',
1260          lineending => '#pop',
1261       },
1262       'Normal' => {
1263          callback => \&parseNormal,
1264          attribute => 'Normal Text',
1265       },
1266       'Preprocessor' => {
1267          callback => \&parsePreprocessor,
1268          attribute => 'Preprocessor',
1269          lineending => '#pop',
1270       },
1271       'String' => {
1272          callback => \&parseString,
1273          attribute => 'String',
1274          lineending => '#pop',
1275       },
1276    });
1277    $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\');
1278    $self->basecontext('Normal');
1279    $self->keywordscase(0);
1280    $self->initialize;
1281    bless ($self, $class);
1282    return $self;
1283 }
1284
1285 sub language {
1286    return 'Intel x86 (NASM)';
1287 }
1288
1289 sub parseComment {
1290    my ($self, $text) = @_;
1291    return 0;
1292 };
1293
1294 sub parseNormal {
1295    my ($self, $text) = @_;
1296    # String => 'registers'
1297    # attribute => 'Registers'
1298    # context => '#stay'
1299    # type => 'keyword'
1300    if ($self->testKeyword($text, 'registers', 0, undef, 0, '#stay', 'Registers')) {
1301       return 1
1302    }
1303    # String => 'Data'
1304    # attribute => 'Data'
1305    # context => '#stay'
1306    # type => 'keyword'
1307    if ($self->testKeyword($text, 'Data', 0, undef, 0, '#stay', 'Data')) {
1308       return 1
1309    }
1310    # String => 'instructions'
1311    # attribute => 'Instructions'
1312    # context => '#stay'
1313    # type => 'keyword'
1314    if ($self->testKeyword($text, 'instructions', 0, undef, 0, '#stay', 'Instructions')) {
1315       return 1
1316    }
1317    # String => 'NASM Keywords'
1318    # attribute => 'NASM Keywords'
1319    # context => '#stay'
1320    # type => 'keyword'
1321    if ($self->testKeyword($text, 'NASM Keywords', 0, undef, 0, '#stay', 'NASM Keywords')) {
1322       return 1
1323    }
1324    # attribute => 'Comment'
1325    # char => ';'
1326    # context => 'Comment'
1327    # type => 'DetectChar'
1328    if ($self->testDetectChar($text, ';', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
1329       return 1
1330    }
1331    # attribute => 'Preprocessor'
1332    # char => '%'
1333    # context => 'Preprocessor'
1334    # type => 'DetectChar'
1335    if ($self->testDetectChar($text, '%', 0, 0, 0, undef, 0, 'Preprocessor', 'Preprocessor')) {
1336       return 1
1337    }
1338    # String => '"''
1339    # attribute => 'String'
1340    # context => 'String'
1341    # type => 'AnyChar'
1342    if ($self->testAnyChar($text, '"\'', 0, 0, undef, 0, 'String', 'String')) {
1343       return 1
1344    }
1345    # String => '^\s*[A-Za-z0-9_.$]+:'
1346    # attribute => 'Label'
1347    # context => '#stay'
1348    # type => 'RegExpr'
1349    if ($self->testRegExpr($text, '^\\s*[A-Za-z0-9_.$]+:', 0, 0, 0, undef, 0, '#stay', 'Label')) {
1350       return 1
1351    }
1352    # String => '(cmov|fcmov|j|loop|set)(a|ae|b|be|c|e|g|ge|l|le|na|nae|nb|nbe|nc|ne|ng|nge|nl|nle|no|np|ns|nz|o|p|pe|po|s|z)'
1353    # attribute => 'Instructions'
1354    # context => '#stay'
1355    # type => 'RegExpr'
1356    if ($self->testRegExpr($text, '(cmov|fcmov|j|loop|set)(a|ae|b|be|c|e|g|ge|l|le|na|nae|nb|nbe|nc|ne|ng|nge|nl|nle|no|np|ns|nz|o|p|pe|po|s|z)', 0, 0, 0, undef, 0, '#stay', 'Instructions')) {
1357       return 1
1358    }
1359    # String => 'cpu (pentium|ppro|p2|p3|katmai|p4|willamette|prescott|ia64)*'
1360    # attribute => 'NASM Keywords'
1361    # context => '#stay'
1362    # type => 'RegExpr'
1363    if ($self->testRegExpr($text, 'cpu (pentium|ppro|p2|p3|katmai|p4|willamette|prescott|ia64)*', 0, 0, 0, undef, 0, '#stay', 'NASM Keywords')) {
1364       return 1
1365    }
1366    # String => '(\$[0-9]+[a-f0-9]*|[a-f0-9]+h)'
1367    # attribute => 'BaseN'
1368    # context => '#stay'
1369    # insensitive => 'TRUE'
1370    # type => 'RegExpr'
1371    if ($self->testRegExpr($text, '(\\$[0-9]+[a-f0-9]*|[a-f0-9]+h)', 1, 0, 0, undef, 0, '#stay', 'BaseN')) {
1372       return 1
1373    }
1374    # String => '([0-7]+(q|o)|[01]+b)'
1375    # attribute => 'BaseN'
1376    # context => '#stay'
1377    # insensitive => 'TRUE'
1378    # type => 'RegExpr'
1379    if ($self->testRegExpr($text, '([0-7]+(q|o)|[01]+b)', 1, 0, 0, undef, 0, '#stay', 'BaseN')) {
1380       return 1
1381    }
1382    # attribute => 'Number'
1383    # char => '$'
1384    # context => '#stay'
1385    # type => 'DetectChar'
1386    if ($self->testDetectChar($text, '$', 0, 0, 0, undef, 0, '#stay', 'Number')) {
1387       return 1
1388    }
1389    # attribute => 'BaseN'
1390    # context => '#stay'
1391    # type => 'HlCOct'
1392    if ($self->testHlCOct($text, 0, undef, 0, '#stay', 'BaseN')) {
1393       return 1
1394    }
1395    # attribute => 'BaseN'
1396    # context => '#stay'
1397    # type => 'HlCHex'
1398    if ($self->testHlCHex($text, 0, undef, 0, '#stay', 'BaseN')) {
1399       return 1
1400    }
1401    # attribute => 'Float'
1402    # context => '#stay'
1403    # type => 'Float'
1404    if ($self->testFloat($text, 0, undef, 0, '#stay', 'Float')) {
1405       return 1
1406    }
1407    # attribute => 'Number'
1408    # context => '#stay'
1409    # type => 'Int'
1410    if ($self->testInt($text, 0, undef, 0, '#stay', 'Number')) {
1411       return 1
1412    }
1413    # attribute => 'Char'
1414    # context => '#stay'
1415    # type => 'HlCChar'
1416    if ($self->testHlCChar($text, 0, undef, 0, '#stay', 'Char')) {
1417       return 1
1418    }
1419    return 0;
1420 };
1421
1422 sub parsePreprocessor {
1423    my ($self, $text) = @_;
1424    return 0;
1425 };
1426
1427 sub parseString {
1428    my ($self, $text) = @_;
1429    # String => '"''
1430    # attribute => 'String'
1431    # context => '#pop'
1432    # type => 'AnyChar'
1433    if ($self->testAnyChar($text, '"\'', 0, 0, undef, 0, '#pop', 'String')) {
1434       return 1
1435    }
1436    return 0;
1437 };
1438
1439
1440 1;
1441
1442 __END__
1443
1444 =head1 NAME
1445
1446 Syntax::Highlight::Engine::Kate::Intel_x86_NASM - a Plugin for Intel x86 (NASM) syntax highlighting
1447
1448 =head1 SYNOPSIS
1449
1450  require Syntax::Highlight::Engine::Kate::Intel_x86_NASM;
1451  my $sh = new Syntax::Highlight::Engine::Kate::Intel_x86_NASM([
1452  ]);
1453
1454 =head1 DESCRIPTION
1455
1456 Syntax::Highlight::Engine::Kate::Intel_x86_NASM is a  plugin module that provides syntax highlighting
1457 for Intel x86 (NASM) to the Syntax::Haghlight::Engine::Kate highlighting engine.
1458
1459 This code is generated from the syntax definition files used
1460 by the Kate project.
1461 It works quite fine, but can use refinement and optimization.
1462
1463 It inherits Syntax::Higlight::Engine::Kate::Template. See also there.
1464
1465 =cut
1466
1467 =head1 AUTHOR
1468
1469 Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
1470
1471 =cut
1472
1473 =head1 BUGS
1474
1475 Unknown. If you find any, please contact the author
1476
1477 =cut
1478