@specy/x86 1.1.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts DELETED
@@ -1,1558 +0,0 @@
1
- declare enum X86InstructionCode {
2
- AAA = 1,
3
- AAD = 2,
4
- AAM = 3,
5
- AAS = 4,
6
- FABS = 5,
7
- ADC = 6,
8
- ADCX = 7,
9
- ADD = 8,
10
- ADDPD = 9,
11
- ADDPS = 10,
12
- ADDSD = 11,
13
- ADDSS = 12,
14
- ADDSUBPD = 13,
15
- ADDSUBPS = 14,
16
- FADD = 15,
17
- FIADD = 16,
18
- FADDP = 17,
19
- ADOX = 18,
20
- AESDECLAST = 19,
21
- AESDEC = 20,
22
- AESENCLAST = 21,
23
- AESENC = 22,
24
- AESIMC = 23,
25
- AESKEYGENASSIST = 24,
26
- AND = 25,
27
- ANDN = 26,
28
- ANDNPD = 27,
29
- ANDNPS = 28,
30
- ANDPD = 29,
31
- ANDPS = 30,
32
- ARPL = 31,
33
- BEXTR = 32,
34
- BLCFILL = 33,
35
- BLCI = 34,
36
- BLCIC = 35,
37
- BLCMSK = 36,
38
- BLCS = 37,
39
- BLENDPD = 38,
40
- BLENDPS = 39,
41
- BLENDVPD = 40,
42
- BLENDVPS = 41,
43
- BLSFILL = 42,
44
- BLSI = 43,
45
- BLSIC = 44,
46
- BLSMSK = 45,
47
- BLSR = 46,
48
- BOUND = 47,
49
- BSF = 48,
50
- BSR = 49,
51
- BSWAP = 50,
52
- BT = 51,
53
- BTC = 52,
54
- BTR = 53,
55
- BTS = 54,
56
- BZHI = 55,
57
- CALL = 56,
58
- CBW = 57,
59
- CDQ = 58,
60
- CDQE = 59,
61
- FCHS = 60,
62
- CLAC = 61,
63
- CLC = 62,
64
- CLD = 63,
65
- CLFLUSH = 64,
66
- CLFLUSHOPT = 65,
67
- CLGI = 66,
68
- CLI = 67,
69
- CLTS = 68,
70
- CLWB = 69,
71
- CMC = 70,
72
- CMOVA = 71,
73
- CMOVAE = 72,
74
- CMOVB = 73,
75
- CMOVBE = 74,
76
- FCMOVBE = 75,
77
- FCMOVB = 76,
78
- CMOVE = 77,
79
- FCMOVE = 78,
80
- CMOVG = 79,
81
- CMOVGE = 80,
82
- CMOVL = 81,
83
- CMOVLE = 82,
84
- FCMOVNBE = 83,
85
- FCMOVNB = 84,
86
- CMOVNE = 85,
87
- FCMOVNE = 86,
88
- CMOVNO = 87,
89
- CMOVNP = 88,
90
- FCMOVNU = 89,
91
- CMOVNS = 90,
92
- CMOVO = 91,
93
- CMOVP = 92,
94
- FCMOVU = 93,
95
- CMOVS = 94,
96
- CMP = 95,
97
- CMPPD = 96,
98
- CMPPS = 97,
99
- CMPSB = 98,
100
- CMPSD = 99,
101
- CMPSQ = 100,
102
- CMPSS = 101,
103
- CMPSW = 102,
104
- CMPXCHG16B = 103,
105
- CMPXCHG = 104,
106
- CMPXCHG8B = 105,
107
- COMISD = 106,
108
- COMISS = 107,
109
- FCOMP = 108,
110
- FCOMPI = 109,
111
- FCOMI = 110,
112
- FCOM = 111,
113
- FCOS = 112,
114
- CPUID = 113,
115
- CQO = 114,
116
- CRC32 = 115,
117
- CVTDQ2PD = 116,
118
- CVTDQ2PS = 117,
119
- CVTPD2DQ = 118,
120
- CVTPD2PS = 119,
121
- CVTPS2DQ = 120,
122
- CVTPS2PD = 121,
123
- CVTSD2SI = 122,
124
- CVTSD2SS = 123,
125
- CVTSI2SD = 124,
126
- CVTSI2SS = 125,
127
- CVTSS2SD = 126,
128
- CVTSS2SI = 127,
129
- CVTTPD2DQ = 128,
130
- CVTTPS2DQ = 129,
131
- CVTTSD2SI = 130,
132
- CVTTSS2SI = 131,
133
- CWD = 132,
134
- CWDE = 133,
135
- DAA = 134,
136
- DAS = 135,
137
- DATA16 = 136,
138
- DEC = 137,
139
- DIV = 138,
140
- DIVPD = 139,
141
- DIVPS = 140,
142
- FDIVR = 141,
143
- FIDIVR = 142,
144
- FDIVRP = 143,
145
- DIVSD = 144,
146
- DIVSS = 145,
147
- FDIV = 146,
148
- FIDIV = 147,
149
- FDIVP = 148,
150
- DPPD = 149,
151
- DPPS = 150,
152
- RET = 151,
153
- ENCLS = 152,
154
- ENCLU = 153,
155
- ENTER = 154,
156
- EXTRACTPS = 155,
157
- EXTRQ = 156,
158
- F2XM1 = 157,
159
- LCALL = 158,
160
- LJMP = 159,
161
- FBLD = 160,
162
- FBSTP = 161,
163
- FCOMPP = 162,
164
- FDECSTP = 163,
165
- FEMMS = 164,
166
- FFREE = 165,
167
- FICOM = 166,
168
- FICOMP = 167,
169
- FINCSTP = 168,
170
- FLDCW = 169,
171
- FLDENV = 170,
172
- FLDL2E = 171,
173
- FLDL2T = 172,
174
- FLDLG2 = 173,
175
- FLDLN2 = 174,
176
- FLDPI = 175,
177
- FNCLEX = 176,
178
- FNINIT = 177,
179
- FNOP = 178,
180
- FNSTCW = 179,
181
- FNSTSW = 180,
182
- FPATAN = 181,
183
- FPREM = 182,
184
- FPREM1 = 183,
185
- FPTAN = 184,
186
- FFREEP = 185,
187
- FRNDINT = 186,
188
- FRSTOR = 187,
189
- FNSAVE = 188,
190
- FSCALE = 189,
191
- FSETPM = 190,
192
- FSINCOS = 191,
193
- FNSTENV = 192,
194
- FXAM = 193,
195
- FXRSTOR = 194,
196
- FXRSTOR64 = 195,
197
- FXSAVE = 196,
198
- FXSAVE64 = 197,
199
- FXTRACT = 198,
200
- FYL2X = 199,
201
- FYL2XP1 = 200,
202
- MOVAPD = 201,
203
- MOVAPS = 202,
204
- ORPD = 203,
205
- ORPS = 204,
206
- VMOVAPD = 205,
207
- VMOVAPS = 206,
208
- XORPD = 207,
209
- XORPS = 208,
210
- GETSEC = 209,
211
- HADDPD = 210,
212
- HADDPS = 211,
213
- HLT = 212,
214
- HSUBPD = 213,
215
- HSUBPS = 214,
216
- IDIV = 215,
217
- FILD = 216,
218
- IMUL = 217,
219
- IN = 218,
220
- INC = 219,
221
- INSB = 220,
222
- INSERTPS = 221,
223
- INSERTQ = 222,
224
- INSD = 223,
225
- INSW = 224,
226
- INT = 225,
227
- INT1 = 226,
228
- INT3 = 227,
229
- INTO = 228,
230
- INVD = 229,
231
- INVEPT = 230,
232
- INVLPG = 231,
233
- INVLPGA = 232,
234
- INVPCID = 233,
235
- INVVPID = 234,
236
- IRET = 235,
237
- IRETD = 236,
238
- IRETQ = 237,
239
- FISTTP = 238,
240
- FIST = 239,
241
- FISTP = 240,
242
- UCOMISD = 241,
243
- UCOMISS = 242,
244
- VCOMISD = 243,
245
- VCOMISS = 244,
246
- VCVTSD2SS = 245,
247
- VCVTSI2SD = 246,
248
- VCVTSI2SS = 247,
249
- VCVTSS2SD = 248,
250
- VCVTTSD2SI = 249,
251
- VCVTTSD2USI = 250,
252
- VCVTTSS2SI = 251,
253
- VCVTTSS2USI = 252,
254
- VCVTUSI2SD = 253,
255
- VCVTUSI2SS = 254,
256
- VUCOMISD = 255,
257
- VUCOMISS = 256,
258
- JAE = 257,
259
- JA = 258,
260
- JBE = 259,
261
- JB = 260,
262
- JCXZ = 261,
263
- JECXZ = 262,
264
- JE = 263,
265
- JGE = 264,
266
- JG = 265,
267
- JLE = 266,
268
- JL = 267,
269
- JMP = 268,
270
- JNE = 269,
271
- JNO = 270,
272
- JNP = 271,
273
- JNS = 272,
274
- JO = 273,
275
- JP = 274,
276
- JRCXZ = 275,
277
- JS = 276,
278
- KANDB = 277,
279
- KANDD = 278,
280
- KANDNB = 279,
281
- KANDND = 280,
282
- KANDNQ = 281,
283
- KANDNW = 282,
284
- KANDQ = 283,
285
- KANDW = 284,
286
- KMOVB = 285,
287
- KMOVD = 286,
288
- KMOVQ = 287,
289
- KMOVW = 288,
290
- KNOTB = 289,
291
- KNOTD = 290,
292
- KNOTQ = 291,
293
- KNOTW = 292,
294
- KORB = 293,
295
- KORD = 294,
296
- KORQ = 295,
297
- KORTESTB = 296,
298
- KORTESTD = 297,
299
- KORTESTQ = 298,
300
- KORTESTW = 299,
301
- KORW = 300,
302
- KSHIFTLB = 301,
303
- KSHIFTLD = 302,
304
- KSHIFTLQ = 303,
305
- KSHIFTLW = 304,
306
- KSHIFTRB = 305,
307
- KSHIFTRD = 306,
308
- KSHIFTRQ = 307,
309
- KSHIFTRW = 308,
310
- KUNPCKBW = 309,
311
- KXNORB = 310,
312
- KXNORD = 311,
313
- KXNORQ = 312,
314
- KXNORW = 313,
315
- KXORB = 314,
316
- KXORD = 315,
317
- KXORQ = 316,
318
- KXORW = 317,
319
- LAHF = 318,
320
- LAR = 319,
321
- LDDQU = 320,
322
- LDMXCSR = 321,
323
- LDS = 322,
324
- FLDZ = 323,
325
- FLD1 = 324,
326
- FLD = 325,
327
- LEA = 326,
328
- LEAVE = 327,
329
- LES = 328,
330
- LFENCE = 329,
331
- LFS = 330,
332
- LGDT = 331,
333
- LGS = 332,
334
- LIDT = 333,
335
- LLDT = 334,
336
- LMSW = 335,
337
- OR = 336,
338
- SUB = 337,
339
- XOR = 338,
340
- LODSB = 339,
341
- LODSD = 340,
342
- LODSQ = 341,
343
- LODSW = 342,
344
- LOOP = 343,
345
- LOOPE = 344,
346
- LOOPNE = 345,
347
- RETF = 346,
348
- RETFQ = 347,
349
- LSL = 348,
350
- LSS = 349,
351
- LTR = 350,
352
- XADD = 351,
353
- LZCNT = 352,
354
- MASKMOVDQU = 353,
355
- MAXPD = 354,
356
- MAXPS = 355,
357
- MAXSD = 356,
358
- MAXSS = 357,
359
- MFENCE = 358,
360
- MINPD = 359,
361
- MINPS = 360,
362
- MINSD = 361,
363
- MINSS = 362,
364
- CVTPD2PI = 363,
365
- CVTPI2PD = 364,
366
- CVTPI2PS = 365,
367
- CVTPS2PI = 366,
368
- CVTTPD2PI = 367,
369
- CVTTPS2PI = 368,
370
- EMMS = 369,
371
- MASKMOVQ = 370,
372
- MOVD = 371,
373
- MOVDQ2Q = 372,
374
- MOVNTQ = 373,
375
- MOVQ2DQ = 374,
376
- MOVQ = 375,
377
- PABSB = 376,
378
- PABSD = 377,
379
- PABSW = 378,
380
- PACKSSDW = 379,
381
- PACKSSWB = 380,
382
- PACKUSWB = 381,
383
- PADDB = 382,
384
- PADDD = 383,
385
- PADDQ = 384,
386
- PADDSB = 385,
387
- PADDSW = 386,
388
- PADDUSB = 387,
389
- PADDUSW = 388,
390
- PADDW = 389,
391
- PALIGNR = 390,
392
- PANDN = 391,
393
- PAND = 392,
394
- PAVGB = 393,
395
- PAVGW = 394,
396
- PCMPEQB = 395,
397
- PCMPEQD = 396,
398
- PCMPEQW = 397,
399
- PCMPGTB = 398,
400
- PCMPGTD = 399,
401
- PCMPGTW = 400,
402
- PEXTRW = 401,
403
- PHADDSW = 402,
404
- PHADDW = 403,
405
- PHADDD = 404,
406
- PHSUBD = 405,
407
- PHSUBSW = 406,
408
- PHSUBW = 407,
409
- PINSRW = 408,
410
- PMADDUBSW = 409,
411
- PMADDWD = 410,
412
- PMAXSW = 411,
413
- PMAXUB = 412,
414
- PMINSW = 413,
415
- PMINUB = 414,
416
- PMOVMSKB = 415,
417
- PMULHRSW = 416,
418
- PMULHUW = 417,
419
- PMULHW = 418,
420
- PMULLW = 419,
421
- PMULUDQ = 420,
422
- POR = 421,
423
- PSADBW = 422,
424
- PSHUFB = 423,
425
- PSHUFW = 424,
426
- PSIGNB = 425,
427
- PSIGND = 426,
428
- PSIGNW = 427,
429
- PSLLD = 428,
430
- PSLLQ = 429,
431
- PSLLW = 430,
432
- PSRAD = 431,
433
- PSRAW = 432,
434
- PSRLD = 433,
435
- PSRLQ = 434,
436
- PSRLW = 435,
437
- PSUBB = 436,
438
- PSUBD = 437,
439
- PSUBQ = 438,
440
- PSUBSB = 439,
441
- PSUBSW = 440,
442
- PSUBUSB = 441,
443
- PSUBUSW = 442,
444
- PSUBW = 443,
445
- PUNPCKHBW = 444,
446
- PUNPCKHDQ = 445,
447
- PUNPCKHWD = 446,
448
- PUNPCKLBW = 447,
449
- PUNPCKLDQ = 448,
450
- PUNPCKLWD = 449,
451
- PXOR = 450,
452
- MONITOR = 451,
453
- MONTMUL = 452,
454
- MOV = 453,
455
- MOVABS = 454,
456
- MOVBE = 455,
457
- MOVDDUP = 456,
458
- MOVDQA = 457,
459
- MOVDQU = 458,
460
- MOVHLPS = 459,
461
- MOVHPD = 460,
462
- MOVHPS = 461,
463
- MOVLHPS = 462,
464
- MOVLPD = 463,
465
- MOVLPS = 464,
466
- MOVMSKPD = 465,
467
- MOVMSKPS = 466,
468
- MOVNTDQA = 467,
469
- MOVNTDQ = 468,
470
- MOVNTI = 469,
471
- MOVNTPD = 470,
472
- MOVNTPS = 471,
473
- MOVNTSD = 472,
474
- MOVNTSS = 473,
475
- MOVSB = 474,
476
- MOVSD = 475,
477
- MOVSHDUP = 476,
478
- MOVSLDUP = 477,
479
- MOVSQ = 478,
480
- MOVSS = 479,
481
- MOVSW = 480,
482
- MOVSX = 481,
483
- MOVSXD = 482,
484
- MOVUPD = 483,
485
- MOVUPS = 484,
486
- MOVZX = 485,
487
- MPSADBW = 486,
488
- MUL = 487,
489
- MULPD = 488,
490
- MULPS = 489,
491
- MULSD = 490,
492
- MULSS = 491,
493
- MULX = 492,
494
- FMUL = 493,
495
- FIMUL = 494,
496
- FMULP = 495,
497
- MWAIT = 496,
498
- NEG = 497,
499
- NOP = 498,
500
- NOT = 499,
501
- OUT = 500,
502
- OUTSB = 501,
503
- OUTSD = 502,
504
- OUTSW = 503,
505
- PACKUSDW = 504,
506
- PAUSE = 505,
507
- PAVGUSB = 506,
508
- PBLENDVB = 507,
509
- PBLENDW = 508,
510
- PCLMULQDQ = 509,
511
- PCMPEQQ = 510,
512
- PCMPESTRI = 511,
513
- PCMPESTRM = 512,
514
- PCMPGTQ = 513,
515
- PCMPISTRI = 514,
516
- PCMPISTRM = 515,
517
- PCOMMIT = 516,
518
- PDEP = 517,
519
- PEXT = 518,
520
- PEXTRB = 519,
521
- PEXTRD = 520,
522
- PEXTRQ = 521,
523
- PF2ID = 522,
524
- PF2IW = 523,
525
- PFACC = 524,
526
- PFADD = 525,
527
- PFCMPEQ = 526,
528
- PFCMPGE = 527,
529
- PFCMPGT = 528,
530
- PFMAX = 529,
531
- PFMIN = 530,
532
- PFMUL = 531,
533
- PFNACC = 532,
534
- PFPNACC = 533,
535
- PFRCPIT1 = 534,
536
- PFRCPIT2 = 535,
537
- PFRCP = 536,
538
- PFRSQIT1 = 537,
539
- PFRSQRT = 538,
540
- PFSUBR = 539,
541
- PFSUB = 540,
542
- PHMINPOSUW = 541,
543
- PI2FD = 542,
544
- PI2FW = 543,
545
- PINSRB = 544,
546
- PINSRD = 545,
547
- PINSRQ = 546,
548
- PMAXSB = 547,
549
- PMAXSD = 548,
550
- PMAXUD = 549,
551
- PMAXUW = 550,
552
- PMINSB = 551,
553
- PMINSD = 552,
554
- PMINUD = 553,
555
- PMINUW = 554,
556
- PMOVSXBD = 555,
557
- PMOVSXBQ = 556,
558
- PMOVSXBW = 557,
559
- PMOVSXDQ = 558,
560
- PMOVSXWD = 559,
561
- PMOVSXWQ = 560,
562
- PMOVZXBD = 561,
563
- PMOVZXBQ = 562,
564
- PMOVZXBW = 563,
565
- PMOVZXDQ = 564,
566
- PMOVZXWD = 565,
567
- PMOVZXWQ = 566,
568
- PMULDQ = 567,
569
- PMULHRW = 568,
570
- PMULLD = 569,
571
- POP = 570,
572
- POPAW = 571,
573
- POPAL = 572,
574
- POPCNT = 573,
575
- POPF = 574,
576
- POPFD = 575,
577
- POPFQ = 576,
578
- PREFETCH = 577,
579
- PREFETCHNTA = 578,
580
- PREFETCHT0 = 579,
581
- PREFETCHT1 = 580,
582
- PREFETCHT2 = 581,
583
- PREFETCHW = 582,
584
- PSHUFD = 583,
585
- PSHUFHW = 584,
586
- PSHUFLW = 585,
587
- PSLLDQ = 586,
588
- PSRLDQ = 587,
589
- PSWAPD = 588,
590
- PTEST = 589,
591
- PUNPCKHQDQ = 590,
592
- PUNPCKLQDQ = 591,
593
- PUSH = 592,
594
- PUSHAW = 593,
595
- PUSHAL = 594,
596
- PUSHF = 595,
597
- PUSHFD = 596,
598
- PUSHFQ = 597,
599
- RCL = 598,
600
- RCPPS = 599,
601
- RCPSS = 600,
602
- RCR = 601,
603
- RDFSBASE = 602,
604
- RDGSBASE = 603,
605
- RDMSR = 604,
606
- RDPMC = 605,
607
- RDRAND = 606,
608
- RDSEED = 607,
609
- RDTSC = 608,
610
- RDTSCP = 609,
611
- ROL = 610,
612
- ROR = 611,
613
- RORX = 612,
614
- ROUNDPD = 613,
615
- ROUNDPS = 614,
616
- ROUNDSD = 615,
617
- ROUNDSS = 616,
618
- RSM = 617,
619
- RSQRTPS = 618,
620
- RSQRTSS = 619,
621
- SAHF = 620,
622
- SAL = 621,
623
- SALC = 622,
624
- SAR = 623,
625
- SARX = 624,
626
- SBB = 625,
627
- SCASB = 626,
628
- SCASD = 627,
629
- SCASQ = 628,
630
- SCASW = 629,
631
- SETAE = 630,
632
- SETA = 631,
633
- SETBE = 632,
634
- SETB = 633,
635
- SETE = 634,
636
- SETGE = 635,
637
- SETG = 636,
638
- SETLE = 637,
639
- SETL = 638,
640
- SETNE = 639,
641
- SETNO = 640,
642
- SETNP = 641,
643
- SETNS = 642,
644
- SETO = 643,
645
- SETP = 644,
646
- SETS = 645,
647
- SFENCE = 646,
648
- SGDT = 647,
649
- SHA1MSG1 = 648,
650
- SHA1MSG2 = 649,
651
- SHA1NEXTE = 650,
652
- SHA1RNDS4 = 651,
653
- SHA256MSG1 = 652,
654
- SHA256MSG2 = 653,
655
- SHA256RNDS2 = 654,
656
- SHL = 655,
657
- SHLD = 656,
658
- SHLX = 657,
659
- SHR = 658,
660
- SHRD = 659,
661
- SHRX = 660,
662
- SHUFPD = 661,
663
- SHUFPS = 662,
664
- SIDT = 663,
665
- FSIN = 664,
666
- SKINIT = 665,
667
- SLDT = 666,
668
- SMSW = 667,
669
- SQRTPD = 668,
670
- SQRTPS = 669,
671
- SQRTSD = 670,
672
- SQRTSS = 671,
673
- FSQRT = 672,
674
- STAC = 673,
675
- STC = 674,
676
- STD = 675,
677
- STGI = 676,
678
- STI = 677,
679
- STMXCSR = 678,
680
- STOSB = 679,
681
- STOSD = 680,
682
- STOSQ = 681,
683
- STOSW = 682,
684
- STR = 683,
685
- FST = 684,
686
- FSTP = 685,
687
- FSTPNCE = 686,
688
- FXCH = 687,
689
- SUBPD = 688,
690
- SUBPS = 689,
691
- FSUBR = 690,
692
- FISUBR = 691,
693
- FSUBRP = 692,
694
- SUBSD = 693,
695
- SUBSS = 694,
696
- FSUB = 695,
697
- FISUB = 696,
698
- FSUBP = 697,
699
- SWAPGS = 698,
700
- SYSCALL = 699,
701
- SYSENTER = 700,
702
- SYSEXIT = 701,
703
- SYSRET = 702,
704
- T1MSKC = 703,
705
- TEST = 704,
706
- UD2 = 705,
707
- FTST = 706,
708
- TZCNT = 707,
709
- TZMSK = 708,
710
- FUCOMPI = 709,
711
- FUCOMI = 710,
712
- FUCOMPP = 711,
713
- FUCOMP = 712,
714
- FUCOM = 713,
715
- UD2B = 714,
716
- UNPCKHPD = 715,
717
- UNPCKHPS = 716,
718
- UNPCKLPD = 717,
719
- UNPCKLPS = 718,
720
- VADDPD = 719,
721
- VADDPS = 720,
722
- VADDSD = 721,
723
- VADDSS = 722,
724
- VADDSUBPD = 723,
725
- VADDSUBPS = 724,
726
- VAESDECLAST = 725,
727
- VAESDEC = 726,
728
- VAESENCLAST = 727,
729
- VAESENC = 728,
730
- VAESIMC = 729,
731
- VAESKEYGENASSIST = 730,
732
- VALIGND = 731,
733
- VALIGNQ = 732,
734
- VANDNPD = 733,
735
- VANDNPS = 734,
736
- VANDPD = 735,
737
- VANDPS = 736,
738
- VBLENDMPD = 737,
739
- VBLENDMPS = 738,
740
- VBLENDPD = 739,
741
- VBLENDPS = 740,
742
- VBLENDVPD = 741,
743
- VBLENDVPS = 742,
744
- VBROADCASTF128 = 743,
745
- VBROADCASTI32X4 = 744,
746
- VBROADCASTI64X4 = 745,
747
- VBROADCASTSD = 746,
748
- VBROADCASTSS = 747,
749
- VCMPPD = 748,
750
- VCMPPS = 749,
751
- VCMPSD = 750,
752
- VCMPSS = 751,
753
- VCOMPRESSPD = 752,
754
- VCOMPRESSPS = 753,
755
- VCVTDQ2PD = 754,
756
- VCVTDQ2PS = 755,
757
- VCVTPD2DQX = 756,
758
- VCVTPD2DQ = 757,
759
- VCVTPD2PSX = 758,
760
- VCVTPD2PS = 759,
761
- VCVTPD2UDQ = 760,
762
- VCVTPH2PS = 761,
763
- VCVTPS2DQ = 762,
764
- VCVTPS2PD = 763,
765
- VCVTPS2PH = 764,
766
- VCVTPS2UDQ = 765,
767
- VCVTSD2SI = 766,
768
- VCVTSD2USI = 767,
769
- VCVTSS2SI = 768,
770
- VCVTSS2USI = 769,
771
- VCVTTPD2DQX = 770,
772
- VCVTTPD2DQ = 771,
773
- VCVTTPD2UDQ = 772,
774
- VCVTTPS2DQ = 773,
775
- VCVTTPS2UDQ = 774,
776
- VCVTUDQ2PD = 775,
777
- VCVTUDQ2PS = 776,
778
- VDIVPD = 777,
779
- VDIVPS = 778,
780
- VDIVSD = 779,
781
- VDIVSS = 780,
782
- VDPPD = 781,
783
- VDPPS = 782,
784
- VERR = 783,
785
- VERW = 784,
786
- VEXP2PD = 785,
787
- VEXP2PS = 786,
788
- VEXPANDPD = 787,
789
- VEXPANDPS = 788,
790
- VEXTRACTF128 = 789,
791
- VEXTRACTF32X4 = 790,
792
- VEXTRACTF64X4 = 791,
793
- VEXTRACTI128 = 792,
794
- VEXTRACTI32X4 = 793,
795
- VEXTRACTI64X4 = 794,
796
- VEXTRACTPS = 795,
797
- VFMADD132PD = 796,
798
- VFMADD132PS = 797,
799
- VFMADDPD = 798,
800
- VFMADD213PD = 799,
801
- VFMADD231PD = 800,
802
- VFMADDPS = 801,
803
- VFMADD213PS = 802,
804
- VFMADD231PS = 803,
805
- VFMADDSD = 804,
806
- VFMADD213SD = 805,
807
- VFMADD132SD = 806,
808
- VFMADD231SD = 807,
809
- VFMADDSS = 808,
810
- VFMADD213SS = 809,
811
- VFMADD132SS = 810,
812
- VFMADD231SS = 811,
813
- VFMADDSUB132PD = 812,
814
- VFMADDSUB132PS = 813,
815
- VFMADDSUBPD = 814,
816
- VFMADDSUB213PD = 815,
817
- VFMADDSUB231PD = 816,
818
- VFMADDSUBPS = 817,
819
- VFMADDSUB213PS = 818,
820
- VFMADDSUB231PS = 819,
821
- VFMSUB132PD = 820,
822
- VFMSUB132PS = 821,
823
- VFMSUBADD132PD = 822,
824
- VFMSUBADD132PS = 823,
825
- VFMSUBADDPD = 824,
826
- VFMSUBADD213PD = 825,
827
- VFMSUBADD231PD = 826,
828
- VFMSUBADDPS = 827,
829
- VFMSUBADD213PS = 828,
830
- VFMSUBADD231PS = 829,
831
- VFMSUBPD = 830,
832
- VFMSUB213PD = 831,
833
- VFMSUB231PD = 832,
834
- VFMSUBPS = 833,
835
- VFMSUB213PS = 834,
836
- VFMSUB231PS = 835,
837
- VFMSUBSD = 836,
838
- VFMSUB213SD = 837,
839
- VFMSUB132SD = 838,
840
- VFMSUB231SD = 839,
841
- VFMSUBSS = 840,
842
- VFMSUB213SS = 841,
843
- VFMSUB132SS = 842,
844
- VFMSUB231SS = 843,
845
- VFNMADD132PD = 844,
846
- VFNMADD132PS = 845,
847
- VFNMADDPD = 846,
848
- VFNMADD213PD = 847,
849
- VFNMADD231PD = 848,
850
- VFNMADDPS = 849,
851
- VFNMADD213PS = 850,
852
- VFNMADD231PS = 851,
853
- VFNMADDSD = 852,
854
- VFNMADD213SD = 853,
855
- VFNMADD132SD = 854,
856
- VFNMADD231SD = 855,
857
- VFNMADDSS = 856,
858
- VFNMADD213SS = 857,
859
- VFNMADD132SS = 858,
860
- VFNMADD231SS = 859,
861
- VFNMSUB132PD = 860,
862
- VFNMSUB132PS = 861,
863
- VFNMSUBPD = 862,
864
- VFNMSUB213PD = 863,
865
- VFNMSUB231PD = 864,
866
- VFNMSUBPS = 865,
867
- VFNMSUB213PS = 866,
868
- VFNMSUB231PS = 867,
869
- VFNMSUBSD = 868,
870
- VFNMSUB213SD = 869,
871
- VFNMSUB132SD = 870,
872
- VFNMSUB231SD = 871,
873
- VFNMSUBSS = 872,
874
- VFNMSUB213SS = 873,
875
- VFNMSUB132SS = 874,
876
- VFNMSUB231SS = 875,
877
- VFRCZPD = 876,
878
- VFRCZPS = 877,
879
- VFRCZSD = 878,
880
- VFRCZSS = 879,
881
- VORPD = 880,
882
- VORPS = 881,
883
- VXORPD = 882,
884
- VXORPS = 883,
885
- VGATHERDPD = 884,
886
- VGATHERDPS = 885,
887
- VGATHERPF0DPD = 886,
888
- VGATHERPF0DPS = 887,
889
- VGATHERPF0QPD = 888,
890
- VGATHERPF0QPS = 889,
891
- VGATHERPF1DPD = 890,
892
- VGATHERPF1DPS = 891,
893
- VGATHERPF1QPD = 892,
894
- VGATHERPF1QPS = 893,
895
- VGATHERQPD = 894,
896
- VGATHERQPS = 895,
897
- VHADDPD = 896,
898
- VHADDPS = 897,
899
- VHSUBPD = 898,
900
- VHSUBPS = 899,
901
- VINSERTF128 = 900,
902
- VINSERTF32X4 = 901,
903
- VINSERTF32X8 = 902,
904
- VINSERTF64X2 = 903,
905
- VINSERTF64X4 = 904,
906
- VINSERTI128 = 905,
907
- VINSERTI32X4 = 906,
908
- VINSERTI32X8 = 907,
909
- VINSERTI64X2 = 908,
910
- VINSERTI64X4 = 909,
911
- VINSERTPS = 910,
912
- VLDDQU = 911,
913
- VLDMXCSR = 912,
914
- VMASKMOVDQU = 913,
915
- VMASKMOVPD = 914,
916
- VMASKMOVPS = 915,
917
- VMAXPD = 916,
918
- VMAXPS = 917,
919
- VMAXSD = 918,
920
- VMAXSS = 919,
921
- VMCALL = 920,
922
- VMCLEAR = 921,
923
- VMFUNC = 922,
924
- VMINPD = 923,
925
- VMINPS = 924,
926
- VMINSD = 925,
927
- VMINSS = 926,
928
- VMLAUNCH = 927,
929
- VMLOAD = 928,
930
- VMMCALL = 929,
931
- VMOVQ = 930,
932
- VMOVDDUP = 931,
933
- VMOVD = 932,
934
- VMOVDQA32 = 933,
935
- VMOVDQA64 = 934,
936
- VMOVDQA = 935,
937
- VMOVDQU16 = 936,
938
- VMOVDQU32 = 937,
939
- VMOVDQU64 = 938,
940
- VMOVDQU8 = 939,
941
- VMOVDQU = 940,
942
- VMOVHLPS = 941,
943
- VMOVHPD = 942,
944
- VMOVHPS = 943,
945
- VMOVLHPS = 944,
946
- VMOVLPD = 945,
947
- VMOVLPS = 946,
948
- VMOVMSKPD = 947,
949
- VMOVMSKPS = 948,
950
- VMOVNTDQA = 949,
951
- VMOVNTDQ = 950,
952
- VMOVNTPD = 951,
953
- VMOVNTPS = 952,
954
- VMOVSD = 953,
955
- VMOVSHDUP = 954,
956
- VMOVSLDUP = 955,
957
- VMOVSS = 956,
958
- VMOVUPD = 957,
959
- VMOVUPS = 958,
960
- VMPSADBW = 959,
961
- VMPTRLD = 960,
962
- VMPTRST = 961,
963
- VMREAD = 962,
964
- VMRESUME = 963,
965
- VMRUN = 964,
966
- VMSAVE = 965,
967
- VMULPD = 966,
968
- VMULPS = 967,
969
- VMULSD = 968,
970
- VMULSS = 969,
971
- VMWRITE = 970,
972
- VMXOFF = 971,
973
- VMXON = 972,
974
- VPABSB = 973,
975
- VPABSD = 974,
976
- VPABSQ = 975,
977
- VPABSW = 976,
978
- VPACKSSDW = 977,
979
- VPACKSSWB = 978,
980
- VPACKUSDW = 979,
981
- VPACKUSWB = 980,
982
- VPADDB = 981,
983
- VPADDD = 982,
984
- VPADDQ = 983,
985
- VPADDSB = 984,
986
- VPADDSW = 985,
987
- VPADDUSB = 986,
988
- VPADDUSW = 987,
989
- VPADDW = 988,
990
- VPALIGNR = 989,
991
- VPANDD = 990,
992
- VPANDND = 991,
993
- VPANDNQ = 992,
994
- VPANDN = 993,
995
- VPANDQ = 994,
996
- VPAND = 995,
997
- VPAVGB = 996,
998
- VPAVGW = 997,
999
- VPBLENDD = 998,
1000
- VPBLENDMB = 999,
1001
- VPBLENDMD = 1000,
1002
- VPBLENDMQ = 1001,
1003
- VPBLENDMW = 1002,
1004
- VPBLENDVB = 1003,
1005
- VPBLENDW = 1004,
1006
- VPBROADCASTB = 1005,
1007
- VPBROADCASTD = 1006,
1008
- VPBROADCASTMB2Q = 1007,
1009
- VPBROADCASTMW2D = 1008,
1010
- VPBROADCASTQ = 1009,
1011
- VPBROADCASTW = 1010,
1012
- VPCLMULQDQ = 1011,
1013
- VPCMOV = 1012,
1014
- VPCMPB = 1013,
1015
- VPCMPD = 1014,
1016
- VPCMPEQB = 1015,
1017
- VPCMPEQD = 1016,
1018
- VPCMPEQQ = 1017,
1019
- VPCMPEQW = 1018,
1020
- VPCMPESTRI = 1019,
1021
- VPCMPESTRM = 1020,
1022
- VPCMPGTB = 1021,
1023
- VPCMPGTD = 1022,
1024
- VPCMPGTQ = 1023,
1025
- VPCMPGTW = 1024,
1026
- VPCMPISTRI = 1025,
1027
- VPCMPISTRM = 1026,
1028
- VPCMPQ = 1027,
1029
- VPCMPUB = 1028,
1030
- VPCMPUD = 1029,
1031
- VPCMPUQ = 1030,
1032
- VPCMPUW = 1031,
1033
- VPCMPW = 1032,
1034
- VPCOMB = 1033,
1035
- VPCOMD = 1034,
1036
- VPCOMPRESSD = 1035,
1037
- VPCOMPRESSQ = 1036,
1038
- VPCOMQ = 1037,
1039
- VPCOMUB = 1038,
1040
- VPCOMUD = 1039,
1041
- VPCOMUQ = 1040,
1042
- VPCOMUW = 1041,
1043
- VPCOMW = 1042,
1044
- VPCONFLICTD = 1043,
1045
- VPCONFLICTQ = 1044,
1046
- VPERM2F128 = 1045,
1047
- VPERM2I128 = 1046,
1048
- VPERMD = 1047,
1049
- VPERMI2D = 1048,
1050
- VPERMI2PD = 1049,
1051
- VPERMI2PS = 1050,
1052
- VPERMI2Q = 1051,
1053
- VPERMIL2PD = 1052,
1054
- VPERMIL2PS = 1053,
1055
- VPERMILPD = 1054,
1056
- VPERMILPS = 1055,
1057
- VPERMPD = 1056,
1058
- VPERMPS = 1057,
1059
- VPERMQ = 1058,
1060
- VPERMT2D = 1059,
1061
- VPERMT2PD = 1060,
1062
- VPERMT2PS = 1061,
1063
- VPERMT2Q = 1062,
1064
- VPEXPANDD = 1063,
1065
- VPEXPANDQ = 1064,
1066
- VPEXTRB = 1065,
1067
- VPEXTRD = 1066,
1068
- VPEXTRQ = 1067,
1069
- VPEXTRW = 1068,
1070
- VPGATHERDD = 1069,
1071
- VPGATHERDQ = 1070,
1072
- VPGATHERQD = 1071,
1073
- VPGATHERQQ = 1072,
1074
- VPHADDBD = 1073,
1075
- VPHADDBQ = 1074,
1076
- VPHADDBW = 1075,
1077
- VPHADDDQ = 1076,
1078
- VPHADDD = 1077,
1079
- VPHADDSW = 1078,
1080
- VPHADDUBD = 1079,
1081
- VPHADDUBQ = 1080,
1082
- VPHADDUBW = 1081,
1083
- VPHADDUDQ = 1082,
1084
- VPHADDUWD = 1083,
1085
- VPHADDUWQ = 1084,
1086
- VPHADDWD = 1085,
1087
- VPHADDWQ = 1086,
1088
- VPHADDW = 1087,
1089
- VPHMINPOSUW = 1088,
1090
- VPHSUBBW = 1089,
1091
- VPHSUBDQ = 1090,
1092
- VPHSUBD = 1091,
1093
- VPHSUBSW = 1092,
1094
- VPHSUBWD = 1093,
1095
- VPHSUBW = 1094,
1096
- VPINSRB = 1095,
1097
- VPINSRD = 1096,
1098
- VPINSRQ = 1097,
1099
- VPINSRW = 1098,
1100
- VPLZCNTD = 1099,
1101
- VPLZCNTQ = 1100,
1102
- VPMACSDD = 1101,
1103
- VPMACSDQH = 1102,
1104
- VPMACSDQL = 1103,
1105
- VPMACSSDD = 1104,
1106
- VPMACSSDQH = 1105,
1107
- VPMACSSDQL = 1106,
1108
- VPMACSSWD = 1107,
1109
- VPMACSSWW = 1108,
1110
- VPMACSWD = 1109,
1111
- VPMACSWW = 1110,
1112
- VPMADCSSWD = 1111,
1113
- VPMADCSWD = 1112,
1114
- VPMADDUBSW = 1113,
1115
- VPMADDWD = 1114,
1116
- VPMASKMOVD = 1115,
1117
- VPMASKMOVQ = 1116,
1118
- VPMAXSB = 1117,
1119
- VPMAXSD = 1118,
1120
- VPMAXSQ = 1119,
1121
- VPMAXSW = 1120,
1122
- VPMAXUB = 1121,
1123
- VPMAXUD = 1122,
1124
- VPMAXUQ = 1123,
1125
- VPMAXUW = 1124,
1126
- VPMINSB = 1125,
1127
- VPMINSD = 1126,
1128
- VPMINSQ = 1127,
1129
- VPMINSW = 1128,
1130
- VPMINUB = 1129,
1131
- VPMINUD = 1130,
1132
- VPMINUQ = 1131,
1133
- VPMINUW = 1132,
1134
- VPMOVDB = 1133,
1135
- VPMOVDW = 1134,
1136
- VPMOVM2B = 1135,
1137
- VPMOVM2D = 1136,
1138
- VPMOVM2Q = 1137,
1139
- VPMOVM2W = 1138,
1140
- VPMOVMSKB = 1139,
1141
- VPMOVQB = 1140,
1142
- VPMOVQD = 1141,
1143
- VPMOVQW = 1142,
1144
- VPMOVSDB = 1143,
1145
- VPMOVSDW = 1144,
1146
- VPMOVSQB = 1145,
1147
- VPMOVSQD = 1146,
1148
- VPMOVSQW = 1147,
1149
- VPMOVSXBD = 1148,
1150
- VPMOVSXBQ = 1149,
1151
- VPMOVSXBW = 1150,
1152
- VPMOVSXDQ = 1151,
1153
- VPMOVSXWD = 1152,
1154
- VPMOVSXWQ = 1153,
1155
- VPMOVUSDB = 1154,
1156
- VPMOVUSDW = 1155,
1157
- VPMOVUSQB = 1156,
1158
- VPMOVUSQD = 1157,
1159
- VPMOVUSQW = 1158,
1160
- VPMOVZXBD = 1159,
1161
- VPMOVZXBQ = 1160,
1162
- VPMOVZXBW = 1161,
1163
- VPMOVZXDQ = 1162,
1164
- VPMOVZXWD = 1163,
1165
- VPMOVZXWQ = 1164,
1166
- VPMULDQ = 1165,
1167
- VPMULHRSW = 1166,
1168
- VPMULHUW = 1167,
1169
- VPMULHW = 1168,
1170
- VPMULLD = 1169,
1171
- VPMULLQ = 1170,
1172
- VPMULLW = 1171,
1173
- VPMULUDQ = 1172,
1174
- VPORD = 1173,
1175
- VPORQ = 1174,
1176
- VPOR = 1175,
1177
- VPPERM = 1176,
1178
- VPROTB = 1177,
1179
- VPROTD = 1178,
1180
- VPROTQ = 1179,
1181
- VPROTW = 1180,
1182
- VPSADBW = 1181,
1183
- VPSCATTERDD = 1182,
1184
- VPSCATTERDQ = 1183,
1185
- VPSCATTERQD = 1184,
1186
- VPSCATTERQQ = 1185,
1187
- VPSHAB = 1186,
1188
- VPSHAD = 1187,
1189
- VPSHAQ = 1188,
1190
- VPSHAW = 1189,
1191
- VPSHLB = 1190,
1192
- VPSHLD = 1191,
1193
- VPSHLQ = 1192,
1194
- VPSHLW = 1193,
1195
- VPSHUFB = 1194,
1196
- VPSHUFD = 1195,
1197
- VPSHUFHW = 1196,
1198
- VPSHUFLW = 1197,
1199
- VPSIGNB = 1198,
1200
- VPSIGND = 1199,
1201
- VPSIGNW = 1200,
1202
- VPSLLDQ = 1201,
1203
- VPSLLD = 1202,
1204
- VPSLLQ = 1203,
1205
- VPSLLVD = 1204,
1206
- VPSLLVQ = 1205,
1207
- VPSLLW = 1206,
1208
- VPSRAD = 1207,
1209
- VPSRAQ = 1208,
1210
- VPSRAVD = 1209,
1211
- VPSRAVQ = 1210,
1212
- VPSRAW = 1211,
1213
- VPSRLDQ = 1212,
1214
- VPSRLD = 1213,
1215
- VPSRLQ = 1214,
1216
- VPSRLVD = 1215,
1217
- VPSRLVQ = 1216,
1218
- VPSRLW = 1217,
1219
- VPSUBB = 1218,
1220
- VPSUBD = 1219,
1221
- VPSUBQ = 1220,
1222
- VPSUBSB = 1221,
1223
- VPSUBSW = 1222,
1224
- VPSUBUSB = 1223,
1225
- VPSUBUSW = 1224,
1226
- VPSUBW = 1225,
1227
- VPTESTMD = 1226,
1228
- VPTESTMQ = 1227,
1229
- VPTESTNMD = 1228,
1230
- VPTESTNMQ = 1229,
1231
- VPTEST = 1230,
1232
- VPUNPCKHBW = 1231,
1233
- VPUNPCKHDQ = 1232,
1234
- VPUNPCKHQDQ = 1233,
1235
- VPUNPCKHWD = 1234,
1236
- VPUNPCKLBW = 1235,
1237
- VPUNPCKLDQ = 1236,
1238
- VPUNPCKLQDQ = 1237,
1239
- VPUNPCKLWD = 1238,
1240
- VPXORD = 1239,
1241
- VPXORQ = 1240,
1242
- VPXOR = 1241,
1243
- VRCP14PD = 1242,
1244
- VRCP14PS = 1243,
1245
- VRCP14SD = 1244,
1246
- VRCP14SS = 1245,
1247
- VRCP28PD = 1246,
1248
- VRCP28PS = 1247,
1249
- VRCP28SD = 1248,
1250
- VRCP28SS = 1249,
1251
- VRCPPS = 1250,
1252
- VRCPSS = 1251,
1253
- VRNDSCALEPD = 1252,
1254
- VRNDSCALEPS = 1253,
1255
- VRNDSCALESD = 1254,
1256
- VRNDSCALESS = 1255,
1257
- VROUNDPD = 1256,
1258
- VROUNDPS = 1257,
1259
- VROUNDSD = 1258,
1260
- VROUNDSS = 1259,
1261
- VRSQRT14PD = 1260,
1262
- VRSQRT14PS = 1261,
1263
- VRSQRT14SD = 1262,
1264
- VRSQRT14SS = 1263,
1265
- VRSQRT28PD = 1264,
1266
- VRSQRT28PS = 1265,
1267
- VRSQRT28SD = 1266,
1268
- VRSQRT28SS = 1267,
1269
- VRSQRTPS = 1268,
1270
- VRSQRTSS = 1269,
1271
- VSCATTERDPD = 1270,
1272
- VSCATTERDPS = 1271,
1273
- VSCATTERPF0DPD = 1272,
1274
- VSCATTERPF0DPS = 1273,
1275
- VSCATTERPF0QPD = 1274,
1276
- VSCATTERPF0QPS = 1275,
1277
- VSCATTERPF1DPD = 1276,
1278
- VSCATTERPF1DPS = 1277,
1279
- VSCATTERPF1QPD = 1278,
1280
- VSCATTERPF1QPS = 1279,
1281
- VSCATTERQPD = 1280,
1282
- VSCATTERQPS = 1281,
1283
- VSHUFPD = 1282,
1284
- VSHUFPS = 1283,
1285
- VSQRTPD = 1284,
1286
- VSQRTPS = 1285,
1287
- VSQRTSD = 1286,
1288
- VSQRTSS = 1287,
1289
- VSTMXCSR = 1288,
1290
- VSUBPD = 1289,
1291
- VSUBPS = 1290,
1292
- VSUBSD = 1291,
1293
- VSUBSS = 1292,
1294
- VTESTPD = 1293,
1295
- VTESTPS = 1294,
1296
- VUNPCKHPD = 1295,
1297
- VUNPCKHPS = 1296,
1298
- VUNPCKLPD = 1297,
1299
- VUNPCKLPS = 1298,
1300
- VZEROALL = 1299,
1301
- VZEROUPPER = 1300,
1302
- WAIT = 1301,
1303
- WBINVD = 1302,
1304
- WRFSBASE = 1303,
1305
- WRGSBASE = 1304,
1306
- WRMSR = 1305,
1307
- XABORT = 1306,
1308
- XACQUIRE = 1307,
1309
- XBEGIN = 1308,
1310
- XCHG = 1309,
1311
- XCRYPTCBC = 1310,
1312
- XCRYPTCFB = 1311,
1313
- XCRYPTCTR = 1312,
1314
- XCRYPTECB = 1313,
1315
- XCRYPTOFB = 1314,
1316
- XEND = 1315,
1317
- XGETBV = 1316,
1318
- XLATB = 1317,
1319
- XRELEASE = 1318,
1320
- XRSTOR = 1319,
1321
- XRSTOR64 = 1320,
1322
- XRSTORS = 1321,
1323
- XRSTORS64 = 1322,
1324
- XSAVE = 1323,
1325
- XSAVE64 = 1324,
1326
- XSAVEC = 1325,
1327
- XSAVEC64 = 1326,
1328
- XSAVEOPT = 1327,
1329
- XSAVEOPT64 = 1328,
1330
- XSAVES = 1329,
1331
- XSAVES64 = 1330,
1332
- XSETBV = 1331,
1333
- XSHA1 = 1332,
1334
- XSHA256 = 1333,
1335
- XSTORE = 1334,
1336
- XTEST = 1335,
1337
- FDISI8087_NOP = 1336,
1338
- FENI8087_NOP = 1337,
1339
- ENDING = 1338
1340
- }
1341
- type X86InstructionName = keyof typeof X86InstructionCode;
1342
- declare const X86InstructionNames: X86InstructionName[];
1343
-
1344
- /**
1345
- * Enumeration of x86 condition flags
1346
- */
1347
- declare enum X86ConditionFlags {
1348
- C = 0,// Carry flag
1349
- P = 1,// Parity flag
1350
- A = 2,// Auxiliary carry flag
1351
- Z = 3,// Zero flag
1352
- S = 4,// Sign flag
1353
- O = 5
1354
- }
1355
- /**
1356
- * Enumeration of x86 registers and their corresponding values
1357
- */
1358
- declare enum X86Register {
1359
- EAX = 19,
1360
- EBX = 21,
1361
- ECX = 22,
1362
- ESP = 30,
1363
- EBP = 20,
1364
- EDI = 23,
1365
- ESI = 29,
1366
- EDX = 24
1367
- }
1368
- /** Array of all x86 register names */
1369
- declare const X86_REGISTERS: string[];
1370
- /** Stack pointer register identifier */
1371
- declare const X86_STACK_POINTER_REGISTER = X86Register.ESP;
1372
- /** Program counter register identifier (EIP) */
1373
- declare const X86_PROGRAM_COUNTER_REGISTER = 26;
1374
- /** Flags register identifier (EFLAGS) */
1375
- declare const X86_FLAGS_REGISTER = 25;
1376
- /**
1377
- * Represents a single x86 instruction
1378
- */
1379
- type X86Instruction = {
1380
- /** Memory address of the instruction */
1381
- address: number;
1382
- /** Human-readable text representation of the instruction */
1383
- text: string;
1384
- /** Mnemonic name of the instruction */
1385
- name: string;
1386
- /** Instruction identifier */
1387
- id: X86InstructionCode;
1388
- /** Raw bytes of the instruction */
1389
- bytes: number[];
1390
- /** Line number in the source code */
1391
- line: number;
1392
- /** Size of the instruction in bytes */
1393
- size: number;
1394
- };
1395
- /**
1396
- * X86 assembly interpreter using Unicorn, Keystone, and Capstone engines
1397
- */
1398
- declare class X86Interpreter {
1399
- private readonly code;
1400
- private readonly assembler;
1401
- private readonly interpreter;
1402
- private readonly disambler;
1403
- /**
1404
- * Creates a new X86Interpreter instance
1405
- * @param {string} code - Assembly code to interpret
1406
- * @param {any} assembler - Keystone assembler instance
1407
- * @param {any} interpreter - Unicorn interpreter instance
1408
- * @param {any} disambler - Capstone disassembler instance
1409
- */
1410
- constructor(code: string, assembler: any, interpreter: any, disambler: any);
1411
- /** Starting address for the code segment */
1412
- static START_ADDRESS: number;
1413
- /** Starting address for the stack segment */
1414
- static STACK_START_ADDRESS: number;
1415
- /** Size of the stack segment */
1416
- static STACK_SIZE: number;
1417
- /** Buffer containing assembled code bytes */
1418
- private codeBuffer;
1419
- /** Array of disassembled instructions */
1420
- private instructions;
1421
- /** Address following the last instruction */
1422
- private endAddress;
1423
- /**
1424
- * Hook callback for the interpreter
1425
- * @param {any} handle - Hook handle
1426
- * @param {number} addr_lo - Lower address bound
1427
- * @param {number} addr_hi - Higher address bound
1428
- * @param {number} size - Size of the region
1429
- * @param {any} user_data - User data
1430
- */
1431
- private hook;
1432
- /**
1433
- * Gets the disassembled instructions from the code buffer
1434
- * @returns {any[]} Array of disassembled instructions
1435
- * @throws {Error} If disassembly fails
1436
- */
1437
- private getInstructions;
1438
- /**
1439
- * Assembles the code and prepares for interpretation
1440
- * @throws {Error} If assembly fails
1441
- */
1442
- assemble(): void;
1443
- /**
1444
- * Initializes memory and registers for the interpreter
1445
- * @throws {Error} If code buffer is not initialized
1446
- */
1447
- initialize(): void;
1448
- /**
1449
- * Simulates the execution of the code
1450
- * @param {number} [limit] - Optional instruction execution limit
1451
- * @throws {Error} If simulation fails
1452
- */
1453
- simulate(limit?: number): void;
1454
- /**
1455
- * Simulates execution with specified breakpoints
1456
- * @param {number[]} breakpoints - Array of addresses to break at
1457
- * @param {number} [limit] - Optional instruction execution limit
1458
- * @throws {Error} If simulation fails
1459
- */
1460
- simulateWithBreakpoints(breakpoints: number[], limit?: number): void;
1461
- /**
1462
- * Executes a single instruction
1463
- */
1464
- step(): void;
1465
- /**
1466
- * Gets the value of a register
1467
- * @param {X86Register} register - Register to read
1468
- * @returns {number} Unsigned 32-bit register value
1469
- * @throws {Error} If reading the register fails
1470
- */
1471
- getRegisterValue(register: X86Register): number;
1472
- /**
1473
- * Sets the value of a register
1474
- * @param {X86Register} register - Register to write
1475
- * @param {number} value - Value to set
1476
- * @throws {Error} If writing to the register fails
1477
- */
1478
- setRegisterValue(register: X86Register, value: number): void;
1479
- /**
1480
- * Gets the current stack pointer value
1481
- * @returns {number} Stack pointer value
1482
- */
1483
- getStackPointer(): number;
1484
- /**
1485
- * Gets the current program counter value
1486
- * @returns {number} Program counter value
1487
- */
1488
- getProgramCounter(): number;
1489
- /**
1490
- * Gets the values of all registers
1491
- * @returns {number[]} Array of register values
1492
- */
1493
- getRegistersValues(): number[];
1494
- /**
1495
- * Reads bytes from memory
1496
- * @param {number} address - Memory address to read from
1497
- * @param {number} length - Number of bytes to read
1498
- * @returns {number[]} Array of byte values
1499
- * @throws {Error} If reading memory fails
1500
- */
1501
- readMemoryBytes(address: number, length: number): Uint8Array;
1502
- /**
1503
- * Writes bytes to memory
1504
- * @param {number} address - Memory address to write to
1505
- * @param {number[]} bytes - Array of byte values to write
1506
- */
1507
- setMemoryBytes(address: number, bytes: number[]): void;
1508
- /**
1509
- * Gets the next instruction to be executed
1510
- * @returns {X86Instruction | null} Next instruction or null if no more instructions
1511
- */
1512
- getNextStatement(): X86Instruction | null;
1513
- /**
1514
- * Checks if the execution has terminated (no more instructions)
1515
- * @returns {boolean} True if execution is terminated
1516
- */
1517
- isTerminated(): boolean;
1518
- /**
1519
- * Gets the current state of all condition flags
1520
- * @returns {Record<X86ConditionFlags, number>} Object mapping flags to their values (0 or 1)
1521
- */
1522
- getConditionFlags(): Record<X86ConditionFlags, number>;
1523
- /**
1524
- * Gets the instruction at a specific address
1525
- * @param {number} address - Memory address
1526
- * @returns {X86Instruction | null} Instruction at the address or null if not found
1527
- */
1528
- getStatementAtAddress(address: number): X86Instruction | null;
1529
- /**
1530
- * Gets the source code as a string
1531
- * @returns {string} Source code
1532
- */
1533
- getSource(): void;
1534
- /**
1535
- * Gets the instruction at a specific source line
1536
- * @param {number} lineIndex - Line index in the source code
1537
- * @returns {X86Instruction | null} Instruction at the line or null if not found
1538
- */
1539
- getStatementAtSourceLine(lineIndex: number): X86Instruction | null;
1540
- /**
1541
- * Gets all disassembled instructions
1542
- * @returns {X86Instruction[]} Array of all instructions
1543
- */
1544
- getAssembledStatements(): X86Instruction[];
1545
- /**
1546
- * Creates a new X86Interpreter instance with the provided assembly code
1547
- * @param {string} code - Assembly code to interpret
1548
- * @returns {X86Interpreter} New interpreter instance
1549
- * @throws {Error} If creating the interpreter fails
1550
- */
1551
- static create(code: string): X86Interpreter;
1552
- /**
1553
- * Releases resources used by the interpreter
1554
- */
1555
- dispose(): void;
1556
- }
1557
-
1558
- export { X86ConditionFlags, type X86Instruction, X86InstructionCode, type X86InstructionName, X86InstructionNames, X86Interpreter, X86Register, X86_FLAGS_REGISTER, X86_PROGRAM_COUNTER_REGISTER, X86_REGISTERS, X86_STACK_POINTER_REGISTER };