DOS-debug

Форк
0
/
INSTR.SET 
412 строк · 9.7 Кб
1
#   This is "instr.set", the main instruction set description file.
2

3
#   The format of this file is as follows.  First of all, blank lines
4
#   and lines whose first character is a '#' are comment lines.
5

6
#   Otherwise, each line consists of one or more fields, separated by
7
#   spaces (but not tabs).
8

9
#   The first field is the opcode field.  It looks like the following:
10
#       _^nxxx
11
#   or  _^nxxx/xxx
12
#   or  _^nxxx#xxx
13
#   or  _^nxxx*xxx
14
#   Here:
15
#    _   (if present) signifies that the line applies only to the
16
#        assembler.
17
#    ^n  (if present) is ^0 for AAD or AAM, ^1 for DB, ^2 for DW,
18
#        ^3 for DD, ^4 for ORG, and ^5 for 32 bit operand prefix.
19
#    xxx is an op code mnemonic.
20
#    '/' mean that the following opcode is the 32-bit variant of the
21
#        first one, and a 66h prefix will switch.
22
#    '#' mean that the following opcode is the 32-bit variant of the
23
#        first one, and a 67h prefix will switch.
24
#    '*' mean that the preceding opcode occurs with a WAIT instruction;
25
#        the following, without.
26

27
#   The remaining fields describe the possible variants of the instruction.
28
#   They have the following formats:
29
#       _Lxx/r.;n
30
#       _Lxx/r*;n
31
#       _Lxx/r&;n
32
#       _DLxx/r:kk;n
33
#   Here:
34
#       _   (if present) means that this variant is to be used only by
35
#           the assember.
36
#       D   (if present) means that this variant is to be used only by
37
#           the disassembler.
38
#       L   (if present) means that this is a lockable instruction.
39
#       xx  are one or two bytes of the instruction field.
40
#       /r  (if present) specifies the "r" part in a MOD MEM/REG byte.
41
#       .   indicates that the instruction has no operands.
42
#       *   indicates that the byte is a prefix (LOCK or REP...).
43
#       &   indicates that the byte is a segment prefix.
44
#       :kk gives an index into the file "instr.key".  That file gives
45
#           the operand list associated to the key.  The key consists of
46
#           two hex digits.
47
#       ;n  (if present) indicates the processor on which this
48
#           instruction first appeared.  Here n may be 1 through 6.
49
#
50
#   The order of the variants is important, because the assembler will take
51
#   the first one that fits the input line.
52

53
#   References:
54
#
55
#   Instruction set from the Intel Pentium Family User's Manual, Vol. 3:
56
#   Architecture and Programming Manual.  Information on earlier processors
57
#   from various Intel and third party documentation.  Information on new
58
#   Pentium Pro <TM> instructions from http://x86.metronet.com
59
#   (http://198.215.126.12).
60

61
#   History:
62
#   v1.09: - "loop" opcode has no "ecx" operand anymore in 32bit.
63
#          - changed order 1 3 to 3 1 for arith opcodes.
64
#   v1.10: - "loopw", "loopzw" and "loopnzw" variants added.
65
#   v1.18: - "fldenvw", "fldenvd", "fstenvw", "fstenvd" variants added.
66
#          - "fsavew", "fsaved", "frstorw", "frstord" variants added.
67
#          - "movd" and "movq" added.
68

69
aaa 37.
70
^0aad d5:27
71
^0aam d4:27
72
aas 3f.
73
adc L83/2:03 14:01 L80/2:02 L10:04 12:05
74
add L83/0:03 04:01 L80/0:02 L00:04 02:05
75
and L83/4:03 24:01 L80/4:02 L20:04 22:05
76
arpl 63:06;2
77
bound 62:07;1
78
bsf 0fbc:08;3
79
bsr 0fbd:08;3
80
^5bswap 0fc8:09;4
81
bt 0fa3:0A;3 0fba/4:0B;3
82
btc L0fbb:0A;3 L0fba/7:0B;3
83
btr L0fb3:0A;3 L0fba/6:0B;3
84
bts L0fab:0A;3 L0fba/5:0B;3
85
call e8:0C ff/2:29 ff/3:0E 9a:0D
86
cbw/cwde 98.
87
clc f8.
88
cld fc.
89
cli fa.
90
clts 0f06.;2
91
cmc f5.
92
cmova 0f47:08;6
93
cmovae 0f43:08;6
94
cmovb 0f42:08;6
95
cmovbe 0f46:08;6
96
_cmovc 0f42:08;6
97
_cmove 0f44:08;6
98
cmovg 0f4f:08;6
99
cmovge 0f4d:08;6
100
cmovl 0f4c:08;6
101
cmovle 0f4e:08;6
102
_cmovna 0f46:08;6
103
_cmovnae 0f42:08;6
104
_cmovnb 0f43:08;6
105
_cmovnbe 0f47:08;6
106
_cmovnc 0f43:08;6
107
_cmovne 0f45:08;6
108
_cmovng 0f4e:08;6
109
_cmovnge 0f4c:08;6
110
_cmovnl 0f4d:08;6
111
_cmovnle 0f4f:08;6
112
cmovno 0f41:08;6
113
_cmovnp 0f4b:08;6
114
cmovns 0f49:08;6
115
cmovnz 0f45:08;6
116
cmovo 0f40:08;6
117
_cmovp 0f4a:08;6
118
cmovpe 0f4a:08;6
119
cmovpo 0f4b:08;6
120
cmovs 0f48:08;6
121
cmovz 0f44:08;6
122
cmp 83/7:03 3c:01 80/7:02 38:04 3a:05
123
cmpsb a6.
124
cmpsw/cmpsd a7.
125
cmpxchg L0fb0:04;4
126
cmpxchg8b 0fc7/1:0F;5
127
cpuid 0fa2.;5
128
cwd/cdq 99.
129
daa 27.
130
das 2f.
131
_^1db
132
_^3dd
133
dec 48:11 Lfe/1:10 DLff/1:10
134
div f6/6:10
135
_^2dw
136
emms 0f77.;5
137
enter c8:12;1
138
f2xm1 d9f0.
139
fabs d9e1.
140
fadd d8/0:13 dc/0:14 d8c0:15 dcc0:16
141
faddp dec0:17 _dec1.
142
fiadd da/0:18 de/0:19
143
fbld df/4:1A
144
fbstp df/6:1A
145
fchs d9e0.
146
fclex*fnclex dbe2.
147
_fcmova dbd0:15;6
148
_fcmovae dbc0:15;6
149
fcmovb dac0:15;6
150
fcmovbe dad0:15;6
151
fcmove dac8:15;6
152
_fcmovna dad0:15;6
153
_fcmovnae dac0:15;6
154
fcmovnb dbc0:15;6
155
fcmovnbe dbd0:15;6
156
fcmovne dbc8:15;6
157
fcmovnu dbd8:15;6
158
_fcmovnz dbc8:15;6
159
fcmovu dad8:15;6
160
_fcmovz dac8:15;6
161
fcom d8/2:13 dc/2:14 d8d0:1C _d8d1.
162
fcomi dbf0:1C;6 _dbf1.;6
163
fcomip dff0:1C;6 _dff1.;6
164
fcomp d8/3:13 dc/3:14 d8d8:1C _d8d9.
165
fcompp ded9.
166
fcos d9ff.;3
167
fdecstp d9f6.
168
fdisi*fndisi dbe1.
169
fdiv d8/6:13 dc/6:14 d8f0:15 dcf8:16
170
fdivp def8:17 _def9.
171
fidiv da/6:18 de/6:19
172
fdivr d8/7:13 dc/7:14 d8f8:15 dcf0:16
173
fdivrp def0:17 _def1.
174
fidivr da/7:18 de/7:19
175
feni*fneni dbe0.
176
ffree ddc0:1B
177
ficom da/2:18 de/2:19
178
ficomp da/3:18 de/3:19
179
fild db/0:18 df/0:19 df/5:0F
180
fincstp d9f7.
181
finit*fninit dbe3.
182
fist db/2:18 df/2:19
183
fistp db/3:18 df/3:19 df/7:0F
184
fld d9/0:13 dd/0:14 db/5:1D d9c0:1B
185
fld1 d9e8.
186
fldl2t d9e9.
187
fldl2e d9ea.
188
fldpi d9eb.
189
fldlg2 d9ec.
190
fldln2 d9ed.
191
fldz d9ee.
192
fldcw*fnldcw d9/5:19
193
fldenv d9/4:1E
194
_fldenvw/fldenvd d9/4:1E
195
fmul d8/1:13 dc/1:14 d8c8:15 dcc8:16
196
fmulp dec8:17 _dec9.
197
fimul da/1:18 de/1:19
198
fnop d9d0.
199
fpatan d9f3.
200
fprem d9f8.
201
fprem1 d9f5.;3
202
fptan d9f2.
203
frndint d9fc.
204
frstor dd/4:1E
205
_frstorw/frstord dd/4:1E
206
fsave*fnsave dd/6:1E
207
_fsavew/fsaved dd/6:1E
208
fscale d9fd.
209
fsetpm*fnsetpm dbe4.;2
210
fsin d9fe.;3
211
fsincos d9fb.;3
212
fsqrt d9fa.
213
fst d9/2:13 dd/2:14 ddd0:1B
214
fstp d9/3:13 dd/3:14 db/7:1D ddd8:1B
215
fstcw*fnstcw d9/7:19
216
fstenv*fnstenv d9/6:1E
217
_fstenvw/fstenvd d9/6:1E
218
fstsw*fnstsw dfe0:1F dd/7:19
219
fsub d8/4:13 dc/4:14 d8e0:15 dce8:16
220
fsubp dee8:17 _dee9.
221
fisub da/4:18 de/4:19
222
fsubr d8/5:13 dc/5:14 d8e8:15 dce0:16
223
fsubrp dee0:17 _dee1.
224
fisubr da/5:18 de/5:19
225
ftst d9e4.
226
fucom dde0:1C;3 _dde1.;3
227
fucomi dbe8:1C;6 _dbe9.;6
228
fucomip dfe8:1C;6 _dfe9.;6
229
fucomp dde8:1C;3 _dde9.;3
230
fucompp dae9.;3
231
_fwait 9b.
232
fxam d9e5.
233
fxch d9c8:1C _d9c9.
234
fxtract d9f4.
235
fyl2x d9f1.
236
fyl2xp1 d9f9.
237
hlt f4.
238
idiv f6/7:10
239
imul f6/5:10 0faf:08;3 6b:20;1 _6b:21;1 69:22;1 _69:23;1
240
in e4:24 ec:25
241
inc 40:11 Lfe/0:10 DLff/0:10
242
insb 6c.;1
243
insw/insd 6d.;1
244
int cc:26 cd:27
245
into ce.
246
invd 0f08.;4
247
invlpg 0f01/7:1E;4
248
iret/iretd cf.
249
ja 77:28 0f87:0C;3
250
jae 73:28 0f83:0C;3
251
jb 72:28 0f82:0C;3
252
jbe 76:28 0f86:0C;3
253
_jc 72:28 0f82:0C;3
254
jcxz#jecxz e3:28
255
_je 74:28 0f84:0C;3
256
jg 7f:28 0f8f:0C;3
257
jge 7d:28 0f8d:0C;3
258
jl 7c:28 0f8c:0C;3
259
jle 7e:28 0f8e:0C;3
260
_jna 76:28 0f86:0C;3
261
_jnae 72:28 0f82:0C;3
262
_jnb 73:28 0f83:0C;3
263
_jnbe 77:28 0f87:0C;3
264
_jnc 73:28 0f83:0C;3
265
_jne 75:28 0f85:0C;3
266
_jng 7e:28 0f8e:0C;3
267
_jnge 7c:28 0f8c:0C;3
268
_jnl 7d:28 0f8d:0C;3
269
_jnle 7f:28 0f8f:0C;3
270
jno 71:28 0f81:0C;3
271
_jnp 7b:28 0f8b:0C;3
272
jns 79:28 0f89:0C;3
273
jnz 75:28 0f85:0C;3
274
jo 70:28 0f80:0C;3
275
_jp 7a:28 0f8a:0C;3
276
jpe 7a:28 0f8a:0C;3
277
jpo 7b:28 0f8b:0C;3
278
js 78:28 0f88:0C;3
279
jz 74:28 0f84:0C;3
280
jmp eb:28 e9:0C ff/4:29 ff/5:0E ea:0D
281
lahf 9f.
282
lar 0f02:08;2
283
lds c5:07
284
lss 0fb2:07;3
285
les c4:07
286
lfs 0fb4:07;3
287
lgs 0fb5:07;3
288
lea 8d:07
289
leave c9.;1
290
lgdt 0f01/2:1E;2
291
lidt 0f01/3:1E;2
292
lldt 0f00/2:2A;2
293
lmsw 0f01/6:2A;2
294
lock f0*
295
lodsb ac.
296
lodsw/lodsd ad.
297
_loop e2:28
298
loopw#loopd e2:28
299
_loopz e1:28
300
_loope e1:28
301
_loopew#looped e1:28
302
loopzw#loopzd e1:28
303
_loopnz e0:28
304
_loopne e0:28
305
_loopnew#loopned e0:28
306
loopnzw#loopnzd e0:28
307
lsl 0f03:08;2
308
ltr 0f00/3:2A;2
309
# F=mov a,[mem], G=mov [mem],a  4=mov a,r
310
mov a0:2D a2:2E 88:04 8a:05 8c:2B 8e:2C b0:2F b8:30 c6/0:02 0f20:47;3 0f22:48;3 0f21:49;3 0f23:4A;3 0f24:4B;3 0f26:4C;3
311
movd 0f6e:4D;5 0f7e:4E;5
312
movq 0f6f:4F;5 0f7f:50;5
313
movsb a4.
314
movsw/movsd a5.
315
movsx 0fbe:31;3 0fbf:32;3
316
movzx 0fb6:31;3 0fb7:32;3
317
mul f6/4:10
318
neg Lf6/3:10
319
nop 90.
320
not Lf6/2:10
321
or L83/1:03 0c:01 L80/1:02 L08:04 0a:05
322
_^4org
323
out e6:33 ee:34
324
outsb 6e.;1
325
outsw/outsd 6f.;1
326
pop 8f/0:35 58:11 1f:44 07:41 17:43 0fa1:45;3 0fa9:46;3
327
popa/popad 61.;1
328
popf/popfd 9d.
329
push 50:11 ff/6:29 6a:37;1 68:36;1 0e:42 16:43 1e:44 06:41 0fa0:45;3 0fa8:46;3
330
pusha/pushad 60.;1
331
pushf/pushfd 9c.
332
rcl d0/2:38 d2/2:39 c0/2:3A;1
333
rcr d0/3:38 d2/3:39 c0/3:3A;1
334
rol d0/0:38 d2/0:39 c0/0:3A;1
335
ror d0/1:38 d2/1:39 c0/1:3A;1
336
rdmsr 0f32.;5
337
rdtsc 0f31.;5
338
rep f3*
339
repe f3*
340
repne f2*
341
ret c3. c2:3B
342
retf/retfd cb. ca:3B
343
rsm 0faa.;5
344
sahf 9e.
345
_sal d0/4:38 d2/4:39 c0/4:3A;1
346
sar d0/7:38 d2/7:39 c0/7:3A;1
347
seg _26:41 _2e:42 _36:43 _3e:44 _64:45 _65:46
348
es _26&
349
cs _2e&
350
ss _36&
351
ds _3e&
352
fs _64&
353
gs _65&
354
shl d0/4:38 d2/4:39 c0/4:3A;1
355
shr d0/5:38 d2/5:39 c0/5:3A;1
356
sbb L83/3:03 1c:01 L80/3:02 L18:04 1a:05
357
scasb ae.
358
scasw/scasd af.
359
seta 0f97:3C;3
360
setae 0f93:3C;3
361
setb 0f92:3C;3
362
setbe 0f96:3C;3
363
_setc 0f92:3C;3
364
_sete 0f94:3C;3
365
setg 0f9f:3C;3
366
setge 0f9d:3C;3
367
setl 0f9c:3C;3
368
setle 0f9e:3C;3
369
_setna 0f96:3C;3
370
_setnae 0f92:3C;3
371
_setnb 0f93:3C;3
372
_setnbe 0f97:3C;3
373
_setnc 0f93:3C;3
374
_setne 0f95:3C;3
375
_setng 0f9e:3C;3
376
_setnge 0f9c:3C;3
377
_setnl 0f9d:3C;3
378
_setnle 0f9f:3C;3
379
setno 0f91:3C;3
380
_setnp 0f9b:3C;3
381
setns 0f99:3C;3
382
setnz 0f95:3C;3
383
seto 0f90:3C;3
384
_setp 0f9a:3C;3
385
setpe 0f9a:3C;3
386
setpo 0f9b:3C;3
387
sets 0f98:3C;3
388
setz 0f94:3C;3
389
sgdt 0f01/0:1E;2
390
sidt 0f01/1:1E;2
391
shld 0fa4:3D;3 0fa5:3E;3
392
shrd 0fac:3D;3 0fad:3E;3
393
sldt 0f00/0:29;2
394
smsw 0f01/4:29;2
395
stc f9.
396
std fd.
397
sti fb.
398
stosb aa.
399
stosw/stosd ab.
400
str 0f00/1:2A;2
401
sub L83/5:03 2c:01 L80/5:02 L28:04 2a:05
402
test a8:01 f6/0:02 84:04 _84:05
403
verr 0f00/4:2A;2
404
verw 0f00/5:2A;2
405
wait 9b.
406
wbinvd 0f09.;4
407
wrmsr 0f30.;5
408
xadd L0fc0:04;4
409
xchg 90:3F _90:40 _L86:04 L86:05
410
xlat _d7.
411
xlatb d7.
412
xor L83/6:03 34:01 L80/6:02 L30:04 32:05
413

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.