Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / native_client / src / trusted / validator_x86 / testdata / 32 / nop-misses.test
1 @hex:
2   # The following are examples of input sequences that almost look like
3   # predefined nop instruction sequences, but differ by 1, just to show
4   # that we do reject them.
5   
6   
7   
8   
9   
10   # This is the correct nop case.
11   66 0f 1f 44 00 00
12   
13   # This is an example where we have incremented the nop by 1.
14   66 0f 1f 44 00 01
15   
16   # This is the (repeated) correct nop case.
17   66 0f 1f 44 00 00
18   
19   # This is an example where we have decremented the nop by 1.
20   66 0f 1f 43
21   ff ff
22   
23   # This is the (repeated) correct nop case.
24   66 0f 1f 44 00 00
25   
26   # Filler (add) to align block.
27   00 00
28   
29   
30   
31   
32   
33   # This is an example of a different, correct, nop case.
34   66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00
35   
36   # This is an example where we have incremented the nop by 1.
37   66 66 66 66 66
38   2e 0f 1f 84 00 00 00 00 01
39   
40   # Filler (move) to fill the rest of the block.
41   66 bf 88 77
42   
43   # This is the (repeated) correct nop case.
44   66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00
45   
46   # This is an example where we have decremented the nop by 1.
47   66 66 66 66 66
48   2e 0f 1f 83 ff ff ff ff ff
49   
50   # Filler to realign the decoder.
51   00
52   
53   # Filler (add) to fill the rest of the block.
54   02 04 00
55   
56   # This is the (repeated) correct nop case.
57   66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00
58   
59   
60   
61   
62   
63   
64   
65   # This is the list of all nops, just to see if they validate.
66   66 0f 1f 44 00 00
67   66 0f 1f 84 00 00 00 00 00
68   # Filler (add) to fill the rest of the block.
69   02 04 00
70   66 2e 0f 1f 84 00 00 00 00 00
71   66 66 2e 0f 1f 84 00 00 00 00 00
72   # Filler (2 moves) to fill the rest of the block.
73   66 a3 44 33 22 11
74   a0 44 33 22 11
75   66 66 66 2e 0f 1f 84 00 00 00 00 00
76   66 66 66 66 2e 0f 1f 84 00 00 00 00 00
77   # Filler (move, nop) to fill the rest of the block.
78   66 a3 44 33 22 11
79   90
80   66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00
81   66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00
82 @nval:
83   VALIDATOR: 6: Undefined instruction
84   VALIDATOR: 12: Undefined instruction
85   VALIDATOR: 16: Undefined instruction
86   VALIDATOR: 2e: Bad prefix usage
87   VALIDATOR: 2e: Illegal instruction
88   VALIDATOR: 33: Bad prefix usage
89   VALIDATOR: 4e: Bad prefix usage
90   VALIDATOR: 4e: Illegal instruction
91   VALIDATOR: 53: Bad prefix usage
92   *** <input> IS UNSAFE ***
93 @dis:
94   00000000: 66 0f 1f 44 00 00                            nop
95   00000006: 66 0f 1f 44 00 01                            nop
96   0000000c: 66 0f 1f 44 00 00                            nop
97   00000012: 66 0f 1f 43 ff                               nop
98   00000017: ff 66 0f                                     jmp %ds:[%esi+0xf]
99   0000001a: 1f                                           pop %ds
100   0000001b: 44                                           inc %esp
101   0000001c: 00 00                                        add %ds:[%eax], %al
102   0000001e: 00 00                                        add %ds:[%eax], %al
103   00000020: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00    nop
104   0000002e: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 01    nop
105   0000003c: 66 bf 88 77                                  mov %di, 0x7788
106   00000040: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00    nop
107   0000004e: 66 66 66 66 66 2e 0f 1f 83 ff ff ff ff       nop
108   0000005b: ff 00                                        inc %ds:[%eax]
109   0000005d: 02 04 00                                     add %al, %ds:[%eax+%eax*1]
110   00000060: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00    nop
111   0000006e: 66 0f 1f 44 00 00                            nop
112   00000074: 66 0f 1f 84 00 00 00 00 00                   nop
113   0000007d: 02 04 00                                     add %al, %ds:[%eax+%eax*1]
114   00000080: 66 2e 0f 1f 84 00 00 00 00 00                nop
115   0000008a: 66 66 2e 0f 1f 84 00 00 00 00 00             nop
116   00000095: 66 a3 44 33 22 11                            mov [0x11223344], %ax
117   0000009b: a0 44 33 22 11                               mov %al, [0x11223344]
118   000000a0: 66 66 66 2e 0f 1f 84 00 00 00 00 00          nop
119   000000ac: 66 66 66 66 2e 0f 1f 84 00 00 00 00 00       nop
120   000000b9: 66 a3 44 33 22 11                            mov [0x11223344], %ax
121   000000bf: 90                                           nop
122   000000c0: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00    nop
123   000000ce: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop
124 @vdis:
125    0:   66 0f 1f 44 00 00       nop
126    6:   66 0f 1f                undefined
127    9:   44                      inc %esp
128    a:   00 01                   add [%ecx], %eax
129    c:   66 0f 1f 44 00 00       nop
130    12:  66 0f 1f                undefined
131    15:  43                      inc %ebx
132    16:  ff ff                   undefined %edi
133    18:  66 0f 1f 44 00 00       nop
134    1e:  00 00                   add [%eax], %eax
135    20:  66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00       nop
136    2e:  66 66 66 66 66          [data16]
137    33:  2e 0f 1f 84 00 00 00 00 01      nop
138    3c:  66 bf 88 77             mov %edi, 0x7788
139    40:  66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00       nop
140    4e:  66 66 66 66 66          [data16]
141    53:  2e 0f 1f 83 ff ff ff ff nop
142    5b:  ff 00                   inc [%eax]
143    5d:  02 04 00                add %eax, [%eax + %eax]
144    60:  66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00       nop
145    6e:  66 0f 1f 44 00 00       nop
146    74:  66 0f 1f 84 00 00 00 00 00      nop
147    7d:  02 04 00                add %eax, [%eax + %eax]
148    80:  66 2e 0f 1f 84 00 00 00 00 00   nop
149    8a:  66 66 2e 0f 1f 84 00 00 00 00 00        nop
150    95:  66 a3 44 33 22 11       mov [0x11223344], %eax
151    9b:  a0 44 33 22 11          mov %al, [0x11223344]
152    a0:  66 66 66 2e 0f 1f 84 00 00 00 00 00     nop
153    ac:  66 66 66 66 2e 0f 1f 84 00 00 00 00 00  nop
154    b9:  66 a3 44 33 22 11       mov [0x11223344], %eax
155    bf:  90                      nop
156    c0:  66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00       nop
157    ce:  66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00    nop
158 @rdfa_output:
159   6: [0] unrecognized instruction
160   12: [1] unrecognized instruction
161   16: [2] unrecognized instruction
162   2e: [0] unrecognized instruction
163   33: [1] unrecognized instruction
164   4e: [0] unrecognized instruction
165   53: [1] unrecognized instruction
166   return code: 1