]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/udis86/lib/contrib/tests/testgen_opr.py
update
[l4.git] / l4 / pkg / udis86 / lib / contrib / tests / testgen_opr.py
1
2 OperandSet = {
3     'Ib' : { 
4               '16' : ( "0x10", ), 
5               '32' : ( "0x10", ), 
6               '64' : ( "0x20", )  
7     },
8     'Eb_Gb' : { 
9               '16' : ( "[bx+si], al", ), 
10               '32' : ( "[eax+ebx], ch", "[ebx+ecx*4], bl", "[bx+0x10], dh"), 
11               '64' : ( "[rax], r8b", )  
12     },
13     'Ev_Gv' : { 
14               '16' : (), 
15               '32' : ( "[eax+0x1234], esi", "[bx+si+0x1234], esp", "[esp+0x10], ebp"), 
16               '64' : ()  
17     },
18     'Gb_Eb' : { 
19               '16' : ( "al, bl", ), 
20               '32' : ( "bl, cl", ), 
21               '64' : ( "r8b, sil", )  
22     },
23     'Gv_Ev' : { 
24               '16' : ( "ax, bx", ), 
25               '32' : ( "eax, ebx", "ax, dx", "ax, [ebx+0x100]" ), 
26               '64' : ( "rax, r15", "si, bp", "eax, edx" )  
27     },
28     'AL_Ib' : { 
29               '16' : ( "al, 0x10", ), 
30               '32' : ( "al, 0x13", ), 
31               '64' : ( "al, 0x14", )  
32     },
33     'rAX_Iz' : { 
34               '16' : ( "ax, 0x100", ), 
35               '32' : ( "ax, 0x100", "eax, 0x100" ), 
36               '64' : ( "r13, 0x200", )  
37     },
38     'Eb_Ib' : { 
39               '16' : ( "al, 0x10", "byte [eax], 0x10" ), 
40               '32' : ( "dl, 0x10", "byte [bp+si], 0x10" ), 
41               '64' : ( "di, 0x10", "byte [rax+rsi], 0x10" )
42     },
43     'Ev_Iz' : { 
44               '16' : ( "eax, 0x100000", "word [bx+si], 0x1000" ), 
45               '32' : ( "eax, 0x100000", "word [bx+si], 0x1000", "dword [bp+0x10], 0x100" ), 
46               '64' : ( "rax, 0x100000", "word [ebx+esi], 0x1000", "dword [ebp+0x10], 0x100" ), 
47     },
48     'Ev_Ib' : { 
49               '16' : (), 
50               '32' : (), 
51               '64' : ()  
52     },
53     'V_W' : { 
54               '16' : (), 
55               '32' : ( "xmm3, xmm0", "xmm7, [eax]" ), 
56               '64' : ( "xmm9, [rax]", "xmm13, xmm1" )  
57     },
58     'V_VR' : { 
59               '16' : (), 
60               '32' : ( "xmm3, xmm0", "xmm7, xmm2" ), 
61               '64' : ( "xmm9, xmm1", "xmm13, xmm1" )  
62     },
63     'Ew_Gw' : { 
64               '16' : (), 
65               '32' : (), 
66               '64' : ()  
67     },
68     'Gv_Ed' : { 
69               '16' : (), 
70               '32' : (), 
71               '64' : ()  
72     },
73     'Gv_M' : { 
74               '16' : (), 
75               '32' : (), 
76               '64' : ()  
77     },
78     'rAXr8' : { 
79               '16' : (), 
80               '32' : (), 
81               '64' : ( "rax", "r8" )  
82     },
83     'rCXr9' : { 
84               '16' : ( "ecx", ), 
85               '32' : ( "ecx", ), 
86               '64' : ( "r9", "rcx" )  
87     },
88     'rDXr10' : { 
89               '16' : (), 
90               '32' : (), 
91               '64' : ( "r10", )  
92     },
93     'rBXr11' : { 
94               '16' : (), 
95               '32' : (), 
96               '64' : ()  
97     },
98     'rSPr12' : { 
99               '16' : (), 
100               '32' : (), 
101               '64' : ()  
102     },
103     'rBPr13' : { 
104               '16' : (), 
105               '32' : (), 
106               '64' : ()  
107     },
108     'rSIr14' : { 
109               '16' : (), 
110               '32' : (), 
111               '64' : ()  
112     },
113     'rDIr15' : { 
114               '16' : (), 
115               '32' : (), 
116               '64' : ( "r15", "rdi" )  
117     },
118     'Ev' : { 
119               '16' : (), 
120               '32' : (), 
121               '64' : ()  
122     },
123     'Ep' : { 
124               '16' : (), 
125               '32' : (), 
126               '64' : ()  
127     },
128     'Jz' : { 
129               '16' : (), 
130               '32' : (), 
131               '64' : ()  
132     },
133     'Ap' : { 
134               '16' : (), 
135               '32' : (), 
136               '64' : ()  
137     },
138     'M' : { 
139               '16' : (), 
140               '32' : (), 
141               '64' : ()  
142     },
143     'V_W_Ib' : { 
144               '16' : (), 
145               '32' : ( "xmm0, xmm1, 0x10", ), 
146               '64' : ()  
147     },
148     'P_W' : { 
149               '16' : (), 
150               '32' : ( "mm0, [eax]", "mm1, xmm0" ), 
151               '64' : ()  
152     },
153     'V_Q' : { 
154               '16' : (), 
155               '32' : ( "xmm0, qword [eax]", ), 
156               '64' : ( "xmm8, mm7", )  
157     },
158     'Gvw_W' : { 
159               '16' : (), 
160               '32' : (), 
161               '64' : ()  
162     },
163     'V_Ex' : { 
164               '16' : (), 
165               '32' : (), 
166               '64' : ()  
167     },
168     'eAX' : { 
169               '16' : (), 
170               '32' : (), 
171               '64' : ()  
172     },
173     'eCX' : { 
174               '16' : (), 
175               '32' : (), 
176               '64' : ()  
177     },
178     'eDX' : { 
179               '16' : (), 
180               '32' : ( "dx", "edx" ), 
181               '64' : ( "edx", )  
182     },
183     'eBX' : { 
184               '16' : (), 
185               '32' : (), 
186               '64' : ()  
187     },
188     'eSP' : { 
189               '16' : (), 
190               '32' : (), 
191               '64' : ()  
192     },
193     'eBP' : { 
194               '16' : (), 
195               '32' : (), 
196               '64' : ()  
197     },
198     'eSI' : { 
199               '16' : (), 
200               '32' : (), 
201               '64' : ()  
202     },
203     'eDI' : { 
204               '16' : (), 
205               '32' : (), 
206               '64' : ()  
207     },
208     'Eb' : { 
209               '16' : (), 
210               '32' : (), 
211               '64' : ()  
212     },
213     'Iw_Ib' : { 
214               '16' : (), 
215               '32' : (), 
216               '64' : ()  
217     },
218     'Mq' : { 
219               '16' : (), 
220               '32' : (), 
221               '64' : ()  
222     },
223     'Md' : { 
224               '16' : (), 
225               '32' : (), 
226               '64' : ()  
227     },
228     'ST0_ST0' : { 
229               '16' : (), 
230               '32' : ( "st0, st0", ), 
231               '64' : ()  
232     },
233     'ST1_ST0' : { 
234               '16' : (), 
235               '32' : (), 
236               '64' : ()  
237     },
238     'ST2_ST0' : { 
239               '16' : (), 
240               '32' : (), 
241               '64' : ()  
242     },
243     'ST3_ST0' : { 
244               '16' : (), 
245               '32' : ( "st3, st0", ), 
246               '64' : ()  
247     },
248     'ST4_ST0' : { 
249               '16' : (), 
250               '32' : (), 
251               '64' : ()  
252     },
253     'ST5_ST0' : { 
254               '16' : (), 
255               '32' : (), 
256               '64' : ()  
257     },
258     'ST6_ST0' : { 
259               '16' : (), 
260               '32' : (), 
261               '64' : ()  
262     },
263     'ST7_ST0' : { 
264               '16' : (), 
265               '32' : (), 
266               '64' : ()  
267     },
268     'ST0_ST1' : { 
269               '16' : (), 
270               '32' : (), 
271               '64' : ()  
272     },
273     'ST0_ST2' : { 
274               '16' : (), 
275               '32' : (), 
276               '64' : ()  
277     },
278     'ST0_ST3' : { 
279               '16' : (), 
280               '32' : (), 
281               '64' : ()  
282     },
283     'ST0_ST4' : { 
284               '16' : (), 
285               '32' : (), 
286               '64' : ()  
287     },
288     'ST0_ST5' : { 
289               '16' : (), 
290               '32' : ( "st0, st5", ), 
291               '64' : ()  
292     },
293     'ST0_ST6' : { 
294               '16' : (), 
295               '32' : (), 
296               '64' : ()  
297     },
298     'ST0_ST7' : { 
299               '16' : (), 
300               '32' : (), 
301               '64' : ()  
302     },
303     'Mt' : { 
304               '16' : (), 
305               '32' : (), 
306               '64' : ()  
307     },
308     'ST0' : { 
309               '16' : (), 
310               '32' : ( "st0", ), 
311               '64' : ( "st1", )  
312     },
313     'ST1' : { 
314               '16' : (), 
315               '32' : (), 
316               '64' : ()  
317     },
318     'ST2' : { 
319               '16' : (), 
320               '32' : (), 
321               '64' : ()  
322     },
323     'ST3' : { 
324               '16' : (), 
325               '32' : (), 
326               '64' : ()  
327     },
328     'ST4' : { 
329               '16' : (), 
330               '32' : (), 
331               '64' : ()  
332     },
333     'ST5' : { 
334               '16' : (), 
335               '32' : (), 
336               '64' : ()  
337     },
338     'ST6' : { 
339               '16' : (), 
340               '32' : (), 
341               '64' : ()  
342     },
343     'ST7' : { 
344               '16' : (), 
345               '32' : (), 
346               '64' : ()  
347     },
348     'Mw' : { 
349               '16' : (), 
350               '32' : (), 
351               '64' : ()  
352     },
353     'AX' : { 
354               '16' : (), 
355               '32' : (), 
356               '64' : ()  
357     },
358     'eAX_Ib' : { 
359               '16' : (), 
360               '32' : (), 
361               '64' : ()  
362     },
363     'AL_DX' : { 
364               '16' : (), 
365               '32' : (), 
366               '64' : ()  
367     },
368     'eAX_DX' : { 
369               '16' : (), 
370               '32' : (), 
371               '64' : ()  
372     },
373     'Gv_Ev_Iz' : { 
374               '16' : (), 
375               '32' : (), 
376               '64' : ()  
377     },
378     'Gv_Ev_Ib' : { 
379               '16' : (), 
380               '32' : (), 
381               '64' : ()  
382     },
383     'Gd_Mo' : { 
384               '16' : (), 
385               '32' : (), 
386               '64' : ()  
387     },
388     'Gq_Mo' : { 
389               '16' : (), 
390               '32' : (), 
391               '64' : ()  
392     },
393     'Jb' : { 
394               '16' : (), 
395               '32' : (), 
396               '64' : ()  
397     },
398     'Gv_Ew' : { 
399               '16' : (), 
400               '32' : (), 
401               '64' : ()  
402     },
403     'V_M' : { 
404               '16' : (), 
405               '32' : (), 
406               '64' : ()  
407     },
408     'Gz_M' : { 
409               '16' : (), 
410               '32' : (), 
411               '64' : ()  
412     },
413     'Ew' : { 
414               '16' : (), 
415               '32' : (), 
416               '64' : ()  
417     },
418     'P_Q' : { 
419               '16' : (), 
420               '32' : (), 
421               '64' : ()  
422     },
423     'Ev_S' : { 
424               '16' : (), 
425               '32' : (), 
426               '64' : ()  
427     },
428     'S_Ev' : { 
429               '16' : (), 
430               '32' : (), 
431               '64' : ()  
432     },
433     'AL_Ob' : { 
434               '16' : (), 
435               '32' : (), 
436               '64' : ()  
437     },
438     'rAX_Ov' : { 
439               '16' : (), 
440               '32' : (), 
441               '64' : ()  
442     },
443     'Ob_AL' : { 
444               '16' : (), 
445               '32' : (), 
446               '64' : ()  
447     },
448     'Ov_rAX' : { 
449               '16' : (), 
450               '32' : (), 
451               '64' : ()  
452     },
453     'ALr8b_Ib' : { 
454               '16' : (), 
455               '32' : (), 
456               '64' : ()  
457     },
458     'CLr9b_Ib' : { 
459               '16' : (), 
460               '32' : (), 
461               '64' : ()  
462     },
463     'DLr10b_Ib' : { 
464               '16' : (), 
465               '32' : (), 
466               '64' : ()  
467     },
468     'BLr11b_Ib' : { 
469               '16' : (), 
470               '32' : (), 
471               '64' : ()  
472     },
473     'AHr12b_Ib' : { 
474               '16' : (), 
475               '32' : (), 
476               '64' : ()  
477     },
478     'CHr13b_Ib' : { 
479               '16' : (), 
480               '32' : (), 
481               '64' : ()  
482     },
483     'DHr14b_Ib' : { 
484               '16' : (), 
485               '32' : (), 
486               '64' : ()  
487     },
488     'BHr15b_Ib' : { 
489               '16' : (), 
490               '32' : (), 
491               '64' : ()  
492     },
493     'rAXr8_Iv' : { 
494               '16' : (), 
495               '32' : (), 
496               '64' : ()  
497     },
498     'rCXr9_Iv' : { 
499               '16' : (), 
500               '32' : (), 
501               '64' : ()  
502     },
503     'rDXr10_Iv' : { 
504               '16' : (), 
505               '32' : (), 
506               '64' : ()  
507     },
508     'rBXr11_Iv' : { 
509               '16' : (), 
510               '32' : (), 
511               '64' : ()  
512     },
513     'rSPr12_Iv' : { 
514               '16' : (), 
515               '32' : (), 
516               '64' : ()  
517     },
518     'rBPr13_Iv' : { 
519               '16' : (), 
520               '32' : (), 
521               '64' : ()  
522     },
523     'rSIr14_Iv' : { 
524               '16' : (), 
525               '32' : (), 
526               '64' : ()  
527     },
528     'rDIr15_Iv' : { 
529               '16' : (), 
530               '32' : (), 
531               '64' : ()  
532     },
533     'R_C' : { 
534               '16' : (), 
535               '32' : (), 
536               '64' : ()  
537     },
538     'R_D' : { 
539               '16' : (), 
540               '32' : (), 
541               '64' : ()  
542     },
543     'C_R' : { 
544               '16' : (), 
545               '32' : (), 
546               '64' : ()  
547     },
548     'D_R' : { 
549               '16' : (), 
550               '32' : (), 
551               '64' : ()  
552     },
553     'W_V' : { 
554               '16' : (), 
555               '32' : (), 
556               '64' : ()  
557     },
558     'P_Ex' : { 
559               '16' : (), 
560               '32' : (), 
561               '64' : ()  
562     },
563     'Ex_V' : { 
564               '16' : (), 
565               '32' : (), 
566               '64' : ()  
567     },
568     'Ex_P' : { 
569               '16' : (), 
570               '32' : (), 
571               '64' : ()  
572     },
573     'P_VR' : { 
574               '16' : (), 
575               '32' : (), 
576               '64' : ()  
577     },
578     'M_V' : { 
579               '16' : (), 
580               '32' : (), 
581               '64' : ()  
582     },
583     'Gd_VR' : { 
584               '16' : (), 
585               '32' : (), 
586               '64' : ()  
587     },
588     'M_Gvw' : { 
589               '16' : (), 
590               '32' : (), 
591               '64' : ()  
592     },
593     'M_P' : { 
594               '16' : (), 
595               '32' : (), 
596               '64' : ()  
597     },
598     'Q_P' : { 
599               '16' : (), 
600               '32' : (), 
601               '64' : ()  
602     },
603     'V_PR' : { 
604               '16' : (), 
605               '32' : (), 
606               '64' : ()  
607     },
608     'Gv_Eb' : { 
609               '16' : (), 
610               '32' : (), 
611               '64' : ()  
612     },
613     'Ib_AL' : { 
614               '16' : (), 
615               '32' : (), 
616               '64' : ()  
617     },
618     'Ib_eAX' : { 
619               '16' : (), 
620               '32' : (), 
621               '64' : ()  
622     },
623     'DX_AL' : { 
624               '16' : (), 
625               '32' : (), 
626               '64' : ()  
627     },
628     'DX_eAX' : { 
629               '16' : (), 
630               '32' : (), 
631               '64' : ()  
632     },
633     'Gd_VR_Ib' : { 
634               '16' : (), 
635               '32' : ( 'eax, xmm0, 0x3', ), 
636               '64' : ( )  
637     },
638     'Gd_PR_Ib' : { 
639               '16' : (), 
640               '32' : ( 'eax, mm1, 0x9', ), 
641               '64' : ()  
642     },
643     'P_Ew_Ib' : { 
644               '16' : (), 
645               '32' : (), 
646               '64' : ()  
647     },
648     'V_Ew_Ib' : { 
649               '16' : (), 
650               '32' : (), 
651               '64' : ()  
652     },
653     'Gd_PR' : { 
654               '16' : (), 
655               '32' : (), 
656               '64' : ()  
657     },
658     'ES' : { 
659               '16' : (), 
660               '32' : (), 
661               '64' : ()  
662     },
663     'SS' : { 
664               '16' : (), 
665               '32' : (), 
666               '64' : ()  
667     },
668     'DS' : { 
669               '16' : (), 
670               '32' : (), 
671               '64' : ()  
672     },
673     'GS' : { 
674               '16' : (), 
675               '32' : (), 
676               '64' : ()  
677     },
678     'FS' : { 
679               '16' : (), 
680               '32' : (), 
681               '64' : ()  
682     },
683     'P_Q_Ib' : { 
684               '16' : (), 
685               '32' : (), 
686               '64' : ()  
687     },
688     'VR_Ib' : { 
689               '16' : (), 
690               '32' : (), 
691               '64' : ()  
692     },
693     'PR_Ib' : { 
694               '16' : (), 
695               '32' : (), 
696               '64' : ()  
697     },
698     'CS' : { 
699               '16' : (), 
700               '32' : (), 
701               '64' : ()  
702     },
703     'Iz' : { 
704               '16' : (), 
705               '32' : (), 
706               '64' : ()  
707     },
708     'Eb_I1' : { 
709               '16' : (), 
710               '32' : (), 
711               '64' : ()  
712     },
713     'Eb_CL' : { 
714               '16' : (), 
715               '32' : (), 
716               '64' : ()  
717     },
718     'Ev_CL' : { 
719               '16' : (), 
720               '32' : (), 
721               '64' : ()  
722     },
723     'Ev_I1' : { 
724               '16' : (), 
725               '32' : (), 
726               '64' : ()  
727     },
728     'Iw' : { 
729               '16' : (), 
730               '32' : (), 
731               '64' : ()  
732     },
733     'Ev_Gv_Ib' : { 
734               '16' : (), 
735               '32' : (), 
736               '64' : ()  
737     },
738     'Ev_Gv_CL' : { 
739               '16' : (), 
740               '32' : (), 
741               '64' : ()  
742     },
743     'MwRv' : { 
744               '16' : (), 
745               '32' : (), 
746               '64' : ()  
747     },
748     'Ed_Gd' : { 
749               '16' : (), 
750               '32' : (), 
751               '64' : ()  
752     },
753     'Eq_Gq' : { 
754               '16' : (), 
755               '32' : (), 
756               '64' : ()  
757     },
758     'Gd_Ed' : { 
759               '16' : (), 
760               '32' : (), 
761               '64' : ()  
762     },
763     'Gq_Eq' : { 
764               '16' : (), 
765               '32' : (), 
766               '64' : ()  
767     },
768     'rAXr8_rAX' : { 
769               '16' : (), 
770               '32' : (), 
771               '64' : ()  
772     },
773     'rCXr9_rAX' : { 
774               '16' : (), 
775               '32' : (), 
776               '64' : ()  
777     },
778     'rDXr10_rAX' : { 
779               '16' : (), 
780               '32' : (), 
781               '64' : ()  
782     },
783     'rBXr11_rAX' : { 
784               '16' : (), 
785               '32' : (), 
786               '64' : ()  
787     },
788     'rSPr12_rAX' : { 
789               '16' : (), 
790               '32' : (), 
791               '64' : ()  
792     },
793     'rBPr13_rAX' : { 
794               '16' : (), 
795               '32' : (), 
796               '64' : ()  
797     },
798     'rSIr14_rAX' : { 
799               '16' : (), 
800               '32' : (), 
801               '64' : ()  
802     },
803     'rDIr15_rAX' : { 
804               '16' : (), 
805               '32' : (), 
806               '64' : ()  
807     },
808     'Ev_V_Ib' : { 
809               '16' : (), 
810               '32' : ( 'dword [eax], xmm0, 0x10', ), 
811               '64' : ()  
812     },
813     'MbRv_V_Ib' : { 
814               '16' : (), 
815               '32' : ( 'byte [eax], xmm0, 0x10', ), 
816               '64' : ()  
817     }
818 }