1 diff -Nur nasm-0.98.08.orig/disasm.c nasm-0.98.08/disasm.c
2 --- nasm-0.98.08.orig/disasm.c Mon Mar 5 13:05:23 2001
3 +++ nasm-0.98.08/disasm.c Sat Jan 19 00:01:57 2002
5 ins->oprs[c-070].offset |= (((long) *data++) << 24);
6 ins->oprs[c-070].segment |= SEG_32BIT | SEG_RELATIVE;
8 - if (c >= 0100 && c <= 0177) {
9 + if (c >= 0100 && c <= 0127) {
11 ins->oprs[c & 07].basereg = (modrm >> 3) & 07;
12 ins->oprs[c & 07].segment |= SEG_RMREG;
13 data = do_ea (data, modrm, asize, segsize,
14 &ins->oprs[(c >> 3) & 07]);
16 + if (c >= 0130 && c <= 0132) {
17 + ins->oprs[c-0130].offset = *data++;
18 + ins->oprs[c-0130].offset |= (*data++ << 8);
20 + if (c >= 0133 && c <= 0137)
22 + if (c >= 0140 && c <= 0142) {
23 + ins->oprs[c-0140].offset = *data++;
24 + ins->oprs[c-0140].offset |= (*data++ << 8);
25 + ins->oprs[c-0140].offset |= (((long) *data++) << 16);
26 + ins->oprs[c-0140].offset |= (((long) *data++) << 24);
28 + if (c >= 0143 && c <= 0147)
30 if (c >= 0200 && c <= 0277) {
32 if (((modrm >> 3) & 07) != (c & 07))
33 diff -Nur nasm-0.98.08.orig/insns.dat nasm-0.98.08/insns.dat
34 --- nasm-0.98.08.orig/insns.dat Mon Mar 5 13:06:10 2001
35 +++ nasm-0.98.08/insns.dat Fri Jan 18 23:05:53 2002
37 ADC reg_eax,sbyte \321\1\x83\202\15 386,ND
38 ADC reg_eax,imm \321\1\x15\41 386,SM
39 ADC rm8,imm \300\1\x80\202\21 8086,SM
40 -ADC rm16,imm \320\300\134\1\x81\202\131 8086,SM,ND
41 -ADC rm32,imm \321\300\144\1\x81\202\141 386,SM,ND
42 +ADC rm16,imm \320\300\134\1\x81\202\131 8086,SM
43 +ADC rm32,imm \321\300\144\1\x81\202\141 386,SM
44 ADC mem,imm8 \300\1\x80\202\21 8086,SM
45 -ADC mem,imm16 \320\300\134\1\x81\202\131 8086,SM,ND
46 -ADC mem,imm32 \321\300\144\1\x81\202\141 386,SM,ND
47 +ADC mem,imm16 \320\300\134\1\x81\202\131 8086,SM
48 +ADC mem,imm32 \321\300\144\1\x81\202\141 386,SM
49 ADD mem,reg8 \300\17\101 8086,SM
50 ADD reg8,reg8 \300\17\101 8086
51 ADD mem,reg16 \320\300\1\x01\101 8086,SM
53 ADD reg_eax,sbyte \321\1\x83\200\15 386,ND
54 ADD reg_eax,imm \321\1\x05\41 386,SM
55 ADD rm8,imm \300\1\x80\200\21 8086,SM
56 -ADD rm16,imm \320\300\134\1\x81\200\131 8086,SM,ND
57 -ADD rm32,imm \321\300\144\1\x81\200\141 386,SM,ND
58 +ADD rm16,imm \320\300\134\1\x81\200\131 8086,SM
59 +ADD rm32,imm \321\300\144\1\x81\200\141 386,SM
60 ADD mem,imm8 \300\1\x80\200\21 8086,SM
61 -ADD mem,imm16 \320\300\134\1\x81\200\131 8086,SM,ND
62 -ADD mem,imm32 \321\300\144\1\x81\200\141 386,SM,ND
63 +ADD mem,imm16 \320\300\134\1\x81\200\131 8086,SM
64 +ADD mem,imm32 \321\300\144\1\x81\200\141 386,SM
65 AND mem,reg8 \300\1\x20\101 8086,SM
66 AND reg8,reg8 \300\1\x20\101 8086
67 AND mem,reg16 \320\300\1\x21\101 8086,SM
69 AND reg_eax,sbyte \321\1\x83\204\15 386,ND
70 AND reg_eax,imm \321\1\x25\41 386,SM
71 AND rm8,imm \300\1\x80\204\21 8086,SM
72 -AND rm16,imm \320\300\134\1\x81\204\131 8086,SM,ND
73 -AND rm32,imm \321\300\144\1\x81\204\141 386,SM,ND
74 +AND rm16,imm \320\300\134\1\x81\204\131 8086,SM
75 +AND rm32,imm \321\300\144\1\x81\204\141 386,SM
76 AND mem,imm8 \300\1\x80\204\21 8086,SM
77 -AND mem,imm16 \320\300\134\1\x81\204\131 8086,SM,ND
78 -AND mem,imm32 \321\300\144\1\x81\204\141 386,SM,ND
79 +AND mem,imm16 \320\300\134\1\x81\204\131 8086,SM
80 +AND mem,imm32 \321\300\144\1\x81\204\141 386,SM
81 ARPL mem,reg16 \300\1\x63\101 286,PROT,SM
82 ARPL reg16,reg16 \300\1\x63\101 286,PROT
83 BOUND reg16,mem \320\301\1\x62\110 186
85 CMP reg_eax,sbyte \321\1\x83\207\15 386,ND
86 CMP reg_eax,imm \321\1\x3D\41 386,SM
87 CMP rm8,imm \300\1\x80\207\21 8086,SM
88 -CMP rm16,imm \320\300\134\1\x81\207\131 8086,SM,ND
89 -CMP rm32,imm \321\300\144\1\x81\207\141 386,SM,ND
90 +CMP rm16,imm \320\300\134\1\x81\207\131 8086,SM
91 +CMP rm32,imm \321\300\144\1\x81\207\141 386,SM
92 CMP mem,imm8 \300\1\x80\207\21 8086,SM
93 -CMP mem,imm16 \320\300\134\1\x81\207\131 8086,SM,ND
94 -CMP mem,imm32 \321\300\144\1\x81\207\141 386,SM,ND
95 +CMP mem,imm16 \320\300\134\1\x81\207\131 8086,SM
96 +CMP mem,imm32 \321\300\144\1\x81\207\141 386,SM
97 CMPSB void \332\1\xA6 8086
98 CMPSD void \332\321\1\xA7 386
99 CMPSW void \332\320\1\xA7 8086
100 @@ -640,11 +640,11 @@
101 OR reg_eax,sbyte \321\1\x83\201\15 386,ND
102 OR reg_eax,imm \321\1\x0D\41 386,SM
103 OR rm8,imm \300\1\x80\201\21 8086,SM
104 -OR rm16,imm \320\300\134\1\x81\201\131 8086,SM,ND
105 -OR rm32,imm \321\300\144\1\x81\201\141 386,SM,ND
106 +OR rm16,imm \320\300\134\1\x81\201\131 8086,SM
107 +OR rm32,imm \321\300\144\1\x81\201\141 386,SM
108 OR mem,imm8 \300\1\x80\201\21 8086,SM
109 -OR mem,imm16 \320\300\134\1\x81\201\131 8086,SM,ND
110 -OR mem,imm32 \321\300\144\1\x81\201\141 386,SM,ND
111 +OR mem,imm16 \320\300\134\1\x81\201\131 8086,SM
112 +OR mem,imm32 \321\300\144\1\x81\201\141 386,SM
113 OUT imm,reg_al \1\xE6\24 8086,SB
114 OUT imm,reg_ax \320\1\xE7\24 8086,SB
115 OUT imm,reg_eax \321\1\xE7\24 386,SB
116 @@ -931,11 +931,11 @@
117 SBB reg_eax,sbyte \321\1\x83\203\15 386,ND
118 SBB reg_eax,imm \321\1\x1D\41 386,SM
119 SBB rm8,imm \300\1\x80\203\21 8086,SM
120 -SBB rm16,imm \320\300\134\1\x81\203\131 8086,SM,ND
121 -SBB rm32,imm \321\300\144\1\x81\203\141 386,SM,ND
122 +SBB rm16,imm \320\300\134\1\x81\203\131 8086,SM
123 +SBB rm32,imm \321\300\144\1\x81\203\141 386,SM
124 SBB mem,imm8 \300\1\x80\203\21 8086,SM
125 -SBB mem,imm16 \320\300\134\1\x81\203\131 8086,SM,ND
126 -SBB mem,imm32 \321\300\144\1\x81\203\141 386,SM,ND
127 +SBB mem,imm16 \320\300\134\1\x81\203\131 8086,SM
128 +SBB mem,imm32 \321\300\144\1\x81\203\141 386,SM
129 SCASB void \332\1\xAE 8086
130 SCASD void \332\321\1\xAF 386
131 SCASW void \332\320\1\xAF 8086
132 @@ -1013,11 +1013,11 @@
133 SUB reg_eax,sbyte \321\1\x83\205\15 386,ND
134 SUB reg_eax,imm \321\1\x2D\41 386,SM
135 SUB rm8,imm \300\1\x80\205\21 8086,SM
136 -SUB rm16,imm \320\300\134\1\x81\205\131 8086,SM,ND
137 -SUB rm32,imm \321\300\144\1\x81\205\141 386,SM,ND
138 +SUB rm16,imm \320\300\134\1\x81\205\131 8086,SM
139 +SUB rm32,imm \321\300\144\1\x81\205\141 386,SM
140 SUB mem,imm8 \300\1\x80\205\21 8086,SM
141 -SUB mem,imm16 \320\300\134\1\x81\205\131 8086,SM,ND
142 -SUB mem,imm32 \321\300\144\1\x81\205\141 386,SM,ND
143 +SUB mem,imm16 \320\300\134\1\x81\205\131 8086,SM
144 +SUB mem,imm32 \321\300\144\1\x81\205\141 386,SM
145 SVDC mem80,reg_sreg \300\2\x0F\x78\101 486,CYRIX,SMM
146 SVLDT mem80 \300\2\x0F\x7A\200 486,CYRIX,SMM
147 SVTS mem80 \300\2\x0F\x7C\200 486,CYRIX,SMM
148 @@ -1115,11 +1115,11 @@
149 XOR reg_eax,sbyte \321\1\x83\206\15 386,ND
150 XOR reg_eax,imm \321\1\x35\41 386,SM
151 XOR rm8,imm \300\1\x80\206\21 8086,SM
152 -XOR rm16,imm \320\300\134\1\x81\206\131 8086,SM,ND
153 -XOR rm32,imm \321\300\144\1\x81\206\141 386,SM,ND
154 +XOR rm16,imm \320\300\134\1\x81\206\131 8086,SM
155 +XOR rm32,imm \321\300\144\1\x81\206\141 386,SM
156 XOR mem,imm8 \300\1\x80\206\21 8086,SM
157 -XOR mem,imm16 \320\300\134\1\x81\206\131 8086,SM,ND
158 -XOR mem,imm32 \321\300\144\1\x81\206\141 386,SM,ND
159 +XOR mem,imm16 \320\300\134\1\x81\206\131 8086,SM
160 +XOR mem,imm32 \321\300\144\1\x81\206\141 386,SM
161 CMOVcc reg16,mem \320\301\1\x0F\330\x40\110 P6,SM
162 CMOVcc reg16,reg16 \320\301\1\x0F\330\x40\110 P6
163 CMOVcc reg32,mem \321\301\1\x0F\330\x40\110 P6,SM