⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 insnsd.c

📁 nasm早期的源代码,比较简单是学习汇编和编译原理的好例子
💻 C
📖 第 1 页 / 共 5 页
字号:
/* This file auto-generated from insns.dat by insns.pl - don't edit it */

#include "nasm.h"
#include "insns.h"

static const struct itemplate instrux[] = {
    /*    0 */ {I_RESB, 1, {IMMEDIATE,0,0,0}, "\340", IF_8086},
    /*    1 */ {I_AAA, 0, {0,0,0,0}, "\1\x37", IF_8086|IF_NOLONG},
    /*    2 */ {I_AAD, 0, {0,0,0,0}, "\2\xD5\x0A", IF_8086|IF_NOLONG},
    /*    3 */ {I_AAD, 1, {IMMEDIATE,0,0,0}, "\1\xD5\24", IF_8086|IF_SB|IF_NOLONG},
    /*    4 */ {I_AAM, 0, {0,0,0,0}, "\2\xD4\x0A", IF_8086|IF_NOLONG},
    /*    5 */ {I_AAM, 1, {IMMEDIATE,0,0,0}, "\1\xD4\24", IF_8086|IF_SB|IF_NOLONG},
    /*    6 */ {I_AAS, 0, {0,0,0,0}, "\1\x3F", IF_8086|IF_NOLONG},
    /*    7 */ {I_ADC, 2, {MEMORY,REG8,0,0}, "\1\x10\101", IF_8086|IF_SM},
    /*    8 */ {I_ADC, 2, {REG8,REG8,0,0}, "\1\x10\101", IF_8086},
    /*    9 */ {I_ADC, 2, {MEMORY,REG16,0,0}, "\320\1\x11\101", IF_8086|IF_SM},
    /*   10 */ {I_ADC, 2, {REG16,REG16,0,0}, "\320\1\x11\101", IF_8086},
    /*   11 */ {I_ADC, 2, {MEMORY,REG32,0,0}, "\321\1\x11\101", IF_386|IF_SM},
    /*   12 */ {I_ADC, 2, {REG32,REG32,0,0}, "\321\1\x11\101", IF_386},
    /*   13 */ {I_ADC, 2, {MEMORY,REG64,0,0}, "\324\1\x11\101", IF_X64|IF_SM},
    /*   14 */ {I_ADC, 2, {REG64,REG64,0,0}, "\324\1\x11\101", IF_X64},
    /*   15 */ {I_ADC, 2, {REG8,MEMORY,0,0}, "\1\x12\110", IF_8086|IF_SM},
    /*   16 */ {I_ADC, 2, {REG8,REG8,0,0}, "\1\x12\110", IF_8086},
    /*   17 */ {I_ADC, 2, {REG16,MEMORY,0,0}, "\320\1\x13\110", IF_8086|IF_SM},
    /*   18 */ {I_ADC, 2, {REG16,REG16,0,0}, "\320\1\x13\110", IF_8086},
    /*   19 */ {I_ADC, 2, {REG32,MEMORY,0,0}, "\321\1\x13\110", IF_386|IF_SM},
    /*   20 */ {I_ADC, 2, {REG32,REG32,0,0}, "\321\1\x13\110", IF_386},
    /*   21 */ {I_ADC, 2, {REG64,MEMORY,0,0}, "\324\1\x13\110", IF_X64|IF_SM},
    /*   22 */ {I_ADC, 2, {REG64,REG64,0,0}, "\324\1\x13\110", IF_X64},
    /*   23 */ {I_ADC, 2, {RM_GPR|BITS16,IMMEDIATE|BITS8,0,0}, "\320\1\x83\202\15", IF_8086},
    /*   24 */ {I_ADC, 2, {RM_GPR|BITS32,IMMEDIATE|BITS8,0,0}, "\321\1\x83\202\15", IF_386},
    /*   25 */ {I_ADC, 2, {RM_GPR|BITS64,IMMEDIATE|BITS8,0,0}, "\324\1\x83\202\15", IF_X64},
    /*   26 */ {I_ADC, 2, {REG_AL,IMMEDIATE,0,0}, "\1\x14\21", IF_8086|IF_SM},
    /*   27 */ {I_ADC, 2, {REG_AX,IMMEDIATE,0,0}, "\320\1\x15\31", IF_8086|IF_SM},
    /*   28 */ {I_ADC, 2, {REG_EAX,IMMEDIATE,0,0}, "\321\1\x15\41", IF_386|IF_SM},
    /*   29 */ {I_ADC, 2, {REG_RAX,IMMEDIATE,0,0}, "\321\1\x15\41", IF_X64|IF_SM},
    /*   30 */ {I_ADC, 2, {RM_GPR|BITS8,IMMEDIATE,0,0}, "\1\x80\202\21", IF_8086|IF_SM},
    /*   31 */ {I_ADC, 2, {RM_GPR|BITS16,IMMEDIATE,0,0}, "\320\145\1\x81\202\141", IF_8086|IF_SM},
    /*   32 */ {I_ADC, 2, {RM_GPR|BITS32,IMMEDIATE,0,0}, "\321\155\1\x81\202\151", IF_386|IF_SM},
    /*   33 */ {I_ADC, 2, {RM_GPR|BITS64,IMMEDIATE,0,0}, "\324\155\1\x81\202\151", IF_X64|IF_SM},
    /*   34 */ {I_ADC, 2, {MEMORY,IMMEDIATE|BITS8,0,0}, "\1\x80\202\21", IF_8086|IF_SM},
    /*   35 */ {I_ADC, 2, {MEMORY,IMMEDIATE|BITS16,0,0}, "\320\145\1\x81\202\141", IF_8086|IF_SM},
    /*   36 */ {I_ADC, 2, {MEMORY,IMMEDIATE|BITS32,0,0}, "\321\155\1\x81\202\151", IF_386|IF_SM},
    /*   37 */ {I_ADD, 2, {MEMORY,REG8,0,0}, "\170\101", IF_8086|IF_SM},
    /*   38 */ {I_ADD, 2, {REG8,REG8,0,0}, "\170\101", IF_8086},
    /*   39 */ {I_ADD, 2, {MEMORY,REG16,0,0}, "\320\1\x01\101", IF_8086|IF_SM},
    /*   40 */ {I_ADD, 2, {REG16,REG16,0,0}, "\320\1\x01\101", IF_8086},
    /*   41 */ {I_ADD, 2, {MEMORY,REG32,0,0}, "\321\1\x01\101", IF_386|IF_SM},
    /*   42 */ {I_ADD, 2, {REG32,REG32,0,0}, "\321\1\x01\101", IF_386},
    /*   43 */ {I_ADD, 2, {MEMORY,REG64,0,0}, "\324\1\x01\101", IF_X64|IF_SM},
    /*   44 */ {I_ADD, 2, {REG64,REG64,0,0}, "\324\1\x01\101", IF_X64},
    /*   45 */ {I_ADD, 2, {REG8,MEMORY,0,0}, "\1\x02\110", IF_8086|IF_SM},
    /*   46 */ {I_ADD, 2, {REG8,REG8,0,0}, "\1\x02\110", IF_8086},
    /*   47 */ {I_ADD, 2, {REG16,MEMORY,0,0}, "\320\1\x03\110", IF_8086|IF_SM},
    /*   48 */ {I_ADD, 2, {REG16,REG16,0,0}, "\320\1\x03\110", IF_8086},
    /*   49 */ {I_ADD, 2, {REG32,MEMORY,0,0}, "\321\1\x03\110", IF_386|IF_SM},
    /*   50 */ {I_ADD, 2, {REG32,REG32,0,0}, "\321\1\x03\110", IF_386},
    /*   51 */ {I_ADD, 2, {REG64,MEMORY,0,0}, "\324\1\x03\110", IF_X64|IF_SM},
    /*   52 */ {I_ADD, 2, {REG64,REG64,0,0}, "\324\1\x03\110", IF_X64},
    /*   53 */ {I_ADD, 2, {RM_GPR|BITS16,IMMEDIATE|BITS8,0,0}, "\320\1\x83\200\15", IF_8086},
    /*   54 */ {I_ADD, 2, {RM_GPR|BITS32,IMMEDIATE|BITS8,0,0}, "\321\1\x83\200\15", IF_386},
    /*   55 */ {I_ADD, 2, {RM_GPR|BITS64,IMMEDIATE|BITS8,0,0}, "\324\1\x83\200\15", IF_X64},
    /*   56 */ {I_ADD, 2, {REG_AL,IMMEDIATE,0,0}, "\1\x04\21", IF_8086|IF_SM},
    /*   57 */ {I_ADD, 2, {REG_AX,IMMEDIATE,0,0}, "\320\1\x05\31", IF_8086|IF_SM},
    /*   58 */ {I_ADD, 2, {REG_EAX,IMMEDIATE,0,0}, "\321\1\x05\41", IF_386|IF_SM},
    /*   59 */ {I_ADD, 2, {REG_RAX,IMMEDIATE,0,0}, "\323\1\x05\41", IF_X64|IF_SM},
    /*   60 */ {I_ADD, 2, {RM_GPR|BITS8,IMMEDIATE,0,0}, "\1\x80\200\21", IF_8086|IF_SM},
    /*   61 */ {I_ADD, 2, {RM_GPR|BITS16,IMMEDIATE,0,0}, "\320\145\1\x81\200\141", IF_8086|IF_SM},
    /*   62 */ {I_ADD, 2, {RM_GPR|BITS32,IMMEDIATE,0,0}, "\321\155\1\x81\200\151", IF_386|IF_SM},
    /*   63 */ {I_ADD, 2, {RM_GPR|BITS64,IMMEDIATE,0,0}, "\324\155\1\x81\200\151", IF_X64|IF_SM},
    /*   64 */ {I_ADD, 2, {MEMORY,IMMEDIATE|BITS8,0,0}, "\1\x80\200\21", IF_8086|IF_SM},
    /*   65 */ {I_ADD, 2, {MEMORY,IMMEDIATE|BITS16,0,0}, "\320\145\1\x81\200\141", IF_8086|IF_SM},
    /*   66 */ {I_ADD, 2, {MEMORY,IMMEDIATE|BITS32,0,0}, "\321\155\1\x81\200\151", IF_386|IF_SM},
    /*   67 */ {I_AND, 2, {MEMORY,REG8,0,0}, "\1\x20\101", IF_8086|IF_SM},
    /*   68 */ {I_AND, 2, {REG8,REG8,0,0}, "\1\x20\101", IF_8086},
    /*   69 */ {I_AND, 2, {MEMORY,REG16,0,0}, "\320\1\x21\101", IF_8086|IF_SM},
    /*   70 */ {I_AND, 2, {REG16,REG16,0,0}, "\320\1\x21\101", IF_8086},
    /*   71 */ {I_AND, 2, {MEMORY,REG32,0,0}, "\321\1\x21\101", IF_386|IF_SM},
    /*   72 */ {I_AND, 2, {REG32,REG32,0,0}, "\321\1\x21\101", IF_386},
    /*   73 */ {I_AND, 2, {MEMORY,REG64,0,0}, "\324\1\x21\101", IF_X64|IF_SM},
    /*   74 */ {I_AND, 2, {REG64,REG64,0,0}, "\324\1\x21\101", IF_X64},
    /*   75 */ {I_AND, 2, {REG8,MEMORY,0,0}, "\1\x22\110", IF_8086|IF_SM},
    /*   76 */ {I_AND, 2, {REG8,REG8,0,0}, "\1\x22\110", IF_8086},
    /*   77 */ {I_AND, 2, {REG16,MEMORY,0,0}, "\320\1\x23\110", IF_8086|IF_SM},
    /*   78 */ {I_AND, 2, {REG16,REG16,0,0}, "\320\1\x23\110", IF_8086},
    /*   79 */ {I_AND, 2, {REG32,MEMORY,0,0}, "\321\1\x23\110", IF_386|IF_SM},
    /*   80 */ {I_AND, 2, {REG32,REG32,0,0}, "\321\1\x23\110", IF_386},
    /*   81 */ {I_AND, 2, {REG64,MEMORY,0,0}, "\324\1\x23\110", IF_X64|IF_SM},
    /*   82 */ {I_AND, 2, {REG64,REG64,0,0}, "\324\1\x23\110", IF_X64},
    /*   83 */ {I_AND, 2, {RM_GPR|BITS16,IMMEDIATE|BITS8,0,0}, "\320\1\x83\204\15", IF_8086},
    /*   84 */ {I_AND, 2, {RM_GPR|BITS32,IMMEDIATE|BITS8,0,0}, "\321\1\x83\204\15", IF_386},
    /*   85 */ {I_AND, 2, {RM_GPR|BITS64,IMMEDIATE|BITS8,0,0}, "\324\1\x83\204\15", IF_X64},
    /*   86 */ {I_AND, 2, {REG_AL,IMMEDIATE,0,0}, "\1\x24\21", IF_8086|IF_SM},
    /*   87 */ {I_AND, 2, {REG_AX,IMMEDIATE,0,0}, "\320\1\x25\31", IF_8086|IF_SM},
    /*   88 */ {I_AND, 2, {REG_EAX,IMMEDIATE,0,0}, "\321\1\x25\41", IF_386|IF_SM},
    /*   89 */ {I_AND, 2, {REG_RAX,IMMEDIATE,0,0}, "\324\1\x25\41", IF_X64|IF_SM},
    /*   90 */ {I_AND, 2, {RM_GPR|BITS8,IMMEDIATE,0,0}, "\1\x80\204\21", IF_8086|IF_SM},
    /*   91 */ {I_AND, 2, {RM_GPR|BITS16,IMMEDIATE,0,0}, "\320\145\1\x81\204\141", IF_8086|IF_SM},
    /*   92 */ {I_AND, 2, {RM_GPR|BITS32,IMMEDIATE,0,0}, "\321\155\1\x81\204\151", IF_386|IF_SM},
    /*   93 */ {I_AND, 2, {RM_GPR|BITS64,IMMEDIATE,0,0}, "\324\155\1\x81\204\151", IF_X64|IF_SM},
    /*   94 */ {I_AND, 2, {MEMORY,IMMEDIATE|BITS8,0,0}, "\1\x80\204\21", IF_8086|IF_SM},
    /*   95 */ {I_AND, 2, {MEMORY,IMMEDIATE|BITS16,0,0}, "\320\145\1\x81\204\141", IF_8086|IF_SM},
    /*   96 */ {I_AND, 2, {MEMORY,IMMEDIATE|BITS32,0,0}, "\321\155\1\x81\204\151", IF_386|IF_SM},
    /*   97 */ {I_ARPL, 2, {MEMORY,REG16,0,0}, "\1\x63\101", IF_286|IF_PROT|IF_SM|IF_NOLONG},
    /*   98 */ {I_ARPL, 2, {REG16,REG16,0,0}, "\1\x63\101", IF_286|IF_PROT|IF_NOLONG},
    /*   99 */ {I_BOUND, 2, {REG16,MEMORY,0,0}, "\320\1\x62\110", IF_186|IF_NOLONG},
    /*  100 */ {I_BOUND, 2, {REG32,MEMORY,0,0}, "\321\1\x62\110", IF_386|IF_NOLONG},
    /*  101 */ {I_BSF, 2, {REG16,MEMORY,0,0}, "\320\2\x0F\xBC\110", IF_386|IF_SM},
    /*  102 */ {I_BSF, 2, {REG16,REG16,0,0}, "\320\2\x0F\xBC\110", IF_386},
    /*  103 */ {I_BSF, 2, {REG32,MEMORY,0,0}, "\321\2\x0F\xBC\110", IF_386|IF_SM},
    /*  104 */ {I_BSF, 2, {REG32,REG32,0,0}, "\321\2\x0F\xBC\110", IF_386},
    /*  105 */ {I_BSF, 2, {REG64,MEMORY,0,0}, "\324\2\x0F\xBC\110", IF_X64|IF_SM},
    /*  106 */ {I_BSF, 2, {REG64,REG64,0,0}, "\324\2\x0F\xBC\110", IF_X64},
    /*  107 */ {I_BSR, 2, {REG16,MEMORY,0,0}, "\320\2\x0F\xBD\110", IF_386|IF_SM},
    /*  108 */ {I_BSR, 2, {REG16,REG16,0,0}, "\320\2\x0F\xBD\110", IF_386},
    /*  109 */ {I_BSR, 2, {REG32,MEMORY,0,0}, "\321\2\x0F\xBD\110", IF_386|IF_SM},
    /*  110 */ {I_BSR, 2, {REG32,REG32,0,0}, "\321\2\x0F\xBD\110", IF_386},
    /*  111 */ {I_BSR, 2, {REG64,MEMORY,0,0}, "\324\2\x0F\xBD\110", IF_X64|IF_SM},
    /*  112 */ {I_BSR, 2, {REG64,REG64,0,0}, "\324\2\x0F\xBD\110", IF_X64},
    /*  113 */ {I_BSWAP, 1, {REG32,0,0,0}, "\321\1\x0F\10\xC8", IF_486},
    /*  114 */ {I_BSWAP, 1, {REG64,0,0,0}, "\324\1\x0F\10\xC8", IF_X64},
    /*  115 */ {I_BT, 2, {MEMORY,REG16,0,0}, "\320\2\x0F\xA3\101", IF_386|IF_SM},
    /*  116 */ {I_BT, 2, {REG16,REG16,0,0}, "\320\2\x0F\xA3\101", IF_386},
    /*  117 */ {I_BT, 2, {MEMORY,REG32,0,0}, "\321\2\x0F\xA3\101", IF_386|IF_SM},
    /*  118 */ {I_BT, 2, {REG32,REG32,0,0}, "\321\2\x0F\xA3\101", IF_386},
    /*  119 */ {I_BT, 2, {MEMORY,REG64,0,0}, "\324\2\x0F\xA3\101", IF_X64|IF_SM},
    /*  120 */ {I_BT, 2, {REG64,REG64,0,0}, "\324\2\x0F\xA3\101", IF_X64},
    /*  121 */ {I_BT, 2, {RM_GPR|BITS16,IMMEDIATE,0,0}, "\320\2\x0F\xBA\204\25", IF_386|IF_SB},
    /*  122 */ {I_BT, 2, {RM_GPR|BITS32,IMMEDIATE,0,0}, "\321\2\x0F\xBA\204\25", IF_386|IF_SB},
    /*  123 */ {I_BT, 2, {RM_GPR|BITS64,IMMEDIATE,0,0}, "\324\2\x0F\xBA\204\25", IF_X64|IF_SB},
    /*  124 */ {I_BTC, 2, {MEMORY,REG16,0,0}, "\320\2\x0F\xBB\101", IF_386|IF_SM},
    /*  125 */ {I_BTC, 2, {REG16,REG16,0,0}, "\320\2\x0F\xBB\101", IF_386},
    /*  126 */ {I_BTC, 2, {MEMORY,REG32,0,0}, "\321\2\x0F\xBB\101", IF_386|IF_SM},
    /*  127 */ {I_BTC, 2, {REG32,REG32,0,0}, "\321\2\x0F\xBB\101", IF_386},
    /*  128 */ {I_BTC, 2, {MEMORY,REG64,0,0}, "\324\2\x0F\xBB\101", IF_X64|IF_SM},
    /*  129 */ {I_BTC, 2, {REG64,REG64,0,0}, "\324\2\x0F\xBB\101", IF_X64},
    /*  130 */ {I_BTC, 2, {RM_GPR|BITS16,IMMEDIATE,0,0}, "\320\2\x0F\xBA\207\25", IF_386|IF_SB},
    /*  131 */ {I_BTC, 2, {RM_GPR|BITS32,IMMEDIATE,0,0}, "\321\2\x0F\xBA\207\25", IF_386|IF_SB},
    /*  132 */ {I_BTC, 2, {RM_GPR|BITS64,IMMEDIATE,0,0}, "\324\2\x0F\xBA\207\25", IF_X64|IF_SB},
    /*  133 */ {I_BTR, 2, {MEMORY,REG16,0,0}, "\320\2\x0F\xB3\101", IF_386|IF_SM},
    /*  134 */ {I_BTR, 2, {REG16,REG16,0,0}, "\320\2\x0F\xB3\101", IF_386},
    /*  135 */ {I_BTR, 2, {MEMORY,REG32,0,0}, "\321\2\x0F\xB3\101", IF_386|IF_SM},
    /*  136 */ {I_BTR, 2, {REG32,REG32,0,0}, "\321\2\x0F\xB3\101", IF_386},
    /*  137 */ {I_BTR, 2, {MEMORY,REG64,0,0}, "\324\2\x0F\xB3\101", IF_X64|IF_SM},
    /*  138 */ {I_BTR, 2, {REG64,REG64,0,0}, "\324\2\x0F\xB3\101", IF_X64},
    /*  139 */ {I_BTR, 2, {RM_GPR|BITS16,IMMEDIATE,0,0}, "\320\2\x0F\xBA\206\25", IF_386|IF_SB},
    /*  140 */ {I_BTR, 2, {RM_GPR|BITS32,IMMEDIATE,0,0}, "\321\2\x0F\xBA\206\25", IF_386|IF_SB},
    /*  141 */ {I_BTR, 2, {RM_GPR|BITS64,IMMEDIATE,0,0}, "\324\2\x0F\xBA\206\25", IF_X64|IF_SB},
    /*  142 */ {I_BTS, 2, {MEMORY,REG16,0,0}, "\320\2\x0F\xAB\101", IF_386|IF_SM},
    /*  143 */ {I_BTS, 2, {REG16,REG16,0,0}, "\320\2\x0F\xAB\101", IF_386},
    /*  144 */ {I_BTS, 2, {MEMORY,REG32,0,0}, "\321\2\x0F\xAB\101", IF_386|IF_SM},
    /*  145 */ {I_BTS, 2, {REG32,REG32,0,0}, "\321\2\x0F\xAB\101", IF_386},
    /*  146 */ {I_BTS, 2, {MEMORY,REG64,0,0}, "\324\2\x0F\xAB\101", IF_X64|IF_SM},
    /*  147 */ {I_BTS, 2, {REG64,REG64,0,0}, "\324\2\x0F\xAB\101", IF_X64},
    /*  148 */ {I_BTS, 2, {RM_GPR|BITS16,IMMEDIATE,0,0}, "\320\2\x0F\xBA\205\25", IF_386|IF_SB},
    /*  149 */ {I_BTS, 2, {RM_GPR|BITS32,IMMEDIATE,0,0}, "\321\2\x0F\xBA\205\25", IF_386|IF_SB},
    /*  150 */ {I_BTS, 2, {RM_GPR|BITS64,IMMEDIATE,0,0}, "\324\2\x0F\xBA\205\25", IF_X64|IF_SB},
    /*  151 */ {I_CALL, 1, {IMMEDIATE,0,0,0}, "\322\1\xE8\64", IF_8086},
    /*  152 */ {I_CALL, 1, {IMMEDIATE|NEAR,0,0,0}, "\322\1\xE8\64", IF_8086},
    /*  153 */ {I_CALL, 1, {IMMEDIATE|BITS16,0,0,0}, "\320\1\xE8\64", IF_8086},
    /*  154 */ {I_CALL, 1, {IMMEDIATE|BITS16|NEAR,0,0,0}, "\320\1\xE8\64", IF_8086},
    /*  155 */ {I_CALL, 1, {IMMEDIATE|BITS32,0,0,0}, "\321\1\xE8\64", IF_386},

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -