1
1
<?xml version =" 1.0" encoding =" UTF-8" ?>
2
- <!DOCTYPE x86reference SYSTEM "x86reference.dtd">
3
2
4
- <!-- Visit http://ref.x86asm.net/ -->
5
-
6
- <!--
7
-
8
- Author: Karel Lejska a.k.a. MazeGen (mazegen gmail com)
9
-
10
- Short Description:
11
-
12
- This reference is intended to be precise opcode and instruction
13
- set reference (including x86-64). Its principal aim is exact
14
- definition of instruction parameters and attributes.
15
-
16
- - Minor Issues:
17
-
18
- 83/1, 83/4, 83/6:
19
- These short forms of OR, AND, and XOR instructions are documented
20
- since 80386. They were probably working since 8086, 80186
21
- or 80286, but I have no trustworthy information regarding this issue.
22
-
23
- D9/3 mod=11, DF/2 mod=11, DF/3 mod=11:
24
- These encodings are documented in Intel 80287 manual at least. They
25
- were probably working since 8086, 80186 or 80286, but I have no
26
- trustworthy information regarding this issue.
27
-
28
- 0F0D:
29
- I am not sure since which Intel procesor was second multi-byte NOP (0F0D)
30
- released. The reference sets it since Pentium Pro.
31
-
32
- 0FAE /0 FXSAVE, 0FAE /1 FXRSTOR
33
- Current Intel manuals say that these were introduced with PIII
34
- processor. I can't find them documented in PIII manual though.
35
- Because of this problem, these instructions are marked as introduced
36
- with latter steppings of PIII processor.
37
-
38
- - Discussion:
39
-
40
- FF /3, FF /5:
41
- Should I add this comment?
42
- "The offset from the target operand is ignored when a call gate is used."
43
-
44
- LAR, LSL:
45
- Should I add this comment?
46
- "For all loads (regardless of source or destination sizing) only bits 16-0 are used. Other bits are ignored."
47
-
48
- -->
49
-
50
- <x86reference version =" 1.12" >
3
+ <x86reference
4
+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
5
+ xsi : noNamespaceSchemaLocation =" x86reference.xsd" >
51
6
52
7
<one-byte >
53
8
@@ -4011,8 +3966,8 @@ Should I add this comment?
4011
3966
<note ><brief >Store x87 FPU Environment</brief ></note >
4012
3967
</entry >
4013
3968
<entry >
4014
- <opcd_ext >6</opcd_ext >
4015
3969
<pref >9B</pref >
3970
+ <opcd_ext >6</opcd_ext >
4016
3971
<!-- <syntax mod="mem">-->
4017
3972
<syntax >
4018
3973
<mnem >FSTENV</mnem ><dst depend =" no" ><a >M</a ><t >e</t ></dst >
@@ -4146,8 +4101,8 @@ Should I add this comment?
4146
4101
<note ><brief >Store x87 FPU Control Word</brief ></note >
4147
4102
</entry >
4148
4103
<entry >
4149
- <opcd_ext >7</opcd_ext >
4150
4104
<pref >9B</pref >
4105
+ <opcd_ext >7</opcd_ext >
4151
4106
<!-- <syntax mod="mem">-->
4152
4107
<syntax >
4153
4108
<mnem >FSTCW</mnem ><dst depend =" no" ><a >M</a ><t >w</t ></dst >
@@ -4559,8 +4514,8 @@ Should I add this comment?
4559
4514
</entry >
4560
4515
<!-- <entry mod="nomem">-->
4561
4516
<entry > <!-- @mod=nomem not needed, because sec_opcd must be matched -->
4562
- <opcd_ext >4</opcd_ext >
4563
4517
<pref >9B</pref >
4518
+ <opcd_ext >4</opcd_ext >
4564
4519
<sec_opcd >E0</sec_opcd >
4565
4520
<proc_start post =" no" >00</proc_start >
4566
4521
<proc_end >00</proc_end >
@@ -4597,8 +4552,8 @@ Should I add this comment?
4597
4552
</entry >
4598
4553
<!-- <entry mod="nomem">-->
4599
4554
<entry > <!-- @mod=nomem not needed, because sec_opcd must be matched -->
4600
- <opcd_ext >4</opcd_ext >
4601
4555
<pref >9B</pref >
4556
+ <opcd_ext >4</opcd_ext >
4602
4557
<sec_opcd >E1</sec_opcd >
4603
4558
<proc_start post =" no" >00</proc_start >
4604
4559
<proc_end >00</proc_end >
@@ -4635,8 +4590,8 @@ Should I add this comment?
4635
4590
</entry >
4636
4591
<!-- <entry mod="nomem">-->
4637
4592
<entry > <!-- @mod=nomem not needed, because sec_opcd must be matched -->
4638
- <opcd_ext >4</opcd_ext >
4639
4593
<pref >9B</pref >
4594
+ <opcd_ext >4</opcd_ext >
4640
4595
<sec_opcd >E2</sec_opcd >
4641
4596
<syntax >
4642
4597
<mnem >FCLEX</mnem >
@@ -4660,8 +4615,8 @@ Should I add this comment?
4660
4615
</entry >
4661
4616
<!-- <entry mod="nomem">-->
4662
4617
<entry > <!-- @mod=nomem not needed, because sec_opcd must be matched -->
4663
- <opcd_ext >4</opcd_ext >
4664
4618
<pref >9B</pref >
4619
+ <opcd_ext >4</opcd_ext >
4665
4620
<sec_opcd >E3</sec_opcd >
4666
4621
<syntax >
4667
4622
<mnem >FINIT</mnem >
@@ -4685,8 +4640,8 @@ Should I add this comment?
4685
4640
</entry >
4686
4641
<!-- <entry mod="nomem">-->
4687
4642
<entry > <!-- @mod=nomem not needed, because sec_opcd must be matched -->
4688
- <opcd_ext >4</opcd_ext >
4689
4643
<pref >9B</pref >
4644
+ <opcd_ext >4</opcd_ext >
4690
4645
<sec_opcd >E4</sec_opcd >
4691
4646
<proc_start post =" no" >02</proc_start >
4692
4647
<proc_end >02</proc_end >
@@ -5190,8 +5145,8 @@ Should I add this comment?
5190
5145
</entry >
5191
5146
<!-- <entry mod="mem">-->
5192
5147
<entry >
5193
- <opcd_ext >6</opcd_ext >
5194
5148
<pref >9B</pref >
5149
+ <opcd_ext >6</opcd_ext >
5195
5150
<syntax >
5196
5151
<mnem >FSAVE</mnem >
5197
5152
<dst ><a >M</a ><t >st</t ></dst >
@@ -5224,8 +5179,8 @@ Should I add this comment?
5224
5179
</entry >
5225
5180
<!-- <entry mod="mem">-->
5226
5181
<entry >
5227
- <opcd_ext >7</opcd_ext >
5228
5182
<pref >9B</pref >
5183
+ <opcd_ext >7</opcd_ext >
5229
5184
<syntax >
5230
5185
<mnem >FSTSW</mnem ><dst ><a >M</a ><t >w</t ></dst >
5231
5186
</syntax >
@@ -5711,8 +5666,8 @@ Should I add this comment?
5711
5666
</entry >
5712
5667
<!-- <entry mod="nomem">-->
5713
5668
<entry > <!-- @mod=nomem not needed, because sec_opcd must be matched -->
5714
- <opcd_ext >4</opcd_ext >
5715
5669
<pref >9B</pref >
5670
+ <opcd_ext >4</opcd_ext >
5716
5671
<sec_opcd >E0</sec_opcd >
5717
5672
<proc_start >02</proc_start >
5718
5673
<syntax >
@@ -11718,8 +11673,8 @@ Should I add this comment?
11718
11673
<note ><brief >Shift Packed Data Right Logical</brief ></note >
11719
11674
</entry >
11720
11675
<entry >
11721
- <opcd_ext >2</opcd_ext >
11722
11676
<pref >66</pref >
11677
+ <opcd_ext >2</opcd_ext >
11723
11678
<proc_start >10</proc_start >
11724
11679
<syntax >
11725
11680
<mnem >PSRLW</mnem >
@@ -11744,8 +11699,8 @@ Should I add this comment?
11744
11699
<note ><brief >Shift Packed Data Right Arithmetic</brief ></note >
11745
11700
</entry >
11746
11701
<entry >
11747
- <opcd_ext >4</opcd_ext >
11748
11702
<pref >66</pref >
11703
+ <opcd_ext >4</opcd_ext >
11749
11704
<proc_start >10</proc_start >
11750
11705
<syntax >
11751
11706
<mnem >PSRAW</mnem >
@@ -11770,8 +11725,8 @@ Should I add this comment?
11770
11725
<note ><brief >Shift Packed Data Left Logical</brief ></note >
11771
11726
</entry >
11772
11727
<entry >
11773
- <opcd_ext >6</opcd_ext >
11774
11728
<pref >66</pref >
11729
+ <opcd_ext >6</opcd_ext >
11775
11730
<proc_start >10</proc_start >
11776
11731
<syntax >
11777
11732
<mnem >PSLLW</mnem >
@@ -11798,8 +11753,8 @@ Should I add this comment?
11798
11753
<note ><brief >Shift Double Quadword Right Logical</brief ></note >
11799
11754
</entry >
11800
11755
<entry >
11801
- <opcd_ext >2</opcd_ext >
11802
11756
<pref >66</pref >
11757
+ <opcd_ext >2</opcd_ext >
11803
11758
<proc_start >10</proc_start >
11804
11759
<syntax >
11805
11760
<mnem >PSRLD</mnem >
@@ -11824,8 +11779,8 @@ Should I add this comment?
11824
11779
<note ><brief >Shift Packed Data Right Arithmetic</brief ></note >
11825
11780
</entry >
11826
11781
<entry >
11827
- <opcd_ext >4</opcd_ext >
11828
11782
<pref >66</pref >
11783
+ <opcd_ext >4</opcd_ext >
11829
11784
<proc_start >10</proc_start >
11830
11785
<syntax >
11831
11786
<mnem >PSRAD</mnem >
@@ -11850,8 +11805,8 @@ Should I add this comment?
11850
11805
<note ><brief >Shift Packed Data Left Logical</brief ></note >
11851
11806
</entry >
11852
11807
<entry >
11853
- <opcd_ext >6</opcd_ext >
11854
11808
<pref >66</pref >
11809
+ <opcd_ext >6</opcd_ext >
11855
11810
<proc_start >10</proc_start >
11856
11811
<syntax >
11857
11812
<mnem >PSLLD</mnem >
@@ -11878,8 +11833,8 @@ Should I add this comment?
11878
11833
<note ><brief >Shift Packed Data Right Logical</brief ></note >
11879
11834
</entry >
11880
11835
<entry >
11881
- <opcd_ext >2</opcd_ext >
11882
11836
<pref >66</pref >
11837
+ <opcd_ext >2</opcd_ext >
11883
11838
<proc_start >10</proc_start >
11884
11839
<syntax >
11885
11840
<mnem >PSRLQ</mnem >
@@ -11893,8 +11848,8 @@ Should I add this comment?
11893
11848
11894
11849
<!-- <entry mod="nomem">-->
11895
11850
<entry >
11896
- <opcd_ext >3</opcd_ext >
11897
11851
<pref >66</pref >
11852
+ <opcd_ext >3</opcd_ext >
11898
11853
<proc_start >10</proc_start >
11899
11854
<syntax >
11900
11855
<mnem >PSRLDQ</mnem >
@@ -11920,8 +11875,8 @@ Should I add this comment?
11920
11875
<note ><brief >Shift Packed Data Left Logical</brief ></note >
11921
11876
</entry >
11922
11877
<entry >
11923
- <opcd_ext >6</opcd_ext >
11924
11878
<pref >66</pref >
11879
+ <opcd_ext >6</opcd_ext >
11925
11880
<proc_start >10</proc_start >
11926
11881
<syntax >
11927
11882
<mnem >PSLLQ</mnem >
@@ -11935,8 +11890,8 @@ Should I add this comment?
11935
11890
11936
11891
<!-- <entry mod="nomem">-->
11937
11892
<entry >
11938
- <opcd_ext >7</opcd_ext >
11939
11893
<pref >66</pref >
11894
+ <opcd_ext >7</opcd_ext >
11940
11895
<proc_start >10</proc_start >
11941
11896
<syntax >
11942
11897
<mnem >PSLLDQ</mnem >
0 commit comments