ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
HFile_asm_x86.php
Go to the documentation of this file.
1 <?php
2 $BEAUT_PATH = realpath(".")."/Services/COPage/syntax_highlight/php";
3 if (!isset ($BEAUT_PATH)) return;
4 require_once("$BEAUT_PATH/Beautifier/HFile.php");
5  class HFile_asm_x86 extends HFile{
6  function HFile_asm_x86(){
7  $this->HFile();
8 /*************************************/
9 // Beautifier Highlighting Configuration File
10 // Assembler x86
11 /*************************************/
12 // Flags
13 
14 $this->nocase = "1";
15 $this->notrim = "1";
16 $this->perl = "0";
17 
18 // Colours
19 
20 $this->colours = array("blue", "purple", "gray");
21 $this->quotecolour = "blue";
22 $this->blockcommentcolour = "green";
23 $this->linecommentcolour = "green";
24 
25 // Indent Strings
26 
27 $this->indent = array();
28 $this->unindent = array();
29 
30 // String characters and delimiters
31 
32 $this->stringchars = array();
33 $this->delimiters = array(" ", " ");
34 $this->escchar = "";
35 
36 // Comment settings
37 
38 $this->linecommenton = array(";");
39 $this->blockcommenton = array("");
40 $this->blockcommentoff = array("");
41 
42 // Keywords (keyword mapping to colour number)
43 
44 $this->keywords = array(
45  "aaa" => "1",
46  "aad" => "1",
47  "aam" => "1",
48  "aas" => "1",
49  "adc" => "1",
50  "add" => "1",
51  "and" => "2",
52  "arpl" => "1",
53  "bound" => "1",
54  "bsf" => "1",
55  "bsr" => "1",
56  "bswap" => "1",
57  "bt" => "1",
58  "btc" => "1",
59  "btr" => "1",
60  "bts" => "1",
61  "call" => "1",
62  "cbw" => "1",
63  "cdq" => "1",
64  "clc" => "1",
65  "cld" => "1",
66  "cli" => "1",
67  "clts" => "1",
68  "cmc" => "1",
69  "cmov" => "1",
70  "cmp" => "1",
71  "cmps" => "1",
72  "cmpsb" => "1",
73  "cmpsd" => "1",
74  "cmpsw" => "1",
75  "cmpxchg" => "1",
76  "cmpxchg8b" => "1",
77  "cpuid" => "1",
78  "cwd" => "1",
79  "cwde" => "1",
80  "daa" => "1",
81  "das" => "1",
82  "dec" => "1",
83  "div" => "1",
84  "emms" => "1",
85  "enter" => "1",
86  "esc" => "1",
87  "fcmov" => "1",
88  "fcomi" => "1",
89  "fwait" => "1",
90  "hlt" => "1",
91  "idiv" => "1",
92  "imul" => "1",
93  "in" => "1",
94  "inc" => "1",
95  "ins" => "1",
96  "insb" => "1",
97  "insd" => "1",
98  "insw" => "1",
99  "int" => "1",
100  "into" => "1",
101  "invd" => "1",
102  "invlpg" => "1",
103  "iret" => "1",
104  "iretd" => "1",
105  "ja" => "1",
106  "jae" => "1",
107  "jb" => "1",
108  "jbe" => "1",
109  "jc" => "1",
110  "jcxz" => "1",
111  "je" => "1",
112  "jecxz" => "1",
113  "jg" => "1",
114  "jge" => "1",
115  "jl" => "1",
116  "jle" => "1",
117  "jmp" => "1",
118  "jna" => "1",
119  "jnae" => "1",
120  "jnb" => "1",
121  "jnbe" => "1",
122  "jnc" => "1",
123  "jne" => "1",
124  "jng" => "1",
125  "jnge" => "1",
126  "jnl" => "1",
127  "jnle" => "1",
128  "jno" => "1",
129  "jnp" => "1",
130  "jns" => "1",
131  "jnz" => "1",
132  "jo" => "1",
133  "jp" => "1",
134  "jpe" => "1",
135  "jpo" => "1",
136  "js" => "1",
137  "jz" => "1",
138  "lahf" => "1",
139  "lar" => "1",
140  "lds" => "1",
141  "lea" => "1",
142  "leave" => "1",
143  "les" => "1",
144  "lfs" => "1",
145  "lgdt" => "1",
146  "lgs" => "1",
147  "lidt" => "1",
148  "lldt" => "1",
149  "lmsw" => "1",
150  "lock" => "1",
151  "lods" => "1",
152  "lodsb" => "1",
153  "lodsd" => "1",
154  "lodsw" => "1",
155  "loop" => "1",
156  "loope" => "1",
157  "loopne" => "1",
158  "loopnz" => "1",
159  "loopz" => "1",
160  "lsl" => "1",
161  "lss" => "1",
162  "ltr" => "1",
163  "mov" => "1",
164  "movd" => "1",
165  "movq" => "1",
166  "movs" => "1",
167  "movsb" => "1",
168  "movsd" => "1",
169  "movsw" => "1",
170  "movsx" => "1",
171  "movzx" => "1",
172  "msw" => "1",
173  "mul" => "1",
174  "neg" => "1",
175  "nop" => "1",
176  "not" => "2",
177  "or" => "2",
178  "out" => "1",
179  "outs" => "1",
180  "outsb" => "1",
181  "outsd" => "1",
182  "outsw" => "1",
183  "packsswb" => "1",
184  "packssdw" => "1",
185  "paddb" => "1",
186  "paddw" => "1",
187  "paddd" => "1",
188  "paddsb" => "1",
189  "paddsw" => "1",
190  "paddusb" => "1",
191  "paddusw" => "1",
192  "pand" => "1",
193  "pandn" => "1",
194  "pcmpeqb" => "1",
195  "pcmpeqw" => "1",
196  "pcmpeqd" => "1",
197  "pcmpgtb" => "1",
198  "pcmpgtw" => "1",
199  "pcmpgtd" => "1",
200  "pmulhw" => "1",
201  "pmullw" => "1",
202  "pmaddwd" => "1",
203  "pop" => "1",
204  "popa" => "1",
205  "popad" => "1",
206  "popf" => "1",
207  "popfd" => "1",
208  "por" => "1",
209  "psllw" => "1",
210  "pslld" => "1",
211  "psllq" => "1",
212  "psrlw" => "1",
213  "psrld" => "1",
214  "psrlq" => "1",
215  "psraw" => "1",
216  "psrad" => "1",
217  "psubb" => "1",
218  "psubw" => "1",
219  "psubd" => "1",
220  "psubsb" => "1",
221  "psubsw" => "1",
222  "psubusb" => "1",
223  "psubusw" => "1",
224  "punpckhbw" => "1",
225  "punpckhwd" => "1",
226  "punpckhdq" => "1",
227  "punpcklbw" => "1",
228  "punpcklwd" => "1",
229  "punpckldq" => "1",
230  "push" => "1",
231  "pusha" => "1",
232  "pushad" => "1",
233  "pushf" => "1",
234  "pushfd" => "1",
235  "pxor" => "1",
236  "rcl" => "1",
237  "rcr" => "1",
238  "rdmsr" => "1",
239  "rdpmc" => "1",
240  "rdtsc" => "1",
241  "rep" => "1",
242  "repe" => "1",
243  "repne" => "1",
244  "repnz" => "1",
245  "repz" => "1",
246  "ret" => "1",
247  "retf" => "1",
248  "retn" => "1",
249  "rol" => "1",
250  "ror" => "1",
251  "rsm" => "1",
252  "sahf" => "1",
253  "sal" => "1",
254  "sar" => "1",
255  "sbb" => "1",
256  "scas" => "1",
257  "scasb" => "1",
258  "scasd" => "1",
259  "scasw" => "1",
260  "setae" => "1",
261  "setb" => "1",
262  "setbe" => "1",
263  "setc" => "1",
264  "sete" => "1",
265  "setg" => "1",
266  "setge" => "1",
267  "setl" => "1",
268  "setle" => "1",
269  "setna" => "1",
270  "setnae" => "1",
271  "setnb" => "1",
272  "setnc" => "1",
273  "setne" => "1",
274  "setng" => "1",
275  "setnge" => "1",
276  "setnl" => "1",
277  "setnle" => "1",
278  "setno" => "1",
279  "setnp" => "1",
280  "setns" => "1",
281  "setnz" => "1",
282  "seto" => "1",
283  "setp" => "1",
284  "setpe" => "1",
285  "setpo" => "1",
286  "sets" => "1",
287  "setz" => "1",
288  "sgdt" => "1",
289  "shl" => "2",
290  "shld" => "1",
291  "shr" => "2",
292  "shrd" => "1",
293  "sidt" => "1",
294  "sldt" => "1",
295  "smsw" => "1",
296  "stc" => "1",
297  "std" => "1",
298  "sti" => "1",
299  "stos" => "1",
300  "stosb" => "1",
301  "stosd" => "1",
302  "stosw" => "1",
303  "str" => "1",
304  "sub" => "1",
305  "test" => "1",
306  "verr" => "1",
307  "verw" => "1",
308  "wbinvd" => "1",
309  "wrmsr" => "1",
310  "xadd" => "1",
311  "xchg" => "1",
312  "xlat" => "1",
313  "xlatb" => "1",
314  "xor" => "2",
315  "%out" => "2",
316  ".186" => "2",
317  ".286" => "2",
318  ".286c" => "2",
319  ".286p" => "2",
320  ".287" => "2",
321  ".386" => "2",
322  ".386p" => "2",
323  ".387" => "2",
324  ".8086" => "2",
325  ".8087" => "2",
326  ".alpha" => "2",
327  ".seq" => "2",
328  ".code" => "2",
329  ".const" => "2",
330  ".cref" => "2",
331  ".data" => "2",
332  ".data?" => "2",
333  ".err" => "2",
334  ".err1" => "2",
335  ".err2" => "2",
336  ".errb" => "2",
337  ".errdef" => "2",
338  ".errdif" => "2",
339  ".erre" => "2",
340  ".fardata" => "2",
341  ".fardata?" => "2",
342  ".lall" => "2",
343  ".lfcond" => "2",
344  ".list" => "2",
345  ".model" => "2",
346  ".msfloat" => "2",
347  ".radix" => "2",
348  ".sall" => "2",
349  ".sfcond" => "2",
350  ".stack" => "2",
351  ".type" => "2",
352  ".xall" => "2",
353  ".xcref" => "2",
354  ".xlist" => "2",
355  "@curseg" => "2",
356  "@filename" => "2",
357  "@code" => "2",
358  "@codesize" => "2",
359  "@datasize" => "2",
360  "@const" => "2",
361  "@data" => "2",
362  "@data?" => "2",
363  "@fardata" => "2",
364  "@fardata?" => "2",
365  "@stack" => "2",
366  "align" => "2",
367  "assume" => "2",
368  "at" => "2",
369  "b" => "2",
370  "byte" => "2",
371  "comm" => "2",
372  "comment" => "2",
373  "common" => "2",
374  "compact" => "2",
375  "d" => "2",
376  "db" => "2",
377  "dd" => "2",
378  "df" => "2",
379  "dosseg" => "2",
380  "dup" => "2",
381  "fq" => "2",
382  "dt" => "2",
383  "dw" => "2",
384  "dword" => "2",
385  "else" => "2",
386  "end" => "2",
387  "endif" => "2",
388  "endm" => "2",
389  "endp" => "2",
390  "ends" => "2",
391  "eq" => "2",
392  "equ" => "2",
393  "even" => "2",
394  "exitm" => "2",
395  "extrn" => "2",
396  "far" => "2",
397  "ge" => "2",
398  "group" => "2",
399  "h" => "2",
400  "high" => "2",
401  "huge" => "2",
402  "ifdef" => "2",
403  "include" => "2",
404  "includelib" => "2",
405  "irp" => "2",
406  "irpc" => "2",
407  "label" => "2",
408  "large" => "2",
409  "le" => "2",
410  "length" => "2",
411  "low" => "2",
412  "local" => "2",
413  "lt" => "2",
414  "macro" => "2",
415  "mask" => "2",
416  "medium" => "2",
417  "memory" => "2",
418  "name" => "2",
419  "near" => "2",
420  "o" => "2",
421  "offset" => "2",
422  "org" => "2",
423  "page" => "2",
424  "para" => "2",
425  "proc" => "2",
426  "public" => "2",
427  "purge" => "2",
428  "q" => "2",
429  "record" => "2",
430  "rept" => "2",
431  "seg" => "2",
432  "segment" => "2",
433  "short" => "2",
434  "size" => "2",
435  "small" => "2",
436  "stack" => "2",
437  "struc" => "2",
438  "subttl" => "2",
439  "this" => "2",
440  "tiny" => "2",
441  "title" => "2",
442  "type" => "2",
443  "use16" => "2",
444  "use32" => "2",
445  "width" => "2",
446  "word" => "2",
447  "ah" => "3",
448  "al" => "3",
449  "ax" => "3",
450  "bh" => "3",
451  "bl" => "3",
452  "bp" => "3",
453  "bx" => "3",
454  "ch" => "3",
455  "cl" => "3",
456  "cs" => "3",
457  "cx" => "3",
458  "dh" => "3",
459  "di" => "3",
460  "dl" => "3",
461  "ds" => "3",
462  "dx" => "3",
463  "eax" => "3",
464  "ebx" => "3",
465  "ecx" => "3",
466  "edi" => "3",
467  "edx" => "3",
468  "esi" => "3",
469  "es" => "3",
470  "ip" => "3",
471  "si" => "3",
472  "sp" => "3");
473 
474 // Special extensions
475 
476 // Each category can specify a PHP function that returns an altered
477 // version of the keyword.
478 
479 
480 
481 $this->linkscripts = array(
482  "1" => "donothing",
483  "2" => "donothing",
484  "3" => "donothing");
485 }
486 
487 
488 
489 function donothing($keywordin)
490 {
491  return $keywordin;
492 }
493 
494 }
495 
496 ?>