OLD | NEW |
(Empty) | |
| 1 BITS: 32 |
| 2 OUTCOME: invalid |
| 3 |
| 4 # Test TLS access commands. |
| 5 # mov %gs:0, %eax |
| 6 asm: mov %gs:0x0,%eax |
| 7 hex: 65 a1 00 00 00 00 |
| 8 |
| 9 # AFAIK it's open question whether # writes to gs:... should be allowed. |
| 10 # Currently RDFA rejects. |
| 11 # mov %eax, %gs:0 |
| 12 asm: mov %eax,%gs:0x0 |
| 13 hex: 65 a3 00 00 00 00 |
| 14 |
| 15 # Forbidden |
| 16 # mov %gs:0, %ax |
| 17 asm: mov %gs:0x0,%ax |
| 18 hex: 65 66 a1 00 00 00 00 |
| 19 nc_out: Bad prefix usage |
| 20 |
| 21 # mov %ax, %gs:0 |
| 22 asm: mov %ax,%gs:0x0 |
| 23 hex: 65 66 a3 00 00 00 00 |
| 24 nc_out: Bad prefix usage |
| 25 |
| 26 |
| 27 # Invalid access to TLS |
| 28 # mov %fs:0, %eax |
| 29 asm: mov %fs:0x0,%eax |
| 30 hex: 64 a1 00 00 00 00 |
| 31 nc_out: Bad prefix usage |
| 32 |
| 33 # mov %eax, %fs:0 |
| 34 asm: mov %eax,%fs:0x0 |
| 35 hex: 64 a3 00 00 00 00 |
| 36 nc_out: Bad prefix usage |
| 37 |
| 38 # mov %fs:0, %ax |
| 39 asm: mov %fs:0x0,%ax |
| 40 hex: 64 66 a1 00 00 00 00 |
| 41 nc_out: Bad prefix usage |
| 42 |
| 43 # mov %ax, %fs:0 |
| 44 asm: mov %ax,%fs:0x0 |
| 45 hex: 64 66 a3 00 00 00 00 |
| 46 nc_out: Bad prefix usage |
| 47 |
| 48 |
| 49 # AFAIK it's open question whether writes to gs:... should be allowed. |
| 50 # Currently RDFA rejects. |
| 51 asm: mov %gs:(%eax),%eax |
| 52 hex: 65 8B 00 |
| 53 |
| 54 |
| 55 # Forbidden |
| 56 # lock add %gs:0x0,%eax |
| 57 asm: lock add %gs:0x0,%eax; |
| 58 hex: 65 F0 03 05 00 00 00 00 |
| 59 nc_out: Bad prefix usage |
| 60 |
OLD | NEW |